@charset "UTF-8";
/* BebasNeue-Regular */
@font-face {
  font-family: 'BebasNeue';
  src: url("../font/BebasNeue-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
/* NotoSansCJK-Light */
@font-face {
  font-family: 'NotoSansCJK';
  src: url("../font/NotoSansCJKjp-Light_resize.woff") format("woff"), url("../font/NotoSansCJKjp-Light_resize.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
/* NotoSansCJK-Regular */
@font-face {
  font-family: 'NotoSansCJK';
  src: url("../font/NotoSansCJKjp-Regular_resize.woff") format("woff"), url("../font/NotoSansCJKjp-Regular_resize.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
/* NotoSansCJK-Medium */
@font-face {
  font-family: 'NotoSansCJK';
  src: url("../font/NotoSansCJKjp-Medium_resize.woff") format("woff"), url("../font/NotoSansCJKjp-Medium_resize.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
/* NotoSansCJK-Bold */
@font-face {
  font-family: 'NotoSansCJK';
  src: url("../font/NotoSansCJKjp-Bold_resize.woff") format("woff"), url("../font/NotoSansCJKjp-Bold_resize.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
/*--------------------------------------------------------------------------
共通
--------------------------------------------------------------------------*/
a {
  text-decoration: none;
}

ul.contact {
  max-width: 868px;
  margin: 0 auto;
  padding: 0 5%;
  display: flex;
  justify-content: space-between;
}
ul.contact li {
  width: 47.5%;
}
ul.contact li a {
  height: 78px;
  border-radius: 39px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFB71D;
  transition-duration: .2s;
  transition-timing-function: ease-out;
  box-shadow: 0 0.375rem 0 0 #C08508;
  color: #000;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
ul.contact li a.btnShadow:hover {
  box-shadow: 0 0 0 0 #C08508;
  transform: translateY(0.375rem);
}

.disp_sp {
  display: none !important;
}

@media screen and (max-width: 1069px) {
  .disp_pc_long {
    display: none !important;
  }
}
@media screen and (min-width: 1070px) {
  .disp_pc_short {
    display: none !important;
  }
}
.underLine {
  background: linear-gradient(transparent 75%, rgba(255, 183, 29, 0.7) 75%);
}

.next:before {
  content: "";
  width: 118px;
  height: 60px;
  margin: 0 auto -30px;
  display: block;
  position: relative;
  background-image: url("../image/ir_icon_next.svg");
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
}

/*--------------------------------------------------------------------------
body
--------------------------------------------------------------------------*/
body {
  font-family: 'NotoSansCJK' !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/*--------------------------------------------------------------------------
main
--------------------------------------------------------------------------*/
main #firstVew .box01 {
  height: 400px;
  position: relative;
}
main #firstVew .box01 .bg {
  display: flex;
  justify-content: space-between;
  height: 400px;
  background-image: url("../image/ir_firstvew_visual@2x-80.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
main #firstVew .box01 .bgCover {
  height: 100%;
  width: 65%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to top right, rgba(0, 104, 183, 0.7) 50%, rgba(0, 104, 183, 0.7) 50%) no-repeat top left/80% 100%, linear-gradient(to top left, transparent 50%, rgba(0, 104, 183, 0.7) 50%) no-repeat top right/20% 100%;
}
main #firstVew .box01 h1 {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%) translateX(-10%);
  text-align: center;
}
main #firstVew .box01 h1 span {
  display: block;
}
main #firstVew .box01 h1 span.text {
  margin: 0 0 20px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
main #firstVew .box01 h1 span.enclosure {
  padding: 10px 5%;
  border: solid 2px #fff;
  border-radius: 6px;
  display: inline-block;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
main #firstVew .box02 {
  padding: 38px 0;
  border-top: solid 10px #fff;
  background-color: #0068B7;
}
main #firstVew .box03 {
  padding: 60px 2.5%;
  text-align: center;
  background-color: #F2F2F2;
}
main #firstVew .box03 h2 {
  margin: 0 0 40px;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.6666666667;
}
main #firstVew .box03 p.text {
  margin: 0 auto;
  color: #4D4D4D;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.8888888889;
}
main #problem {
  padding: 60px 2.5% 120px;
}
main #problem .box01 h2 {
  margin: 0 auto 60px;
  text-align: center;
  color: #0068B7;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
}
main #problem .box01 h2:after {
  content: "";
  width: 341px;
  height: 48px;
  margin: 40px auto 100px;
  display: block;
  background-image: url("../image/ir_separation.svg");
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
}
main #problem .box01 ul li:not(:last-of-type) {
  margin: 0 0 120px;
}
main #problem .box01 ul li dl {
  max-width: 1020px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
main #problem .box01 ul li dl.reverse {
  flex-direction: row-reverse;
}
main #problem .box01 ul li dl dt {
  width: 47.5%;
}
main #problem .box01 ul li dl dt img {
  width: 100%;
  display: block;
}
main #problem .box01 ul li dl dd {
  width: 47.5%;
}
main #problem .box01 ul li dl dd .title {
  margin: 0 0 35px;
  display: block;
  color: #0068B7;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
}
main #problem .box01 ul li dl dd .text {
  display: block;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  color: #4D4D4D;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.8888888889;
}
main #problem .box01 ul li dl dd a.btn {
  margin: 35px 0 0;
  display: flex;
}
main #problem .box01 ul li dl dd a.btn .text {
  width: 100%;
  height: 80px;
  padding: 0 5%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #0068B7;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
}
@media screen and (max-width: 949px) {
  main #problem .box01 ul li dl dd a.btn .text {
    height: 120px;
  }
}
main #problem .box01 ul li dl dd a.btn .triangleRight:after {
  content: "";
  width: 0;
  margin: 0 0 0 5%;
  border-style: solid;
  border-width: 18px 12px 0 12px;
  border-color: #fff transparent transparent transparent;
  display: block;
}
main #problem .box01 ul li dl dd a.btn .triangleLeft:before {
  content: "";
  width: 0;
  margin: 0 5% 0 0;
  border-style: solid;
  border-width: 18px 12px 0 12px;
  border-color: #fff transparent transparent transparent;
  display: block;
}
main #problem .box01 ul li dl dd a.btn .diaLeft {
  width: 0;
  border-style: solid;
  border-width: 0 0 80px 30px;
  border-color: transparent transparent #0068B7 transparent;
  display: block;
}
@media screen and (max-width: 949px) {
  main #problem .box01 ul li dl dd a.btn .diaLeft {
    border-width: 0 0 120px 30px;
  }
}
main #problem .box01 ul li dl dd a.btn .diaRight {
  width: 0;
  border-style: solid;
  border-width: 80px 0 0 30px;
  border-color: transparent transparent transparent #0068B7;
  display: block;
}
@media screen and (max-width: 949px) {
  main #problem .box01 ul li dl dd a.btn .diaRight {
    border-width: 120px 0 0 30px;
  }
}
main #problem .box01 ul li dl dd a:hover {
  opacity: 0.6;
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
main #whitepaper {
  background-color: #0068B7;
}
main #whitepaper .box01 {
  padding: 60px 2.5%;
  text-align: center;
  background: repeating-linear-gradient(-45deg, transparent 0px, transparent 12px, rgba(255, 255, 255, 0.1) 12px, rgba(255, 255, 255, 0.1) 15px);
}
main #whitepaper .box01 .banner {
  margin: 0 0 20px;
}
main #whitepaper .box01 .banner img {
  max-width: 972px;
  width: 100%;
}
main #whitepaper .box01 ul.contact {
  max-width: none;
  padding: 0;
  justify-content: center;
}
main #whitepaper .box01 ul.contact li {
  width: 80%;
}
main #whitepaper .box01 ul.contact li a {
  max-width: 800px;
  margin: 0 auto;
}
main #solution {
  border-top: solid 10px #fff;
  background-color: #F2F2F2;
}
main #solution .box01 {
  padding: 60px 2.5%;
}
main #solution .box01 h2 {
  margin: 0 auto 55px;
  text-align: center;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5833333333;
}
main #solution .box01 h2 .fontUp {
  max-width: 100%;
  margin: 40px 0 0;
  display: inline-block;
  color: #0068B7;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}
main #solution .box01 h3 {
  margin: 0 auto 40px;
  text-align: center;
  color: #0068B7;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.8;
}
main #solution .box01 h3:before {
  content: "";
  width: 341px;
  height: 48px;
  margin: 0 auto 50px;
  display: block;
  background-image: url("../image/ir_separation.svg");
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
}
main #solution .box01 p {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
  color: #4D4D4D;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8888888889;
}
main #solution .box02 {
  max-width: 1080px;
  margin: 0 auto;
}
main #solution .box02 .inbox01 {
  margin: 0 5%;
  padding: 60px 5%;
  background-color: #0068B7;
  text-align: center;
}
main #solution .box02 .inbox01 h4 {
  margin: 0 0 50px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2.25;
}
main #solution .box03 {
  padding: 60px 2.5%;
}
main #solution .box03 p {
  text-align: center;
}
main #solution .box03 p.text {
  margin: 0 0 10px;
  color: #4D4D4D;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.8888888889;
}
main #solution .box03 p.notes {
  color: #808080;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}
main #features {
  padding: 60px 2.5% 120px;
}
main #features .box01 h2 {
  margin: 0 auto 60px;
  text-align: center;
  color: #0068B7;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
}
main #features .box01 h2:after {
  content: "";
  width: 341px;
  height: 48px;
  margin: 40px auto 100px;
  display: block;
  background-image: url("../image/ir_separation.svg");
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
}
main #features .box01 ul li:not(:last-of-type) {
  margin: 0 0 120px;
}
main #features .box01 ul li dl {
  max-width: 1020px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
main #features .box01 ul li dl.reverse {
  flex-direction: row-reverse;
}
main #features .box01 ul li dl dt {
  width: 47.5%;
}
main #features .box01 ul li dl dt img {
  width: 100%;
  display: block;
}
main #features .box01 ul li dl dd {
  width: 47.5%;
}
main #features .box01 ul li dl dd .title {
  margin: 0 0 35px;
  display: block;
  color: #0068B7;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
}
main #features .box01 ul li dl dd .text {
  display: block;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  color: #4D4D4D;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.8888888889;
}
main #last {
  margin: 0 0 40px;
  background-color: #F2F2F2;
}
main #last .box01 {
  padding: 60px 2.5%;
  text-align: center;
}
main #last .box01 h2 {
  margin: 0 0 45px;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5833333333;
}

/*--------------------------------------------------------------------------
footer
footer {
  padding: 30px 0 !important;
  border-top: 6px solid #0068B7 !important;
  text-align: center;
}
--------------------------------------------------------------------------*/