@charset "UTF-8";
/* RESET */
pre, textarea {
  overflow: auto; }

[hidden], audio:not([controls]), template {
  display: none; }

details, main, summary {
  display: block; }

input[type=number] {
  width: auto; }

input[type=search] {
  -webkit-appearance: textfield; }

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

progress {
  display: inline-block; }

small {
  font-size: 75%; }

textarea {
  resize: vertical; }

[unselectable] {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

*, ::after, ::before {
  box-sizing: inherit;
  border-style: solid;
  border-width: 0; }

* {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0; }

::after, ::before {
  text-decoration: inherit;
  vertical-align: inherit; }

:root {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  box-sizing: border-box;
  cursor: default;
  font: 16px/1.5 sans-serif;
  text-rendering: optimizeLegibility; }

a {
  text-decoration: none; }

audio, canvas, iframe, img, svg, video {
  vertical-align: middle; }

button, input, select, textarea {
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  min-height: 1.5em; }

code, kbd, pre, samp {
  font-family: monospace,monospace; }

nav ol, nav ul {
  list-style: none; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }

select::-ms-expand {
  display: none; }

select::-ms-value {
  color: currentColor; }

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

::-moz-selection {
  background-color: #B3D4FC;
  text-shadow: none; }

::selection {
  background-color: #B3D4FC;
  text-shadow: none; }

/* End of RESET */
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ", Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic", sans-serif; }

#header, #main, #footer {
  width: 100%; }

/* #header */
#header {
  background-color: #fff;
  padding: 15px;
  text-align: center; }
  #header .brand {
    max-width: 1200px;
    margin: 0 auto; }
    #header .brand img {
      max-width: 70%; }

.friends-nav-entry {
  box-sizing: border-box;
  display: block;
  position: fixed;
  z-index: 100;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #6e4b23;
  padding: 20px;
  text-align: center; }
  .friends-nav-entry:hover {
    background-color: #562f06; }

@media screen and (min-width: 560px) {
  .friends-nav-entry {
    top: 30%;
    right: 0;
    top: 30%;
    bottom: auto;
    left: auto;
    width: 70px;
    border-radius: 15px 0 0 15px/15px 0 0 15px; } }

/* hello */
.hello-content {
  background-color: #e5dbcc;
  padding: 50px 0; }
  .hello-content .inner {
    padding: 0 20px 0 20px; }

.hello-intro {
  margin-bottom: 1.5em; }
  .hello-intro img {
    max-width: 80%;
     }

.hello-ttl {
  text-align: center;
  margin-bottom: 1em; }

.hello-sub-ttl {
  margin-bottom: 1em; }
  .hello-sub-ttl img {
    max-width: 90%; }

.hello-date img {
  max-width: 80%; }

.hello-character {
  margin-bottom: 4em;
  margin-top: 1em; }

.newentry-caution {
  margin-bottom: 4em;
  font-size: 90%; }

/* 特典内容 */
.benefits-content {
  max-width: 1000px;
  margin: 0 auto 3em auto;
  padding: 0 20px 20px 20px;
  background-color: #fff;
  border: 5px solid #794a22;
  border-radius: 20px; }
  .benefits-content:last-Child {
    margin-bottom: 0; }
  .benefits-content .benefits-ttl-friends {
    margin-top: -30px;
    margin-bottom: 1.5em; }
    .benefits-content .benefits-ttl-friends img {
      max-width: 200px; }
  .benefits-content .benefits-ttl-newentry {
    margin-top: -30px;
    margin-bottom: 1.5em; }
  .benefits-content .benefits-list div {
    width: 100%;
    margin-bottom: 30px; }
    .benefits-content .benefits-list div img {
      margin-bottom: 1em; }

@media screen and (min-width: 560px) {
  .hello-content .inner {
    padding: 0 30px 0 30px; }
  .benefits-content {
    padding: 0 35px 30px 35px;
    border-radius: 25px; }
    .benefits-content .benefits-ttl-friends {
      margin-top: -40px;
      margin-bottom: 2em; }
      .benefits-content .benefits-ttl-friends img {
        max-width: 100%; }
    .benefits-content .benefits-ttl-newentry {
      margin-top: -25px;
      margin-bottom: 2em; }
      .benefits-content .benefits-ttl-newentry img {
        max-width: 100%; }
    .benefits-content .benefits-list {
      display: flex;
      justify-content: space-between;
      background: center top repeat-y url("../img/dot-vertical.png"); }
      .benefits-content .benefits-list div {
        width: 47%;
        margin-bottom: 0; } }

/* 紹介方法 */
.flow-content {
  background-color: #fff;
  padding: 30px 20px; }
  .flow-content .flow-list div {
    position: relative;
    background-color: #e5dbcc;
    padding: 18px;
    border-radius: 5px;
    margin-bottom: 30px; }
    .flow-content .flow-list div img {
      margin-bottom: 1.5em; }
    .flow-content .flow-list div p {
      font-size: 115%;
      font-weight: bold;
      text-align: center; }
  .flow-content .flow-list div:not(:last-child)::after {
    content: '';
    display: block;
    margin: 0 auto;
    width: 0px;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: -38px;
    border: 15px solid #6e4b23;
    border-left-color: transparent;
    border-bottom-color: transparent;
    border-right-color: transparent; }

@media screen and (min-width: 560px) {
  .flow-content {
    padding: 50px 30px; }
    .flow-content .flow-list {
      max-width: 1000px;
      margin: 0 auto 2em auto;
      display: flex;
      justify-content: space-between; }
      .flow-content .flow-list div {
        width: 31%; }
      .flow-content .flow-list div:not(:last-child)::after {
        content: '';
        display: block;
        position: absolute;
        z-index: 10;
        width: 0px;
        border: 15px solid #6e4b23;
        top: calc( 50% - 15px);
        left: auto;
        right: -40px;
        bottom: auto;
        border-bottom-color: transparent;
        border-top-color: transparent;
        border-right-color: transparent; } }

.caution {
  font-size: 90%;
  padding-top: 15px; }

/* LINEボタン */
.friends-line-btn {
  display: block;
  padding: 30px;
  background-color: #00b900;
  border-radius: 5px;
  max-width: 500px;
  margin: 0 auto 4em auto; }

/* 紹介用URLを受け取ったお友だちは？ */
.flow-after h4 {
  color: #fff;
  line-height: 1;
  font-size: 130%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
  background-color: #794a22;
  border-radius: 20px 20px 0 0/20px 20px 0 0; }

.flow-after p {
  color: #111;
  font-size: 120%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 15px;
  border: 3px solid #794a22;
  border-top: 0;
  border-radius: 0 0 20px 20px/0 0 20px 20px; }

/* 本キャンペーンにおける注意事項 */
.caution-content {
  background-color: #eee;
  padding: 50px 30px; }
  .caution-content .caution-inner {
    margin: 0px auto;
    max-width: 1000px;
    text-align: left; }
  .caution-content .caution-list {
    font-size: 90%;
    list-style: disc;
    text-align: justify;
    padding-left: 16px; }

footer {
  padding: 20px 30px 100px 30px;
  font-size: 80%;
  text-align: center;
  color: #555; }

@media screen and (min-width: 560px) {
  footer {
    padding: 20px 30px; } }

@media screen and (min-width: 560px) {
  #header {
    text-align: left; } }

#main {
  text-align: center; }

img {
  max-width: 100%;
  margin: 0 auto; }

a img {
  border-style: none; }

h3 {
  margin-bottom: 3em; }

h4 {
  margin-bottom: 1em; }

.cf:after {
  content: "";
  display: block;
  clear: both; }
