@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 {
  margin: 0 auto;
  padding: 0 5%;
  display: flex;
  align-items: center;
  flex-direction: column;
}
ul.contact li {
  width: 100%;
}
ul.contact li:not(:last-child) {
  margin: 0 0 5%;
}
ul.contact li a {
  width: 100%;
  padding: 5% 0;
  border-radius: 2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FFB71D;
  color: #000;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  font-size: 5vw;
}
ul.contact li a.btnShadow:active {
  opacity: 0.6;
}

.disp_pc {
  display: none !important;
}

.underLine {
  background: linear-gradient(transparent 75%, rgba(255, 183, 29, 0.7) 75%);
}

.next:before {
  content: "";
  margin: 0 auto -5vw;
  padding: 5% 0;
  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 {
  position: relative;
}
main #firstVew .box01 img {
  width: 100%;
  display: block;
}
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: left;
}
main #firstVew .box01 h1 span {
  display: block;
}
main #firstVew .box01 h1 span.text {
  margin: 0 0 5%;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5;
  font-size: 4vw;
}
main #firstVew .box01 h1 span.enclosure {
  padding: 2.5% 5%;
  border: solid 2px #fff;
  border-radius: 2vw;
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.5;
  font-size: 3.5vw;
}
main #firstVew .box02 {
  padding: 5% 0;
  border-top: solid 10px #fff;
  background-color: #0068B7;
}
main #firstVew .box03 {
  padding: 10% 5% 20%;
  text-align: center;
  background-color: #F2F2F2;
}
main #firstVew .box03 h2 {
  margin: 0 0 10%;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.6666666667;
  font-size: 5vw;
}
main #firstVew .box03 p.text {
  margin: 0 auto;
  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;
  font-size: 3.5vw;
}
main #problem {
  padding: 10% 5% 20%;
}
main #problem .box01 h2 {
  margin: 0 auto 10%;
  text-align: center;
  color: #0068B7;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  font-size: 5vw;
}
main #problem .box01 h2:after {
  content: "";
  margin: 10% auto;
  padding: 5% 0;
  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 20%;
}
main #problem .box01 ul li dl {
  width: 100%;
  margin: 0 auto;
}
main #problem .box01 ul li dl dt {
  width: 100%;
  margin: 0 0 10%;
}
main #problem .box01 ul li dl dt img {
  width: 100%;
  display: block;
}
main #problem .box01 ul li dl dd {
  width: 100%;
}
main #problem .box01 ul li dl dd .title {
  margin: 0 0 10%;
  display: block;
  text-align: center;
  color: #0068B7;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
  font-size: 5vw;
}
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;
  font-size: 3.5vw;
}
main #problem .box01 ul li dl dd a.btn {
  margin: 10% 0 0;
  display: flex;
}
main #problem .box01 ul li dl dd a.btn .text {
  width: 100%;
  height: 18vw;
  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;
  font-size: 4vw;
}
main #problem .box01 ul li dl dd a.btn .triangleRight:after {
  content: "";
  width: 0;
  margin: 0 0 0 5%;
  border-style: solid;
  border-width: 4vw 2.5vw 0 2.5vw;
  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: 4vw 2.5vw 0 2.5vw;
  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 18vw 5vw;
  border-color: transparent transparent #0068B7 transparent;
  display: block;
}
main #problem .box01 ul li dl dd a.btn .diaRight {
  width: 0;
  border-style: solid;
  border-width: 18vw 0 0 5vw;
  border-color: transparent transparent transparent #0068B7;
  display: block;
}
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: 10% 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 2.5%;
}
main #whitepaper .box01 .banner img {
  width: 100%;
}
main #whitepaper .box01 ul.contact {
  max-width: none;
  padding: 0;
  justify-content: center;
}
main #whitepaper .box01 ul.contact li {
  width: 100%;
}
main #whitepaper .box01 ul.contact li a {
  font-size: 4vw;
}
main #solution {
  border-top: solid 10px #fff;
  background-color: #F2F2F2;
}
main #solution .box01 {
  padding: 10% 5% 20%;
}
main #solution .box01 h2 {
  margin: 0 auto 10%;
  text-align: center;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5833333333;
  font-size: 5vw;
}
main #solution .box01 h2 .fontUp {
  max-width: 100%;
  margin: 10% 0 0;
  display: inline-block;
  color: #0068B7;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  font-size: 10vw;
}
main #solution .box01 h3 {
  margin: 0 auto 10%;
  text-align: center;
  color: #0068B7;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.8;
  font-size: 5vw;
}
main #solution .box01 h3:before {
  content: "";
  margin: 10% auto;
  padding: 5% 0;
  display: block;
  background-image: url("../image/ir_separation.svg");
  background-size: auto;
  background-position: center;
  background-repeat: no-repeat;
}
main #solution .box01 p {
  margin: 0 auto;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  color: #4D4D4D;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8888888889;
  font-size: 3.5vw;
}
main #solution .box02 {
  max-width: 100%;
  margin: 0 auto;
}
main #solution .box02 .inbox01 {
  margin: 0 5%;
  padding: 5%;
  background-color: #0068B7;
  text-align: center;
}
main #solution .box02 .inbox01 h4 {
  margin: 0 0 10%;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2.25;
  font-size: 4vw;
}
main #solution .box03 {
  padding: 10% 5% 20%;
}
main #solution .box03 p {
  text-align: center;
}
main #solution .box03 p.text {
  margin: 0 0 2vw;
  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;
  font-size: 3.5vw;
}
main #solution .box03 p.notes {
  text-align: left;
  color: #808080;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
  font-size: 2.5vw;
}
main #features {
  padding: 10% 5% 20%;
}
main #features .box01 h2 {
  margin: 0 auto 10%;
  text-align: center;
  color: #0068B7;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  font-size: 5vw;
}
main #features .box01 h2:after {
  content: "";
  margin: 10% auto;
  padding: 5% 0;
  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 20%;
}
main #features .box01 ul li dl {
  width: 100%;
  margin: 0 auto;
}
main #features .box01 ul li dl dt {
  width: 100%;
  margin: 0 0 10%;
}
main #features .box01 ul li dl dt img {
  width: 100%;
  display: block;
}
main #features .box01 ul li dl dd {
  width: 100%;
}
main #features .box01 ul li dl dd .title {
  margin: 0 0 10%;
  display: block;
  text-align: center;
  color: #0068B7;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5714285714;
  font-size: 5vw;
}
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;
  font-size: 3.5vw;
}
main #last {
  margin: 0 0 10%;
  background-color: #F2F2F2;
}
main #last .box01 {
  padding: 10% 5%;
  text-align: center;
}
main #last .box01 h2 {
  margin: 0 0 10%;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.5833333333;
  font-size: 4vw;
}
main #last .box01 ul.contact {
  padding: 0;
}

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