@charset "UTF-8";
/*
  Template: swell
  Theme Name: SWELL CHILD
  Theme URI: https://swell-theme.com/
  Description: SWELL child theme
  Version: 1.0.0
  Author: LOOS WEB STUDIO
  Author URI: https://loos-web-studio.com/
  License: GNU General Public License
  License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================
   Base layout
========================= */
html,
body{
  min-height:100%;
}

body{
  position:relative;
  overflow-wrap:anywhere;
  word-break:normal;
  line-break:strict;
  background:
    radial-gradient(circle at 12% 18%, rgba(10,132,255,.12), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(120,160,255,.12), transparent 28%),
    linear-gradient(135deg, #f8fafc 0%, #f3f4f6 42%, #e8eef8 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,.12));
  pointer-events:none;
  z-index:0;
}

#body_wrap{
  position:relative;
  z-index:1;
}

#wpadminbar{
  z-index:99999;
}

#breadcrumb{
  display:none;
}

.l-content{
  margin:0 auto 3em;
}

.l-mainContent__inner > .post_content{
  margin:1em 0;
}

/* Accordion body spacing */
.swell-block-accordion.is-style-border .swell-block-accordion__body,
.swell-block-accordion.is-style-simple .swell-block-accordion__body {
  border-top: none !important;
  padding: 0 !important;
}

.swell-block-accordion.is-style-border .swell-block-accordion__body > *,
.swell-block-accordion.is-style-simple .swell-block-accordion__body > * {
  margin-left: .5em;
  margin-right: .5em;
}

.swell-block-accordion.is-style-border .swell-block-accordion__body > :last-child,
.swell-block-accordion.is-style-simple .swell-block-accordion__body > :last-child {
  margin-bottom: 2em !important;
}

/* =========================
   Header and footer
========================= */
.c-gnav > .menu-item > a .ttl{
  display:block;
  font-size:16px;
  font-weight:700;
}

.l-header,
.l-footer{
  background-color:rgba(255,255,255,0);
}

.l-fixHeader{
  background-color:rgba(255,255,255,0);
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
}

ul.footer-menu{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

ul.footer-menu li{
  list-style:none !important;
  margin:0 0 16px !important;
  padding:0 !important;
}

ul.footer-menu li:last-child{
  margin-bottom:0 !important;
}

ul.footer-menu li::marker{
  content:none !important;
}

ul.footer-menu a,
ul.footer-menu a:link,
ul.footer-menu a:visited{
  text-decoration:none !important;
  font-weight:700 !important;
  color:gray !important;
}

ul.footer-menu a:hover,
ul.footer-menu a:focus,
ul.footer-menu a:active{
  text-decoration:none !important;
  color:var(--color_text) !important;
}

@media screen and (max-width:767px){
  .footer-sp{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    justify-content:center !important;
    column-gap:24px !important;
    row-gap:20px !important;
  }

  .footer-sp > .wp-block-column{
    margin:0 !important;
  }

  .footer-sp > .wp-block-column:first-child{
    flex:0 0 100% !important;
    max-width:100% !important;
    text-align:center !important;
  }

  .footer-sp > .wp-block-column:first-child .wp-block-image,
  .footer-sp > .wp-block-column:first-child figure{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .footer-sp > .wp-block-column:first-child figure.alignleft{
    float:none !important;
    display:table !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .footer-sp > .wp-block-column:first-child img{
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .footer-sp > .wp-block-column:nth-child(2),
  .footer-sp > .wp-block-column:nth-child(3){
    margin-top:20px !important;
    flex:0 0 calc(50% - 12px) !important;
    max-width:calc(50% - 12px) !important;
  }

  .l-header,
  .l-header__inner{
    position:relative;
    width:100%;
    background-color:rgba(255,255,255,0);
    -webkit-backdrop-filter:blur(15px);
    backdrop-filter:blur(3px);
  }
}

@media (max-width:781px){
  .l-header .l-header__menuBtn{
    visibility:hidden;
  }
}

/* =========================
   Page title
========================= */
.c-pageTitle{
  text-align:center;
  font-size:1.8em;
  line-height:1.4;
  margin-bottom:20px;
}

.c-pageTitle[data-style=b_bottom]{
  border-bottom:1px solid var(--color_border);
  display:none;
}

.c-pageTitle__inner{
  display:block;
  padding-top:.5em;
}

@media (min-width:600px){
  .c-pageTitle{
    font-size:2.1em;
    margin-bottom:28px;
  }
}

/* =========================
   Accordion
========================= */
.swell-block-accordion.is-style-border .swell-block-accordion__body,
.swell-block-accordion.is-style-simple .swell-block-accordion__body{
  border-top:none !important;
}

/* =========================
   Home page width
========================= */
.home #content.l-content.l-container,
.home #main_content,
.home .l-mainContent__inner,
.home .post_content,
.home .cosme-hero{
  padding-left:0 !important;
  padding-right:0 !important;
}

@media (max-width:781px){
  .home .cosme-hero{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

/* =========================
   Hero section
========================= */
.cosme-hero,
.cosme-hero *{
  box-sizing:border-box;
}

.cosme-hero{
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(420px, 640px) !important;
  align-items:center;
  column-gap:clamp(24px, 4vw, 72px);
  padding:clamp(28px, 4vw, 56px) 0;
}

.cosme-hero > .wp-block-column{
  flex-basis:auto !important;
  flex-grow:0 !important;
  min-width:0;
  position:relative;
  z-index:1;
}

.cosme-hero__copy{
  padding:0 16px;
  background:none;
  border:none;
  border-radius:0;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.cosme-hero__title{
  font-size:3em;
  margin:0 0 18px;
  line-height:1.18;
  letter-spacing:.02em;
}

.cosme-hero__title .swl-fz{
  display:inline-block;
  text-wrap:balance;
}

.cosme-hero__lead{
  margin:32px 0 16px;
  font-size:1rem;
  line-height:1.85;
}

.cosme-hero__note{
  margin:0 0 24px;
  padding-left:1.2em;
}

.cosme-hero__note li{
  line-height:1.8;
}

.cosme-hero__actions{
  display:flex !important;
  justify-content:flex-start;
  margin-top:8px;
}

.cosme-hero__actions .wp-block-button{
  margin:0;
}

.cosme-hero .wp-block-button__link{
  min-width:200px;
  padding:16px 28px;
  border:none !important;
  border-radius:999px;
  background:linear-gradient(135deg, #2f9bff 0%, #37d6c2 100%) !important;
  color:#fff !important;
  font-weight:700;
  text-decoration:none !important;
  box-shadow:
    0 8px 18px rgba(10, 132, 255, .18),
    0 2px 6px rgba(55, 214, 194, .14) !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.cosme-hero .wp-block-button__link:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
  text-decoration:none !important;
  box-shadow:
    0 10px 22px rgba(10, 132, 255, .20),
    0 3px 8px rgba(55, 214, 194, .16) !important;
}

.cosme-hero__visual{
  display:flex;
  justify-content:center;
  align-items:center;
  min-width:0;
}

.cosme-stage{
  position:relative;
  width:min(100%, 640px);
  aspect-ratio:640 / 500;
  margin-inline:auto;
}

.cosme-item{
  position:absolute;
  margin:0;
  line-height:0;
  animation:cosmeBob 5.8s ease-in-out infinite;
  filter:
    drop-shadow(0 24px 32px rgba(80, 130, 220, .20))
    drop-shadow(0 8px 14px rgba(130, 170, 235, .18));
}

.cosme-item img{
  display:block;
  width:100%;
  height:auto;
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.cosme-item--1{
  width:47%;
  top:5%;
  right:5%;
  z-index:3;
  --rot:-6deg;
  animation-delay:0s;
}

.cosme-item--2{
  width:34%;
  left:6%;
  bottom:9%;
  z-index:2;
  --rot:8deg;
  animation-delay:1s;
}

.cosme-item--3{
  width:27%;
  right:14%;
  bottom:1%;
  z-index:1;
  --rot:-4deg;
  animation-delay:1.8s;
}

.cosme-part{
  position:absolute;
  display:block;
  height:auto;
  pointer-events:none;
  filter:
    drop-shadow(0 14px 22px rgba(87, 142, 230, .22))
    drop-shadow(0 4px 10px rgba(149, 186, 245, .20));
  animation:cosmePartBob 4.8s ease-in-out infinite;
}

.cosme-part--1{
  width:92px;
  top:18%;
  left:10%;
  z-index:4;
  --prot:-12deg;
  animation-delay:.2s;
}

.cosme-part--2{
  width:72px;
  top:44%;
  left:24%;
  z-index:4;
  --prot:11deg;
  animation-delay:1.1s;
}

.cosme-part--3{
  width:108px;
  top:24%;
  right:0;
  z-index:4;
  --prot:16deg;
  animation-delay:.7s;
}

.cosme-part--4{
  width:84px;
  bottom:7%;
  right:3%;
  z-index:4;
  --prot:-9deg;
  animation-delay:1.6s;
}

@keyframes cosmeBob{
  0%{
    transform:translate3d(0,0,0) rotate(var(--rot));
  }

  50%{
    transform:translate3d(0,-10px,0) rotate(var(--rot));
  }

  100%{
    transform:translate3d(0,0,0) rotate(var(--rot));
  }
}

@keyframes cosmePartBob{
  0%{
    transform:translate3d(0,0,0) rotate(var(--prot));
  }

  50%{
    transform:translate3d(0,-12px,0) rotate(var(--prot));
  }

  100%{
    transform:translate3d(0,0,0) rotate(var(--prot));
  }
}

@media (max-width:1100px){
  .cosme-hero{
    grid-template-columns:minmax(0, 1fr) minmax(360px, 560px) !important;
    column-gap:24px;
    padding:28px 0;
  }

  .cosme-stage{
    width:min(100%, 560px);
    aspect-ratio:560 / 460;
  }

  .cosme-part--1{
    width:82px;
  }

  .cosme-part--2{
    width:64px;
  }

  .cosme-part--3{
    width:96px;
  }

  .cosme-part--4{
    width:74px;
  }
}

@media (max-width:781px){
  .cosme-hero{
    display:block !important;
    padding:20px 0 24px;
  }

  .cosme-hero__copy{
    padding:0 16px;
    margin-bottom:22px;
  }

  .cosme-hero > .wp-block-column + .wp-block-column{
    margin-top:20px !important;
  }

  .cosme-hero__title{
    text-align:center;
    font-size:2em;
  }

  .cosme-hero__actions{
    display:flex !important;
    justify-content:center !important;
    margin-top:8px;
  }

  .cosme-hero .wp-block-button__link{
    width:auto;
    min-width:200px;
    text-align:center;
  }

  .cosme-stage{
    width:100%;
    max-width:460px;
    aspect-ratio:460 / 360;
  }

  .cosme-item--1{
    width:48%;
    top:4%;
    right:4%;
  }

  .cosme-item--2{
    width:36%;
    left:4%;
    bottom:10%;
  }

  .cosme-item--3{
    width:29%;
    right:12%;
    bottom:2%;
  }

  .cosme-part--1{
    width:66px;
    top:16%;
    left:4%;
  }

  .cosme-part--2{
    width:54px;
    top:46%;
    left:18%;
  }

  .cosme-part--3{
    width:76px;
    top:22%;
    right:0;
  }

  .cosme-part--4{
    width:62px;
    bottom:6%;
    right:2%;
  }
}

/* =========================
   White cover block
========================= */
.cosme-white-cover{
  position:relative;
  width:min(calc(100% - 32px), 900px);
  min-height:auto;
  margin:clamp(24px, 4vw, 48px) auto;
  border-radius:24px;
  overflow:hidden;
  -webkit-backdrop-filter:blur(16px) saturate(145%);
  backdrop-filter:blur(16px) saturate(145%);
  box-shadow:
    0 12px 32px rgba(80, 124, 201, .10),
    0 4px 14px rgba(120, 160, 220, .08);
}

.cosme-white-cover > .wp-block-cover__background{
  opacity:1 !important;
  background:rgba(255, 255, 255, .42) !important;
  border-radius:inherit;
}

.cosme-white-cover .wp-block-cover__inner-container{
  position:relative;
  z-index:1;
  width:100%;
  max-width:none !important;
  padding:clamp(28px, 4vw, 44px);
}

.cosme-white-cover p:last-child,
.cosme-white-cover ul:last-child{
  margin-bottom:0;
}

@media (max-width:781px){
  .cosme-white-cover{
    width:calc(100% - 16px);
    margin:20px auto;
    border-radius:20px;
  }

  .cosme-white-cover .wp-block-cover__inner-container{
    padding:24px 20px;
  }
}

/* =========================
   Plan section
========================= */
.cosme-plan__list li{
  text-align:left;
}

/* =========================
   Cheer page
========================= */
.cosme-cheer,
.cosme-cheer *{
  box-sizing:border-box;
}

.cosme-cheer{
  width:min(calc(100% - 32px), 980px);
  margin:0 auto clamp(40px, 6vw, 72px);
  padding:clamp(24px, 4vw, 52px) 0;
}

.cosme-cheer__hero{
  text-align:center;
  padding:clamp(20px, 4vw, 40px) 0 clamp(18px, 3vw, 30px);
}

.cosme-cheer__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(17,23,34,.08);
  color:#5f6773;
  font-size:.9rem;
  font-weight:700;
  box-shadow:
    0 10px 26px rgba(80, 124, 201, .08),
    0 4px 12px rgba(120, 160, 220, .06);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
  backdrop-filter:blur(16px) saturate(145%);
}

.cosme-cheer__title{
  margin:22px 0 14px;
  font-size:clamp(2rem, 5.4vw, 3em);
  line-height:1.18;
  letter-spacing:.02em;
  font-weight:800;
}

.cosme-cheer__lead{
  max-width:680px;
  margin:0 auto;
  color:#5f6773;
  font-size:1rem;
  line-height:1.85;
}

.cosme-cheer__layout{
  display:grid;
  grid-template-columns:minmax(0, 1.24fr) minmax(300px, .76fr);
  gap:clamp(16px, 2.4vw, 24px);
  align-items:stretch;
  margin-top:clamp(20px, 3vw, 30px);
}

.cosme-cheer__card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:
    0 12px 32px rgba(80, 124, 201, .10),
    0 4px 14px rgba(120, 160, 220, .08);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
  backdrop-filter:blur(16px) saturate(145%);
}

.cosme-cheer__main{
  padding:clamp(26px, 4vw, 44px);
}

.cosme-cheer__main:before{
  content:"";
  position:absolute;
  top:-90px;
  right:-90px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(10,132,255,.18), transparent 64%);
  pointer-events:none;
}

.cosme-cheer__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(10,132,255,.10);
  color:#0a72d8;
  font-size:.86rem;
  font-weight:800;
}

.cosme-cheer__mainTitle{
  margin:18px 0 14px;
  font-size:clamp(1.75rem, 4vw, 2.55rem);
  line-height:1.22;
  letter-spacing:.01em;
  font-weight:800;
}

.cosme-cheer__text{
  margin:0;
  color:#5f6773;
  font-size:1rem;
  line-height:1.85;
}

.cosme-cheer__text + .cosme-cheer__text{
  margin-top:12px;
}

.cosme-cheer__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}

.cosme-cheer__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:200px;
  min-height:52px;
  padding:14px 28px;
  border-radius:999px;
  text-decoration:none !important;
  font-weight:700;
  line-height:1.2;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.cosme-cheer__btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.03);
  text-decoration:none !important;
}

.cosme-cheer__btn--primary{
  border:none;
  color:#fff !important;
  background:linear-gradient(180deg, #3b9cff 0%, #0a84ff 100%);
  box-shadow:
    0 14px 30px rgba(10, 132, 255, .34),
    0 4px 12px rgba(82, 154, 255, .24);
}

.cosme-cheer__btn--primary:hover{
  box-shadow:
    0 18px 34px rgba(10, 132, 255, .38),
    0 6px 16px rgba(82, 154, 255, .26);
}

.cosme-cheer__btn--ghost{
  color:#15171a !important;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(17,23,34,.08);
  box-shadow:0 8px 20px rgba(80, 124, 201, .08);
}

.cosme-cheer__note{
  margin-top:20px;
  padding:15px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.58);
  color:#5f6773;
  font-size:.92rem;
  line-height:1.8;
}

.cosme-cheer__side{
  display:grid;
  gap:clamp(14px, 2vw, 18px);
}

.cosme-cheer__mini{
  padding:clamp(20px, 3vw, 26px);
}

.cosme-cheer__miniTitle{
  margin:0 0 10px;
  font-size:1.24rem;
  line-height:1.35;
  font-weight:800;
}

.cosme-cheer__miniText{
  margin:0;
  color:#5f6773;
  font-size:.96rem;
  line-height:1.8;
}

.cosme-cheer__mini .cosme-cheer__btn{
  margin-top:18px;
  min-width:0;
  min-height:44px;
  padding:12px 18px;
  font-size:.94rem;
}

.cosme-cheer__section{
  margin-top:clamp(16px, 2.4vw, 24px);
  padding:clamp(24px, 4vw, 36px);
}

.cosme-cheer__sectionTitle{
  margin:0 0 16px;
  font-size:1.45rem;
  line-height:1.45;
  font-weight:800;
}

.cosme-cheer__list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.cosme-cheer__list li{
  margin:0;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.58);
  color:#5f6773;
  line-height:1.8;
}

.cosme-cheer__footer{
  margin:24px 0 0;
  text-align:center;
  color:#6b7280;
  font-size:.94rem;
  line-height:1.85;
}
.cosme-cheer__stripeButton {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 26px 0 0;
}

.cosme-cheer__stripeButton stripe-buy-button {
  display: block;
}
@media (max-width:781px){
  .cosme-cheer{
    width:calc(100% - 16px);
    padding:24px 0 44px;
  }

  .cosme-cheer__hero{
    padding:22px 8px 18px;
  }

  .cosme-cheer__layout{
    grid-template-columns:1fr;
  }

  .cosme-cheer__main{
    padding:24px 20px;
  }

  .cosme-cheer__actions{
    flex-direction:column;
  }

  .cosme-cheer__btn{
    width:100%;
    min-width:0;
  }

  .cosme-cheer__mini{
    padding:22px 20px;
  }

  .cosme-cheer__section{
    padding:24px 20px;
  }
}

/* =========================
   Cheer page theme overrides
========================= */
.post_content .cosme-cheer{
  color:var(--color_text);
}

.post_content .cosme-cheer__intro{
  width:100%;
  max-width:none;
  margin:0 0 clamp(40px, 6vw, 60px);
  padding:0;
  text-align:center;
}

.post_content p.cosme-cheer__lead{
  width:100%;
  max-width:none !important;
  margin:0;
  color:var(--color_text);
  font-size:1rem;
  line-height:1.85;
  font-weight:400;
  text-align:center;
}

.post_content .cosme-cheer h2.cosme-cheer__mainTitle{
  margin:0 0 18px !important;
  font-size:clamp(1.65rem, 3.6vw, 2.35rem);
  line-height:1.32;
  letter-spacing:.01em;
  font-weight:800;
  color:var(--color_text);
}

.post_content .cosme-cheer h3.cosme-cheer__miniTitle{
  margin:0 0 14px !important;
  font-size:1.18rem;
  line-height:1.45;
  font-weight:800;
  color:var(--color_text);
}

.post_content .cosme-cheer__text{
  color:var(--color_text);
  font-size:1rem;
  line-height:1.85;
}

.post_content .cosme-cheer p.cosme-cheer__text.cosme-cheer__paymentNote{
  color:#666;
  font-size:.82rem;
  line-height:1.7;
}

.post_content .cosme-cheer__mini{
  padding:clamp(30px, 4vw, 40px) clamp(22px, 3vw, 30px);
}

.post_content .cosme-cheer__miniText{
  color:var(--color_text);
  font-size:.82rem;
  line-height:1.85;
}

.post_content .cosme-cheer__note{
  color:var(--color_text);
  background:rgba(235, 243, 252, .72);
  border:1px solid rgba(120, 160, 220, .16);
  box-shadow:none;
}

.post_content .cosme-cheer__btn{
  font-size:.98rem;
  font-weight:700;
}

.post_content .cosme-cheer__btn--primary{
  border:none !important;
  color:#fff !important;
  background:linear-gradient(135deg, #2f9bff 0%, #37d6c2 100%) !important;
  box-shadow:
    0 8px 18px rgba(10, 132, 255, .18),
    0 2px 6px rgba(55, 214, 194, .14) !important;
  text-decoration:none !important;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
}

.post_content .cosme-cheer__btn--primary:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
  box-shadow:
    0 10px 22px rgba(10, 132, 255, .20),
    0 3px 8px rgba(55, 214, 194, .16) !important;
}

.post_content .cosme-cheer__btn--ghost{
  color:var(--color_text) !important;
  background:rgba(255,255,255,.42) !important;
  border:1px solid rgba(17,23,34,.12) !important;
  box-shadow:none !important;
  font-size:.88rem !important;
  min-height:42px;
  padding:11px 18px;
}

.post_content .cosme-cheer__btn--ghost:hover{
  background:rgba(255,255,255,.62) !important;
  box-shadow:none !important;
  transform:translateY(-1px);
}

@media (max-width:781px){
  .post_content .cosme-cheer__intro{
    text-align:left;
    padding:0 8px;
  }

  .post_content p.cosme-cheer__lead{
    font-size:.96rem;
    text-align:left;
  }

  .post_content .cosme-cheer h2.cosme-cheer__mainTitle{
    font-size:1.55rem;
  }

  .post_content .cosme-cheer__mini{
    padding:30px 20px;
  }

  .post_content .cosme-cheer__miniText{
    font-size:.9rem;
  }

  .post_content .cosme-cheer__btn--ghost{
    font-size:.88rem !important;
  }
}
.cosme-shareLink {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cosme-shareLink:hover {
  opacity: .75;
}

.grecaptcha-badge{
    z-index:9999;
}