@charset "UTF-8";
/* Scss Document */
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  height: 100%;
  font-family: Helvetica, 'ヒラギノ角ゴシック','Hiragino Sans','メイリオ', Meiryo, sans-serif;
  background: #fff;
  color: #000;
  font-size: 18px;
  line-height: 1.75;
  /*letter-spacing: 0.05em;*/
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

@media only screen and (min-width: 415px) {
  /* Tablet */
}
@media only screen and (min-width: 769px) {
  /* Laptop PC */
  body {
    font-size: 16px;
  }
}
ul li {
  list-style: none;
}

img {
  vertical-align: top;
  width: 100%;
}

a {
  color: #000;
  text-decoration: none;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  a {
    transition: 0.2s;
  }
  a:hover {
    opacity: 1;
    animation-duration: .5s;
    animation-name: flash;
  }

  @keyframes flash {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
}
h1, h2, h3, h4, h5, h6, h7, h8 {
  font-weight: normal;
}

/* clearfix
-------------- */
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}

.sp_none {
  display: none !important;
}

@media only screen and (min-width: 415px) {
  /* Tablet */
}
@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .pc_none {
    display: none !important;
  }

  .sp_none {
    display: inline-block !important;
  }
}
/* ---------------------------------------------------
 Common
--------------------------------------------------- */
#Wrapper {
  width: 100%;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.Inconsolata__light {
  font-family: Inconsolata,monospace;
  font-weight: 300;
}

.Inconsolata__bold {
  font-family: Inconsolata,monospace;
  font-weight: 700;
}

.Inconsolata__Ex_SemiBold {
  font-family: Inconsolata,monospace;
  font-weight: 700;
  font-stretch: semi-expanded;
}

/* アニメーション */
.single-item + .single-item {
  margin-top: 80px;
}

.u-fade-type-up {
  transform: translateY(50px);
  opacity: 0;
}

.u-fade {
  opacity: 0;
}

.u-fade-type-up.is-active,
.u-fade.is-active {
  transition: .6s;
  transform: translateY(0);
  opacity: 1;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Inconsolata__Ex_SemiBold {
    font-weight: 400;
  }
}
/* ---------------------------------------------------
 Main
--------------------------------------------------- */
#Main {
  width: 100%;
  height: 100vh;
  background: #ccc;
  position: relative;
}
#Main .main_slider {
  position: relative;
  z-index: 1;
  height: 100vh;
}
#Main .main_slider .slider_item {
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#Main .main_slider .slider_item01 {
  background-image: url("../images/top_img-01_sp.jpg");
}
#Main .main_slider .slider_item02 {
  background-image: url("../images/top_img-02_sp.jpg");
}
#Main .main_slider .slider_item03 {
  background-image: url("../images/top_img-03_sp.jpg");
}
#Main .main_slider .slider_item04 {
  background-image: url("../images/top_img-04_sp.jpg");
}
#Main .main_slider .slider_item05 {
  background-image: url("../images/top_img-05_sp.jpg");
}
#Main .main_content {
  z-index: 2;
  position: absolute;
  top: 30px;
  left: 30px;
}
#Main .main_content h1 {
  width: 180px;
}
#Main .main_content .ss21_vol3 {
  font-size: 10px;
  padding: 6px 0 0 7px;
  color: #fff;
}
#Main .main_content .ss21_vol3 span {
  font-style: italic;
}
#Main .scrool-down {
  position: relative;
}
#Main .scrool-down a {
  display: inline-block;
  position: absolute;
  right: 20px;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 80px;
  overflow: hidden;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 1;
  text-decoration: none;
  writing-mode: vertical-lr;
  /* テキスト横or縦書き (https://developer.mozilla.org/ja/docs/Web/CSS/writing-mode) */
}
#Main .scrool-down a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 70px;
  background: #fff;
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@media only screen and (min-width: 769px) {
  /* Laptop PC */
  #Main .main_slider .slider_item01 {
    background-image: url("../images/top_img-01_pc.jpg");
  }
  #Main .main_slider .slider_item02 {
    background-image: url("../images/top_img-02_pc.jpg");
  }
  #Main .main_slider .slider_item03 {
    background-image: url("../images/top_img-03_pc.jpg");
  }
  #Main .main_slider .slider_item04 {
    background-image: url("../images/top_img-04_pc.jpg");
  }
  #Main .main_slider .slider_item05 {
    background-image: url("../images/top_img-05_pc.jpg");
  }
  #Main .main_content {
    top: 50px;
    left: 50px;
  }
  #Main .main_content h1 {
    width: 260px;
  }
  #Main .main_content .ss21_vol3 {
    font-size: 12px;
    padding: 12px 0 0 10px;
  }
  #Main .scrool-down a {
    font-size: 12px;
    padding: 10px 10px 160px;
  }
  #Main .scrool-down a::after {
    height: 140px;
  }
}
/* ---------------------------------------------------
 Style
--------------------------------------------------- */
.ss_title {
  text-align: center;
  font-weight: bold;
  margin-top: 130px;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .ss_title {
    font-size: 1.4em;
    margin-top: 180px;
  }
}
/* -------------------------------
 Style共通 
---------------------------------- */
.style_content {
  margin-top: 130px;
}
.style_content .number {
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 1px #000;
  text-stroke: 1px #000;
  font-size: 3em;
  font-weight: bold;
  line-height: 1;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .style_content {
    position: relative;
    width: 1100px;
    margin: 180px auto 0;
  }
  .style_content .number {
    font-size: 4em;
  }
}
/* Swich 画像 
-------------------*/
.Swich__TopImg {
  position: relative;
  width: 100%;
  /*
  ↑「img_2」もabsolite設定してもいいけどあえてしてない理由は、
    親要素のrelativeにheight設定していないから、
    子要素に高さ要素が必要なため。
    子要素全てにabsolute設定してしまうと、height指定しないと親要素に高さ出なく
    次のコンテンツが上に上がってきてしまうため。  
  */
}
.Swich__TopImg .Swich__img {
  width: inherit;
  height: inherit;
}
.Swich__TopImg .img_1 {
  position: absolute;
}
.Swich__TopImg .img_2 {
  opacity: 0;
  animation: topAnimetion_1 6s ease infinite;
}

@keyframes topAnimetion_1 {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  55% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* 商品名テキスト　Slide
------------------------*/
.Slide__text {
  width: 100vw;
  overflow: hidden;
  display: flex;
}
.Slide__text ul.Slide__ul {
  display: flex;
  animation: slideTx_loop 20s infinite linear 1s both;
}
.Slide__text ul.Slide__ul li {
  white-space: nowrap;
  font-weight: bold;
  padding-left: 15px;
  line-height: 1;
  font-size: 1.2em;
  letter-spacing: 0.05em;
}

@keyframes slideTx_loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Slide__text {
    width: 1100px;
  }
  .Slide__text ul.Slide__ul li {
    font-size: 1.4em;
  }
}
/* クレジット表記 
-------------------------- */
.Credit {
  width: 100%;
  padding: 0 6%;
  margin-top: 40px;
}
.Credit ul.Credit__ul li .item {
  display: flex;
  float: left;
  padding: 5px;
}
.Credit ul.Credit__ul li .item .itemName, .Credit ul.Credit__ul li .item .brand {
  padding-right: 10px;
}
.Credit ul.Credit__ul li .buy {
  float: right;
  display: flex;
}
.Credit ul.Credit__ul li .buy a {
  display: block;
  padding: 5px;
  color: #10e100;
  text-decoration: underline;
}
.Credit ul.Credit__ul li .buy a:hover {
  opacity: 1;
  animation-duration: .5s;
  animation-name: flash;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Credit {
    width: 310px;
    padding: 0;
    line-height: 1.45;
  }
}
/* END/ Style共通 */
/* スタイル（ A ）
-------------------------- */
.Style_A .topImg_content {
  margin-bottom: 40px;
}
.Style_A .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_A .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_A .thumb_01 {
  width: 74%;
  margin: 40px auto 0;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_A {
    height: 820px;
  }
  .Style_A .topImg_content {
    margin: 0;
    width: 520px;
    position: absolute;
    top: 0;
    left: 30px;
  }
  .Style_A .topImg_content .top_img .number {
    top: 30px;
    right: 30px;
    left: inherit;
  }
  .Style_A .Slibe__textContent {
    position: absolute;
    top: 570px;
    z-index: -1;
  }
  .Style_A .thumb_01 {
    width: 310px;
    margin: 0;
    position: absolute;
    top: 50px;
    right: 30px;
  }
  .Style_A .Credit {
    position: absolute;
    bottom: 0;
    right: 30px;
  }
}
/* スタイル（ B ）
-------------------------- */
.Style_B .topImg_content {
  margin-bottom: 40px;
}
.Style_B .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_B .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_B {
    height: 790px;
  }
  .Style_B .topImg_content {
    margin: 0px;
    position: absolute;
    top: 0;
    right: 30px;
    width: 520px;
  }
  .Style_B .topImg_content .top_img .number {
    top: 50px;
    left: -140px;
  }
  .Style_B .Slibe__textContent {
    position: absolute;
    top: 200px;
    z-index: -1;
  }
  .Style_B .Credit {
    position: absolute;
    bottom: 100px;
    left: 190px;
  }
}
/* スタイル（ C ）
-------------------------- */
.Style_C .topImg_content {
  margin-bottom: 40px;
}
.Style_C .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_C .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_C .thumb_01 {
  width: 60%;
  margin: 40px auto;
}
.Style_C .thumb_02 {
  width: 90%;
  margin: 40px auto 0;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_C {
    height: 1040px;
  }
  .Style_C .topImg_content {
    margin-bottom: 0;
    width: 520px;
    position: absolute;
    top: 0;
    left: 30px;
  }
  .Style_C .topImg_content .top_img .number {
    top: 30px;
    left: inherit;
    right: 30px;
  }
  .Style_C .thumb_01 {
    width: 240px;
    margin: 0;
    position: absolute;
    top: 60px;
    left: 670px;
  }
  .Style_C .Slibe__textContent {
    position: absolute;
    top: 490px;
    z-index: -1;
  }
  .Style_C .thumb_02 {
    width: 310px;
    margin: 0;
    position: absolute;
    bottom: 0;
    right: 30px;
  }
  .Style_C .Credit {
    position: absolute;
    bottom: 0;
    left: 30px;
  }
}
/* スタイル（ D ）
-------------------------- */
.Style_D .topImg_content {
  margin-bottom: 40px;
}
.Style_D .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_D .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_D .thumb_01 {
  width: 74%;
  margin: 40px auto 0;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_D {
    height: 790px;
  }
  .Style_D .topImg_content {
    margin-bottom: 0;
    width: 520px;
    position: absolute;
    top: 0;
    right: 30px;
  }
  .Style_D .topImg_content .top_img .number {
    top: 30px;
    left: inherit;
    right: 30px;
  }
  .Style_D .thumb_01 {
    width: 440px;
    margin: 0;
    position: absolute;
    top: 210px;
    left: 30px;
  }
  .Style_D .Slibe__textContent {
    position: absolute;
    top: 570px;
    z-index: -1;
  }
  .Style_D .Credit {
    position: absolute;
    bottom: 0;
    left: 30px;
  }
}
/* スタイル（ E ）
-------------------------- */
.Style_E {
  position: relative;
}
.Style_E .topImg_content {
  margin-bottom: 40px;
}
.Style_E .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_E .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_E .Slibe__textContent {
  position: absolute;
  top: 80vw;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_E {
    position: relative;
    height: 880px;
  }
  .Style_E .topImg_content {
    margin-bottom: 0;
    width: 520px;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -260px;
  }
  .Style_E .topImg_content .top_img .number {
    top: 30px;
    left: inherit;
    right: 30px;
  }
  .Style_E .Slibe__textContent {
    top: 380px;
  }
  .Style_E .Credit {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -155px;
  }
}
/* スタイル（ F ）
-------------------------- */
.Style_F .topImg_content {
  margin-bottom: 40px;
}
.Style_F .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_F .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_F .thumb_01 {
  width: 70%;
  margin: 40px auto;
}
.Style_F .thumb_02 {
  width: 310px;
  margin: 0 auto;
}
.Style_F .thumb_02 .gif_img {
  width: 310px;
  height: 465px;
  background-image: url("../images/style-06-gif.jpg");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_F {
    height: 960px;
  }
  .Style_F .topImg_content {
    margin-bottom: 0;
    width: 520px;
    position: absolute;
    top: 0;
    right: 30px;
  }
  .Style_F .topImg_content .top_img .number {
    top: 30px;
    left: inherit;
    right: 30px;
  }
  .Style_F .Slibe__textContent {
    position: absolute;
    top: 610px;
    z-index: -1;
  }
  .Style_F .thumb_01 {
    width: 360px;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 130px;
  }
  .Style_F .thumb_02 {
    margin: 0;
    position: absolute;
    top: 70px;
    left: 30px;
  }
  .Style_F .Credit {
    position: absolute;
    bottom: 100px;
    right: 30px;
  }
}
/* スタイル（ 07 ）
-------------------------- */
/* ▼▼▼ SPは、スタイル( C )と同じ▼▼▼ */
.Style_07 .topImg_content {
  margin-bottom: 40px;
}
.Style_07 .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_07 .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_07 .thumb_01 {
  width: 60%;
  margin: 40px auto;
}
.Style_07 .thumb_02 {
  width: 90%;
  margin: 40px auto 0;
}
.Style_07 .Slibe__textContent {
  margin-top: 60px;
}

/* ▲▲▲ ここまで同じ ▲▲▲ */
@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_07 {
    height: 1420px;
  }
  .Style_07 .topImg_content {
    margin-bottom: 0px;
    padding: 0 30px;
  }
  .Style_07 .topImg_content .top_img .number {
    top: 30px;
    left: inherit;
    right: 30px;
  }
  .Style_07 .thumb_01 {
    width: 240px;
    margin: 0;
    position: absolute;
    top: 970px;
    left: 680px;
  }
  .Style_07 .thumb_02 {
    width: 410px;
    margin: 0;
    position: absolute;
    top: 750px;
    left: 100px;
  }
  .Style_07 .Slibe__textContent {
    margin-top: 0px;
    position: absolute;
    bottom: 150px;
  }
  .Style_07 .Credit {
    position: absolute;
    bottom: 480px;
    left: 680px;
    margin: 0;
  }
  .Style_07 .Credit__2 {
    position: absolute;
    bottom: 0;
    left: 100px;
  }
}
/* スタイル（ 08 ）
-------------------------- */
/* ▼▼▼ SPは、スタイル( C )と同じ▼▼▼ */
.Style_08 .topImg_content {
  margin-bottom: 40px;
}
.Style_08 .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_08 .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_08 .thumb_01 {
  width: 90%;
  margin: 40px auto;
}
.Style_08 .thumb_02 {
  width: 60%;
  margin: 40px auto;
}
.Style_08 .Slibe__textContent {
  margin-top: 60px;
}

/* ▲▲▲ ここまで同じ ▲▲▲ */
@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_08 {
    height: 1060px;
  }
  .Style_08 .topImg_content {
    margin-bottom: 0;
    width: 520px;
    position: absolute;
    top: 0;
    left: 30px;
  }
  .Style_08 .topImg_content .top_img .number {
    top: 30px;
    left: inherit;
    right: 30px;
  }
  .Style_08 .thumb_01 {
    width: 360px;
    margin: 0;
    position: absolute;
    top: 60px;
    left: 670px;
  }
  .Style_08 .Slibe__textContent {
    margin-top: 0px;
    position: absolute;
    top: 520px;
    z-index: -1;
  }
  .Style_08 .thumb_02 {
    width: 310px;
    margin: 0;
    position: absolute;
    bottom: 0;
    right: 30px;
  }
  .Style_08 .Credit {
    position: absolute;
    top: 270px;
    left: 670px;
  }
  .Style_08 .Credit__2 {
    top: 770px;
    left: 30px;
  }
}
/* スタイル（ 09 ）
-------------------------- */
/* ▼▼▼ SPは、スタイル( D )と同じ▼▼▼ */
.Style_09 .topImg_content {
  margin-bottom: 40px;
}
.Style_09 .topImg_content .top_img {
  position: relative;
  width: 100%;
  height: 100%;
}
.Style_09 .topImg_content .top_img .number {
  position: absolute;
  top: 20px;
  left: 20px;
}
.Style_09 .thumb_01 {
  width: 74%;
  margin: 40px auto 0;
}

/* ▲▲▲ ここまで同じ ▲▲▲ */
@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Style_09 {
    height: 790px;
  }
  .Style_09 .topImg_content {
    margin-bottom: 0;
    width: 520px;
    position: absolute;
    top: 0;
    right: 30px;
  }
  .Style_09 .topImg_content .top_img .number {
    top: 30px;
    left: inherit;
    right: 30px;
  }
  .Style_09 .thumb_01 {
    width: 290px;
    margin: 0;
    position: absolute;
    top: 60px;
    left: 120px;
  }
  .Style_09 .Slibe__textContent {
    position: absolute;
    top: 570px;
    z-index: -1;
  }
  .Style_09 .Credit {
    position: absolute;
    bottom: 70px;
    left: 110px;
  }
}
/* ---------------------------------------------------
 All Items ボタン
--------------------------------------------------- */
.Allitem__btn a {
  background: #fff;
  color: #10e100;
  border: #10e100 solid 2px;
  font-size: 1.4em;
  display: block;
  width: 70%;
  margin: 80px auto;
  text-align: center;
  padding: 6px 0;
  letter-spacing: 0.1em;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .Allitem__btn {
    width: 100%;
    padding-bottom: 100px;
    margin-bottom: 85px;
  }
  .Allitem__btn a {
    font-size: 1.6em;
    width: 320px;
    margin: 180px auto 0;
  }
}
/* ---------------------------------------------------
 Footer
--------------------------------------------------- */
.Special_SP_thanks {
  color: #666;
  border-top: 1px solid #ddd;
  width: 100%;
  padding: 20px 8%  30px;
  line-height: 1.4;
  font-size: .8em;
}
.Special_SP_thanks p:nth-child(1) {
  text-decoration: underline;
}

.Archive .Title {
  border-left: 13px solid #10e100;
  padding: 0 4%;
  font-size: 1em;
  color: #10e100;
  line-height: 1.4;
}
.Archive .Thumb {
  display: flex;
  padding: 10px 6%;
}
.Archive .Thumb > div {
  padding: 0 1%;
}
.Archive .Thumb .Vol_number {
  padding: 8px 0;
  font-size: .8em;
  line-height: 1.4;
}
.Archive .Thumb .Vol_number span {
  text-decoration: underline;
}

footer#footer {
  background: #000;
  width: 100vw;
  position: relative;
  margin-top: 30px;
  color: #fff;
}
footer#footer .Special_PC_thanks {
  display: none;
}
footer#footer .copy {
  font-size: .7em;
  position: absolute;
  top: 28px;
  left: 8%;
}
footer#footer .sns {
  text-align: right;
  width: 100%;
  padding: 20px 8%;
}
footer#footer .sns a {
  width: 38px;
  display: inline-block;
}

@media only screen and (min-width: 769px) {
  /* Laptop PC */
  .PC__footer_content {
    position: relative;
    width: 1100px;
    height: 500px;
    margin: 0 auto;
  }

  .Special_SP_thanks {
    display: none;
  }

  .Archive {
    position: absolute;
    top: 0;
    left: 0;
    width: 700px;
  }
  .Archive .Title {
    padding: 0 10px;
  }
  .Archive .Thumb {
    padding: 20px 18px;
  }

  footer#footer {
    width: 350px;
    height: 410px;
    position: absolute;
    margin: 0;
    top: 0;
    right: 0;
  }
  footer#footer .inner {
    position: relative;
    width: 350px;
    height: 410px;
  }
  footer#footer .Special_PC_thanks {
    display: block;
    position: absolute;
    top: 45px;
    left: 45px;
    font-size: .8em;
  }
  footer#footer .Special_PC_thanks p:nth-child(1) {
    text-decoration: underline;
  }
  footer#footer .copy {
    font-size: .7em;
    position: absolute;
    top: auto;
    bottom: 45px;
    left: auto;
    right: 45px;
  }
  footer#footer .sns {
    position: absolute;
    width: 40px;
    bottom: 90px;
    right: 45px;
    padding: 0;
  }
  footer#footer .sns a {
    width: 100%;
  }
}
