@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;900&display=swap");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul, li {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block; }

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

a,
button {
  text-decoration: none;
  -webkit-transition: opacity .4s ease , color .4s ease , background-color .4s ease;
  transition: opacity .4s ease , color .4s ease , background-color .4s ease;
  color: #471f22; }
  a:hover,
  button:hover {
    opacity: .5; }
    @media (min-width: 1px) and (max-width: 1050px) {
      a:hover,
      button:hover {
        opacity: 1; } }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

img {
  max-width: 100%;
  height: auto; }
  @media screen and (max-width: 812px) {
    img {
      width: 100%; } }

table {
  width: 100%; }

input[type="text"],
input[type="email"],
textarea {
  -webkit-appearance: none;
  border: none;
  font-family: inherit; }

input[type="text"]:focus,
input[type="email"]:focus {
  outline: 0; }

::-webkit-input-placeholder {
  color: #cccccc; }

:-ms-input-placeholder {
  color: #cccccc; }

::-ms-input-placeholder {
  color: #cccccc; }

::placeholder {
  color: #cccccc; }

/* IE */
:-ms-input-placeholder {
  color: #cccccc; }

/* Edge */
::-ms-input-placeholder {
  color: #cccccc; }

img, object {
  vertical-align: bottom;
  max-width: 100%;
  height: auto; }

.m-text {
  color: #42210b;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 1.8rem;
  line-height: 1.7;
}

/* ---------------------------------------
  html , body
-----------------------------------------*/
html {
  font-size: 62.5%;
  font-family: 'M PLUS Rounded 1c', sans-serif; }

body {
  -webkit-text-size-adjust: 100%;
  overflow: auto;
  color: #471f22;
  position: relative; }
  @media screen and (min-width: 813px) {
    body {
      min-width: 1000px; } }

/* ---------------------------------------
  .wrap
-----------------------------------------*/
@media screen and (min-width: 813px) {
  .wrap {
    width: 980px;
    margin: 0 auto; } }
@media screen and (max-width: 812px) {
  .wrap {
    padding: 0 7vw; } }

/* ---------------------------------------
  .head
-----------------------------------------*/
.head {
  background-color: #fdf8ec;
  padding: 40px 0 40px;
  text-align: center; }
  @media screen and (max-width: 812px) {
    .head {
      padding: 5.7vw 0 3.75vw; } }
  @media screen and (max-width: 812px) {
    .head img {
      width: 95%; } }

/* ---------------------------------------
  .floating_btn
-----------------------------------------*/
.floating_btn {
  position: fixed;
  bottom: 3rem;
  right: 3rem;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease; }
  @media screen and (max-width: 812px) {
    .floating_btn {
      width: 26vw; } }
  .floating_btn.scrolled {
    opacity: 1;
    pointer-events: auto; }

/* ---------------------------------------
  .share_btn
-----------------------------------------*/
.share_btn {
  background-color: #f9c0d8;
  padding: 60px 0; }
  .share_btn .sns_link {
    text-align: center;
    margin: 0 auto; }
    .share_btn .sns_link img {
      width: 50px;
      margin: 0 10px; }
    .share_btn .sns_link a {
      text-decoration: none;
      display: inline !important; }
      .share_btn .sns_link a:hover {
        text-decoration: none; }

/* ---------------------------------------
  表示・非表示処理
-----------------------------------------*/
.pc_none {
  display: none; }
  @media screen and (max-width: 812px) {
    .pc_none {
      display: block; } }

@media screen and (max-width: 812px) {
  .sp_none {
    display: none; } }
