.pcOnly {
  display: block
}

@media only screen and (max-width:767px) {
  .pcOnly {
    display: none
  }
}

.spOnly {
  display: none
}

@media only screen and (max-width:767px) {
  .spOnly {
    display: block
  }
}

.pcOnly-ib {
  display: inline-block
}

@media only screen and (max-width:767px) {
  .pcOnly-ib {
    display: none
  }
}

.spOnly-ib {
  display: none
}

@media only screen and (max-width:767px) {
  .spOnly-ib {
    display: inline-block
  }
}

.mt0 {
  margin-top: 0 !important
}

.mb0 {
  margin-bottom: 0 !important
}

.ml0 {
  margin-left: 0 !important
}

.mr0 {
  margin-right: 0 !important
}

@media print,
screen and (min-width:768px) {
  .p0 {
    padding: 0 !important
  }
}

@media only screen and (max-width:767px) {
  .p0 {
    padding-top: 0 !important
  }
}

.txt-center {
  text-align: center !important
}

@media print,
screen and (min-width:768px) {
  .txt-center-pc {
    text-align: center !important
  }
}

@media only screen and (max-width:767px) {
  .txt-center-sp {
    text-align: center !important
  }
}

.txt-left {
  text-align: left !important
}

@media print,
screen and (min-width:768px) {
  .txt-left-pc {
    text-align: left !important
  }
}

@media only screen and (max-width:767px) {
  .txt-left-sp {
    text-align: left !important
  }
}

.txt-right {
  text-align: right !important
}

@media print,
screen and (min-width:768px) {
  .txt-right-pc {
    text-align: right !important
  }
}

@media only screen and (max-width:767px) {
  .txt-right-sp {
    text-align: right !important
  }
}

.c-red {
  color: #ed0022 !important
}

.quoatationmarks {
  font-weight: 300;
  display: inline-block;
  position: relative
}

@media print,
screen and (min-width:768px) {
  .quoatationmarks.foward {
    margin-left: 5px
  }
}

@media only screen and (max-width:767px) {
  .quoatationmarks.foward {
    margin-left: pxtovw(3)
  }
}

@media print,
screen and (min-width:768px) {
  .quoatationmarks.back {
    margin-right: 5px
  }
}

@media only screen and (max-width:767px) {
  .quoatationmarks.back {
    margin-right: pxtovw(3)
  }
}

.noWrap {
  white-space: nowrap
}

@media print,
screen and (min-width:768px) {
  .link_hover {
    transition: all 0.2s linear
  }
}

.link_hover:hover {
  color: #ed0022
    /* !important;*/
}

.link_hover:hover .icon_blank:after {
  background-image: url(/common/img/icon/icon_blank_r.svg)
}

.link_opacity {
  display: inline-block
}

@media print,
screen and (min-width:768px) {
  .link_opacity {
    transition: all 0.2s linear
  }
}

@media print,
screen and (min-width:768px) {
  .link_opacity:hover {
    opacity: 0.75
  }
}

.link_blank:hover .icon_blank:after {
  background-image: url(/common/img/icon/icon_blank_r.svg)
}

@media print,
screen and (min-width:768px) {
  .img_hover img {
    transition: all 0.2s linear
  }
}

@media print,
screen and (min-width:768px) {
  .img_hover:hover img {
    opacity: 0.7
  }
}

.btn_hover:hover .mod-btn>* {
  background-color: #fa0000;
  background-position: -100% 100%;
  color: #fff
}

.arrow_hover:hover .icon_circleArrow:before {
  opacity: 0 !important;
  transform: translate(200%, -50%) !important
}

.arrow_hover:hover .icon_circleArrow:after {
  opacity: 1 !important;
  transform: translateY(-50%) !important
}

.arrow_slide:hover .arrow:before,
.arrow_slide:hover .icon_impArrow:before {
  opacity: 0 !important;
  transform: translate(200%, -50%) !important
}

.arrow_slide:hover .arrow:after,
.arrow_slide:hover .icon_impArrow:after {
  opacity: 1 !important;
  transform: translateY(-50%) !important
}

.icon_blank {
  position: relative;
  display: inline-block;
  overflow: hidden
}

@media print,
screen and (min-width:768px) {
  .icon_blank {
    width: 12px;
    height: 12px;
    margin-left: 8px
  }
}

@media only screen and (max-width:767px) {
  .icon_blank {
    width: 3.4666666667vw;
    height: 3.4666666667vw;
    margin-left: 2.6666666667vw
  }
}

.icon_blank:after {
  content: "";
  position: absolute;
  display: block;
  background: url(/common/img/icon/icon_blank_g.svg) center/contain no-repeat;
  top: 0;
  left: 0;
  transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
  .icon_blank:after {
    width: 12px;
    height: 12px
  }
}

@media only screen and (max-width:767px) {
  .icon_blank:after {
    width: 3.4666666667vw;
    height: 3.4666666667vw
  }
}

.icon_blank.white:after {
  background-image: url(/common/img/icon/icon_blank_w.svg)
}

.icon_blank.red:after {
  background-image: url(/common/img/icon/icon_blank_r.svg)
}

.icon_pdf {
  color: #ed0022;
  display: inline-block;
  border: 1px solid #ed0022;
  vertical-align: middle;
  font-weight: bold
}

@media print,
screen and (min-width:768px) {
  .icon_pdf {
    font-size: 10px;
    padding: 1px 3px;
    margin: -4px 0 0 10px
  }
}

@media only screen and (max-width:767px) {
  .icon_pdf {
    font-size: 10px;
    font-size: 2.6666666667vw;
    padding: 0.2666666667vw 0.8vw;
    margin: -1.0666666667vw 0 0 2.6666666667vw
  }
}

.icon_circleArrow {
  position: relative;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
  overflow: hidden;
  border-radius: 50%
}

@media print,
screen and (min-width:768px) {
  .icon_circleArrow {
    border: 1px solid #ed0022;
    top: -2px;
    margin-right: 10px;
    width: 20px;
    height: 20px
  }
}

@media only screen and (max-width:767px) {
  .icon_circleArrow {
    border: 0.2666666667vw solid #ed0022;
    top: -0.5333333333vw;
    margin-right: 2.6666666667vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw
  }
}

.icon_circleArrow:after,
.icon_circleArrow:before {
  content: "";
  position: absolute;
  display: block;
  background: url(/common/img/icon/icon_arrow_r.svg) center/contain no-repeat;
  transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  top: 50%
}

@media print,
screen and (min-width:768px) {

  .icon_circleArrow:after,
  .icon_circleArrow:before {
    width: 10px;
    height: 8px;
    left: 4px
  }
}

@media only screen and (max-width:767px) {

  .icon_circleArrow:after,
  .icon_circleArrow:before {
    width: 2.6666666667vw;
    height: 2.1333333333vw;
    left: 1.0666666667vw
  }
}

.icon_circleArrow:before {
  transform: translateY(-50%)
}

.icon_circleArrow:after {
  opacity: 0;
  transform: translate(-200%, -50%)
}

.icon_circleArrow.red {
  background-color: #ed0022
}

.icon_circleArrow.red:after,
.icon_circleArrow.red:before {
  background-image: url(/common/img/icon/icon_arrow_w.svg)
}

@media print,
screen and (min-width:768px) {

  .icon_circleArrow.red:after,
  .icon_circleArrow.red:before {
    top: calc(50% - 1px)
  }
}

.icon_impArrow {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  overflow: hidden;
  background-color: #ed0022;
  border-radius: 50%
}

@media print,
screen and (min-width:768px) {
  .icon_impArrow {
    width: 32px;
    height: 32px;
    margin-right: 17px
  }
}

@media only screen and (max-width:767px) {
  .icon_impArrow {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
    margin-right: 3.4666666667vw
  }
}

.icon_impArrow:after,
.icon_impArrow:before {
  content: "";
  position: absolute;
  display: block;
  background: url(/common/img/icon/icon_arrow_w.svg) center/contain no-repeat;
  transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  top: 50%
}

@media print,
screen and (min-width:768px) {

  .icon_impArrow:after,
  .icon_impArrow:before {
    width: 14px;
    height: 10px;
    left: 9px
  }
}

@media only screen and (max-width:767px) {

  .icon_impArrow:after,
  .icon_impArrow:before {
    width: 3.7333333333vw;
    height: 2.6666666667vw;
    left: 2.4vw
  }
}

.icon_impArrow:before {
  transform: translateY(-50%)
}

.icon_impArrow:after {
  opacity: 0;
  transform: translate(-200%, -50%)
}

.icon_circle-red {
  background-color: #ed0022;
  color: #fff;
  font-style: normal;
  display: inline-flex;
  vertical-align: middle;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  font-weight: 400;
  font-family: Arial
}

@media print,
screen and (min-width:768px) {
  .icon_circle-red {
    width: 35px;
    height: 35px;
    margin-right: 12px
  }
}

@media only screen and (max-width:767px) {
  .icon_circle-red {
    width: 6.4vw;
    height: 6.4vw;
    margin-right: 2.1333333333vw;
    font-size: 14px;
    font-size: 3.7333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .icon_circle-red~span {
    font-size: 19px
  }
}

@media only screen and (max-width:767px) {
  .icon_circle-red~span {
    font-size: 15px;
    font-size: 4vw
  }
}

.btn_more a {
  position: relative;
  color: #ed0022;
  font-weight: bold
}

@media print,
screen and (min-width:768px) {
  .btn_more a {
    font-size: 16px
  }
}

@media only screen and (max-width:767px) {
  .btn_more a {
    font-size: 15px;
    font-size: 4vw
  }
}

.btn_more a:hover .arrow:before {
  opacity: 0;
  transform: translate(200%, -50%)
}

.btn_more a:hover .arrow:after {
  opacity: 1;
  transform: translateY(-50%)
}

.btn_more .arrow {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  overflow: hidden;
  background-color: #ed0022;
  border-radius: 50%
}

@media print,
screen and (min-width:768px) {
  .btn_more .arrow {
    margin-right: 15px;
    margin-top: -3px;
    width: 32px;
    height: 32px
  }
}

@media only screen and (max-width:767px) {
  .btn_more .arrow {
    margin-right: 3.4666666667vw;
    margin-top: -0.5333333333vw;
    width: 8.5333333333vw;
    height: 8.5333333333vw
  }
}

.btn_more .arrow:after,
.btn_more .arrow:before {
  content: "";
  position: absolute;
  display: block;
  background: url(/common/img/icon/icon_arrow_w.svg) center/contain no-repeat;
  transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  top: 50%
}

@media print,
screen and (min-width:768px) {

  .btn_more .arrow:after,
  .btn_more .arrow:before {
    width: 14px;
    height: 10px;
    left: 9px
  }
}

@media only screen and (max-width:767px) {

  .btn_more .arrow:after,
  .btn_more .arrow:before {
    width: 3.7333333333vw;
    height: 2.6666666667vw;
    left: 2.4vw
  }
}

.btn_more .arrow:before {
  transform: translateY(-50%)
}

.btn_more .arrow:after {
  opacity: 0;
  transform: translate(-200%, -50%)
}

.btn_more.white a {
  color: #fff
}

.btn_more.white .arrow {
  box-sizing: border-box;
  background-color: transparent;
  border: 2px solid #fff
}

@media print,
screen and (min-width:768px) {

  .btn_more.white .arrow:after,
  .btn_more.white .arrow:before {
    left: 7px
  }
}

@media only screen and (max-width:767px) {

  .btn_more.white .arrow:after,
  .btn_more.white .arrow:before {
    left: 1.8666666667vw
  }
}

.inline-link {
  color: #ed0022;
  text-decoration: underline;
  display: inline-block
}

@media print,
screen and (min-width:768px) {
  .inline-link {
    margin: 0 5px
  }
}

@media only screen and (max-width:767px) {
  .inline-link {
    margin: 0 1.3333333333vw
  }
}

.inline-link:hover {
  text-decoration: none
}

.inline-link [class^=icon_] {
  margin-right: 0
}

@media print,
screen and (min-width:768px) {
  .inline-link [class^=icon_] {
    margin-left: 5px
  }
}

@media only screen and (max-width:767px) {
  .inline-link [class^=icon_] {
    margin-left: 1.3333333333vw
  }
}

.inline-link .icon_blank:after {
  background-image: url(/common/img/icon/icon_blank_r.svg)
}

.c-red {
  color: #ed0022 !important
}

.d-gray {
  color: #444 !important
}

.c-gray {
  color: #666 !important
}

.k-red {
  color: #ed0022 !important
}

.k-blue {
  color: #004bc3 !important
}

.k-green {
  color: #009846 !important
}

.section_ttl {
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.6
}

@media print,
screen and (min-width:768px) {
  .section_ttl {
    font-size: 36px
  }
}

@media only screen and (max-width:767px) {
  .section_ttl {
    font-size: 25px;
    font-size: 6.6666666667vw
  }
}

.section_subTtl {
  color: #ed0022;
  display: block;
  font-family: Arial
}

@media print,
screen and (min-width:768px) {
  .section_subTtl {
    font-size: 16px;
    margin-top: 15px
  }
}

@media only screen and (max-width:767px) {
  .section_subTtl {
    font-size: 13px;
    font-size: 3.4666666667vw;
    margin-top: 3.2vw
  }
}

@media print,
screen and (min-width:768px) {
  .fluid {
    border-radius: 30% 70% 70% 30%/30% 30% 70% 70%;
    animation: morphing 5s both
  }
}

.mainvisual {
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgb(254, 246, 247) 100%)
}

@media print,
screen and (min-width:768px) {
  .mainvisual {
    overflow: hidden;
    min-width: 1260px;
    display: flex;
    justify-content: center
  }
}

@media only screen and (max-width:767px) {
  .mainvisual {
    padding-top: 17.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_wrapper {
    display: flex;
    min-width: 1260px;
    height: 680px;
    padding: 0 30px;
    position: relative
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_wrapper {
    padding-bottom: 13.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_content {
    width: 470px;
    flex-shrink: 0;
    display: flex;
    align-items: center
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_content {
    padding-top: 8vw
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_ttl01 {
    padding: 0 2.6666666667vw
  }
}

.mainvisual_ttl01>p {
  font-weight: bold;
  letter-spacing: 0.14em;
  color: #ed0022;
  letter-spacing: 0.09em
}

@media print,
screen and (min-width:768px) {
  .mainvisual_ttl01>p {
    font-size: 80px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_ttl01>p {
    font-size: 54px;
    font-size: 14.4vw;
    text-align: center
  }
}

.mainvisual_ttl01>p .large {
  display: inline-block;
  position: relative
}

@media print,
screen and (min-width:768px) {
  .mainvisual_ttl01>p .large {
    font-size: 92px;
    top: -4px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_ttl01>p .large {
    font-size: 60px;
    font-size: 16vw;
    top: -0.5333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_ttl02 {
    margin: -30px 0 0
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_ttl02 {
    margin: -4vw 0 0;
    padding: 0 2.6666666667vw
  }
}

.mainvisual_ttl02>p {
  font-weight: bold;
  letter-spacing: 0.14em
}

@media print,
screen and (min-width:768px) {
  .mainvisual_ttl02>p {
    font-size: 64px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_ttl02>p {
    font-size: 42px;
    font-size: 11.2vw;
    text-align: center
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_img {
    width: 100%;
    min-width: 710px;
    position: absolute;
    top: 0;
    left: 530px
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_img .swiper-slide img {
    object-fit: cover;
    object-position: center top;
    min-width: 840px;
    width: 57vw;
    height: 680px;
    position: absolute;
    top: 0;
    left: 0
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_img .swiper-slide img {
    width: 100%
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_img_inner {
    width: 100%;
    height: 680px;
    position: absolute;
    top: 0;
    left: 0
  }
}

.mainvisual_txt {
  color: #222
}

@media print,
screen and (min-width:768px) {
  .mainvisual_txt {
    margin: 15px 0 0 0
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_txt {
    margin: 2.6666666667vw 0 0 0;
    padding: 0 2.6666666667vw
  }
}

.mainvisual_txt>p {
  line-height: 1.9
}

@media print,
screen and (min-width:768px) {
  .mainvisual_txt>p {
    font-size: 16px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_txt>p {
    text-align: center;
    font-size: 13px;
    font-size: 3.4666666667vw
  }
}

.mainvisual_btn {
  display: flex
}

@media print,
screen and (min-width:768px) {
  .mainvisual_btn {
    margin: 35px 0 0 0
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_btn {
    justify-content: center;
    margin-top: 5.3333333333vw
  }
}

.mainvisual_btn a {
  display: inline-block;
  text-align: center;
  border: 2px solid #ed0022;
  color: #fff;
  box-sizing: border-box;
  cursor: pointer;
  line-height: 1.3;
  font-weight: bold;
  transition: all 0.2s linear;
  position: relative;
  background-color: #ed0022
}

@media print,
screen and (min-width:768px) {
  .mainvisual_btn a {
    font-size: 16px;
    border-radius: 100px;
    padding: 14px 45px;
    min-width: 290px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_btn a {
    font-size: 16px;
    font-size: 4.2666666667vw;
    border-radius: 26.6666666667vw;
    padding: 3.7333333333vw 9.3333333333vw;
    min-width: 77.3333333333vw
  }
}

.mainvisual_btn a:hover {
  background-color: #fff;
  color: #ed0022
}

.mainvisual_btn a:hover .icon_arrow:before {
  background-image: url(/common/img/icon/icon_btn_arror_r.svg)
}

.mainvisual_btn a .icon_arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.mainvisual_btn a .icon_arrow:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
  .mainvisual_btn a .icon_arrow {
    width: 15px;
    height: 11px;
    right: 14px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_btn a .icon_arrow {
    width: 4vw;
    height: 2.9333333333vw;
    right: 3.7333333333vw
  }
}

.mainvisual_btn a .icon_arrow:before {
  background: url(/common/img/icon/icon_btn_arror_w.svg) center/contain no-repeat
}

@media print,
screen and (min-width:768px) {
  .mainvisual_btn a .icon_arrow:before {
    width: 15px;
    height: 11px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_btn a .icon_arrow:before {
    width: 4vw;
    height: 2.9333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_circle {
    overflow: hidden;
    transition: 0.2s ease;
    width: 700px;
    height: 500px
  }
}

@media only screen and (max-width:767px) {
  .mainvisual_circle {
    display: none
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_circle>img {
    width: 100%;
    min-width: 840px;
    object-fit: cover;
    object-position: center top
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual_circle_wrapper {
    display: flex;
    align-items: center;
    height: 100%
  }
}

@media print,
screen and (min-width:768px) {
  .mainvisual .swiper-container {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 680px
  }
}

@keyframes morphing {
  0% {
    border-radius: 30% 70% 70% 30%/30% 30% 70% 70%
  }

  25% {
    border-radius: 58% 42% 75% 25%/76% 46% 54% 24%
  }

  50% {
    border-radius: 50% 50% 33% 67%/55% 27% 73% 45%
  }

  75% {
    border-radius: 33% 67% 58% 42%/63% 68% 32% 37%
  }

  80% {
    width: 700px;
    height: 500px
  }

  90% {
    border-radius: 0;
    width: 57vw;
    height: 680px
  }

  to {
    border-radius: 0;
    width: 57vw;
    height: 680px
  }
}

.fields {
  position: relative
}

@media print,
screen and (min-width:768px) {
  .fields {
    padding-top: 100px;
    min-width: 1260px
  }
}

@media only screen and (max-width:767px) {
  .fields {
    padding-top: 16vw
  }
}

.fields:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ed0022;
  width: 1px
}

@media print,
screen and (min-width:768px) {
  .fields:before {
    height: 70px
  }
}

@media only screen and (max-width:767px) {
  .fields:before {
    height: 10.6666666667vw
  }
}

.fields_wrapper {
  position: relative
}

@media print,
screen and (min-width:768px) {
  .fields_wrapper {
    margin: 145px 0 0 80px;
    height: 620px
  }
}

@media only screen and (max-width:767px) {
  .fields_wrapper {
    background-color: #ed0022;
    margin-top: 21.3333333333vw;
    padding-bottom: 10.6666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .fields_wrapper .container {
    width: 1120px
  }
}

@media print,
screen and (min-width:768px) {
  .fields_wrapper:before {
    content: "";
    position: absolute;
    display: block;
    background-color: #ed0022;
    width: 1284px;
    height: 100%;
    top: 0;
    right: 0;
    border-radius: 50px 0 0 50px
  }
}

@media print,
screen and (min-width:768px) {
  .fields_inner {
    display: flex
  }
}

@media print,
screen and (min-width:768px) {
  .fields_img {
    min-width: 820px;
    flex-shrink: 0;
    position: absolute;
    top: -100px;
    left: 0
  }
}

@media print,
screen and (min-width:768px) {
  .fields_img_inner {
    background: url(/img/fields/img_fields01.jpg) left center/cover no-repeat;
    position: absolute;
    top: 0;
    right: 110px;
    min-width: 887px;
    width: 63vw;
    height: 630px;
    border-radius: 0 50px 50px 0
  }
}

@media only screen and (max-width:767px) {
  .fields_img_inner {
    display: none
  }
}

@media print,
screen and (min-width:768px) {
  .fields_img img {
    display: none
  }
}

@media only screen and (max-width:767px) {
  .fields_img img {
    width: calc(100% + 8vw);
    margin: -14.6666666667vw 0 0 -8vw;
    border-radius: 0 6.6666666667vw 6.6666666667vw 0
  }
}

@media print,
screen and (min-width:768px) {
  .fields_content {
    width: 300px;
    flex-shrink: 0;
    margin-left: auto;
    padding-top: 70px
  }
}

@media only screen and (max-width:767px) {
  .fields_content {
    margin-top: 8vw;
    padding: 0 4vw
  }
}

.fields_content>a {
  color: #fff
}

.fields_content>a .btn_more {
  text-align: right
}

@media print,
screen and (min-width:768px) {
  .fields_content>a .btn_more {
    margin-top: 40px
  }
}

@media only screen and (max-width:767px) {
  .fields_content>a .btn_more {
    margin-top: 5.3333333333vw
  }
}

.fields_ttl {
  font-weight: bold;
  letter-spacing: 0.1em
}

@media print,
screen and (min-width:768px) {
  .fields_ttl {
    font-size: 28px
  }
}

@media only screen and (max-width:767px) {
  .fields_ttl {
    font-size: 22px;
    font-size: 5.8666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .fields_ttl+.fields_txt {
    margin-top: 40px
  }
}

@media only screen and (max-width:767px) {
  .fields_ttl+.fields_txt {
    margin-top: 5.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .fields_txt {
    font-size: 15px
  }
}

@media only screen and (max-width:767px) {
  .fields_txt {
    font-size: 14px;
    font-size: 3.7333333333vw
  }
}

.fields_txt>p {
  line-height: 2.2
}

.fields .section_ttl {
  font-feature-settings: "palt"
}

@keyframes move {
  0% {
    transform: translateX(-100%)
  }

  to {
    transform: translateX(0)
  }
}

.efforts {
  position: relative
}

@media print,
screen and (min-width:768px) {
  .efforts {
    padding-top: 100px;
    min-width: 1260px
  }
}

@media only screen and (max-width:767px) {
  .efforts {
    padding-top: 16vw
  }
}

.efforts:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #ed0022;
  width: 1px
}

@media print,
screen and (min-width:768px) {
  .efforts:before {
    height: 70px
  }
}

@media only screen and (max-width:767px) {
  .efforts:before {
    height: 10.6666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .efforts_wrapper {
    margin-top: 60px
  }
}

@media only screen and (max-width:767px) {
  .efforts_wrapper {
    margin-top: 9.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .efforts_notice {
    margin-top: 30px
  }
}

@media only screen and (max-width:767px) {
  .efforts_notice {
    margin-top: 6.6666666667vw
  }
}

.efforts_notice>p {
  line-height: 2.2
}

@media print,
screen and (min-width:768px) {
  .efforts_notice>p {
    font-size: 16px
  }
}

@media only screen and (max-width:767px) {
  .efforts_notice>p {
    font-size: 15px;
    font-size: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .efforts_img {
    width: 733px;
    margin-left: 100px
  }
}

@media only screen and (max-width:767px) {
  .efforts_img {
    margin: 0 -4vw
  }
}

.efforts_img img {
  width: 100%;
  border: 1px solid #ddd
}

@media print,
screen and (min-width:768px) {
  .efforts_img img {
    border-radius: 50px
  }
}

@media print,
screen and (min-width:768px) {
  .efforts_content {
    position: absolute;
    top: 50%;
    left: calc(50% + 380px);
    transform: translate(-50%, -50%)
  }
}

@media only screen and (max-width:767px) {
  .efforts_content {
    position: relative;
    margin-top: -10.6666666667vw
  }
}

.efforts_content>a {
  display: block;
  box-shadow: 0 0 20px -10px rgba(0, 0, 0, 0.5);
  background-color: #fff;
  box-sizing: border-box
}

@media print,
screen and (min-width:768px) {
  .efforts_content>a {
    width: 360px;
    min-height: 330px;
    border-radius: 30px;
    padding: 50px
  }
}

@media only screen and (max-width:767px) {
  .efforts_content>a {
    border-radius: 5.3333333333vw;
    padding: 5.3333333333vw
  }
}

.efforts_content>a>.btn_more {
  text-align: right
}

@media print,
screen and (min-width:768px) {
  .efforts_content>a>.btn_more {
    margin-top: 40px
  }
}

@media only screen and (max-width:767px) {
  .efforts_content>a>.btn_more {
    margin-top: 5.3333333333vw
  }
}

.efforts_ttl>p {
  font-weight: bold;
  color: #222
}

@media print,
screen and (min-width:768px) {
  .efforts_ttl>p {
    font-size: 18px
  }
}

@media only screen and (max-width:767px) {
  .efforts_ttl>p {
    font-size: 16px;
    font-size: 4.2666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .efforts_txt {
    margin-top: 15px
  }
}

@media only screen and (max-width:767px) {
  .efforts_txt {
    margin-top: 5.3333333333vw
  }
}

.efforts_txt>p {
  color: #444;
  font-weight: 400;
  line-height: 1.9
}

@media print,
screen and (min-width:768px) {
  .efforts_txt>p {
    font-size: 14px;
    line-height: 1.5
  }
}

@media only screen and (max-width:767px) {
  .efforts_txt>p {
    font-size: 13px;
    font-size: 3.4666666667vw
  }
}

.efforts_navArea {
  display: flex;
  align-items: center
}

@media print,
screen and (min-width:768px) {
  .efforts_navArea {
    position: absolute;
    bottom: -15px;
    left: calc(50% + 446px);
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 228px
  }
}

@media only screen and (max-width:767px) {
  .efforts_navArea {
    display: none;
    margin-top: 5.3333333333vw;
    justify-content: flex-end
  }
}

.efforts_navArea .swiper-button-next,
.efforts_navArea .swiper-button-prev,
.efforts_navArea .swiper-container-rtl .swiper-button-next,
.efforts_navArea .swiper-container-rtl .swiper-button-prev {
  background: none;
  border: 2px solid #ed0022;
  border-radius: 50%;
  right: auto;
  left: auto;
  overflow: hidden;
  outline: 0
}

@media print,
screen and (min-width:768px) {

  .efforts_navArea .swiper-button-next,
  .efforts_navArea .swiper-button-prev,
  .efforts_navArea .swiper-container-rtl .swiper-button-next,
  .efforts_navArea .swiper-container-rtl .swiper-button-prev {
    width: 32px;
    height: 32px
  }
}

@media only screen and (max-width:767px) {

  .efforts_navArea .swiper-button-next,
  .efforts_navArea .swiper-button-prev,
  .efforts_navArea .swiper-container-rtl .swiper-button-next,
  .efforts_navArea .swiper-container-rtl .swiper-button-prev {
    width: 9.6vw;
    height: 9.6vw
  }
}

.efforts_navArea .swiper-button-next:after,
.efforts_navArea .swiper-button-next:before,
.efforts_navArea .swiper-button-prev:after,
.efforts_navArea .swiper-button-prev:before,
.efforts_navArea .swiper-container-rtl .swiper-button-next:after,
.efforts_navArea .swiper-container-rtl .swiper-button-next:before,
.efforts_navArea .swiper-container-rtl .swiper-button-prev:after,
.efforts_navArea .swiper-container-rtl .swiper-button-prev:before {
  content: "";
  position: absolute;
  display: block;
  border-top: 2px solid #ed0022;
  border-right: 2px solid #ed0022;
  transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  top: 50%
}

@media print,
screen and (min-width:768px) {

  .efforts_navArea .swiper-button-next:after,
  .efforts_navArea .swiper-button-next:before,
  .efforts_navArea .swiper-button-prev:after,
  .efforts_navArea .swiper-button-prev:before,
  .efforts_navArea .swiper-container-rtl .swiper-button-next:after,
  .efforts_navArea .swiper-container-rtl .swiper-button-next:before,
  .efforts_navArea .swiper-container-rtl .swiper-button-prev:after,
  .efforts_navArea .swiper-container-rtl .swiper-button-prev:before {
    width: 8px;
    height: 8px
  }
}

@media only screen and (max-width:767px) {

  .efforts_navArea .swiper-button-next:after,
  .efforts_navArea .swiper-button-next:before,
  .efforts_navArea .swiper-button-prev:after,
  .efforts_navArea .swiper-button-prev:before,
  .efforts_navArea .swiper-container-rtl .swiper-button-next:after,
  .efforts_navArea .swiper-container-rtl .swiper-button-next:before,
  .efforts_navArea .swiper-container-rtl .swiper-button-prev:after,
  .efforts_navArea .swiper-container-rtl .swiper-button-prev:before {
    width: 2.1333333333vw;
    height: 2.1333333333vw
  }
}

.efforts_navArea .swiper-button-prev:before,
.efforts_navArea .swiper-container-rtl .swiper-button-next:before {
  transform: translate(-50%, -50%) rotate(225deg);
  left: calc(50% + 1px)
}

.efforts_navArea .swiper-button-prev:after,
.efforts_navArea .swiper-container-rtl .swiper-button-next:after {
  opacity: 0;
  transform: translate(200%, -50%) rotate(225deg);
  left: calc(50% + 1px)
}

.efforts_navArea .swiper-button-prev:hover:before,
.efforts_navArea .swiper-container-rtl .swiper-button-next:hover:before {
  opacity: 0;
  transform: translate(-200%, -50%) rotate(225deg)
}

.efforts_navArea .swiper-button-prev:hover:after,
.efforts_navArea .swiper-container-rtl .swiper-button-next:hover:after {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(225deg)
}

.efforts_navArea .swiper-button-next:before,
.efforts_navArea .swiper-container-rtl .swiper-button-prev:before {
  transform: translate(-50%, -50%) rotate(45deg);
  left: calc(50% - 1px)
}

.efforts_navArea .swiper-button-next:after,
.efforts_navArea .swiper-container-rtl .swiper-button-prev:after {
  opacity: 0;
  transform: translate(-200%, -50%) rotate(45deg);
  left: calc(50% - 1px)
}

.efforts_navArea .swiper-button-next:hover:before,
.efforts_navArea .swiper-container-rtl .swiper-button-prev:hover:before {
  opacity: 0;
  transform: translate(200%, -50%) rotate(45deg)
}

.efforts_navArea .swiper-button-next:hover:after,
.efforts_navArea .swiper-container-rtl .swiper-button-prev:hover:after {
  opacity: 1;
  transform: translate(-50%, -50%) rotate(45deg)
}

@media only screen and (max-width:767px) {
  .efforts .swiper-container {
    overflow: visible
  }
}

.efforts .swiper-counter {
  display: flex;
  align-items: center
}

@media print,
screen and (min-width:768px) {
  .efforts .swiper-counter {
    margin-right: 20px
  }
}

@media only screen and (max-width:767px) {
  .efforts .swiper-counter {
    margin-right: 5.3333333333vw
  }
}

.efforts .swiper-slide {
  position: relative
}

.efforts .swiper-button-next,
.efforts .swiper-button-prev {
  position: relative;
  margin-top: 0;
  flex-shrink: 0
}

@media only screen and (max-width:767px) {

  .efforts .swiper-button-next,
  .efforts .swiper-button-prev {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0)
  }
}

@media print,
screen and (min-width:768px) {
  .efforts .swiper-button-prev+.swiper-button-next {
    margin-left: 12px
  }
}

@media only screen and (max-width:767px) {
  .efforts .swiper-button-prev+.swiper-button-next {
    margin-left: 3.2vw
  }
}

@media print,
screen and (min-width:768px) {
  .efforts .counter-prev {
    margin-right: 10px
  }
}

@media only screen and (max-width:767px) {
  .efforts .counter-prev {
    margin-right: 2.6666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .efforts .counter-next {
    margin-left: 10px
  }
}

@media only screen and (max-width:767px) {
  .efforts .counter-next {
    margin-left: 2.6666666667vw
  }
}

.efforts .counter-next,
.efforts .counter-prev {
  color: #ed0022;
  font-weight: bold
}

@media print,
screen and (min-width:768px) {

  .efforts .counter-next,
  .efforts .counter-prev {
    font-size: 16px
  }
}

@media only screen and (max-width:767px) {

  .efforts .counter-next,
  .efforts .counter-prev {
    font-size: 14px;
    font-size: 3.7333333333vw
  }
}

.efforts .counter-bar {
  background-color: #e1e1e1;
  position: relative;
  overflow: hidden;
  flex-shrink: 0
}

@media print,
screen and (min-width:768px) {
  .efforts .counter-bar {
    width: 70px;
    height: 1px
  }
}

@media only screen and (max-width:767px) {
  .efforts .counter-bar {
    width: 18.6666666667vw;
    height: 0.2666666667vw
  }
}

.efforts .counter-bar_inner {
  background-color: #ed0022;
  transform: translateX(-100%)
}

@media print,
screen and (min-width:768px) {
  .efforts .counter-bar_inner {
    height: 1px
  }
}

@media only screen and (max-width:767px) {
  .efforts .counter-bar_inner {
    height: 0.2666666667vw
  }
}

.efforts .counter-bar_inner.move {
  animation: move 13s
}

@media print,
screen and (min-width:768px) {
  .efforts .btn_more.ef {
    position: absolute;
    top: 11px;
    right: 28px
  }
}

@media only screen and (max-width:767px) {
  .efforts .btn_more.ef {
    text-align: right;
    margin: 6.6666666667vw 1.3333333333vw 0 0
  }
}

@media print,
screen and (min-width:768px) {
  .business {
    padding: 100px 0 120px
  }
}

@media only screen and (max-width:767px) {
  .business {
    padding: 16vw 0
  }
}

@media print,
screen and (min-width:768px) {
  .business_wrapper {
    margin-top: 45px
  }
}

@media only screen and (max-width:767px) {
  .business_wrapper {
    margin-top: 9.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .business_list {
    display: flex;
    flex-wrap: wrap
  }
}

@media print,
screen and (min-width:768px) {
  .business_item {
    width: 370px;
    margin-bottom: 60px
  }
}

@media print,
screen and (min-width:768px) {
  .business_item+.business_item {
    margin-left: 45px
  }
}

@media only screen and (max-width:767px) {
  .business_item+.business_item {
    margin-top: 13.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .business_item:nth-child(3n+1) {
    margin-left: 0
  }
}

@media print,
screen and (min-width:768px) {

  .business_item:nth-child(3n+1):nth-last-child(-n+3),
  .business_item:nth-child(3n+1):nth-last-child(-n+3)~li {
    margin-bottom: 0
  }
}

.business_item>a:hover .business_ttl {
  color: #ed0022
}

@media print,
screen and (min-width:768px) {
  .business_img>img {
    border-radius: 25px
  }
}

@media only screen and (max-width:767px) {
  .business_img>img {
    width: 100%;
    height: auto;
    border-radius: 6.6666666667vw
  }
}

.business_ttl {
  font-weight: bold;
  transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
  .business_ttl {
    margin-top: 20px;
    padding: 0 20px
  }
}

@media only screen and (max-width:767px) {
  .business_ttl {
    margin-top: 6.6666666667vw;
    padding: 0 5.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .business_ttl>p {
    font-size: 19px
  }
}

@media only screen and (max-width:767px) {
  .business_ttl>p {
    font-size: 18px;
    font-size: 4.8vw
  }
}

@media print,
screen and (min-width:768px) {
  .business_txt {
    margin-top: 12px;
    padding: 0 20px
  }
}

@media only screen and (max-width:767px) {
  .business_txt {
    margin-top: 4vw;
    padding: 0 5.3333333333vw
  }
}

.business_txt>p {
  color: #444;
  line-height: 1.9
}

@media print,
screen and (min-width:768px) {
  .business_txt>p {
    font-size: 15px
  }
}

@media only screen and (max-width:767px) {
  .business_txt>p {
    font-size: 15px;
    font-size: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .business .btn_more {
    position: absolute;
    top: 11px;
    right: 28px
  }
}

@media only screen and (max-width:767px) {
  .business .btn_more {
    text-align: right;
    margin: 6.6666666667vw 1.3333333333vw 0 0
  }
}

@media print,
screen and (min-width:768px) {
  .solution {
    padding: 100px 0 120px;
    min-width: 1260px
  }
}

@media only screen and (max-width:767px) {
  .solution {
    padding: 13.3333333333vw 0 29.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .solution .section_ttl {
    text-align: center
  }
}

.solution_ttl {
  text-align: center
}

@media print,
screen and (min-width:768px) {
  .solution_ttl {
    font-size: 34px
  }
}

@media only screen and (max-width:767px) {
  .solution_ttl {
    font-size: 25px;
    font-size: 6.6666666667vw
  }
}

.solution_ttl .subTtl {
  color: #ed0022;
  display: block
}

@media print,
screen and (min-width:768px) {
  .solution_ttl .subTtl {
    font-size: 14px;
    margin-top: 10px
  }
}

@media only screen and (max-width:767px) {
  .solution_ttl .subTtl {
    font-size: 13px;
    font-size: 3.4666666667vw;
    margin-top: 2.6666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .solution_txt {
    margin-top: 40px
  }
}

@media only screen and (max-width:767px) {
  .solution_txt {
    margin-top: 8vw
  }
}

.solution_txt>p {
  line-height: 2.2
}

@media print,
screen and (min-width:768px) {
  .solution_txt>p {
    font-size: 16px;
    text-align: center
  }
}

@media only screen and (max-width:767px) {
  .solution_txt>p {
    font-size: 15px;
    font-size: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .solution_tab {
    margin-top: 40px
  }
}

@media only screen and (max-width:767px) {
  .solution_tab {
    margin-top: 8vw
  }
}

.solution_tab_list {
  display: flex;
  justify-content: center
}

.solution_tab_item {
  color: #666;
  text-align: center;
  cursor: pointer;
  line-height: 1.2;
  background-color: #fff;
  position: relative;
  transition: all 0.2s linear;
  font-weight: 500
}

@media print,
screen and (min-width:768px) {
  .solution_tab_item {
    width: 350px;
    padding: 12px 20px 13px;
    font-size: 19px;
    border-radius: 6px
  }
}

@media only screen and (max-width:767px) {
  .solution_tab_item {
    flex: 1;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    font-size: 14px;
    font-size: 3.7333333333vw;
    padding: 3.2vw 2.6666666667vw 2.9333333333vw;
    border-radius: 1.6vw
  }
}

.solution_tab_item:hover {
  background-color: #ed0022;
  color: #fff
}

.solution_tab_item.current {
  background-color: #ed0022;
  color: #fff;
  font-weight: 700
}

.solution_tab_item.current:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #ed0022 transparent transparent transparent;
  top: 100%;
  left: 50%;
  transform: translateX(-50%)
}

@media print,
screen and (min-width:768px) {
  .solution_tab_item.current:before {
    border-width: 13px 9px 0 9px
  }
}

@media only screen and (max-width:767px) {
  .solution_tab_item.current:before {
    border-width: 2.1333333333vw 1.6vw 0 1.6vw
  }
}

@media print,
screen and (min-width:768px) {
  .solution_tab_item span {
    font-size: 23px
  }
}

@media only screen and (max-width:767px) {
  .solution_tab_item span {
    display: block;
    font-size: 18px;
    font-size: 4.8vw
  }
}

.solution_tab_item+.solution_tab_item {
  border-left: 1px solid #fff
}

.solution_container {
  position: relative
}

@media print,
screen and (min-width:768px) {
  .solution_tile {
    margin-top: 50px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile {
    margin-top: 8vw
  }
}

.solution_tile_list {
  display: flex;
  flex-wrap: wrap;
  counter-reset: item
}

@media print,
screen and (min-width:768px) {
  .solution_tile_item {
    width: calc(25% - 15px);
    margin-bottom: 20px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_item {
    width: calc(50% - 1.0666666667vw);
    margin-bottom: 2.1333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .solution_tile_item+.solution_tile_item {
    margin-left: 20px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_item+.solution_tile_item {
    margin-left: 2.1333333333vw
  }
}

.solution_tile_item>a {
  display: block;
  background-color: #fff;
  position: relative;
  transition: all 0.2s linear;
  height: 100%
}

@media print,
screen and (min-width:768px) {
  .solution_tile_item>a {
    border-radius: 20px;
    padding: 55px 30px 40px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_item>a {
    border-radius: 3.2vw;
    padding: 10.6666666667vw 4vw 8vw
  }
}

.solution_tile_item>a:before {
  content: counter(item, decimal-leading-zero);
  position: absolute;
  counter-increment: item;
  color: #ed0022;
  font-weight: 400;
  transition: all 0.2s linear;
  font-family: "DIN";
  letter-spacing: 0.15em
}

@media print,
screen and (min-width:768px) {
  .solution_tile_item>a:before {
    font-size: 22px;
    left: 30px;
    top: 20px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_item>a:before {
    font-size: 18px;
    font-size: 4.8vw;
    left: 4vw;
    top: 5.3333333333vw
  }
}

.solution_tile_item>a:hover {
  background-color: #ed0022
}

.solution_tile_item>a:hover:before {
  color: #fff
}

.solution_tile_item>a:hover .solution_tile_icon>svg * {
  stroke: #fff
}

.solution_tile_item>a:hover .solution_tile_ttl>p {
  color: #fff
}

.solution_tile_item>a:hover .solution_tile_txt>p {
  color: #fff
}

@media print,
screen and (min-width:768px) {
  .solution_tile_item:nth-child(4n+1) {
    margin-left: 0
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_item:nth-child(odd) {
    margin-left: 0
  }
}

@media print,
screen and (min-width:768px) {

  .solution_tile_item:nth-child(4n+1):nth-last-child(-n+4),
  .solution_tile_item:nth-child(4n+1):nth-last-child(-n+4)~li {
    margin-bottom: 0
  }
}

@media only screen and (max-width:767px) {

  .solution_tile_item:nth-child(odd):nth-last-child(-n+2),
  .solution_tile_item:nth-child(odd):nth-last-child(-n+2)~li {
    margin-bottom: 0
  }
}

.solution_tile_icon {
  text-align: center
}

.solution_tile_icon svg {
  transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
  .solution_tile_icon svg {
    width: 80px;
    height: 72px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_icon svg {
    width: 16vw;
    height: 14.4vw
  }
}

@media print,
screen and (min-width:768px) {
  .solution_tile_ttl {
    margin-top: 20px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_ttl {
    margin-top: 4vw
  }
}

.solution_tile_ttl>p {
  font-weight: bold;
  text-align: center;
  transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
  .solution_tile_ttl>p {
    font-size: 17px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_ttl>p {
    font-size: 15px;
    font-size: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .solution_tile_txt {
    margin-top: 20px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_txt {
    margin-top: 2.6666666667vw
  }
}

.solution_tile_txt>p {
  line-height: 1.9;
  transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
  .solution_tile_txt>p {
    font-size: 14px
  }
}

@media only screen and (max-width:767px) {
  .solution_tile_txt>p {
    font-size: 13px;
    font-size: 3.4666666667vw
  }
}

.solution_tile:not(:first-child) {
  display: none
}

@media print,
screen and (min-width:768px) {
  .solution_tile .btn_more {
    position: absolute;
    top: 10px;
    right: 0
  }
}

@media only screen and (max-width:767px) {
  .solution_tile .btn_more {
    text-align: right;
    margin-top: 5.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .brands {
    overflow: hidden;
    padding: 75px 0;
    min-width: 1260px
  }
}

@media only screen and (max-width:767px) {
  .brands {
    padding: 16vw 0 0
  }
}

.brands_list {
  display: flex
}

@media print,
screen and (min-width:768px) {
  .brands_list {
    margin-top: 65px
  }
}

@media only screen and (max-width:767px) {
  .brands_list {
    flex-wrap: wrap;
    margin-top: 8vw
  }
}

@media print,
screen and (min-width:768px) {
  .brands_item {
    width: calc(100% - 16px)
  }
}

@media only screen and (max-width:767px) {
  .brands_item {
    width: calc(50% - 1.3333333333vw);
    margin-bottom: 8vw
  }
}

@media print,
screen and (min-width:768px) {
  .brands_item+.brands_item {
    margin-left: 20px
  }
}

@media only screen and (max-width:767px) {
  .brands_item+.brands_item {
    margin-left: 2.6666666667vw
  }
}

@media only screen and (max-width:767px) {
  .brands_item:nth-child(odd) {
    margin-left: 0
  }
}

@media only screen and (max-width:767px) {

  .brands_item:nth-child(odd):nth-last-child(-n+2),
  .brands_item:nth-child(odd):nth-last-child(-n+2)~li {
    margin-bottom: 0
  }
}

@media only screen and (max-width:767px) {
  .brands_img img {
    width: 100%;
    height: auto
  }
}

.brands_txt {
  font-weight: bold;
  margin-top: 10px;
  text-align: center
}

@media print,
screen and (min-width:768px) {
  .brands_txt {
    font-size: 17px
  }
}

@media only screen and (max-width:767px) {
  .brands_txt {
    font-size: 16px;
    font-size: 4.2666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .brands .btn_more {
    position: absolute;
    top: 11px;
    right: 28px
  }
}

@media only screen and (max-width:767px) {
  .brands .btn_more {
    text-align: right;
    margin-top: 6.6666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability {
    overflow: hidden;
    padding: 75px 0;
    min-width: 1260px
  }
}

@media only screen and (max-width:767px) {
  .sustainability {
    padding: 16vw 0
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_wrapper {
    position: relative;
    display: flex;
    height: 580px
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_wrapper>.sustainability_img {
    position: absolute;
    min-width: 763px;
    flex-shrink: 0;
    top: 0;
    left: 322px
  }
}

@media only screen and (max-width:767px) {
  .sustainability_wrapper>.sustainability_img {
    display: none
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_wrapper>.sustainability_img .sustainability_img_inner {
    background: url(/img/sustainability/img_sustainability01.jpg) right center/cover no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    min-width: 763px;
    width: 56vw;
    height: 580px;
    border-radius: 50px 0 0 50px
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_content {
    width: 445px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    flex-direction: column
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_content .sustainability_img {
    display: none
  }
}

@media only screen and (max-width:767px) {
  .sustainability_content .sustainability_img {
    margin: 8vw -4vw 0 0
  }
}

@media only screen and (max-width:767px) {
  .sustainability_content .sustainability_img>img {
    border-radius: 6.6666666667vw 0 0 6.6666666667vw;
    width: 100%
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_content+.sustainability_img {
    margin-left: 195px
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_content .btn_more {
    margin-top: 30px
  }
}

@media only screen and (max-width:767px) {
  .sustainability_content .btn_more {
    margin-top: 5.3333333333vw;
    text-align: right
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_txt {
    margin-top: 50px;
    font-size: 16px
  }
}

@media only screen and (max-width:767px) {
  .sustainability_txt {
    margin-top: 8vw;
    font-size: 15px;
    font-size: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_icon {
    margin-top: 40px
  }
}

@media only screen and (max-width:767px) {
  .sustainability_icon {
    margin-top: 8vw
  }
}

.sustainability_icon_list {
  display: flex
}

@media only screen and (max-width:767px) {
  .sustainability_icon_list {
    justify-content: center
  }
}

.sustainability_icon_item {
  text-align: center
}

@media print,
screen and (min-width:768px) {
  .sustainability_icon_item {
    width: 135px
  }
}

@media only screen and (max-width:767px) {
  .sustainability_icon_item {
    width: 28vw
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_icon_item>p {
    margin-top: 15px;
    font-size: 14px
  }
}

@media only screen and (max-width:767px) {
  .sustainability_icon_item>p {
    margin-top: 4vw;
    font-size: 11px;
    font-size: 2.9333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .sustainability_icon_item+.sustainability_icon_item {
    margin-left: 20px
  }
}

@media only screen and (max-width:767px) {
  .sustainability_icon_item+.sustainability_icon_item {
    margin-left: 2.6666666667vw
  }
}

@media only screen and (max-width:767px) {
  .sustainability_icon_item:first-child img {
    width: 17.0666666667vw;
    height: 15.2vw
  }
}

@media only screen and (max-width:767px) {
  .sustainability_icon_item:nth-child(2) img {
    width: 16.8vw;
    height: 15.2vw
  }
}

@media only screen and (max-width:767px) {
  .sustainability_icon_item:nth-child(3) img {
    width: 16.8vw;
    height: 15.2vw
  }
}

.news {
  border-top: 1px solid #eee
}

@media print,
screen and (min-width:768px) {
  .news {
    min-width: 1260px
  }
}

@media print,
screen and (min-width:768px) {
  .news .section_ttl {
    display: inline-block;
    position: relative;
    z-index: 1
  }
}

@media print,
screen and (min-width:768px) {
  .news_wrapper {
    padding: 100px 0 120px;
    min-height: 445px
  }
}

@media only screen and (max-width:767px) {
  .news_wrapper {
    padding: 16vw 0
  }
}

.news_content {
  position: relative
}

@media print,
screen and (min-width:768px) {
  .news_content {
    /*margin-top: -80px;
    padding-left: 260px*/
    margin-bottom:16vh;
  }
}

@media only screen and (max-width:767px) {
  .news_content {
    margin-top: 8vw
  }
}

.news_nav_list {
  display: flex
}

.news_nav_item {
  text-align: center;
  background-color: #ebebeb;
  cursor: pointer;
  transition: 0.4s cubic-bezier(0.075, 0.82, 0.165, 1)
}

@media print,
screen and (min-width:768px) {
  .news_nav_item {
    width: 200px;
    padding: 9px 0 8px
  }
}

@media only screen and (max-width:767px) {
  .news_nav_item {
    flex: 1;
    padding: 2.9333333333vw 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0)
  }
}

.news_nav_item>p {
  color: #666;
  font-weight: bold
}

@media print,
screen and (min-width:768px) {
  .news_nav_item>p {
    font-size: 16px
  }
}

@media only screen and (max-width:767px) {
  .news_nav_item>p {
    font-size: 14px;
    font-size: 3.7333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .news_nav_item+.news_nav_item {
    margin-left: 1px
  }
}

@media only screen and (max-width:767px) {
  .news_nav_item+.news_nav_item {
    margin-left: 0.2666666667vw
  }
}

.news_nav_item.current {
  position: relative;
  background-color: #ed0022
}

.news_nav_item.current:before {
  content: "";
  position: absolute;
  display: block;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #ed0024 transparent transparent transparent
}

@media print,
screen and (min-width:768px) {
  .news_nav_item.current:before {
    border-width: 9px 7px 0 7px
  }
}

@media only screen and (max-width:767px) {
  .news_nav_item.current:before {
    border-width: 2.4vw 1.8666666667vw 0 1.8666666667vw
  }
}

.news_nav_item.current>p {
  color: #fff
}

@media print,
screen and (min-width:768px) {
  .news_nav_item:first-child {
    border-radius: 6px 0 0 6px
  }
}

@media only screen and (max-width:767px) {
  .news_nav_item:first-child {
    border-radius: 1.6vw 0 0 1.6vw
  }
}

@media print,
screen and (min-width:768px) {
  .news_nav_item:last-child {
    border-radius: 0 6px 6px 0
  }
}

@media only screen and (max-width:767px) {
  .news_nav_item:last-child {
    border-radius: 0 1.6vw 1.6vw 0
  }
}

.news_nav_item:hover {
  background-color: #ed0022
}

.news_nav_item:hover>p {
  color: #fff
}

@media print,
screen and (min-width:768px) {
  .news_area {
    margin-top: 15px
  }
}

@media only screen and (max-width:767px) {
  .news_area {
    margin-top: 2.6666666667vw
  }
}

.news_area>div:not(:first-child) {
  display: none
}

.news_headline_item {
  border-bottom: 1px solid #ddd
}

@media print,
screen and (min-width:768px) {
  .news_headline_item {
    padding: 25px 0;
    display: flex
  }
}

@media only screen and (max-width:767px) {
  .news_headline_item {
    padding: 5.3333333333vw 0
  }
}

.news_headline-date {
  display: flex;
  align-items: baseline
}

@media print,
screen and (min-width:768px) {
  .news_headline-date+.news_headline_content {
    margin-left: 20px
  }
}

@media only screen and (max-width:767px) {
  .news_headline-date+.news_headline_content {
    margin-top: 2.6666666667vw
  }
}

.news_headline-time {
  color: #666
}

@media print,
screen and (min-width:768px) {
  .news_headline-time {
    font-size: 15px
  }
}

@media only screen and (max-width:767px) {
  .news_headline-time {
    font-size: 14px;
    font-size: 3.7333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .news_headline-time+.news_headline-tag {
    margin-left: 20px
  }
}

@media only screen and (max-width:767px) {
  .news_headline-time+.news_headline-tag {
    margin-left: 2.6666666667vw
  }
}

.news_headline-tag {
  color: #fff;
  cursor: default;
  text-align: center;
  line-height: 1;
  flex-shrink: 0
}

@media print,
screen and (min-width:768px) {
  .news_headline-tag {
    font-size: 13px;
    width: 90px;
    height: 20px;
    padding: 3px 0 4px
  }
}

@media only screen and (max-width:767px) {
  .news_headline-tag {
    font-size: 13px;
    font-size: 3.4666666667vw;
    width: 24vw;
    height: 5.3333333333vw;
    padding: 0.8vw 0 1.0666666667vw
  }
}

.news_headline_content {
  font-weight: 500
}

@media print,
screen and (min-width:768px) {
  .news_headline_content {
    font-size: 16px;
    flex: 1
  }
}

@media only screen and (max-width:767px) {
  .news_headline_content {
    font-size: 15px;
    font-size: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .news_headline .btn_more {
    position: absolute;
    top: 125px;
    left: 0
  }
}

@media only screen and (max-width:767px) {
  .news_headline .btn_more {
    text-align: right;
    margin-top: 5.3333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .banner {
    padding: 70px 0;
    min-width: 1260px
  }
}

@media only screen and (max-width:767px) {
  .banner {
    padding: 13.3333333333vw 0
  }
}

@media only screen and (max-width:767px) {
  .banner_img img {
    width: 100%;
    height: auto
  }
}

@media print,
screen and (min-width:768px) {
  .banner_img+.banner_content {
    margin-top: 15px
  }
}

@media only screen and (max-width:767px) {
  .banner_img+.banner_content {
    margin: 2.6666666667vw
  }
}

@media print,
screen and (min-width:768px) {
  .banner_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: auto;
    width: 895px
  }
}

@media print,
screen and (min-width:768px) {
  .banner_item {
    width: 285px;
    margin-bottom: 40px
  }
}

@media only screen and (max-width:767px) {
  .banner_item {
    width: calc(100% - 16vw);
    margin: auto
  }
}

@media print,
screen and (min-width:768px) {
  .banner_item+.banner_item {
    margin-left: 20px
  }
}

@media only screen and (max-width:767px) {
  .banner_item+.banner_item {
    margin-top: 8vw
  }
}

@media print,
screen and (min-width:768px) {
  .banner_item:nth-child(3n+1) {
    margin-left: 0
  }
}

@media print,
screen and (min-width:768px) {

  .banner_item:nth-child(3n+1):nth-last-child(-n+3),
  .banner_item:nth-child(3n+1):nth-last-child(-n+3)~li {
    margin-bottom: 0
  }
}

.banner_item>a:hover .banner_ttl {
  color: #ed0022
}

.banner_content {
  text-align: center
}

.banner_ttl {
  font-weight: bold;
  transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
  .banner_ttl {
    font-size: 16px
  }
}

@media only screen and (max-width:767px) {
  .banner_ttl {
    font-size: 15px;
    font-size: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .banner_ttl+.banner_txt {
    margin-top: 5px
  }
}

.banner_txt {
  color: #666
}

@media print,
screen and (min-width:768px) {
  .banner_txt {
    font-size: 14px
  }
}

@media only screen and (max-width:767px) {
  .banner_txt {
    font-size: 13px;
    font-size: 3.4666666667vw
  }
}

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