@charset "UTF-8";
/*!
 * Bubbles Framework
 * bubbles.css
 *
 * Copyright 2013-2015 Arina
 * @pattsun_en
 *
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0 
 */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 10px;
}

body {
  font-size: 1.4rem;
  font-weight: 300;
}

.wrap {
  max-width: 1024px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 20px;
}

.container {
  padding: 0 20px;
}

@media screen and (max-width: 600px) {
  .container {
    padding: 0 10px;
  }
}
section {
  margin-bottom: 40px;
}

/*----------------------------------------------------------------------------*/
/*headings*/
/*----------------------------------------------------------------------------*/
h1 {
  font-size: 3rem;
  font-weight: 400;
  margin-bottom: 20px;
}

h2 {
  font-size: 2.4rem;
  font-weight: 300;
  margin-bottom: 10px;
}

h3 {
  font-size: 1.9rem;
  font-weight: 300;
}

h4 {
  font-size: 1.5rem;
  font-weight: 300;
}

h5 {
  font-size: 1.3rem;
  font-weight: 300;
}

h6 {
  font-size: 1rem;
  font-weight: 300;
}

/*----------------------------------------------------------------------------*/
/*grid system*/
/*----------------------------------------------------------------------------*/
.row {
  width: 100%;
  display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
}

.column {
  display: flex;
  display: -webkit-flex;
  display: -moz-flex;
  flex-wrap: wrap;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -webkit-flex-direction: column;
  -moz-flex-wrap: wrap;
  -moz-flex-direction: column;
}

.rtl {
  flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  -moz-flex-direction: row-reverse;
}

.align1 {
  justify-content: flex-start;
  align-items: flex-end;
  -webkit-justify-content: flex-start;
  -webkit-align-items: flex-end;
  -moz-justify-content: flex-start;
  -moz-align-items: flex-end;
}

.align2 {
  justify-content: center;
  align-items: flex-end;
  -webkit-justify-content: center;
  -webkit-align-items: flex-end;
  -moz-justify-content: center;
  -moz-align-items: flex-end;
}

.align3 {
  justify-content: flex-end;
  align-items: flex-end;
  -webkit-justify-content: flex-end;
  -webkit-align-items: flex-end;
  -moz-justify-content: flex-end;
  -moz-align-items: flex-end;
}

.align4 {
  justify-content: flex-start;
  align-items: center;
  -webkit-justify-content: flex-start;
  -webkit-align-items: center;
  -moz-justify-content: flex-start;
  -moz-align-items: center;
}

.align5 {
  justify-content: center;
  align-items: center;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  -moz-justify-content: center;
  -moz-align-items: center;
}

.align6 {
  justify-content: flex-end;
  align-items: center;
  -webkit-justify-content: flex-end;
  -webkit-align-items: center;
  -moz-justify-content: flex-end;
  -moz-align-items: center;
}

.align7 {
  justify-content: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  -webkit-align-items: flex-start;
  -moz-justify-content: flex-start;
  -moz-align-items: flex-start;
}

.align8 {
  justify-content: center;
  align-items: flex-start;
  -webkit-justify-content: center;
  -webkit-align-items: flex-start;
  -moz-justify-content: center;
  -moz-align-items: flex-start;
}

.align9 {
  justify-content: flex-end;
  align-items: flex-start;
  -webkit-justify-content: flex-end;
  -webkit-align-items: flex-start;
  -moz-justify-content: flex-end;
  -moz-align-items: flex-start;
}

.baseline {
  align-items: baseline;
  -webkit-align-items: baseline;
  -moz-align-items: baseline;
}

.stretch {
  align-items: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
}

.grid1 {
  width: 8.3333333333%;
}

.grid2 {
  width: 16.6666666667%;
}

.grid3 {
  width: 25%;
}

.grid4 {
  width: 33.3333333333%;
}

.grid5 {
  width: 41.6666666667%;
}

.grid6 {
  width: 50%;
}

.grid7 {
  width: 58.3333333333%;
}

.grid8 {
  width: 66.6666666667%;
}

.grid9 {
  width: 75%;
}

.grid10 {
  width: 83.3333333333%;
}

.grid11 {
  width: 91.6666666667%;
}

.grid12 {
  width: 100%;
}

*[class^=grid] > img {
  max-width: 100%;
}

@media screen and (max-width: 600px) {
  .dynamic > div[class^=grid] {
    width: 100%;
  }
}
/*----------------------------------------------------------------------------*/
/*UI element*/
/*----------------------------------------------------------------------------*/
table {
  width: 100%;
  border-collapse: collapse;
}

th {
  background: #eee;
}

th, td {
  padding: 3px 5px;
  border: 1px solid #ccc;
}

ul, ol {
  list-style-position: inside;
  overflow: hidden;
}

ul {
  list-style-type: disc;
}

ul ul {
  margin-left: 1em;
  list-style-type: circle;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 10px;
}

a,
a:visited {
  color: #333;
  text-decoration: underline;
}

a:hover {
  color: #999;
  transition: 0.3s;
  -moz-transition: 0.3s;
  -webkit-transition: 0.3s;
}

a:active {
  color: #666;
  transition: 0.05s;
  -moz-transition: 0.05s;
  -webkit-transition: 0.05s;
}

nav {
  padding: 10px 0;
}

nav ul {
  width: 100%;
  display: flex;
  flex-direction: row;
  list-style: none;
}

nav li {
  text-align: center;
}

nav li a,
nav li a:visited {
  color: #444;
  text-decoration: none;
  display: block;
}

input[type=submit],
input[type=submit]:visited,
input[type=button],
input[type=button]:visited,
.button,
.button:visited {
  border: none;
  cursor: pointer;
  padding: 5px 15px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  margin: 5px;
  border-radius: 5px;
  position: relative;
  background-color: #ccc;
  color: #444;
}

input[type=submit]:hover,
input[type=button]:hover,
.button:hover {
  background-color: #eee;
  transition: 0.3s;
  -moz-transition: 0.3s;
  -webkit-transition: 0.3s;
}

input[type=submit]:active,
input[type=button]:active,
.button:active {
  top: 3px;
  background-color: #e0e0e0;
  color: #444;
  transition: 0.05s;
  -moz-transition: 0.05s;
  -webkit-transition: 0.05s;
}

fieldset {
  padding: 10px 15px;
  border: 1px solid #ccc;
  margin-bottom: 10px;
}

.control-group {
  float: left;
}

.horizontal .control-group {
  width: 100%;
}

label {
  margin: 5px;
  text-align: right;
  display: inline-block;
}

input, textarea {
  margin: 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 5px 10px;
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
}

textarea {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  border-radius: 1em;
  background-color: #fff;
  color: #444;
}

/*----------------------------------------------------------------------------*/
/*helper*/
/*----------------------------------------------------------------------------*/
.shadow {
  box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.3);
}

.round {
  border-radius: 8px;
}

.circle {
  border-radius: 50%;
}

.fit {
  width: 100%;
  height: auto;
}

.centered {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: block !important;
}

.align-left {
  text-align: left;
  margin-right: auto;
  display: block !important;
}

.align-right {
  text-align: right;
  margin-left: auto;
  display: block !important;
}

.visible-phone {
  display: none !important;
}

@media screen and (max-width: 600px) {
  .hidden-phone {
    display: none !important;
  }
  .visible-phone {
    display: block !important;
  }
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
a.btn {
  background-color: #65318e;
  font-size: 2rem;
  width: 400px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  line-height: 1em;
  font-weight: bold;
  padding: 2rem 3rem;
  margin-bottom: 2rem;
  border-radius: 5px;
  max-width: 100%;
}
@media (max-width: 600px) {
  a.btn {
    width: 100%;
  }
}
a.btn:visited {
  color: #fff;
}
a.btn:hover {
  opacity: 0.6;
}
a.btn.btn-prepared {
  color: #333;
  background-color: #CCCCCC;
}
a.btn.btn-prepared span {
  font-size: 1.3rem;
}
a.btn.btn-2020 {
  background-color: #65318e;
}
a.btn.btn-2021 {
  background-color: #ff007f;
}
a.btn.btn-2022 {
  background-color: #d7003a;
}
a.btn.btn-2023 {
  background-color: #ffb74c;
}
a.btn.btn-2024 {
  background-color: #D4AF37;
}

.logo-wrap {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  padding: 30px 20px;
}
.logo-wrap p {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 60px;
}

.main-logo {
  width: 400px;
  margin-bottom: 40px;
}
@media (max-width: 600px) {
  .main-logo {
    width: 80%;
  }
}

html {
  font-size: 62.5%;
}
@media (max-width: 768px) {
  html {
    font-size: 55%;
  }
}
@media (max-width: 600px) {
  html {
    font-size: 50%;
  }
}

body {
  font-size: 1.4rem;
  line-height: 1.8;
  font-family: "Helvetica Neue", Helvetica, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans", "ヒラギノ角ゴシック", 游ゴシック体, "Yu Gothic", YuGothic, sans-serif;
  overflow-x: hidden;
  letter-spacing: 0.03em;
  color: #444;
  -webkit-text-size-adjust: 100%;
}
body.terms-and-privacy-policy {
  min-width: auto;
}
@media (max-width: 768px) {
  body {
    min-width: auto;
  }
}

.wrap {
  max-width: 1100px;
}

.flex {
  display: flex;
}

@media (max-width: 600px) {
  .dynamic {
    flex-direction: column !important;
  }
}

h1 {
  margin-bottom: 0;
  font-size: 5rem;
  font-weight: 400;
}

h2 {
  margin-bottom: 0;
  font-style: italic;
  letter-spacing: 0.1em;
  font-size: 2.3rem;
  font-weight: bold;
  margin-bottom: 50px;
  line-height: 1.4;
}
h3 {
  margin-bottom: 5px;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  h3 {
    font-size: 2.2rem;
  }
}

h4 {
  margin-bottom: 0;
  font-size: 1.8rem;
  font-weight: bold;
}

h5 {
  margin-bottom: 0;
  font-size: 1.8rem;
  font-weight: bold;
}

p {
  font-size: 1.7rem;
  margin-bottom: 20px;
}

section {
  margin-bottom: 0;
  padding: 50px 0;
}
section.content {
  padding: 0;
}
@media (max-width: 768px) {
  section {
    padding-left: 2%;
    padding-right: 2%;
  }
}

pre {
  white-space: pre-wrap;
}

.visible-tablet {
  display: none;
}
@media (max-width: 768px) {
  .visible-tablet {
    display: block;
  }
}

@media (max-width: 768px) {
  .hidden-tablet {
    display: none;
  }
}

.visible-sp {
  display: none;
}
@media (max-width: 600px) {
  .visible-sp {
    display: block;
  }
}

@media (max-width: 600px) {
  .hidden-sp {
    display: none;
  }
}/*# sourceMappingURL=main.css.map */