/* reset & base */
  html {
    font-size: 62.5%;
  }
  body {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
  }
  .main img,
  .main picture,
  .main video,
  .main canvas,
  .main svg {
    display: block;
    width: 100%;
    height: auto;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    overflow-wrap: break-word;
  }
  ol, ul {
    list-style-type: none;
  }
  a {
    text-decoration: none;
  }
  a:hover {
    text-decoration: none;
  }
  a:focus {
    outline: none;
  }

/* 変数 */
.main {
  /* font- */
  --font-family-500: "MFW-PMaruAntipProN-Medium", "Noto Sans JP", sans-serif;
  --font-family-600: "MFW-PMaruAntipProN-DeBold", "Noto Sans JP", sans-serif;
  --font-family-700: "MFW-PMaruAntipProN-Bold", "Noto Sans JP", sans-serif;

  /* color */
  --color-white: #fff;
  --color-black: #1a1a1a;
  --color-purple: #532d91;
  --color-orange: #ff5015;
  --color-orange2: #ff8100; /*au*/
  --color-yellow: #ffff00;
  --color-pink: #ff568b;

  --bgcolor-cream: #fff4df;
  --bgcolor-purple: #ece8f3;
  --bgcolor-pink: #ffe6ef;


  /* Line Height */
  --line-height-body: 1.714;

  /* Font Size */
  --font-size-xxs: .7rem;
  --font-size-xs: 1rem;
  --font-size-sm: 1.4rem;
  --font-size-md: 1.6rem;
  --font-size-lg: 1.8rem;
  --font-size-xl: 2rem;
  --font-size-xxl: 2.2rem;


  /* Spacing */
  --spacing-5: 5px;
  --spacing-10: 10px;
  --spacing-15: 15px;
  --spacing-20: 20px;
  --spacing-25: 25px;
  --spacing-30: 30px;
  --spacing-35: 35px;
  --spacing-40: 40px;
  --spacing-45: 45px;
  --spacing-50: 50px;

  /* border */
  --border-r10: 10px;
  --deco-ttl-w: 3px;
  --border-dot-bg: 7px 7px;

}
@media screen and (max-width: 767px) {
  .main {
    /* Font Size */
    --font-size-xxs: 1.87vw;
    --font-size-xs: 2.67vw;
    --font-size-sm: 3.73vw;
    --font-size-md: 4.27vw;
    --font-size-lg: 4.8vw;
    --font-size-xl: 5.33vw;
    --font-size-xxl: 5.87vw;

    /* Spacing */
    --spacing-5: 1.33vw;
    --spacing-10: 2.67vw;
    --spacing-15: 4vw;
    --spacing-20: 5.33vw;
    --spacing-25: 6.67vw;
    --spacing-30: 8vw;
    --spacing-35: 9.33vw;
    --spacing-40: 10.67vw;
    --spacing-45: 12vw;
    --spacing-50: 13.33vw;

    /* border */
    --border-r10: 2.67vw;
    --deco-ttl-w: 0.8vw;
    --border-dot-bg: 1.87vw 1.87vw;
  }
}



.main {
  color: var(--color-black);
  font-size: var(--font-size-sm);
  font-family: var(--font-family-500);
  font-weight: 500;
  line-height: var(--line-height-body);
  background-color: #fcd521;
  background-image: radial-gradient(circle, #fbbd37 2px, transparent 2px), radial-gradient(circle, #fbbd37 2px, transparent 2px);
  background-position: 4px 2px, 12px 18px;
  background-size: 16px 32px;
  /* font-feature-settings: "palt" 1; */
}
@media screen and (min-width: 768px) {
  .main {
    background-attachment: fixed;
  }
}
.main a {
  color: var(--color-black);
}
@media (hover: hover) {
  .main a {
    transition: opacity .3s;
  }
  .main a:hover {
    opacity: .8;
  }
}
.main-content {
  padding: var(--spacing-35) var(--spacing-25);
  margin: auto;
}
@media screen and (min-width: 768px) {
  .main-content {
    max-width: 375px;
  }
}
.main-content > section:first-child {
  margin-top: 0;
}
.main-content > section {
  padding-bottom: var(--spacing-25);
  margin: var(--spacing-20) auto;
}
.main .container {
  margin: var(--spacing-20) auto;
  padding: 0 var(--spacing-20);
}
.main .container--lg {
  padding: 0 var(--spacing-10);
}
.main-content > section .container:last-child {
  margin-bottom: 0;
}
.main .sec__ttl {
  margin-bottom: var(--spacing-20);
}

.main .bg-w {
  background-color: var(--color-white);
}
.main .bg-c {
  background-color: var(--bgcolor-cream);
}
.main .bg-p {
  background-color: var(--bgcolor-pink);
}

.main .sec-btn a {
  display: block;
  margin: 0 var(--spacing-10);
  text-align: center;
  font-family: var(--font-family-600);
  font-size: var(--font-size-lg);
  font-weight: 600;
  color: var(--color-white);
  line-height: 1.33;
  padding: var(--spacing-20) 0;
  background-color: var(--color-orange);
  border-radius: 3em;
}
.main .sec-btn__pink a {
  background-color: var(--color-pink);
}
.main .sec-btn__orange2 a {
  background-color: var(--color-orange2);
}


.main .deco-ttl__wrap {
  text-align: center;
}
.main .deco-ttl {
  position: relative;
  font-family: var(--font-family-600);
  font-weight: 600;
  font-size: 1.22em;
  margin-top: var(--spacing-30);
  margin-bottom: var(--spacing-10);
  line-height: 1.35;
  display: inline-block;
}
.main .deco-ttl__s {
  font-size: var(--font-size-sm);
}
.main .deco-ttl > span {
  color: var(--color-orange);
}
.main .deco-ttl::after,
.main .deco-ttl::before {
  position: absolute;
  top: 0;
  display: block;
  content: "";
  width: var(--deco-ttl-w);
  height: 1.8em;
  background-color: var(--color-orange);
  border-radius: var(--deco-ttl-w);
}
.main .deco-ttl::before {
  left: -.7em;
  transform: rotate(335deg);
}
.main .deco-ttl::after {
  right: -.7em;
  transform: rotate(25deg);
}
.main .btn-ttl {
  margin-top: var(--spacing-15);
}

.main .check .btn-ttl {
  margin-top: var(--spacing-5);
}
.main .member .sec__ttl {
  margin-bottom: var(--spacing-10);
}

.main .post-card {
  background-color: var(--bgcolor-cream);
  padding-bottom: var(--spacing-10);
}
.main .post-card + .post-card {
  margin-top: var(--spacing-20);
}
.main .post-card__ttl {
  font-family: var(--font-family-600);
  font-weight: 600;
  font-size: var(--font-size-md);
  text-align: center;
  line-height: 1.4;
  padding: .5em;
}
.main .post-card__more {
  font-size: .93em;
  line-height: 1;
  display: block;
  width: 7.3em;
  margin-right: 1.5em;
  margin-left: auto;
  padding-left: .5em;
  padding-bottom: .5em;
  background: url('./../img/icon-arrow.svg') no-repeat;
  background-position: bottom left;
  background-size: contain;
}


/* アコーディオン */
.main .accordion {
  overflow: hidden;
  margin-top: var(--spacing-15);
  margin-bottom: var(--spacing-15);
  border-radius: .286em;
}
.main .accordion__button {
  font-size: .86em;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: .4em;
  cursor: pointer;
  border: none;
  background: var(--color-white);
}
.main .accordion__button::before {
  font-weight: bold;
  line-height: 1.2;
  flex-shrink: 0;
  width: 1.2em;
  height: 1.2em;
  margin-right: .5em;
  content: '+';
  transition: transform .3s;
  color: var(--color-white);
  border-radius: 1.2em;
  background: var(--color-orange);
}
.main .accordion__button.is-active::before {
  content: '−';
}
.main .accordion__content {
  font-size: .86em;
  line-height: 1.45;
  overflow: hidden;
  max-height: 0;
  transition: max-height .4s ease-out;
  background: var(--color-white);
}
.main .accordion__content-inner {
  padding: var(--spacing-5) var(--spacing-10) var(--spacing-10);
}
.main .js-accordion.is-active .accordion__content {
  max-height: 2000px;
}
