@charset "utf-8";

.mv_outer {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: url("../img/mv_bg.png")no-repeat center;
  background-size: cover;
  padding: 40px 0;
}
.mv_outer h1 {
  font-size: 4.8rem;
  color: #0085CE;
  font-weight: bold;
  letter-spacing: 4.8px;
}
.mv_outer h1 span {
  display: block;
  font-size: 2.4rem;
  color: #000;
  letter-spacing: 2.4px;
}
.mv_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 48px;
}
.mv_btn li {
  width: 100%;
  max-width: 324px;
  height: 64px;
  
}
.mv_btn li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  background: #0085CE;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
  padding-left: 2em;
}
.mv_btn li a::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 3em;
}
.mv_btn li:first-child a::before {
  background: url("../img/icon_mail.svg")no-repeat center;
  background-size: contain;
  width: 29px;
  height: 21px;
}
.mv_btn li:last-child a::before {
  background: url("../img/icon_login.svg")no-repeat center;
  background-size: contain;
  width: 28px;
  height: 28px;
}

.features {
  position: relative;
  padding: 64px 0 104px;
}
.features h2 {
  color: #FEA21D;
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 4px;
  margin-bottom: 40px;
  text-align: center;
}
.features_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.features_list li {
  position: relative;
  width: 100%;
  max-width: 326px;
  height: 224px;
}
.features_list li a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.4px;
  text-align: center;
}
.features_list li:first-child a {
  background: url("../img/features01.png")no-repeat center;
  background-size: cover;
}
.features_list li:nth-child(2) a {
  background: url("../img/features02.png")no-repeat center;
  background-size: cover;
}
.features_list li:nth-child(3) a {
  background: url("../img/features03.png")no-repeat center;
  background-size: cover;
}
.features_list li:nth-child(4) a {
  background: url("../img/features04.png")no-repeat center;
  background-size: cover;
}
.features_list li:nth-child(5) a {
  background: url("../img/features05.png")no-repeat center;
  background-size: cover;
}
.features_list li:nth-child(6) a {
  background: url("../img/features06.png")no-repeat center;
  background-size: cover;
}
.features_list li:first-child a:hover,
.features_list li:nth-child(2) a:hover {
  opacity: 1;
}
.features_list li span {
  display: block;
  font-size: 1.6rem;
  letter-spacing: 1.6px;
}

/*task_sec*/
.task_sec {
  position: relative;
  background: #E0F1F8;
  padding: 64px 0 96px;
}
.task_sec::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #0085CE transparent transparent transparent;
  border-width: 40px 90px 0px 90px;
  top: auto;
  bottom: -20px;
  margin: auto;
  right: 0;
  left: 0;
  z-index: 1;
}
.task_list {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.task_list li {
  width: 100%;
  max-width: 326px;
  height: 326px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0px 0px 20px #00000029;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
  text-align: center;
}
.task_sec h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-top: 48px;
  text-align: center;
  letter-spacing: 4px;
  color: #0085CE;
}
/*sol_sec*/
.sol_sec {
  background: linear-gradient(#fffdff, #fef1e9);
  padding: 96px 0 104px;
}
.sol_sec h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 32px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}
.solution_list {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
.solution_list li {
  position: relative;
  background: #fff;
  box-shadow: 0px 0px 20px #00000029;
  width: 100%;
  height: 374px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
  padding: 0 64px;
}
.solution_list li:nth-child(2n) {
  flex-direction: row-reverse;
}
.solution_list li div {
  width: 100%;
  max-width: 520px;
}
.sol_sec h3 {
  color: #000;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.4px;
  margin-bottom: 24px;
}
.sol_sec h3 span {
  display: block;
  color: #FEA21D;
  margin-bottom: 10px;
}

/*strong*/
.strong {
  position: relative;
  padding: 64px 0;
}
.strong::before {
  content: '';
  position: absolute;
  background: url("../img/st_bg.png")no-repeat center;
  background-size: cover;
  width: 95%;
  height: 471px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.strong h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 32px;
  text-align: center;
  letter-spacing: 4px;
  color: #0085CE;
}
.strong_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.strong_list li {
  width: 100%;
  max-width: 326px;
  height: 400px;
  background: #fff;
  box-shadow: 0px 0px 20px #00000029;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding-top: 104px;
}
.strong_list li span {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
  color: #0085CE;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.4px;
  margin-bottom: -10px;
}
.strong_list li span::before {
  content: '';
  position: absolute;
  right: 0;
  left: 0;
  bottom: 56px;
  margin: auto;
}
.strong_list li:first-child span::before {
  background: url("../img/st_icon01.svg")no-repeat center;
  background-size: contain;
  width: 56px;
  height: 63px;
}
.strong_list li:nth-child(2) span::before {
  background: url("../img/st_icon02.svg")no-repeat center;
  background-size: contain;
  width: 61px;
  height: 51px;
}
.strong_list li:nth-child(3) span::before {
  background: url("../img/st_icon03.svg")no-repeat center;
  background-size: contain;
  width: 44px;
  height: 54px;
}
.strong_list li:nth-child(4) span::before {
  background: url("../img/st_icon04.svg")no-repeat center;
  background-size: contain;
  width: 62px;
  height: 59px;
}
.strong_list li:nth-child(5) span::before {
  background: url("../img/st_icon05.svg")no-repeat center;
  background-size: contain;
  width: 65px;
  height: 46px;
}
.strong_list li:nth-child(6) span::before {
  background: url("../img/st_icon06.svg")no-repeat center;
  background-size: contain;
  width: 45px;
  height: 65px;
}
.strong_list li h3 {
  font-size: 2.4rem;
  letter-spacing: 2.4px;
  font-weight: bold;
  text-align: center;
  margin-bottom: -10px;
}
.strong_list li h3 + p {
  width: 90%;
  max-width: 257px;
  margin: 0 auto;
  letter-spacing: 1.6px;
  line-height: 1.5;
}
.strong_list li:last-child h3 + p {
  max-width: 269px;
}

/*operation*/
.operation {
  position: relative;
  padding: 64px 0 96px;
}
.operation h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 32px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}
.operation h2 span {
  display: block;
  font-size: 2.4rem;
  letter-spacing: 2.4px;
}
.op_txt {
  width: 100%;
  max-width: 490px;
  margin: 0 auto 32px;
}
.op_txt p {
  font-size: 2rem;
}
.op_txt + img {
  display: block;
  margin: auto;
}

/*setting*/
.setting {
  position: relative;
  background: rgba(224, 241, 248, 0.4);
  padding: 56px 0 192px;
}
.setting h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}
.setting h2 + p {
  width: 100%;
  max-width: 670px;
  margin: 0 auto 24px;
  font-size: 2rem;
  letter-spacing: 2px;
}
.setting_list {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 104px;
}
.setting_list::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #0085CE transparent transparent transparent;
  border-width: 32px 32px 0px 32px;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  left: 0;
  transform: rotate(-90deg);
  z-index: 1;
}
.setting_list li {
  position: relative;
  background: #fff;
  box-shadow: 0px 0px 20px #00000029;
  border-radius: 50%;
  width: 100%;
  max-width: 326px;
  height: 326px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  padding-top: 80px;
}
.setting_list li:first-child {
  gap: 24px;
}
.setting_list li:first-child::before {
  content: '';
  position: absolute;
  background: url("../img/setting_icon.svg")no-repeat center;
  background-size: contain;
  width: 148px;
  height: 140px;
  bottom: -6em;
  right: 0;
  left: 0;
  margin: auto;
}
.setting_list li:last-child p {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  bottom: -10em;
  font-size: 1.6rem;
}
.setting_list li h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.4px;
  text-align: center;
}

/*tool*/
.tool {
  position: relative;
  background: #fff;
  padding: 80px 0 104px;
}
.tool h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}

/*support*/
.support {
  position: relative;
  background: rgba(224, 241, 248, 0.4);
  padding: 56px 0;
}
.support h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}
.support h2 + p {
  width: 100%;
  max-width: 660px;
  margin: 0 auto 40px;
  font-size: 2rem;
  letter-spacing: 2px;
}

/*comparison*/
.comparison {
  position: relative;
  background: #fff;
  padding: 56px 0;
}
.comparison h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}
.comparison h2 + p {
  width: 100%;
  max-width: 880px;
  margin: 0 auto 40px;
  font-size: 2rem;
  letter-spacing: 2px;
}

/*flow*/
.flow {
  position: relative;
  padding: 56px 0 80px;
  background: rgba(255, 241, 220, 0.4);
}
.flow h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 32px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}
.flow_list {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
.flow_list li {
  width: 100%;
  height: 274px;
  background: #fff;
  box-shadow: 0px 0px 20px #00000029;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 104px;
  padding-left: 104px;
}
.flow_list li div {
  width: 100%;
  max-width: 625px;
}
.flow_list li h3 {
  color: #000;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 2.4px;
  margin-bottom: 24px;
}
.flow_list li h3 span {
  display: block;
  color: #FEA21D;
  margin-bottom: 10px;
}

/*faq_sec*/
.faq_sec {
  position: relative;
  padding: 64px 0;
}
.faq_sec h2 {
  font-size: 4rem;
  font-weight: bold;
  margin-bottom: 56px;
  text-align: center;
  letter-spacing: 4px;
  color: #FEA21D;
}
.faq_block {
  margin: 0;
  margin-bottom: 72px;
}
.faq_block:last-child {
  margin-bottom: 0;
}
.faq_block dt {
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
  color: #000;
  border-bottom: 1px solid #707070;
  padding-bottom: 24px;
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.faq_block dt::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #0085CE transparent transparent transparent;
  border-width: 20px 20px 0px 20px;
  top: 0;
  bottom: 16px;
  margin: auto;
  right: 0;
  /*transition: transform 0.3s ease;*/
  transform: rotate(0deg);
  z-index: 1;
}
.faq_block dt.rotate::after {
  transform: rotate(180deg);
}
.faq_block dt span {
  font-size: 4rem;
  font-weight: normal;
  letter-spacing: 4px;
  color: #0085CE;
  min-width: 80px;
  display: inline-block;
}
.faq_block dd {
  font-size: 1.6rem;
  letter-spacing: 1.6px;
  color: #000;
  margin: 0;
  display: none;
}
.faq_block dd.show {
  display: flex;
  align-items: center;
}
.faq_block dd span {
  font-size: 4rem;
  letter-spacing: 4px;
  color: #FEA21D;
  min-width: 80px;
  display: inline-block;
}

/*タブレット（縦）*/
@media screen and (orientation: portrait) and (min-width: 768px){
  
}

@media screen and (max-width: 767px) {
/*mv_outer*/
  .mv_outer {
    padding-top: 20px;
  }
  .mv_outer h1 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
  }
  .mv_outer h1 span {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    margin-top: 0.5em;
  }
  .mv_btn {
    gap: 10px;
    margin-top: 24px;
  }
  .mv_btn li {
    height: auto;
  }
  .mv_btn li a {
    padding: 12px 0;
    padding-left: 2em;
    font-size: 1.4rem;
    letter-spacing: 1.4px;
  }
  .mv_btn li:first-child a::before {
    left: 1em;
    height: 16px;
  }
  .mv_btn li:last-child a::before {
    left: 1.5em;
    height: 24px;
  }

/*features*/
  .features {
    padding: 48px 0 64px ;
  }
  .features h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 28px;
  }
  .features_list {
    gap: 10px;
  }
  .features_list li {
    max-width: 48%;
    height: 176px;
  }
  .features_list li a {
    font-size: 1.8rem;
    letter-spacing: 1.8px;
    padding: 0 5%;
  }
  .features_list li span {
    font-size: 1.4rem;
    letter-spacing: 1.4px;
  }

/*task_sec*/
  .task_sec {
    padding: 64px 0;
  }
  .task_list {
    flex-wrap: wrap;
    gap: 10px;
  }
  .task_list li {
    max-width: 160px;
    height: 160px;
    font-size: 1.6rem;
    letter-spacing: 0.28px;
    padding: 0 5%;
  }
  .task_sec h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-top: 32px;
  }
/*sol_sec*/
  .sol_sec {
    padding: 64px 0;
  }
  .sol_sec h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
  }
  .solution_list li {
    height: auto;
    padding: 32px 5%;
    flex-direction: column-reverse;
    gap: 20px;
  }
  .solution_list li:nth-child(2n) {
    flex-direction: column-reverse;
  }
  .sol_sec h3 {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-bottom: 16px;
  }
  .sol_sec h3 span {
    margin-bottom: 0;
  }

/*strong*/
  .strong h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 28px;
  }
  .strong_list {
    flex-wrap: nowrap;
    flex-direction: column;
  }
  .strong_list li {
    max-width: 100%;
    height: auto;
    padding: 88px 5% 32px;
  }
  .strong_list li span::before {
    bottom: 48px;
  }
  .strong_list li h3 {
    font-size: 2rem;
    letter-spacing: 2px;
  }
  .strong_list li h3 + p {
    width: 100%;
    max-width: 90%;
  }
  .strong_list li:last-child h3 + p {
    max-width: 90%;
  }

/*operation*/
  .operation {
    padding: 32px 0;
  }
  .operation h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 16px;
  }
  .operation h2 span {
    font-size: 1.8rem;
    letter-spacing: 1.8px;
  }
  .op_txt p {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
  }

/*setting*/
  .setting {
    padding-bottom: 216px;
  }
  .setting h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
  }
  .setting h2 + p {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
  }
  .setting_list {
    flex-direction: column;
    align-items: center;
    gap: 168px;
  }
  .setting_list::before {
    top: 4em;
    transform: rotate(0deg);
  }
  .setting_list li {
    max-width: 280px;
    height: 280px;
    padding-top: 56px;
  }
  .setting_list li:first-child::before {
    bottom: -4em;
  }
  .setting_list li h3 {
    font-size: 1.8rem;
    letter-spacing: 1.8px;
  }

/*tool*/
  .tool {
    padding: 48px 0;
  }
  .tool h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
  }

/*support*/
  .support h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
  }
  .support h2 + p {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    margin-bottom: 24px;
  }

/*comparison*/
  .comparison {
    padding: 48px 0;
  }
  .comparison h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
  }
  .comparison h2 + p {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    margin-bottom: 24px;
  }

/*flow*/
  .flow h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 24px;
  }
  .flow_list li {
    height: auto;
    gap: 20px;
    padding: 32px 5%;
  }
  .flow_list li img {
    width: 48px;
  }
  .flow_list li h3 {
    font-size: 2rem;
    letter-spacing: 2px;
    margin-bottom: 16px;
  }
  .flow_list li h3 span {
    margin-bottom: 0;
  }

/*faq_sec*/
  .faq_sec {
    padding: 48px 0;
  }
  .faq_sec h2 {
    font-size: 2.4rem;
    letter-spacing: 2.4px;
    margin-bottom: 32px;
  }
  .faq_block {
    margin-bottom: 40px;
  }
  .faq_block dt {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
    padding-right: 40px;
    padding-bottom: 10px;
    margin-bottom: 16px;
  }
  .faq_block dt::after {
    border-width: 12px 12px 0px 12px;
    right: 4px;
  }
  .faq_block dt span,
  .faq_block dd span {
    font-size: 2.8rem;
    letter-spacing: 2.8px;
    min-width: 60px;
    margin-right: -0.5em;
  }
  .faq_block dd {
    font-size: 1.4rem;
    letter-spacing: 1.4px;
  }
}