@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html,
body {
  -webkit-overflow-scrolling: auto;
  font-family: "Noto Sans JP", sans-serif;
}

#Snapdragpn * {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  box-sizing: border-box;
  zoom: 1;
}

#Snapdragpn {
  position: relative;
  width: 1200px;
  margin: 0 auto;
  background: #fff;
  color: #000;
  font-family: 'Noto Sans JP', SegoeUI, '游ゴシック体', 'Yu Gothic UI', 'Meiryo UI', 'ヒラギノ角ゴ Pro W3', Hiragino Kaku Gothic Pro, "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.45;
  text-align: left;
}

/*#Snapdragpn .punct {
  margin-right: -0.35em;
}*/

#Snapdragpn sup {
  font-size: 60%;
  vertical-align: top;
  position: relative;
  top: -0.25em;
}

/***
#Snapdragpn img {
  width: 100%;
  height: auto;
}

/*** Logo ***/
#Snapdragpn .logo {
  padding: 60px 0;
}

#Snapdragpn .logo figure {
  margin: 0;
  width: 393px;
}

/*** KV ***/
#Snapdragpn .kv {
  margin-bottom: 60px;
}

/*** Recommend ***/
#Snapdragpn .recommend {
  margin-bottom: 100px;
}

#Snapdragpn .recommend h2 {
  margin: 0 0 50px;
  padding: 0 0 0.5em;
  font-weight: 700;
  font-size: 35px;
  border-bottom: 1px solid #000;
}

#Snapdragpn .recommend .link-btn a {
  display: block;
  margin: 60px auto 100px;
  width: 860px;
  height: 76px;
  font-size: 24px;
  line-height: 76px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background-color: #e71324;
  transition: all 0.5s;
}

#Snapdragpn .recommend a:hover {
  opacity: 0.7;
}

#Snapdragpn .recommend a span {
  position: relative;
  width: fit-content;
  border-bottom: 1px solid #fff;
  transition: all 0.5s;
}

#Snapdragpn .recommend a:hover span {
  border-bottom: 1px solid #e71324;
}

/*** Video ***/
#Snapdragpn .video {
  margin-bottom: 100px;
}

#Snapdragpn .video .movie {
  width: 100%;
  height: auto;
  display: block;
  cursor: pointer;
  transition: all 0.5s;
}

#Snapdragpn .video .movie:not(.is-played):hover {
  opacity: 0.7;
}

/*** Upgrade ***/
#Snapdragpn .upgrade {
  margin-bottom: 60px;
}

/*** Processor ***/
#Snapdragpn .processor {
  margin-bottom: 60px;
}

#Snapdragpn .processor h2 {
  margin: 0 0 30px;
  padding: 0 0 0.5em;
  font-weight: 700;
  font-size: 35px;
  border-bottom: 1px solid #000;
}

#Snapdragpn .processor table {
  overflow: hidden;
  margin-bottom: 100px;
  width: 100%;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.3em;
  border-collapse: collapse;
  border-radius: 20px;
}

#Snapdragpn .processor table td,
#Snapdragpn .processor table th {
  vertical-align: middle;
  border: 1px solid #231815;
}

#Snapdragpn .processor table thead {
  font-size: 18px;
  line-height: 1.4em;
  background-color: #e71324;
}

#Snapdragpn .processor table thead th {
  padding: 20px 0;
  border-top: none;
}

#Snapdragpn .processor table thead th:first-child {
  border-left: none;
}

#Snapdragpn .processor table thead th:last-child {
  border-right: none;
}

#Snapdragpn .processor table tbody {
  font-size: 14px;
  color: #231815;
  background-color: #e1e6ea;
}

#Snapdragpn .processor table tbody th {
  padding: 10px 0;
  font-size: 16px;
}

#Snapdragpn .processor table tbody tr:nth-of-type(1) {
  height: 170px;
}

#Snapdragpn .processor table tbody tr:nth-of-type(1) td {
  padding: 5px 0 20px;
  vertical-align: top;
}

#Snapdragpn .processor table tbody tr:nth-of-type(1) td figure {
  margin: 0;
}

#Snapdragpn .processor table tbody tr:nth-of-type(1) td figure img {
  margin: 0 auto;
  width: 90px;
  height: auto;
}

#Snapdragpn .processor table tbody tr:nth-of-type(1) td figure figcaption {
  height: 55px;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;
}

#Snapdragpn .processor table tbody tr th {
  border-left: none;
}

#Snapdragpn .processor table tbody tr td:last-child {
  border-right: none;
}

#Snapdragpn .processor table tbody tr:last-of-type th,
#Snapdragpn .processor table tbody tr:last-of-type td {
  border-bottom: none;
}

#Snapdragpn .processor figure.layout {
  display: flex;
  justify-content: space-between;
}

#Snapdragpn .processor figure.layout img {
  width: 390px;
}

#Snapdragpn .processor figure.layout figcaption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 780px;
  padding: 60px;
  color: #fff;
  border-radius: 30px;
  background-color: #e71324;
}

#Snapdragpn .processor figure.layout figcaption h3 {
  margin-bottom: 0.5em;
  font-weight: 700;
  font-size: 56px;
  line-height: 1.25em;
}

#Snapdragpn .processor figure.layout figcaption p {
  margin-bottom: 0.5em;
  font-size: 33px;
  line-height: 1.2285em;
}

#Snapdragpn .processor figure.layout figcaption p.note {
  margin-bottom: 1em;
  font-size: 22px;
  line-height: 1.4545em;
}

#Snapdragpn .processor figure.layout figcaption p.note sup {
  font-size: 60%;
  vertical-align: top;
  position: relative;
  top: -0.3em;
}

#Snapdragpn .processor figure.layout figcaption a {
  display: block;
  width: 100%;
  height: 80px;
  font-weight: 700;
  font-size: 35px;
  line-height: 80px;
  text-align: center;
  color: #e71324;
  text-decoration: none;
  border-radius: 15px;
  background-color: #fff;
  transition: all 0.5s;
}

#Snapdragpn .processor figure.layout figcaption a:hover {
  opacity: 0.7;
}

#Snapdragpn .processor figure.layout figcaption a span {
  position: relative;
  width: fit-content;
  border-bottom: 2px solid #e71324;
  transition: all 0.5s;
}

#Snapdragpn .processor figure.layout figcaption a:hover span {
  border-bottom: 2px solid #fff;
}

/*** Security software ***/
#Snapdragpn .security_software {
  margin-bottom: 60px;
}

#Snapdragpn .security_software h2 {
  margin: 0 0 30px;
  padding: 0 0 0.5em;
  font-weight: 700;
  font-size: 35px;
  border-bottom: 1px solid #000;
}

#Snapdragpn .security_software p {
  margin: 0 0 30px;
  font-size: 22px;
  line-height: 1.4545em;
}

#Snapdragpn .security_software a {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 67px;
  font-size: 25px;
  line-height: 67px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background-color: #e71324;
  border-radius: 34px;
  transition: all 0.5s;
}

#Snapdragpn .security_software a:hover {
  opacity: 0.7;
}

#Snapdragpn .security_software a span {
  position: relative;
  width: fit-content;
  border-bottom: 1px solid #fff;
  transition: all 0.5s;
}

#Snapdragpn .security_software a:hover span {
  border-bottom: 1px solid #e71324;
}

/*** Printer ***/
#Snapdragpn .printer {
  margin-bottom: 100px;
}

#Snapdragpn .printer h2 {
  margin: 0 0 30px;
  padding: 0 0 0.5em;
  font-weight: 700;
  font-size: 35px;
  border-bottom: 1px solid #000;
}

#Snapdragpn .printer p {
  margin: 0 0 30px;
  font-size: 22px;
  line-height: 1.4545em;
}

#Snapdragpn .printer .list {
  display: flex;
  justify-content: center;
  margin: 0 0 60px;
  height: 67px;
  text-align: center;
  line-height: 67px;
  color: #e71324;
  border: 1px solid #e71324;
  border-radius: 34px;
}

#Snapdragpn .printer .list span:nth-child(1) {
  font-weight: 700;
  font-size: 25px;
}

#Snapdragpn .printer .list span:nth-child(2) {
  font-weight: 700;
  font-size: 20px;
}

#Snapdragpn .printer .list span:nth-child(3) {
  margin-left: 30px;
  font-size: 18px;
  color: #000;
}

#Snapdragpn .printer figure {
  display: flex;
  justify-content: space-between;
}

#Snapdragpn .printer figure:not(:last-child) {
  margin: 0 0 30px;
}

#Snapdragpn .printer figure img {
  width: 390px;
}

#Snapdragpn .printer figure figcaption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 780px;
  padding: 60px;
  color: #fff;
  border-radius: 30px;
  background-color: #e71324;
}

#Snapdragpn .printer figure figcaption h3 {
  margin: 0 0 30px;
  font-weight: 700;
  font-size: 56px;
  line-height: 1.25em;
}

#Snapdragpn .printer figure figcaption h3 sup {
  font-size: 30%;
  vertical-align: top;
  position: relative;
  top: -0.8em;
}

#Snapdragpn .printer figure figcaption p {
  margin-bottom: 0.5em;
  font-size: 33px;
  line-height: 1.2285em;
  letter-spacing: 0.00em;
}

/*** PC list ***/
#Snapdragpn .pc_list {
  margin-bottom: 100px;
}

#Snapdragpn .pc_list h2 {
  margin: 0 0 50px;
  padding: 0 0 0.5em;
  font-weight: 700;
  font-size: 35px;
  border-bottom: 1px solid #000;
}

/*** Disclaimer ***/
#Snapdragpn .disclaimer {
  margin: 0 0 100px;
}

#Snapdragpn .disclaimer button {
  position: relative;
  margin: 0 0 50px;
  padding: 0 60px;
  width: 100%;
  height: 110px;
  font-size: 18px;
  text-align: left;
  color: #fff;
  background-color: #e71324;
  cursor: pointer;
}

#Snapdragpn .disclaimer button::after {
  content: "";
  position: absolute;
  right: 26px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 36px;
  height: 100%;
  background: url(../image/disclaimer_arrow.png) center center no-repeat;
  background-size: contain;
  transition: transform .3s;
}

#Snapdragpn .disclaimer.is-open button::after {
  transform: scaleY(-1);
}

#Snapdragpn .disclaimer ol {
  max-height: 0;
  overflow: hidden;
  transition: max-height .6s ease;
  counter-reset: note;
  list-style: none;
  padding-left: 0;
  font-size: 10px;
}

#Snapdragpn .disclaimer.is-open ol {
  max-height: 2000px;
}

#Snapdragpn .disclaimer ol li {
  counter-increment: note;
  position: relative;
  padding-left: 1.5em;
}

#Snapdragpn .disclaimer ol li::before {
  content: "*" counter(note);
  position: absolute;
  left: 0;
}

#Snapdragpn .disclaimer ol li a {
  color: #000;
  text-decoration: none;
}
