@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    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
*/


div#body_wrap {
    letter-spacing: -0.03em !important;
}


.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
    border-bottom: none;
    float: none;
    margin-bottom: 2px;
    padding: .25em .2em;
    font-weight: 800;
    font-size: 1.7rem;
    color: #515151;
	text-align: center;
}

.c-pageTitle[data-style=b_bottom] {
    border-bottom: none;
}

.l-mainContent__inner>.post_content {
    margin: 2em 0;
    padding: 0 var(--swl-pad_post_content, 0);
}

.c-pageTitle:after {
    content: none !important;
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    content: none !important;
    top: -4px;
    left: 0;
    width: 100%;
	text-align: center;
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    background: none;
    padding: .75em 1em;
    color: #2d2d2d;
	text-align: center;
}

h2 {
    background: none;
    padding: .75em 1em;
    color: #2d2d2d;
    font-size: 1.2em;
    margin: 4em 0 1em;
	text-align: center;
}

.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
    background: none;
    padding: .75em 0;
    color: #2d2d2d;
    font-size: 1.2em;
    margin: 2.8em 0 1em;
	text-align: center;
}

.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
    content: "";
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(90deg, #fdfdfd 0%, #dbdbdb 29.3%, rgb(123 123 123 / 20%) 29.3%, rgb(203 203 203 / 20%) 100%);
}

.post_content h3 {
    font-size: 1.0rem;
    font-weight: 700;
    margin: 2.5em 0 2em;
    text-align: center;
}

.post_content :where(ul:not([type])) {
    list-style: inside;
}

.post_content li {
    margin: .25em 17px .25em 0;
}

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

@media (min-width: 600px) {
.l-mainContent {
    position: static !important;
    max-width: 428px;
    background: rgba(255, 255, 255, 0.98); /* ← 透明度 0.8 */
    padding: 20px 10px;
	margin-top: -80px;
}
}


@media screen and (max-width: 782px) {
  .l-content {
    margin: -53px -12px 1em !important; /* 上 右左 下 */
    padding-top: 4px;
  }
}

@media screen and (max-width: 782px) {
    .l-mainContent {
        background: rgba(255, 255, 255, 0.98);
        padding: 5px 18px 50px;
        margin-top: 53px;
		border-radius: 10px;
    }
}

@media screen and (max-width: 782px) {
    h2.wp-block-heading.has-text-align-center.ToukaHaikeiFloat {
        background: #ffffff;
        color: #1c1c1c;
        /* margin: -7px -1px 5px !important; */
        opacity: 0.99;
        border-radius: 10px 10px 30px 30px;
        /* border: 0.5px #ffffff solid; */
    }
}

@media screen and (max-width: 782px) {
.top #content {
    padding-top: 0.5em;
}
}

@media (min-width: 600px) {
.l-header {
    box-shadow: none;
}
}

@media (min-width: 960px) {
    .-parallel-top .l-header__logo {
        order: 2;
        padding: 0px 0;
    }
}

@media (min-width: 960px) {
    .-parallel-top .l-header__inner {
        padding-bottom: 0px;
    }
}

@media (min-width: 960px) {
.l-header {
    background: var(--color_header_bg);
    left: 0;
    top: 0;
    z-index: 100;
    opacity: 0.97;
}
}

@media not all and (min-width: 960px) {
.c-iconBtn__icon {
    display: block;
    font-size: 24px;
    color: white;
}
}

@media not all and (min-width: 960px) {
    header#header {
        background: #000000;
        border-bottom: #A5A4A5 2px solid;
        color: white;
    }
}

.CinDerellaGroupPhoto {
    width: 100%;
    opacity: 0.95;
}









/* 背景スライドショー共通 */
#bg-slideshow,
#bg-slideshow .slide {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

#bg-slideshow {
  z-index: -1;           /* 背景に回す */
  pointer-events: none;  /* 背景をクリックできないように */
}

/* 各スライド */
#bg-slideshow .slide {
  background: var(--img) no-repeat center center / cover;
  opacity: 0;
  animation: fadeShow 21s infinite ease-in-out;
}

/* 3枚ぶんのディレイ（等間隔） */
#bg-slideshow .slide:nth-child(1) { animation-delay: 0s;  }
#bg-slideshow .slide:nth-child(2) { animation-delay: 7s;  }
#bg-slideshow .slide:nth-child(3) { animation-delay: 14s; }

/* フェードスケジュール
   - 0%→4.76%    : フェードイン(約1s)
   - 4.76%→28.57%: 表示(約6s)
   - 28.57%→33.33%: フェードアウト(約1s)
   - 33.33%→100% : 非表示
   ※ 21s × 0.0476 ≒ 1s、× 0.2857 ≒ 6s
*/
@keyframes fadeShow {
  0%      { opacity: 0; }
  4.76%   { opacity: 1; }
  28.57%  { opacity: 1; }
  33.33%  { opacity: 0; }
  100%    { opacity: 0; }
}



/* コンテンツを前面へ */
#body_wrap { position: relative; z-index: 1; }

/* アニメーションを好まない設定に配慮（任意） */
@media (prefers-reduced-motion: reduce) {
  #bg-slideshow .slide { animation: none; }
}




.l-mainContent {
    position: static !important;
    width: 90%;
}





.glow-border {
    border: 1px solid #353535;
    border-radius: 37px;
}

.TopLogoSp {
    width: 166px !important;
    height: auto;
    margin: auto;
}


@media not all and (min-width: 960px) {
figure.aligncenter.size-full {
    margin-left: -26px;
    margin-right: -26px;
}
}

@media screen and (max-width: 782px) {
figure.aligncenter.size-full {
    margin-left: -18px;
    margin-right: -18px;
}
}

@media screen and (max-width: 782px) {
.wp-block-image.imageGazou {
    margin-right: -2px;
    margin-left: -2px;
}
}



@media screen and (max-width: 782px) {
.p-spMenu__inner::before {
    background: #3f3f3f;
    opacity: 0.8;
}
}

@media screen and (max-width: 782px) {
.c-widget__title.-spmenu {
    padding: .1em .75em;
    border-radius: 0px;
    background: #5b5b5b;
    color: #f1f1f1;
    text-align: center;
    font-weight: 400;
    margin-right: 26px;
    margin-left: 26px;
    margin-bottom: 8px;
}
}


@media screen and (max-width: 782px) {
p {
    margin-bottom: 1.4em !important;
}
}

.post_content ol, .post_content ul {
    background: #fdffff;
    padding-top: 12px;
}






