@charset "utf-8";

body{
  background: url(../images/bg_body.svg) no-repeat 0% 0%;
}
@media screen and (min-width: 1366px){
  body{
    background-size: 100% auto;
  }
}

/*  anclink  */
#anclink{
  padding: 0 0 12.4rem 0;
  margin-bottom: 12.0rem;
  position: relative;
}
@media screen and (min-width: 768px){
  #anclink{
    padding: 9.2rem 0 12.4rem 0;
    margin-bottom: 12.0rem;
  }
}
#anclink::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 24px;
  height: 4px;
  background-image: repeating-linear-gradient(90deg, rgb(0, 0, 0), rgb(0, 0, 0) 4px, transparent 4px, transparent 10px);
}
#anclink .button{
  padding: 0;
  margin: 0;
  list-style: none;
}
#anclink li{
  padding-top: 3.0rem;
}
@media screen and (min-width: 768px){
  #anclink .button{
    padding: 0;
    margin: 0;
    list-style: none;
    display: -webkit-box;
    display: flex;
  }
  #anclink li{
    padding-top: 0;
    flex-basis: 50%;
    box-sizing: border-box;
  }
  #anclink li:first-of-type{
    padding-right: 2.0rem;
  }
  #anclink li:last-of-type{
    padding-left: 2.0rem;
  }
}
#anclink .button a{
  padding: calc(26 / 22 * 1em);
  margin: 0 auto;
  position: relative;
  display: block;
  max-width: 48.0rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: calc(1.76 / 22 * 1em);
  text-align: center;
  border-radius: 70px;
  border: solid 1px;
  background-color: rgb(255, 255, 255);
  box-sizing: border-box;
}
@media screen and (min-width: 768px){
  #anclink .button a{
    font-size: 2.2rem;
  }
}
#anclink .button .mfg a{
  color: rgb(50, 165, 72);
  border-color: rgb(50, 165, 72);
}
#anclink .button .mkt a{
  color: rgb(50, 94, 165);
  border-color: rgb(50, 94, 165);
}
#anclink .button a:hover{
  opacity: 1.0;
}
#anclink .button a::before,
#anclink .button a::after{
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.1rem;
  margin: auto;
  width: 1.8rem;
  height: .1rem;
  transition: .3s transform ease-out;
}
#anclink .button .mfg a::before,
#anclink .button .mfg a::after{
  background-color: rgb(50, 165, 72);
}
#anclink .button .mkt a::before,
#anclink .button .mkt a::after{
  background-color: rgb(50, 94, 165);
}
@media screen and (min-width: 768px){
  #anclink .button a::before,
  #anclink .button a::after{
    right: 2.8rem;
    width: 2.4rem;
  }
}
#anclink .button a:hover::after{
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

/*  req  */
.req{
  padding-bottom: 15.0rem;
  margin: 0 auto;
  list-style: none;
  max-width: 74.0rem;
}
.req+.req{
  padding-top: 10.0rem;
}
.req h3{
  padding: .2rem 0;
  margin: 0;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: calc(5 / 20 * 1em);
  text-align: center;
  color: rgb(89, 87, 87);
}
.req ul{
  padding: 4.0rem 0;
  margin: 0;
  list-style: none;
}
.req li{
  padding: 1.6rem 0;
}
@media screen and (min-width: 768px){
  .req li{
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
  }
}
.req li strong{
  margin: 0.65rem 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2;
  letter-spacing: calc(0.64 / 16 * 1em);
  border-bottom: solid 3px;
  white-space: nowrap;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 768px){
  .req li strong{
    flex-basis: 12.8rem;
    flex-shrink: 0;
    display: -webkit-box;
    display: flex;
    min-height: 3.9rem;
    border-right: solid 3px;
    border-bottom: none;
  }
}
#mfg li strong{
  color: rgb(50, 165, 72);
}
#mkt li strong{
  color: rgb(50, 94, 165);
}
.req li .exp{
  padding-top: .8rem;
}
@media screen and (min-width: 768px){
  .req li .exp{
    padding-top: 0;
    padding-left: 5.2rem;
    flex-basis: 61.2rem;
    min-height: 5.2rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
  }
}
.req li .exp p{
  margin: 0;
  font-size: 1.3rem;
  line-height: 2;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}
.req li .exp p:not(:last-of-type){
  padding-bottom: 0.5em;
}
@media screen and (min-width: 768px){
  .req li .exp p:not(:last-of-type){
    padding-bottom: 2em;
  }
}
.req .msg{
  padding: 6.2rem 0 10.6rem 0;
}
.req .msg p{
  margin: 0;
  font-size: 1.3rem;
  line-height: 2.15;
  letter-spacing: calc(0.65 / 13 * 1em);
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}
.req .button a{
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  max-width: 74vw;
  min-height: 9.3rem;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: rgb(255, 255, 255);
  box-sizing: border-box;
}
@media screen and (min-width: 768px){
  .req .button a{
    padding-left: 2.4rem;
    max-width: 41.7rem;
    min-height: 12.4rem;
    font-size: 2.6rem;
  }
}
.req .button a::before,
.req .button a::after{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  z-index: -10;
  background-color: var(--theme-color);
}
.req .button a::before{
  top: 0;
  bottom: calc(50% - 0.5px);
  -webkit-transform: skewX(38deg);
  transform: skewX(38deg)
}
.req .button a::after{
  top: calc(50% - 0.5px);
  bottom: 0;
  -webkit-transform: skewX(-38deg);
  transform: skewX(-38deg)
}
.req .button a span{
  margin: 0 auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--theme-color);
}
.req .button a .ja{
  letter-spacing: calc(6.5 / 26 * 1em);
}
.req .button a .en{
  padding-top: 1.3rem;
  font-family: var(--Oswald);
  letter-spacing: calc(8.84 / 26 * 1em);
}
