@charset "UTF-8";
.d-print-none {
  display: none;
}
/* ------------------------------

編集時の注意
・必ず.scssから編集してコンパイルしてください。（直接.cssを編集しないでください）

------------------------------ */
/* ------------------------------
Mixin
------------------------------ */
/* ------------------------------
Html, Body
------------------------------ */
html {
  background: #ccc;
  font-size: 2.6666666667vw;
  scroll-behavior: smooth;
}
@media (min-width: 901px) {
  html {
    font-size: 24px;
  }
}
body {
  margin: 0 auto;
  color: #333;
  -webkit-text-size-adjust: 100%;
  -webkit-font-feature-settings: "palt"1;
  font-feature-settings: "palt"1;
  max-width: 900px;
  background: #fff;
  -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
}
body * {
  font-family: "ヒラギノ角ゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
}
#page-wrap {
  overflow: hidden;
  text-align: center;
  padding: 0 0 8rem;
}
#page-wrap.page-thanks {
  padding: 0;
}
/* ------------------------------
Reset CSS
------------------------------ */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
main, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, picture {
  display: block;
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, form {
  margin: 0;
  padding: 0;
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  /* outline: none; */
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  color: currentColor;
}
button::-moz-focus-inner {
  border: 0;
}
ul {
  list-style-type: none;
}
img {
  vertical-align: bottom;
  border: 0;
  width: 100%;
}
/* ------------------------------
フォーカスアウトライン
------------------------------ */
:focus,
:focus-visible {
  outline-style: solid;
  outline-width: 0.3rem;
}
/* ------------------------------
link
------------------------------ */
a {
  /* outline: 0; */
  color: currentColor;
  text-decoration: none;
}
a:hover {
  color: currentColor;
  text-decoration: none !important;
}
a.line-link {
  text-decoration: underline;
}
a.dash-link {
  border-bottom: 0.1em dashed currentColor;
  text-decoration: none !important;
}
/* ------------------------------
color
------------------------------ */
.color-brown {
  color: #934f11;
}
.color-blue {
  color: #1057ae;
}
.color-orange {
  color: #eb5505;
}
.color-green {
  color: #007f4f;
}
.color-ygreen {
  color: #75ad0c;
}
.color-grey {
  color: #666;
}
/* ------------------------------
text & layout
------------------------------ */
h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  line-height: 1.6;
}
p, ul, dl {
  font-size: 1em;
  line-height: 1.6;
}
sup {
  font-size: 0.7em;
}
.d-ib {
  display: inline-block;
}
.ind-1em {
  display: block;
  text-indent: -1em !important;
  padding-left: 1em;
  text-align: left;
}
.ind-1em::first-letter {
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}
.ind-1em > * {
  text-indent: 0;
}
.burasage {
  overflow: hidden;
}
.burasage > * {
  display: block;
  overflow: hidden;
}
.burasage > *:first-child {
  float: left;
  -webkit-font-feature-settings: normal;
  font-feature-settings: normal;
}
.justify {
  text-align: justify;
}
.next-month {
  color: #fff;
  font-size: 1.4rem;
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  background-color: #00a442;
  position: relative;
  z-index: 99;
}
.next-month a {
  text-decoration: none;
  border-bottom: 1px dashed #fff;
  padding-bottom: 0.2em;
}
/* ------------------------------
text-size
------------------------------ */
.txt-bold {
  font-weight: bold;
}
.txt-bold-800 {
  font-weight: 800;
}
.txt-bold-600 {
  font-weight: 600;
}
.txt-exbold {
  font-weight: 900;
}
.txt-24 {
  font-size: 2.4rem;
}
.txt-xlg {
  font-size: 2.2rem;
}
.txt-lg {
  font-size: 2rem;
}
.txt-md {
  font-size: 1.75rem;
}
.txt-normal {
  font-size: 1.6rem;
}
.txt-rg {
  font-size: 1.5rem;
}
.txt-sm {
  font-size: 1.3rem;
}
.txt-xs {
  font-size: 1.1rem;
}
.txt-xxs {
  font-size: 1rem;
}
.txt-xxxs {
  font-size: 0.9rem;
}
.txt-lg strong {
  font-weight: 800;
}
.txt-sm.thin {
  font-weight: 300;
}
/* ------------------------------
line-height
------------------------------ */
.lh-14 {
  line-height: 1.4em !important;
}
.lh-16 {
  line-height: 1.6em !important;
}
/* ------------------------------
margin
------------------------------ */
.mt-0 {
  margin-top: 0 !important;
}
.mt-05em {
  margin-top: 0.5em !important;
}
.mt-1em {
  margin-top: 1em !important;
}
.mt-2em {
  margin-top: 2em !important;
}
.mt-3em {
  margin-top: 3em !important;
}
.mt-4em {
  margin-top: 4em !important;
}
.mt-5em {
  margin-top: 5em !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-025em {
  margin-bottom: 0.25em !important;
}
.mb-05em {
  margin-bottom: 0.5em !important;
}
.mb-1em {
  margin-bottom: 1em !important;
}
.mb-2em {
  margin-bottom: 2em !important;
}
.mb-3em {
  margin-bottom: 3em !important;
}
.mb-4em {
  margin-bottom: 4em !important;
}
.mb-5em {
  margin-bottom: 5em !important;
}
.m-auto {
  margin: auto !important;
}
.pl-1em {
  padding-left: 1em !important;
}
/* ------------------------------
padding
------------------------------ */
.pt-0 {
  padding-top: 0 !important;
}
.pt-05em {
  padding-top: 0.5em !important;
}
.pt-1em {
  padding-top: 1em !important;
}
.pt-2em {
  padding-top: 2em !important;
}
.pt-3em {
  padding-top: 3em !important;
}
.pt-4em {
  padding-top: 4em !important;
}
.pt-5em {
  padding-top: 5em !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pb-025em {
  padding-bottom: 0.25em !important;
}
.pb-05em {
  padding-bottom: 0.5em !important;
}
.pb-1em {
  padding-bottom: 1em !important;
}
.pb-2em {
  padding-bottom: 2em !important;
}
.pb-3em {
  padding-bottom: 3em !important;
}
.pb-4em {
  padding-bottom: 4em !important;
}
.pb-5em {
  padding-bottom: 5em !important;
}
.pl-1em {
  padding-left: 1em !important;
}
/* ------------------------------
text-align
------------------------------ */
.align-left {
  text-align: left;
}
.align-center {
  text-align: center;
}
.align-right {
  text-align: right;
}