/* CSS Document */
body {
  background: #f0f3f6;
}

.title {
  width: 100%;
  height: 0;
  padding: 566px 0 0 0;
  background: url(https://static.nexon.co.jp/nexon/ver2017/campaign/google_otp/title.jpg) no-repeat center top;
  overflow: hidden;
}

.main {
  display: none;
}

.contents {
  position: relative;
  box-sizing: border-box;
  width: 980px;
  margin: 34px auto 40px;
  padding: 40px 50px;
  border-radius: 30px;
  border: solid 4px #0096da;
  background-color: #fff;
  font-size: 18px;
  color: #003461;
}
.contents::after {
  content: "";
  border-radius: 26px;
  border: solid 2px #c5d700;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
}
.contents > section, .contents > div {
  position: relative;
  z-index: 2;
}
.contents section h3 {
  background-color: #0aa0d2;
  border-radius: 100vh;
  font-size: 26px;
  margin: 0 0 20px 0;
  padding: 7px 30px 5px;
  color: #fff;
}
.contents section > p {
  padding: 0 30px;
}
.contents section > p a {
  color: #003461;
}
.contents section ul.step li + li {
  position: relative;
  margin-top: 20px;
  padding-top: 20px;
}
.contents section ul.step li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-image: linear-gradient(to right, #8c8c8c, #8c8c8c 1px, transparent 1px, transparent 3px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}
.contents section ul li p {
  padding-left: 48px;
  text-indent: -18px;
}
.contents section ul li .img {
  margin-top: 18px;
}
.contents section + section {
  margin-top: 34px;
}
.contents .caution {
  position: relative;
  padding: 20px 0;
}
.contents .caution::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-image: linear-gradient(to right, #8c8c8c, #8c8c8c 1px, transparent 1px, transparent 3px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}
.contents .caution::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-image: linear-gradient(to right, #8c8c8c, #8c8c8c 1px, transparent 1px, transparent 3px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
}
.contents .caution h3 {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  margin: 0 0 0 30px;
  padding: 3px 5px 2px;
  border-radius: 0;
  background-color: #f00;
}
.contents .caution ul {
  margin-top: 5px;
  padding: 0 30px;
}
.contents .caution ul li {
  padding-left: 14px;
  text-indent: -14px;
  font-size: 14px;
  color: #000;
}

.btn {
  position: relative;
  width: 360px;
  height: 0;
  padding-top: 80px;
  margin: 0 auto;
}
.btn a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: 110%;
  transition: background-color 0.2s ease 0s;
  white-space: nowrap;
  overflow: hidden;
}
.btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 21px;
  display: block;
  width: 12px;
  height: 19px;
  margin-top: -10px;
  transition: right 0.2s ease 0s;
}
.btn a:hover::after {
  right: 17px;
}
.btn.nexon-id {
  margin-top: 40px;
}
.btn.nexon-id a {
  background-color: #0aa0d2;
}
.btn.nexon-id a:hover {
  background-color: #0aaadc;
}
.btn.nexon-id a::before {
  background: url(https://static.nexon.co.jp/nexon/ver2017/campaign/google_otp/btn_nexon_id.png) no-repeat center top;
}
.btn.nexon-id a::after {
  background: url(https://static.nexon.co.jp/nexon/ver2017/common/icn_arrow_next.svg) no-repeat;
}
.btn.open-id {
  margin-top: 20px;
}
.btn.open-id a {
  background-color: #f0f0f0;
}
.btn.open-id a:hover {
  background-color: #fafafa;
}
.btn.open-id a::before {
  background: url(https://static.nexon.co.jp/nexon/ver2017/campaign/google_otp/btn_open_id.png) no-repeat center top;
}
.btn.open-id a::after {
  background: url(https://static.nexon.co.jp/nexon/ver2017/common/icn_arrow_next_b.svg) no-repeat;
}

/* ====================================================================
	sp
==================================================================== */
@media screen and (max-width: 807px) {
  body {
    background: #f0f3f6;
  }

  .main {
    display: block;
  }

  .title {
    padding: 138.8888888889vw 0vw 0vw 0vw;
    background: url(https://static.nexon.co.jp/nexon/ver2017/campaign/google_otp/title_sp.png) no-repeat center top;
    background-size: contain;
  }

  .contents {
    position: relative;
    box-sizing: border-box;
    width: auto;
    margin: 0vw 2.7777777778vw 5.5555555556vw 2.7777777778vw;
    padding: 2.7777777778vw 2.7777777778vw 6.9444444444vw 2.7777777778vw;
    border-radius: 4.5vh;
    border: none;
    background-color: #fff;
    font-size: 2.5vw;
    color: #003461;
  }
  .contents::after {
    display: none;
  }
  .contents > section, .contents > div {
    position: relative;
    z-index: 2;
  }
  .contents section h3 {
    font-size: 3.3333333333vw;
    margin: 0vw 0vw 2.7777777778vw 0vw;
    padding: 1.3888888889vw 2.7777777778vw 1.3888888889vw 2.7777777778vw;
  }
  .contents section > p {
    padding: 0vw 2.7777777778vw 0vw 2.7777777778vw;
  }
  .contents section > p a {
    color: #003461;
  }
  .contents section ul.step li + li {
    margin: 2.7777777778vw 0vw 0vw 0vw;
    padding: 2.7777777778vw 0vw 0vw 0vw;
  }
  .contents section ul li p {
    padding: 0vw 0vw 0vw 4.1666666667vw;
    text-indent: -2.5vw;
  }
  .contents section ul li .img {
    margin: 2.7777777778vw 0vw 0vw 0vw;
  }
  .contents section ul li .img img {
    width: 100%;
  }
  .contents section + section {
    margin: 5.5555555556vw 0vw 0vw 0vw;
  }
  .contents .caution {
    padding: 2.7777777778vw 0vw 2.7777777778vw 0vw;
  }
  .contents .caution h3 {
    display: inline-block;
    font-size: 2.5vw;
    font-weight: normal;
    margin: 0vw 0vw 0vw 2.7777777778vw;
    padding: 0.2777777778vw 0.6944444444vw 0.2777777778vw 0.6944444444vw;
    border-radius: 0;
    background-color: #f00;
  }
  .contents .caution ul {
    margin: 1.3888888889vw 0vw 0vw 0vw;
    padding: 2.7777777778vw 0vw 2.7777777778vw 0vw;
  }
  .contents .caution ul li {
    padding: 0vw 0vw 0vw 4.1666666667vw;
    text-indent: -2.2222222222vw;
    font-size: 2.2222222222vw;
  }

  .btn {
    width: 50vw;
    padding: 11.1111111111vw 0vw 0vw 0vw;
  }
  .btn a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
  }
  .btn a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.5vw;
    display: block;
    width: 1.6666666667vw;
    height: 0;
    padding: 2.6388888889vw 0vw 0vw 0vw;
    margin: -1.3888888889vw 0vw 0vw 0vw;
    transition: right 0.2s ease 0s;
  }
  .btn a:hover::after {
    right: 2.0vw;
  }
  .btn.nexon-id {
    margin: 5.5555555556vw auto 0vw auto;
  }
  .btn.nexon-id a::before {
    background: url(https://static.nexon.co.jp/nexon/ver2017/campaign/google_otp/btn_nexon_id.png) no-repeat center top;
    background-size: contain;
  }
  .btn.nexon-id a::after {
    background: url(https://static.nexon.co.jp/nexon/ver2017/common/icn_arrow_next.svg) no-repeat;
    background-size: contain;
  }
  .btn.open-id {
    margin: 2.7777777778vw auto 0vw auto;
  }
  .btn.open-id a::before {
    background: url(https://static.nexon.co.jp/nexon/ver2017/campaign/google_otp/btn_open_id.png) no-repeat center top;
    background-size: contain;
  }
  .btn.open-id a::after {
    background: url(https://static.nexon.co.jp/nexon/ver2017/common/icn_arrow_next_b.svg) no-repeat;
    background-size: contain;
  }
}
