@charset "UTF-8";
/* =========================================================
 * reset　　　    /*リセット
========================================================= */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:700);
@import url(https://fonts.googleapis.com/css?family=Nunito:200);
@import url(https://fonts.googleapis.com/css?family=Nunito:300);
@import url(https://fonts.googleapis.com/css?family=Nunito:400);
@import url(https://fonts.googleapis.com/css?family=Nunito:600);
@import url(https://fonts.googleapis.com/css?family=Nunito:700);
@import url(https://fonts.googleapis.com/css?family=Nunito:800);
@import url(https://fonts.googleapis.com/css?family=Nunito:900);
@import url(https://fonts.googleapis.com/css?family=Lato:100);
@import url(https://fonts.googleapis.com/css?family=Lato:300);
@import url(https://fonts.googleapis.com/css?family=Lato:400);
@import url(https://fonts.googleapis.com/css?family=Lato:700);
@import url(https://fonts.googleapis.com/css?family=Lato:900);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400);
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:400);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:500);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:600);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:700);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:800);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:200);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:300);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:400);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:500);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:600);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:700);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:900);

.brandSiteHeader{
  box-sizing: content-box;
}
.brandSiteHeader .ph-logo{
  margin: 0!important;
  font-size: inherit!important;
  font-weight: normal!important;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0,-50%);
}
.brandSiteHeader .ph-logo a{
  display: block;
}
@media screen and (max-width: 640px){
  .brandSiteHeader .ph-logo{
    right: 0;
  }
}

blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }

img {
  border: none;
  vertical-align: bottom; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

li img {
  line-height: 0;
  font-size: 0;
  vertical-align: top; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング
========================================================= */
html {
  font-size: 62.5%; }

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all; }

p {
  line-break: strict; }

a {
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

body {
  font-size: 1.4rem;
  font: inherit;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  color: #333; }

#wrapper {
  width: 100%; }

.pc {
  display: block; }

.sp {
  display: none; }

.hide, .hidden {
  visibility: hidden; }

img {
  max-width: 100%; }

main {
  display: block; }

@media screen and (max-width: 767px) {
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  body {
    -webkit-text-size-adjust: 100%;
    background: #fff;
    min-width: 100%; }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =========================================================
 * font
========================================================= */
/*noto-sans*/
/*Robot*/
/*Nunito*/
/*Lato*/
/*Montserrat*/
.roboto {
  font-family: 'Roboto Condensed', sans-serif; }

.font-rk {
  font-family: Ryumin Regular KL; }

.font-mb31 {
  font-family: Midashi Go MB31; }

.font-telop {
  font-family: TelopMinPro-D; }

.font-noto {
  font-family: 'Noto Sans Japanese'; }

.font-nunito {
  font-family: 'Nunito', sans-serif; }

.font-lato {
  font-family: 'Lato', sans-serif; }

.font-montserrat {
  font-family: 'Montserrat', sans-serif; }

.fonte-gramond {
  font-family: 'EB Garamond', serif; }

.font-serif {
  font-family: 'Noto Serif JP', serif; }

/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening {
  opacity: 0;
  transition: all 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  transform: translate(0, 0); }

img {
  image-rendering: -webkit-optimize-contrast; }

#pagetop {
  width: 43px;
  height: 43px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 200; }

@media screen and (max-width: 767px) {
  img {
    image-rendering: auto; }

  #pagetop {
    right: 2%; } }
article .btn {
  max-width: 352px;
  margin: 0 auto; }
  article .btn a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    background-color: #00b4e8;
    border-radius: 40px;
    text-align: center;
    padding: 10px 0; }
    article .btn a .icon {
      position: absolute;
      left: 12px;
      top: 50%;
      transform: translateY(-50%); }
      article .btn a .icon img {
        max-width: 30px; }
    article .btn a p {
      font-weight: bold;
      color: #fff;
      letter-spacing: -0.04em;
      line-height: 1.4;
      font-size: 1.5rem; }
article .ct-title {
  text-align: center; }
  article .ct-title h2 {
    margin-top: 15px;
    font-weight: bold;
    line-height: 1.0;
    font-size: 1.8rem; }
article .main {
  position: relative;
  padding-top: 18px; }
  article .main:before, article .main:after {
    content: '';
    display: block;
    position: absolute; }
  article .main:before {
    left: 0;
    top: 0;
    width: 100%;
    height: 420px;
    z-index: -2;
    background-color: #0088de;
    border-bottom: 4px solid #000; }
  article .main:after {
    width: 347px;
    height: 420px;
    right: 0;
    top: 0;
    z-index: -1;
    background: url("../images/img-thunder_pc.png") no-repeat center/cover; }

article .main--title {
position: relative;
max-width: 700px;
margin: 0 auto;
text-align: center; }
article .main--title .icon_cpend{
position: absolute;
margin: 0;
padding: 0;
width: 510px;
bottom: 0;
left: 50%;
transform: translate(-50%,0);
z-index: 2;
}
    article .main--title .tag img {
      max-width: 443px; }
    article .main--title .productname {
      margin-top: 10px; }
      article .main--title .productname img {
        max-width: 293px; }
    article .main--title .campaign {
      margin-top: 10px; }
      article .main--title .campaign img {
        max-width: 100%; }
    article .main--title .date {
      margin-top: 20px; }
      article .main--title .date img {
        max-width: 380px; }
  article .main--wrap {
    margin: -12px auto 0 auto;
    max-width: 856px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    article .main--wrap--illust {
      max-width: 50.4%; }
      article .main--wrap--illust img {
        width: 100%; }
    article .main--wrap--pkg {
      max-width: 44.1%; }
      article .main--wrap--pkg--text {
        width: 50%;
        margin: 0 auto; }
        article .main--wrap--pkg--text img {
          width: 100%; }
      article .main--wrap--pkg--products {
        margin-top: -5px;
        width: 110%; }
        article .main--wrap--pkg--products img {
          width: 100%; }
      article .main--wrap--pkg--att {
        margin-top: 5px; }
article .twcampaign {
  margin-top: 55px; }
  article .twcampaign > p {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center;
    color: #00b4e8;
    line-height: 1.3; }
article .present {
  margin-top: 65px;
  padding: 50px 0 55px;
  background-color: #00b4e8; }
  article .present .ct-title .en img {
    max-width: 275px; }
  article .present .ct-title h2 {
    color: #fff; }
  article .present--image {
    max-width: 558px;
    margin: 40px auto 0 auto;
    position: relative; }
    article .present--image--text {
      top: -65px;
      left: -68px;
      border-radius: 50%;
      width: 132px;
      height: 132px;
      position: absolute;
      background-color: #fff;
      padding: 4px; }
      article .present--image--text span {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        border-radius: 50%;
        width: 100%;
        height: 100%;
        background-color: #feff00;
        border: 1px solid #00b4e8;
        font-size: 2.1rem;
        font-weight: bold;
        color: #00b4e8;
        line-height: 1.2; }
    article .present--image--wrap {
      border: 4px solid #fff;
      background-color: #fff; }
      article .present--image--wrap--text {
        padding: 20px 0 10px;
        text-align: center; }
        article .present--image--wrap--text h3, article .present--image--wrap--text p {
          color: #00b4e8;
          font-weight: bold;
          line-height: 1.4; }
        article .present--image--wrap--text h3 {
          font-size: 1.95rem;
          letter-spacing: -0.04em; }
        article .present--image--wrap--text p {
          font-size: 1.6rem; }
    article .present--image--illust {
      position: absolute;
      z-index: 2;
      bottom: -17px; }
      article .present--image--illust img {
        width: 100%; }
      article .present--image--illust.illust01 {
        left: -126px;
        width: 193px; }
      article .present--image--illust.illust02 {
        right: -106px;
        width: 134px; }
  article .present--text {
    text-align: center;
    margin-top: 30px;
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem; }
article .step {
  margin-top: 60px; }
  article .step .ct-title .en img {
    max-width: 328px; }
  article .step .ct-title h2 {
    color: #0088de; }
  article .step--inner {
    max-width: 860px;
    margin: 50px auto 0 auto; }
    article .step--inner--wrap {
      display: flex;
      justify-content: space-between; }
      article .step--inner--wrap--box {
        width: 20.81%;
        border: 1px solid #0088de;
        position: relative;
        background-color: #fff; }
        article .step--inner--wrap--box:before, article .step--inner--wrap--box:after {
          content: '';
          display: block;
          position: absolute; }
        article .step--inner--wrap--box:before {
          width: 100%;
          height: 100%;
          background-color: #c2edf9;
          z-index: -1;
          right: -5px;
          bottom: -5px; }
        article .step--inner--wrap--box:after {
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 14px 0 14px 22px;
          border-color: transparent transparent transparent #0088de;
          right: -22px;
          top: 50%;
          transform: translateY(-50%); }
        article .step--inner--wrap--box .ttl {
          background-color: #feff00;
          padding: 12px 0;
          text-align: center; }
        article .step--inner--wrap--box .contents {
          padding: 10px 0 15px;
          text-align: center; }
          article .step--inner--wrap--box .contents .image {
            min-height: 125px; }
          article .step--inner--wrap--box .contents p {
            margin-top: 8px;
            line-height: 1.5;
            letter-spacing: -0.04em;
            font-size: 1.5rem; }
        article .step--inner--wrap--box:nth-of-type(1) .ttl img {
          max-width: 66px; }
        article .step--inner--wrap--box:nth-of-type(1) .contents .image img {
          max-width: 104px; }
        article .step--inner--wrap--box:nth-of-type(2) .ttl img {
          max-width: 71px; }
        article .step--inner--wrap--box:nth-of-type(2) .contents .image img {
          max-width: 100px; }
        article .step--inner--wrap--box:nth-of-type(3) .ttl img {
          max-width: 71px; }
        article .step--inner--wrap--box:nth-of-type(3) .contents .image img {
          max-width: 128px; }
        article .step--inner--wrap--box:nth-of-type(4):after {
          display: none; }
        article .step--inner--wrap--box:nth-of-type(4) .ttl img {
          max-width: 72px; }
        article .step--inner--wrap--box:nth-of-type(4) .contents .image img {
          max-width: 126px; }
    article .step--inner--lead {
      margin-top: 25px;
      text-align: center;
      font-size: 1.5rem; }
    article .step--inner .btn {
      margin-top: 30px; }
    article .step--inner .banner {
      margin: 65px auto 0 auto;
      max-width: 396px; }
article .entry {
  margin-top: 65px;
  background-color: #cce7f8; }
  article .entry--inner {
    position: relative;
    max-width: 820px;
    margin: 0 auto;
    padding: 60px 0 40px; }
    article .entry--inner .ct-title .en img {
      max-width: 200px; }
    article .entry--inner .ct-title h2 {
      color: #0088de; }
    article .entry--inner--illust {
      position: absolute;
      z-index: 2; }
    article .entry--inner .illust01 {
      left: 109px;
      top: -22px; }
      article .entry--inner .illust01 img {
        max-width: 47px; }
    article .entry--inner .illust02 {
      right: 92px;
      top: -25px; }
      article .entry--inner .illust02 img {
        max-width: 109px; }
    article .entry--inner--text {
      border: 1px solid #0066c2;
      margin-top: 50px;
      height: 520px;
      overflow: auto;
      background-color: #fff;
      font-size: 1.5rem; }
      article .entry--inner--text a {
        color: #00b4e8;
        text-decoration: underline; }
        article .entry--inner--text a:hover {
          text-decoration: none; }
      article .entry--inner--text .mCSB_container {
        padding: 25px 30px; }
      article .entry--inner--text .mCSB_scrollTools .mCSB_draggerRail {
        width: 14px;
        border-radius: 0;
        background-color: #e0f1fb; }
      article .entry--inner--text .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
        width: 14px;
        border-radius: 0;
        background-color: #0088de; }
    article .entry--inner ul {
      margin-top: 35px;
      display: flex;
      justify-content: center; }
      article .entry--inner ul li a img {
        max-width: 41px; }
      article .entry--inner ul li:nth-of-type(1) {
        margin-right: 15px; }

@media screen and (max-width: 768px) {
  article .step--inner {
    max-width: 96%; }
    article .step--inner--wrap--box .contents p {
      font-size: 1.3rem;
      white-space: nowrap; }
  article .entry--inner {
    max-width: 96%; }
article .main--title .icon_cpend{width: 85vw;}
}
@media screen and (max-width: 767px) {
  article {
    overflow: hidden; }
    article .btn {
      max-width: 90%; }
      article .btn a {
        border-radius: 40px;
        padding-left: 5%; }
        article .btn a .icon {
          left: 3.5%;
          width: 8.5%; }
          article .btn a .icon img {
            max-width: 100%; }
        article .btn a p {
          letter-spacing: -0.04em;
          font-size: 13px;
          font-size: 4.0625vw; }
    article .ct-title h2 {
      margin-top: 10px;
      font-size: 14px;
      font-size: 4.375vw; }
    article .main {
      padding-top: 16px; }
      article .main:before {
        height: 85vw;
        border-bottom: 2px solid #000; }
      article .main:after {
        width: 51.6%;
        height: 85vw;
        background: url("../images/img-thunder_sp.png") no-repeat center/cover; }
      article .main--title {
        max-width: 90%; }
        article .main--title .tag img {
          max-width: 100%; }
        article .main--title .productname {
          margin: 12px auto 0 auto;
          width: 60.32%; }
          article .main--title .productname img {
            max-width: 100%; }
        article .main--title .campaign {
          margin-top: 10px; }
          article .main--title .campaign img {
            max-width: 100%; }
        article .main--title .date {
          width: 74.8%;
          margin: 15px auto 0 auto; }
          article .main--title .date img {
            max-width: 100%; }
      article .main--wrap {
        margin: 10px auto 0 auto;
        max-width: 90%;
        display: block; }
        article .main--wrap--illust {
          max-width: 83.3%;
          margin: 0 auto; }
        article .main--wrap--pkg {
          max-width: 100%;
          margin-top: 20px; }
          article .main--wrap--pkg--text {
            width: 45%; }
          article .main--wrap--pkg--products {
            margin-top: 12px;
            width: 100%; }
          article .main--wrap--pkg--att {
            margin-top: 13px; }
    article .twcampaign {
      margin-top: 40px; }
      article .twcampaign > p {
        margin-bottom: 12px;
        font-size: 14px;
        font-size: 4.375vw;
        line-height: 1.3; }
    article .present {
      margin-top: 65px;
      padding: 50px 0 35px; }
      article .present .ct-title .en {
        width: 47.7%;
        margin: 0 auto; }
        article .present .ct-title .en img {
          max-width: 100%; }
      article .present--image {
        max-width: 78.5%;
        margin: 32px auto 0 auto;
        position: relative; }
        article .present--image--text {
          top: -7vw;
          left: -7vw;
          width: 26vw;
          height: 26vw;
          padding: 4px; }
          article .present--image--text span {
            font-size: 13px;
            font-size: 4.0625vw;
            line-height: 1.2; }
        article .present--image--wrap {
          border: 10px solid #fff; }
          article .present--image--wrap--text {
            padding: 15px 0; }
            article .present--image--wrap--text h3 {
              font-size: 14px;
              font-size: 4.375vw;
              letter-spacing: -0.04em; }
            article .present--image--wrap--text p {
              font-size: 12px;
              font-size: 3.75vw; }
        article .present--image--illust {
          bottom: -16vw; }
          article .present--image--illust.illust01 {
            left: -7vw;
            width: 41.2%; }
          article .present--image--illust.illust02 {
            right: -7vw;
            width: 28.4%; }
      article .present--text {
        margin-top: 20vw;
        font-size: 12px;
        font-size: 3.75vw; }
    article .step {
      margin-top: 40px; }
      article .step .ct-title .en {
        width: 60%;
        margin: 0 auto; }
        article .step .ct-title .en img {
          max-width: 100%; }
      article .step--inner {
        max-width: 100%;
        margin: 30px auto 0 auto; }
        article .step--inner--wrap {
          display: block;
          max-width: 90%;
          margin: 0 auto; }
          article .step--inner--wrap--box {
            width: 100%; }
            article .step--inner--wrap--box:after {
              border-width: 27px 17.5px 0 17.5px;
              border-color: #0088de transparent transparent transparent;
              right: auto;
              left: 50%;
              top: 100%;
              transform: translateX(-50%); }
            article .step--inner--wrap--box .ttl {
              padding: 10px 0; }
            article .step--inner--wrap--box .contents {
              padding: 10px 0 12px;
              display: flex;
              align-items: center;
              justify-content: center; }
              article .step--inner--wrap--box .contents .image {
                width: 50%;
                min-height: inherit; }
              article .step--inner--wrap--box .contents p {
                width: 50%;
                padding-left: 2%;
                text-align: left;
                margin-top: 0;
                line-height: 1.4;
                font-size: 11px;
                font-size: 3.4375vw; }
            article .step--inner--wrap--box:nth-of-type(1) .ttl img {
              max-width: 66px; }
            article .step--inner--wrap--box:nth-of-type(1) .contents .image img {
              max-width: 66.56%; }
            article .step--inner--wrap--box:nth-of-type(2) .ttl img {
              max-width: 71px; }
            article .step--inner--wrap--box:nth-of-type(2) .contents .image img {
              max-width: 60.89%; }
            article .step--inner--wrap--box:nth-of-type(3) .ttl img {
              max-width: 71px; }
            article .step--inner--wrap--box:nth-of-type(3) .contents .image img {
              max-width: 67.7%; }
            article .step--inner--wrap--box:nth-of-type(4):after {
              display: none; }
            article .step--inner--wrap--box:nth-of-type(4) .ttl img {
              max-width: 72px; }
            article .step--inner--wrap--box:nth-of-type(4) .contents .image img {
              max-width: 66.5%; }
            article .step--inner--wrap--box:nth-of-type(n+2) {
              margin-top: 45px; }
        article .step--inner--lead {
          white-space: nowrap;
          margin-top: 30px;
          font-size: 12px;
          font-size: 3.75vw; }
        article .step--inner .btn {
          margin-top: 45px; }
        article .step--inner .banner {
          margin: 60px auto 0 auto;
          max-width: 90%; }
    article .entry {
      margin-top: 75px; }
      article .entry--inner {
        max-width: 90%;
        padding: 50px 0 30px; }
        article .entry--inner .ct-title .en {
          width: 38.8%;
          margin: 0 auto; }
          article .entry--inner .ct-title .en img {
            max-width: 100%; }
        article .entry--inner--illust {
          position: absolute;
          z-index: 2; }
        article .entry--inner .illust01 {
          left: 8.05%;
          top: -6vw;
          width: 6.71%; }
          article .entry--inner .illust01 img {
            max-width: 100%; }
        article .entry--inner .illust02 {
          right: 5.2%;
          top: -8vw;
          width: 24.62%; }
          article .entry--inner .illust02 img {
            max-width: 100%; }
        article .entry--inner--text {
          margin-top: 30px;
          height: 420px;
          font-size: 12px;
          font-size: 3.75vw; }
          article .entry--inner--text .mCSB_container {
            padding: 25px 8%;
            padding-right: calc(8% - 14px); }
          article .entry--inner--text .mCSB_scrollTools .mCSB_draggerRail {
            width: 14px;
            border-radius: 0;
            background-color: #e0f1fb; }
          article .entry--inner--text .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
            width: 14px;
            border-radius: 0;
            background-color: #0088de; }
        article .entry--inner ul {
          margin-top: 35px; }
          article .entry--inner ul li {
            width: 14.6%; }
            article .entry--inner ul li a img {
              max-width: 100%; }
            article .entry--inner ul li:nth-of-type(1) {
              margin-right: 4%; } }
