@charset "UTF-8";

img, abbr, acronym, fieldset {
  vertical-align: bottom;
  border-style: none;
}
.res-img {
  width: 100%;
  height: auto;
}

/* QA */
.top-qa-wrap {
  font-size: 3.125vw;
  background: #333333;
  padding: 2em 0;
}
.wrap {
  padding: 0 1.75em;
}
.new_sec_ttl {
  font-size: 1em;
  text-align: center;
  line-height: 2;
  margin: 2em 0;
  color: #fff;
  letter-spacing: 0;
}
.new_sec_ttl .ja {
  font-size: 1.6em;
}

/* body.top h2.qa{font-size:2em;letter-spacing:2px;margin:0 0 .8em;font-weight:700;} */
.top-qa-box{
  margin: 1em 0 2em;
}
.top-qa-wrap .tab {position: relative;width: 100%;color:#fff;overflow: hidden;margin-bottom:1.5em;line-height:1.7;}
.top-qa-wrap input {position: absolute;opacity: 0;z-index: -1;}
.top-qa-wrap label {    font-size: 1.4em;position: relative;display: block;padding: 1.5em 2em 1.5em 1.25em;background: #000;font-weight: normal;cursor: pointer;background-color: #000;}
.top-qa-wrap .tab-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height .15s;
  -o-transition: max-height .15s;
  transition: max-height .15s;
  color: #fff;
  background: #000;
  border-top: 1px solid #444;
  visibility: hidden;
}
.top-qa-wrap input:checked ~ .tab-content {
  max-height: 100%;
  padding: 1.5em;
  visibility: visible;
}
.top-qa-wrap label::after {position: absolute;right: 0;top: 0;display: block;width: 1.1em;height: 1.1em;line-height: 1.1;text-align: center;-webkit-transition: all .35s;-o-transition: all .35s;transition: all .35s;font-size:1.3em;font-family:'Roboto', sans-serif; font-weight:100;}
.top-qa-wrap label::before{position: absolute;right: 0;top: 0;width: 0;height: 0;border-style: solid;border-width: 0 40px 40px 0;border-color: transparent #eb3629 transparent transparent;content:"";}
.top-qa-wrap input[type=checkbox] + label::after {content: "+";}
.top-qa-wrap input[type=radio] + label::after {content: "\25BC";}
.top-qa-wrap input[type=checkbox]:checked + label::after {transform: rotate(315deg);}
.top-qa-wrap input[type=radio]:checked + label::after {transform: rotateX(180deg);}
.top-qa-wrap p.link{text-align:center;}

.top-link-bt{
  display: block;
  width: fit-content;
  font-size: 1.1rem;
  text-align: center;
  font-weight: 300;
  color: #fff;
  border: 1px solid #fff;
  padding: 1em 1.5em;
  letter-spacing: .18em;
  margin: auto;
}
.top-qa-wrap label{position:relative;text-align:center;}
.top-qa-wrap label img{position:absolute; top: 50%; left: 1em; transform: translate(0%,-50%);width:30px;}
.top-qa-wrap label {
  position: relative;
  text-align: center;
}

.qa_ttl {
  font-size: 1.4em;
}
.en_qa_ol{
  list-style: auto;
}
.en_qa_ol li{
  font-size: 1.15em;
  line-height: 1.6;
  margin-left: 1.2em;
  margin-bottom: .8em;
}
.en_qa_block .tab-content .en_qa_caution{
  padding: 1em 0;
  line-height: 1.5;
}

@media (min-width: 769px) {
  .new_sec_ttl{
    font-size: .5em;
    line-height: 1.5;
    margin: 1.5em 0 !important;
  }
  .en_qa_block .tab-content .en_qa_caution {
    padding-top: 0;
  }
  .top-qa-wrap {
    font-size: 2em;
    padding: 1em 0;
  }
  .top-qa-wrap input:checked ~ .tab-content {
    padding: 1em;
  }
  .top-qa-wrap .tab {
    width: 18em;
    margin: 0 auto .6em;
  }
  .en_qa_ol li {
    font-size: .38em;
  }
  .top-qa-wrap label {
    text-align: center;
    font-size: .7em;
    letter-spacing: 2px;
    padding: 1em;
  }
  .top-qa-wrap label::before {
    border-width: 0 2.5em 2.5em 0;
  }
  .top-qa-wrap label img{width:40px;left:2em;}
  .qa_ttl {
    font-size: 1em;
  }
  .en_qa_caution{
    font-size: 0.38em;
  }
  .q-txt{margin:3em 0 0;font-size:1.5rem;}
  .q-txt .ttl{font-size:2rem;margin-bottom:1em;}		
  .cache-box{padding: 3em 2em;}
  .cache-box ul{width:100%;}
  .cache-box li p{text-align:left;}
}/* 769 */


/* 英語版用調整 */
.mainvis h1 {
  font-size: .8em;
}
.mainvis ul {
  bottom: 1em;
}
.mainvis p {
  line-height: 1.4;
}
.mainvis p span {
  display: block;
  padding-top: .3em;
}
.topst-box li .text p {
  line-height: 1.6;
}
.top-servicebox .inner .service-box h3 {
  top: 37%;
  line-height: 1.2;
}
.top-servicebox .inner .service-box .textbox {
  text-align: left;
}
.top-servicebox ul {
  line-height: 1.1;
}
.top-servicebox li {
  padding: .7em .3em;
}
.top-servicebox li h3 span {
  margin-top: .4em;
}

@media (min-width: 769px) {
  .mainvis h1 {
    font-size: 1em;
  }
  .mainvis ul{
    bottom: 2.5em;
  }
  /* .mainvis li:first-child {
    width: 40%;
  }
  .mainvis li:last-child {
    width: 55%;
  } */
}/* 769 */
