/*
Theme Name: seishin_theme
Author: Basara
Author URI: 
Version: 1.0
*/

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    backface-visibility: hidden;
}
html{ margin: 0; padding: 0; scroll-padding-top: 145px;}
body {
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP", "Hiragino Serif","Meiryo", sans-serif;
    font-size: 16px;
	font-weight:400;
    color:#343434;
    line-height:190%;
    word-break: break-all;
    overflow-x: hidden;
    background:#FCF8F4;
}
body.noscroll { overflow: hidden;}
div, p, ul, ul li, dl, dt, dd {
	margin: 0;
	padding: 0;
	font-size: 100%;
	list-style:none;
	box-sizing:border-box;
}
img, video, object {
    max-width: 100%;
    height: auto;
    border: none;
}
img{
	display: block;
	image-rendering: smoothe !important;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	line-height: 1.5;
}


a { color:#E76E2F; transition : all 0.5s ease 0s;}
a:visited { color:#EC976B;}
a[href^="tel:"] { text-decoration:none; pointer-events:none ; text-emphasis: none !important;}
a[href^="fax:"] { text-decoration:none; pointer-events:none ;}
@media only screen and (min-width:819px){
    a:hover {color:#E14D00; text-decoration: none;}
    a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
}


.pc {display: inherit;}
.pctb {display: inherit;}
.tb {display: none;}
.tbsp {display: none;}
.sp {display: none;}
.sps {display: none;}
@media only screen and (max-width:820px){
    .pc {display:none;}
    .pctb {display:block;}
    .tb {display:block;}
    .tbsp {display:block;}
    .sp {display:none;}
    .sps {display:none;}
}
@media only screen and (max-width:468px){
    .pc {display:none;}
    .pctb {display:none;}
    .tb {display:none;}
    .tbsp {display: block;}
    .sp {display:block;}
    .sps {display:none;}
}
@media only screen and (max-width:320px){
    .pc {display:none;}
    .pctb {display:none;}
    .tb {display:none;}
    .tbsp {display: block;}
    .sp {display:block;}
    .sps {display:block;}
}



.fix_bg {
    position:absolute; top: 0; left:-39%; right: 0; z-index: 9;
    width:100%; height: auto; max-width:1300px; aspect-ratio: 1625 / 815;
    margin: auto;
}
.fix_bg img { opacity:0.7;}
.fix_bg .bg_heart_p {
    position:absolute; top:-17%; left:0;
    width: 54.8%;
    opacity:0;
    transform: translateX(-40px) rotate(-6deg);
    animation: slideInLeft 1.2s ease-out forwards;
}
.fix_bg .bg_heart_w {
    position:absolute; bottom: 0; right:0;
    width: 52.34%;
    opacity:0;
    transform: translateX(40px) rotate(6deg);
    animation: slideInRight 1.2s ease-out forwards;
    animation-delay: 0.2s;
}
@keyframes slideInLeft {
    to { opacity:1; transform: translateX(0);}
}
@keyframes slideInRight {
    to { opacity:1; transform: translateX(0);}
}
@media only screen and (max-width:820px){
    .fix_bg { left:0; right: 0; aspect-ratio: 100 / 95;}
    .fix_bg .bg_heart_p { 
        top:-15%; left:-45%;
        width: 105%;
    }
    .fix_bg .bg_heart_w {
        bottom: 0; right:-40%;
        width: 95%;
    }
}
.home .fix_bg {
    position:absolute; top: 0; left: 0;
    width:100%; height: auto; max-width:1715px; aspect-ratio: 1715 / 773;
}
.home .fix_bg img { opacity:1;}
.home .fix_bg .bg_heart_p {
    position:absolute; top:-28%; left:0;
    width:52.2%;
}
.home .fix_bg .bg_heart_w {
    position:absolute; bottom: 0; right:5.5%;
    width:49.7%;
}
@media only screen and (max-width:820px){
    .home .fix_bg { aspect-ratio: 1 / 1.1;}
    .home .fix_bg .bg_heart_p {
        position:absolute; top:-20%; left:-40%;
        width:100%;
    }
    .home .fix_bg .bg_heart_w {
        position:absolute; bottom:20%; right:-30%;
        width:85%;
    }
}


/* =========================================================================================
Layout
=========================================================================================*/
#wrapper {
    position:relative;
    margin:0;
    padding:0;
    overflow: hidden;
}
#container {
    position: relative; z-index: 99;
    margin:0;
    padding:200px 0 100px;
}
article {
}
section {
}
.inner {
    margin: 0 auto;
    padding: 100px 0;
    width:96%;
    max-width: 1200px;
    position:relative;
    box-sizing:border-box;
}
@media only screen and (max-width:820px){
    #container { padding:150px 0 100px;}
    .inner { padding: 80px 0;}
}
@media only screen and (max-width:468px){
    #container{ padding:150px 0 50px;}
    .inner { padding: 60px 0;}
}



/*=========================================================================================
Header
=========================================================================================*/
#header {
    position:fixed; top: 0; left: 0; z-index: 999;
    width: 100%;
    transition: .5s;
}
#header.bg {
    background: rgba(255,255,255,0.90);
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
}
#header.fixhead {
    transform: translateY(-100%);
}
#header .inner {
    display: flex; flex-wrap: wrap; justify-content: space-between;
    padding: 25px 0;
    width: 96%; max-width: 1440px;
}

/* LOGO */
#header h1 {
    position: relative; top: 5px;
    width: 100%; max-width:315px;
    transition : all 0.5s ease 0s;
}
#header h1 a {
    display: block;
    width: 100%; height: auto; aspect-ratio: 300 / 55;
    text-indent: -9999px;
    background: url("images/logo.svg") no-repeat;
}

/* NAVI */
#header #nav { max-width:636px;  }
#header .nav_cont { display: flex; flex-wrap: wrap; gap:20px 30px;}
#header .nav1 { display: flex; gap:30px;}
#header .nav1 li a {
    padding-left:15px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-size:93.8%;
    text-decoration: none;
    line-height: 45px;
    color: #343434;
    background: url("images/arrow2_p.svg") no-repeat left center;
    background-size: 7px auto;
}
#header .nav2 { display: flex; gap:10px;}
#header .nav2 li { width: 170px;}
#header .nav2 li a {
    display: block;
    width: 100%; height: 45px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-size:106.2%;
    text-decoration: none;
    color: #fff;
    text-align: center;
    border-radius: 100px;
}
#header .nav2 li span {
    padding-left: 32px;
    line-height: 45px;
}
#header .nav2 li:nth-child(1) span {
    background:url("images/icon_entry.png") no-repeat left center;
    background-size: 25px auto;
}
#header .nav2 li:nth-child(2) span {
    background:url("images/icon_member.png") no-repeat left center;
    background-size: 22px auto;
}
#header .nav2 li:nth-child(1) a { background:#139E80;}
#header .nav2 li:nth-child(2) a { background:#E77875;}
#header .nav3 { display: flex; gap:20px 40px; width: 100%;}
#header .nav3 li a {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-size:125%;
    text-decoration: none;
    color: #343434;
    letter-spacing: 0.5px;
}
@media only screen and (min-width:809px){
    #header h1 { margin-bottom: 20px; }
    #header .nav1 li a:hover { color: #E14D00;}
    #header .nav2 li a:hover { opacity: 0.7;}
    #header .nav3 li a:hover { color: #E14D00;}
}
@media only screen and (max-width:1080px){
    #header h1 {max-width:280px;}
    #header #nav { max-width:655px; }
}
@media only screen and (max-width:986px){
    #header .inner { justify-content: center;}
}
@media only screen and (max-width:820px){
    #header .inner {
        justify-content:flex-start;
        padding:13px 0;
        min-height: 70px;
    }
    #header h1 {
        position: relative; top:0; left:20px;
        margin: 0; max-width:230px;
    }
    .nav_btn {
        display: block !important;
        cursor: pointer; 
        position:fixed; top:0; right:0;
        width: 70px; height:70px;
        background:#E87B78;
        border-bottom-left-radius:25px;
        transition : all 0.5s ease 0s;
        z-index: 9999;
    }
    .nav_btn span {
        display: block;
        position: absolute; left:0; right: 0;
        margin:auto;
        width:35px; height:3px;
        background:#fff;
        border-radius: 3px;
    }
    .nav_btn span:nth-of-type(1) { top:20px;}
    .nav_btn span:nth-of-type(2) { top:33px;}
    .nav_btn span:nth-of-type(3) { top:45px;}
    .nav_btn span::before,
    .nav_btn span::after {
        position: absolute; top: 0;
        display: block; clear: both; content:"";
        width: 5px; height: 3px;
        background:#E87B78;
    }
    .nav_btn span:nth-of-type(1)::before { left: 5px;}
    .nav_btn span:nth-of-type(2)::before { left: 10px;}
    .nav_btn span:nth-of-type(3)::before { left: 5px;}    
    .nav_btn span::after { display: none;}
    .nav_btn.active { background:rgba(232,123,120,0);}
    .nav_btn.active span { position: absolute; left:0; right: 0; margin:auto; background:#E87B78;}
    .nav_btn.active span:nth-of-type(1) { top:33px; transform:rotate(-45deg);}
    .nav_btn.active span:nth-of-type(2) { opacity: 0;}
    .nav_btn.active span:nth-of-type(3) { top:33px; transform:rotate(45deg);}
    .nav_btn.active span:nth-of-type(1)::after { right:5px;}
    .nav_btn.active span:nth-of-type(3)::before { left:25px;}
    .nav_btn.active span::before,
    .nav_btn.active span::after { background:#fff;}
    #header #nav {
        display: none;
        position:fixed; top: 0; left: 0; z-index:99;
        padding-bottom: 100px; 
        width: 100%; max-width:100%; height: 100vh; overflow: auto;
        background: rgba(255,255,255,0.95);
    }
    #header .nav_cont {
        flex-direction: column-reverse; justify-content: center; gap:35px;
        padding:15% 20px 50px;
    }
    #header .nav1,
    #header .nav2,
    #header .nav3 { flex-direction: column;}
    #header .nav1 { gap:20px; margin: auto; width: 90%;}
    #header .nav1 li a {
        padding-left: 20px;
        font-size:137.5%;
        line-height: 100%;
        background-size:10px auto;
    }
    #header .nav2 { gap:30px;}
    #header .nav2 li { width:100%;}
    #header .nav2 li a {
        height: 70px;
        font-size:137.5%;
        border-radius: 100px;
    }
    #header .nav2 li span {
        display: inline-block;
        padding-left: 45px;
        line-height: 70px;
    }
    #header .nav2 li:nth-child(1) span {
        background-size: 35px auto;
    }
    #header .nav2 li:nth-child(2) span {
        background-size: 32px auto;
    }
    #header .nav3 { display: flex; gap:20px 40px; margin: auto; width: 90%;}
    #header .nav3 li { padding-left:60px;}
    #header .nav3 li:nth-child(1) {
        background: url("images/illust/illust_nav1.png") no-repeat left bottom;
        background-size: 44px auto;
    }
    #header .nav3 li:nth-child(2) {
        background: url("images/illust/illust_nav2.png") no-repeat left bottom;
        background-size: 47px auto;
    }
    #header .nav3 li:nth-child(3) {
        background: url("images/illust/illust_nav3.png") no-repeat left bottom;
        background-size: 46px auto;
    }
    #header .nav3 li:nth-child(4) {
        background: url("images/illust/illust_nav4.png") no-repeat left bottom;
        background-size: 42px auto;
    }
    #header .nav3 li a {
        display: block;
        padding: 20px 0 10px;
        font-size:156.2%;
        background: url("images/line_dot.png") repeat-x left bottom;
        background-size: 11px auto;
    }
}
@media only screen and (max-width:468px){
    #header .nav_cont { padding-top:20%;}
}
@media only screen and (max-width:320px){
    #header h1 { max-width:200px;}
    #header .nav1 li a { font-size:112.5%; }
    #header .nav2 li a { font-size:125%; }
    #header .nav3 { width:100%;}
    #header .nav3 li a { font-size:125%; }
}



/* =========================================================================================
Footer
=========================================================================================*/
#footer { background: #fff;}
#footer .inner {
    position: relative;
    display: flex; flex-wrap: wrap; gap:40px;
    padding:45px 0 30px;
}
#footer .inner::before {
    position: absolute; bottom: 0; right: -20px;
    display: block; clear: both; content:"";
    width: 70%; height: auto; aspect-ratio: 1953 / 651;
    max-width: 675px;
    background:url("images/illust/illust_footer_pc.png") no-repeat;
    background-size: 100% auto;
}
#footer .f_cont:nth-child(1) {
    position: relative; z-index: 9;
    display: flex; flex-direction: column; gap:60px;
    width:100%; max-width: 400px;
}
#footer .f_cont:nth-child(2) {
    width: calc(100% - 400px - 40px);
}

/* LOGO */
#footer .logo {
    margin: auto;
    width: 100%; height: auto; aspect-ratio: 300 / 55;
    max-width: 314px;
    text-indent: -9999px;
    background: url("images/logo.svg") no-repeat;
}

/* ADDRESS */
#footer .add {
    display: flex; flex-wrap: wrap; gap:15px;
}
#footer .add p {
    display: flex; flex-wrap: wrap; align-items: flex-start; gap:10px;
    width:calc(50% - 7.5px);
    line-height: 150%;
}
#footer .add p:nth-child(n+1):nth-child(-n+2) { width: 100%;}
#footer .add p span:nth-child(1) {
    display: block;
    width:65px;
    font-size:87.5%;
    text-align:center;
    background:#F9F0E6;
    border-radius: 5px;
}
#footer .add p span:nth-child(2) {
    width: calc(100% - 65px - 10px);
    font-size: clamp(93.8%, 1.5vw, 100%);
}

/* FOOTER NAVI */
#footer .nav {
    display: flex; flex-wrap: wrap; justify-content: flex-end; gap:20px 45px;
}
#footer .nav li a {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-size: 112.5%;
    color: #343434;
    text-decoration: none;
}

/* COPYRIGHT */
#footer .copy { font-size:clamp(68.8%, 1.2vw, 81.2%);}

@media only screen and (min-width:809px){
    #footer .nav li a:hover { color: #E14D00;}
}
@media only screen and (max-width:820px){
    #footer .inner { padding-bottom:35%; display: block;}
    #footer .inner::before {
        left:0; right: 0;
        margin: auto;
        width: 80%; aspect-ratio: 1547 / 580;
        background:url("images/illust/illust_footer_sp.png") no-repeat center bottom;
        background-size: 96% auto;
    }
    #footer .nav { display: none;}
    #footer .logo { width: 230px;}
    #footer .f_cont { margin: auto !important; width:320px !important;}
    #footer .f_cont:nth-child(1) { max-width:320px; gap:35px 0;}
    #footer .add p { width: 100%;}
    #footer .copy { text-align: center;}
}
@media only screen and (max-width:468px){
    #footer .inner { padding-bottom:45%;}
    #footer .inner::before { width: 100%;}
}



/* =========================================================================================
Page Top
=========================================================================================*/
#page-top {
    position: fixed; right: 20px; bottom: 20px;
    z-index: 888;
}
#page-top a {
    display: block;
    width: 60px; height: 60px;
    text-indent: -9999px;
    background:#E77875 url("images/common/icon_pagetop.svg") no-repeat center center;
    background-size: 40px auto;
    border-radius: 100px;
}
@media only screen and (min-width:809px){
    #page-top a:hover{opacity: 0.7;}
}
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
    #page-top { right: 20px; bottom: 20px; }
    #page-top a { width: 50px; height: 50px; background-size: 35px auto; }
}



/* =========================================================================================
Post list
=========================================================================================*/
.post-list{
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 30px 0;
}
.post-list ul{
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.post-list ul li{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    gap: 10px 20px;
}
.post-list ul li .thumbnail{
    position: relative;
    border: 1px solid #000;
}
.post-list ul li .thumbnail img{
    object-fit: cover;
    aspect-ratio: 3 / 2;
    width: 100%;
}
.post-list ul li .thumbnail .new{
    position: absolute;
    top: 10px;
    left: 10px;
    color: #FFF;
    font-size: small;
    background: #000;
    padding: 2px 10px 0;
}
.post-list .title{
    font-size: 1.25em;
    font-weight:700;
}
.post-list .title a{
    color: #000;
}
.post-list .title a:hover{
    text-decoration: none;
    opacity: 0.7;
}
.post-list ul li .date{
    width:100px;
}
.post-list ul li .cat{
    font-size: 0.9em;
    width:100px;
    height: auto;
    text-align: center;
    padding: 2px 5px 0;
    border: 1px solid #000;
}
.post-list ul li .tag{
    padding: 10px 0;
    display: flex;
    align-items: start;
    justify-content: left;
    flex-wrap: wrap;
    gap:10px;
}
.post-list ul li .tag .icon{
    font-size: 0.9em;
    height: auto;
    text-align: center;
    display: inline-block;
    padding: 0.25em 1.0em 0.2em;
    border: 1px solid #CCC;
    background: #CCC;
}

/* card */
.post-list.card ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-items: stretch;
    flex-direction: row;
    gap: 30px;
}
.post-list.card li{
    padding: 1.0em;
    width: calc( ( 100% - 60px ) / 3 );
    border: 1px solid #000;
    flex-direction: column;
    gap: 20px;
}

@media only screen and (max-width:820px){
    .post-list ul li .cat{ width:fit-content;}
    .post-list ul li .title{ width: 100% }
    /* card */
    .post-list.card li{ width: calc( ( 100% - 30px ) / 2 ); }
}
@media only screen and (max-width:468px){
    /* card */
    .post-list.card li{ width: 100%; }
}


/* =========================================================================================
 Header Title ( Single / Archive / Page )
=========================================================================================*/
.entry-header {
    position: relative;
    display: flex; flex-direction: column; gap:10px;
    margin: 0 auto 55px; width: 96%; max-width: 1200px; min-height: 155px;
}
.entry-header h1.wp-block-heading { text-align: center;}
.entry-header h1.wp-block-heading span:nth-child(2) {
    font-size: clamp(156.2%, 2.7vw, 200%);
}
.entry-header .comment { margin-bottom: 0 !important; text-align: center; font-weight: 500;}
@media only screen and (max-width:820px){
    .entry-header { gap:40px; margin-bottom: 40px; width: 90%;}
    .entry-header h1.wp-block-heading,
    .entry-header .comment { text-align: left;}
}
@media only screen and (max-width:468px){
    .entry-header { min-height:inherit;}
}


.entry-header .illust { position: absolute; top: 0; right: 0;}
.entry-header .illust.i_about { width: 158px;}
.entry-header .illust.i_committee { top: -20px; width: 166px;}
.entry-header .illust.i_event { width: 150px;}
.entry-header .illust.i_report { width: 208px;}
.entry-header .illust.i_newsletter { width: 208px;}
.entry-header .illust.i_column { width: 208px;}
@media only screen and (max-width:820px){
    .entry-header .illust.i_about { width: 138px;}
    .entry-header .illust.i_committee { width: 146px;}
    .entry-header .illust.i_event { width: 131px;}
    .entry-header .illust.i_report { width: 188px;}
    .entry-header .illust.i_newsletter { width:188px;}
    .entry-header .illust.i_column { width:188px;}
}
@media only screen and (max-width:740px){
    .entry-header .illust.i_about { top:-70px; }
    .entry-header .illust.i_committee {  top:-70px; }
}
@media only screen and (max-width:468px){
    .entry-header .illust.i_about { top:-20px; width: 85px;}
    .entry-header .illust.i_committee { top:-20px; width: 85px;}
    .entry-header .illust.i_event { top:-20px; width:80px;}
    .entry-header .illust.i_report { width:100px;}
    .entry-header .illust.i_newsletter { top:0; right: -10px; width:100px;}
    .entry-header .illust.i_column { top:-60px; width:100px;}
}
@media only screen and (max-width:320px){
    .entry-header .illust.i_event { top: -70px; right: -5%;}
    .entry-header .illust.i_newsletter { top: -60px;}
}



/* =========================================================================================
Breadcrumbs ( Single / Archive / Page )
=========================================================================================*/
.breadcrumbs {
    display: flex; gap:15px;
    margin:0 auto 40px;
    width: 90%; max-width: 1200px;
    font-size: 87.5%;
}
.breadcrumbs li.home a {
    padding-left:30px;
    background-size: 20px auto !important;
}
.breadcrumbs li + li {
    padding-left:20px;
    background-size: 6px auto !important;
}
.breadcrumbs li a { color: #343434; text-decoration: none; transition : all 0.5s ease 0s;}
.breadcrumbs.pan_p li.home a {
    background: url("images/icon_home_p.svg") no-repeat;
}
.breadcrumbs.pan_p li + li {
    background: url("images/arrow2_p.svg") no-repeat left 12px;
}
.breadcrumbs.pan_g li.home a {
    background: url("images/icon_home_g.svg") no-repeat;
}
.breadcrumbs.pan_g li + li {
    background: url("images/arrow2_g.svg") no-repeat left 12px;
}
@media only screen and (min-width:819px){
    .breadcrumbs li a:hover { color:#E14D00; text-decoration:underline;}
}
@media only screen and (max-width:468px){
    .breadcrumbs { display: none;}
}



/* =========================================================================================
  Editer
=========================================================================================*/

/*Hr*/
.wp-block-separator{
    margin-block:3em;
}
.wp-block-separator.is-style-dots:before{
    font-size:1.0em;
    padding-left:0em;
}

/* 引用（blockquote） */
.wp-block-quote {
    position:relative;
    padding: 20px;
    background:#f5f5f5;

    & cite {
        display: block;
        font-size: 0.8rem;
        text-align: right;
        color: #808080;
        padding-right:20px;
    }
}

/*
* ボタン（editor-style.cssに同じ記述あり）
*   .wp-block-buttons：ボタン
*   .wp-block-file：ファイルアップロード
*/
.wp-block-buttons {
    font-size:15px;

    & .wp-block-button {
        position:relative;

        &::before,
        &::after {
            position: absolute;
            display: block; clear: both; content:"";
            width: 4px; height: 2px;
            background:#fff;
        }
        &::before { top:0px; left:40px;}
        &::after { bottom:0px; right:40px;}
    }
}
.wp-block-buttons a,
.wp-block-file .wp-block-file__button {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0.5em;
    margin-inline:auto;
    padding:0.5em 1.5em;
    width:fit-content!important;
    color: #E76E2F;
    background-color:transparent;
    border:2px solid currentColor;
    transition:background-color 0.3s ease-in-out;

    &::after {
        content:"";
        display:block;
        width:1.5em;
        aspect-ratio:1;
        background-color:currentColor;
        mask:url(images/arrow1_o.svg) no-repeat center / contain;
        transition:translate 0.3s ease-in-out;
    }
    &:is(:focus-visible, :active) {
        background-color:#FFF3EC;
        &::after { translate:50% 0;}
    }
    @media(hover:hover) {
        &:hover {
            background-color:#FFF3EC;
            &::after { translate:50% 0;}
        }
    }
}
.wp-block-file .wp-block-file__button { display:inline-flex;}

/* 埋め込み動画のレスポンシブ化 */
iframe:is([src*="youtube.com"], [src*="youtube-nocookie.com"]){
    height: auto;
    aspect-ratio: 16 / 9;
}

/* メディアとテキスト */
.wp-block-media-text { gap:1em 0;}

@media only screen and (min-width:809px){
}
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
ITEM
=========================================================================================*/
.sb_content {
    /*display: flex; flex-direction: column; gap:20px;*/
    margin: auto;
    width: 90%; max-width: 1200px;
}


/* TITLE */
.main_tit span,
h1.wp-block-heading span { display: inline-block;}
.main_tit span:nth-child(1),
h1.wp-block-heading span:nth-child(1) {
    display: inline-block;
    padding-left:20px;
    font-family: "Josefin Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(118.8%, 2.2vw, 150%);
    background-size: 13px auto !important;
}
.main_tit span:nth-child(2),
h1.wp-block-heading span:nth-child(2) {
    display:block;
    margin-top: 5px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    font-size: clamp(156.2%, 2.7vw, 187.5%);
}
h1.wp-block-heading span:nth-child(2) { margin-top:0;}
.main_tit .heart_p,
h1.wp-block-heading .heart_p {
    color: #E87B78;
    background: url("images/icon_heart_p.svg") no-repeat left center;
}
.main_tit .heart_g,
h1.wp-block-heading .heart_g {
    color: #56A154;
    background: url("images/icon_heart_g.svg") no-repeat left center;
}

.entry-content h1.wp-block-heading {
    font-size:clamp(156.2%, 2.7vw, 187.5%)
}

h2.wp-block-heading {
    position: relative;
    margin: 50px 0 20px;
    font-size: clamp(112.5%, 1.9vw, 125%);
}
.entry-content h1.wp-block-heading,
h2.wp-block-heading.type1 {
    padding: 15px;
	font-weight:700;
    border-top: 3px solid #E87B78;
    border-bottom: 3px solid #E87B78;
}

h2.wp-block-heading,
h2.wp-block-heading.type2 {
    padding: 0 0 15px;
	font-weight:700;
    border-bottom: 3px solid #D9D9D9;

    &::after {
        display: block; clear: both; content:"";
        position: absolute; left: 0; bottom:-3px;
        width: 200px; height: 3px;
        background: #E87B78;
    }
}
h2.wp-block-heading.type3 {
    position: relative;
    padding: 15px;
	font-weight:700;
    border-left:8px solid #E87B78;
    background: #F7F7F7;
}
h2.wp-block-heading.type3::after {
    display: block; clear: both; content:"";
    position: absolute; left:-8px; bottom:0;
    width:8px; height:50%;
    background: #D05E5B
}


h3.wp-block-heading {
    position:relative;
    margin: 50px 0 20px;
    font-size: clamp(112.5%, 1.9vw, 125%);
}
h3.wp-block-heading,
h3.wp-block-heading.type1 {
    padding: 15px;
    background: #FFEFEE;
    border-radius: 5px;
}
h3.wp-block-heading.type2 {
    padding: 20px 15px 20px 30px;
    background: #F7F7F7;
    border-radius: 5px;
}
h3.wp-block-heading.type2::after {
    display: block; clear: both; content:"";
    position: absolute; top: 0; left: 15px; bottom:0;
    margin: auto;
    width: 5px; height:calc(100% - 30px);
    border-radius: 5px;
    background: #E87B78;
}
h3.wp-block-heading.type3 {
    padding: 20px;
    background: #F7F7F7;
}
h3.wp-block-heading.type3::after {
    display: block; clear: both; content:"";
    position: absolute; top: 5px; left: 5px;
    width:calc(100% - 10px); height:calc(100% - 10px);
    border: 1px dashed #C6C6C6;
}


h4.wp-block-heading {
    position:relative;
    margin: 50px 0 20px;
    font-size: clamp(112.5%, 2.1vw, 137.5%);
    color: #DA5956;
}
h4.wp-block-heading.type1 {}
h4.wp-block-heading.type2 { padding-left: 30px;}
h4.wp-block-heading.type2::after {
    display: block; clear: both; content:"";
    position: absolute; top: 8px; left:0;
    width:20px; height:auto; aspect-ratio: 1 / 1;
    border: 5px solid#DA5956;
    border-radius: 14px;
    box-sizing: border-box;
}
h4.wp-block-heading.type3 {
    padding: 7px 15px;
    border-left: 5px solid #DA5956;
}
.sb_content .wp-block-heading:first-child {
    margin-top: 0 !important;
}
h5.wp-block-heading {
    font-size:1.25em;
    color:#DA5956;
    margin-block:2em 1em;
}
h6.wp-block-heading {
    font-size:1em;
    color:#DA5956;
    margin-block:2em 1em;
}

/* COMMENT */
.comment {
    margin-bottom: 20px;
    color: #505050;
    line-height:190%;
}
.sb_content p { margin-bottom: 20px;}


/* BUTTON */
.btn { position: relative;}
.btn a { text-decoration: none; transition: 0.3s ease-in-out;}
.btn.b_main { width: 100%; max-width: 195px;}
.btn.b_main a {
    display: block;
    padding: 0 25px 0 30px !important;
    font-weight: 700;
    color: #fff;
	text-align:left;
    line-height: 55px;
    background:#E76E2F url("images/arrow1_w.svg") no-repeat 87% center;
    background-size: 27px auto;
    border-radius: 55px;
    box-sizing:border-box;
}
.btn.b_sub { position: relative;}
.btn.b_sub a {
    display: block;
    padding: 0 15px;
    font-size: 87.5%;
    font-weight: 700;
    line-height: 40px;
    background-size: 21px auto !important;
    border-radius: 40px;
    box-sizing:border-box;
}
.btn.b_sub::before,
.btn.b_sub::after {
    position: absolute;
    display: block; clear: both; content:"";
    width: 4px; height: 2px;
    background:#fff;
}
.btn.b_sub::before { top:0; left: 40px;}
.btn.b_sub::after { bottom:0; right: 40px;}
.btn.b_sub.b_o { width: 100%; max-width:145px;}
.btn.b_sub.b_o a {
    color: #E76E2F;
    background:#fff url("images/arrow1_o.svg") no-repeat 85% center;
    border:2px solid #E76E2F;
}
.btn.b_sub.b_g { max-width:155px;}
.btn.b_sub.b_g a {
    color: #56A154;
    background:#fff url("images/arrow1_g.svg") no-repeat 85% center;
    border:2px solid #56A154;
}
.btn.w_free { width: auto; min-width: 195px; max-width: none !important;}
.btn.w_free a { padding: 0 15px;}


.btn.b_main_back { margin: auto; width: 100%; max-width: 240px;}
.btn.b_main_back a {
    display: block;
    padding: 0 25px 0 30px !important;
    font-weight: 700;
    color: #fff;
	text-align:right;
    line-height: 55px;
    background:#E76E2F url("images/arrow1_w2.svg") no-repeat 25px center;
    background-size: 27px auto;
    border-radius: 55px;
    box-sizing:border-box;
}
@media only screen and (min-width:819px){
    .btn.b_main a:hover {
        background-color: #E14D00;
        background-position: 90% center;
    }
    .btn.b_sub.b_o a:hover {
        background-color: #FFF3EC;
        background-position: 90% center;
    }
    .btn.b_sub.b_g a:hover {
        background-color: #F1FFF0;
        background-position: 90% center;
    }
    .btn.b_main_back a:hover {
        background-color: #E14D00;
        background-position: 15px center;
    }
}


/* LIST */
:is(ul, ol).wp-block-list {
    display: flex; flex-direction: column; gap:10px;
    margin-bottom: 20px;
    width: 100%;
    padding-left:6em;

    & li { width:100%;}
    & li::marker { color:#E87B78}
    & :is(ul, ol).wp-block-list { margin-bottom:0px; padding-left:3em;}
}
ul.wp-block-list li { list-style:disc;}
@media only screen and (max-width:468px){
    :is(ul, ol).wp-block-list {
        padding-left:3em;

        & :is(ul, ol).wp-block-list { padding-left:1em;}
    }
}


/* TABLE */
.sp_table2 table,
.sp_table2 table th,
.sp_table2 table td { border: none !important;}
.sp_table2 table,
table {
    margin-bottom: 20px;
    border-spacing: 0;
    border-color: #ccc !important;
    border-top: 1px solid #ccc !important;
    border-left: 1px solid #ccc !important;
    background: #fff;
}
.sp_table2 table th,
.sp_table2 table td,
table th,
table td {
    padding:15px 20px;
    border-color: #ccc !important;
    border-right: 1px solid #ccc !important;
    border-bottom: 1px solid #ccc !important;
}
table th { width: 195px; background: #FFFCEE;}
.sp_table2 table th { width: 195px; background: #FFFCEE;}

.sp_table2 table tr td:nth-child(1) { width: 195px; background: #FFFCEE;}
@media only screen and (max-width:468px){
    .sp_table2 table { table-layout:auto;}
    .sp_table2 table th,
    .sp_table2 table tr td:nth-child(1),
    .sp_table2 table td{
        table-layout:auto !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        box-sizing: border-box;
    }
}


/* FAQ */
.faq {
    display: flex; flex-direction: column; gap:30px;
    margin-bottom: 50px;
    padding: 0 0 30px;
    background: url("images/faq_line.png") repeat-x left bottom;
    background-size: 10px auto;
}
.faq .wp-block-group__inner-container {display: flex; flex-direction: column; gap:30px;}
.faq p { margin-bottom: 0;}
.faq .faq_q ,
.faq .faq_a {
    min-height: 43px;
    padding-left:70px;
    background-size: 43px auto !important;
}
.faq .faq_q {
    font-size: clamp(112.5%, 2vw, 131.2%);
    font-weight: 700;
    color:#E87B78;
    background: url("images/faq_q.png") no-repeat left top;
}
.faq .faq_a {
    background: url("images/faq_a.png") no-repeat left 5px;
}


/* SET */
.set_box { margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 50px 100px;}
.set_box.row_l { flex-direction: row;}
.set_box.row_r { flex-direction: row-reverse;}
.set_box .photo { width: 100%; max-width: 36%;}
.set_box .photo .cap { margin-top:10px; padding: 15px; text-align: center; background:#F7F7F7;}
.set_box .comment { width:calc(100% - 100px - 36%);}
@media only screen and (max-width:468px){
    .set_box { flex-direction:column-reverse !important;}
    .set_box .photo,
    .set_box .comment { width: 100%; max-width: none;}
}


/* PAGE NAMBER */
.page-numbers { display: flex; justify-content: center; gap:15px;}
.page-numbers li { position: relative;}
.page-numbers li a::before,
.page-numbers li span::before {
    position: absolute; top:-2px; left:-2px;
    display: block; clear: both; content:"";
    width:52px; height:auto; aspect-ratio: 1 / 1;
    background: url("images/pagenumber_kake.svg") no-repeat;
    background-size: 100% auto;
    transition: 0.3s ease-in-out;
}
.page-numbers li a,
.page-numbers li span {
    position: relative;
    display: block;
    width: 52px; height: auto; aspect-ratio: 1 / 1;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    line-height: 48px;
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 100px;
    box-sizing: border-box;
    transition: 0.3s ease-in-out;
}
.page-numbers li .prev,
.page-numbers li .next { text-indent: -9999px;}
.page-numbers li .prev {
    background-size: 21px auto !important;
    transform: rotate(180deg);
}
.page-numbers li .next {
    background-size: 21px auto!important;
}
.page-numbers li .current::before { display: none;}
.page_p .page-numbers li .prev { background:#fff url("images/arrow1_p.svg") no-repeat center center;}
.page_p .page-numbers li .next { background:#fff url("images/arrow1_p.svg") no-repeat center center;}
.page_p .page-numbers li a,
.page_p .page-numbers li span { color:#E87B78; border-color:#E87B78; }
.page_p .page-numbers li .current { color: #fff; background:#E87B78;}
.page_g .page-numbers li .prev { background:#fff url("images/arrow1_g.svg") no-repeat center center;}
.page_g .page-numbers li .next { background:#fff url("images/arrow1_g.svg") no-repeat center center;}
.page_g .page-numbers li a,
.page_g .page-numbers li span { color:#56A154;  border-color:#56A154;}
.page_g .page-numbers li .current { color: #fff; background:#56A154;}
/* @media only screen and (min-width:809px){
    .page-numbers a:hover::before,
    .page-numbers span:hover::before { display: block;}
    .page_p .page-numbers a:hover,
    .page_p .page-numbers span:hover {
        color:#E87B78;
        background-color: #FFF3F3;
        background-position: 70% center;
    }
    .page_g .page-numbers a:hover,
    .page_g .page-numbers span:hover {
        color:#56A154;
        background-color: #F1FFF0;
        background-position: 70% center;
    }
} */
@media only screen and (max-width:468px){
    .page-numbers { gap:5px;}
    .page-numbers li a::before,
    .page-numbers li span::before { width:42px;}
    .page-numbers li a,
    .page-numbers li span { width: 42px; line-height: 38px;}
}



/* SHINGLE NAVI */
.single-navi {
    display: flex; justify-content: center; gap:15px;
    margin: auto;
}
.single-navi div { position: relative; display: block; width: 130px;}
.single-navi a {
    display: block;
    padding: 0 20px;
    font-size: 87.5%;
    font-weight: 700;
    text-decoration: none;
    line-height: 40px;
    background-color: #fff;
    background-size: 21px auto !important;
    border-radius: 40px;
    box-sizing:border-box;
}
.single-navi div::before,
.single-navi div::after {
    position: absolute;
    display: block; clear: both; content:"";
    width: 4px; height: 2px;
    background:#fff;
}
.single-navi  div::before { top:0; left: 40px;}
.single-navi  div::after { bottom:0; right: 40px;}
.single-navi .prev-navi { text-align: right;}
.single-navi .back-navi { text-align: center;}
.single-navi.page_p a { color: #E87B78; border:2px solid #E87B78;}
.single-navi.page_p .prev-navi a {
    background:#fff url("images/arrow1_p2.svg") no-repeat 15% center;
}
.single-navi.page_p .next-navi a {
    background:#fff url("images/arrow1_p.svg") no-repeat 85% center;
}
.entry-content + .single-navi { margin-top: 50px;}
@media only screen and (min-width:809px){
    .single-navi.page_p a:hover,
    .single-navi.page_p span:hover {
        color:#E87B78;
        background-color: #FFF3F3;
    }
    .single-navi.page_p .prev-navi a:hover { background-position: 10% center;}
    .single-navi.page_p .next-navi a:hover { background-position: 90% center;}
}
@media only screen and (max-width:468px){
    .single-navi { position: relative; padding-bottom: 60px;}
    .single-navi .back-navi { position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
    .single-navi:not(:has(.prev-navi)) .back-navi,
    .single-navi:not(:has(.next-navi)) .back-navi { position:static; margin: 0;}
}



/* =========================================================================================
Archive-Page
=========================================================================================*/
.archive .post-list{
    border-top:none;
    border-bottom:none;
    padding:0;
}



/* =========================================================================================
Single-Page
=========================================================================================*/
#single_page .sb_content {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    background:#fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
    border-radius: 10px;
    overflow: hidden;
}
#single_page .single_content { margin: auto; max-width: 1000px; width: 100%;}
#single_page .page_title {
    display: flex; flex-direction: column; gap:17px;
    margin-bottom: 20px;
}
#single_page .page_title h2 {
    font-size: clamp(125%, 2.2vw, 150%);
}
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
Page(free)
=========================================================================================*/
#free_page .sb_content {
    position: relative;
    padding-left: 5%;
    padding-right: 5%;
    background:#fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
    border-radius: 10px;
    overflow: hidden;
}
#free_page .free_content { margin: auto; max-width: 1000px; width: 100%;}
#free_page .page_title {
    display: flex; flex-direction: column; gap:17px;
    margin-bottom: 20px;
}
#free_page .page_title h2 {
    font-size: clamp(125%, 2.2vw, 150%);
}
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
ARCHIVE(News)
=========================================================================================*/
#news .sb_content { padding-top:0;}
#news .news_list {
    display: flex; flex-direction: column; gap:30px;
}
#news .news_list .box {
    background: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
    border-radius: 10px;
}
#news .news_list .box a { display: flex; gap:20px; padding:20px 30px; color: #505050; text-decoration: none;}
#news .news_list .box a span:nth-child(1) { width: 100px;}
#single_page .page_title h2 .news_cate,
#news .news_list .box a span:nth-child(2) { 
    position: relative; top: 5px;
    width: 60px;
    height: 23px;
    line-height: 21px;
    color: #E76E2F;
    border: 1px solid #E76E2F;
    text-align: center;
    font-size: 12px;
    border-radius: 5px;
}
#news .news_list .box a span:nth-child(3) {
    width: calc(100% - 100px - 60px);
    transition : all 0.5s ease 0s;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
#single_page .page_title h2 .news_cate { display:inline-block; top:-2px; left: 10px; font-weight: 500;}
@media only screen and (min-width:819px){
    #news .news_list .box a:hover span:nth-child(3) {color:#E14D00; text-decoration:underline;}
}
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
    #news .news_list { gap:20px; width:100%;}
    #news .news_list { margin: auto; width: 100%;}
    #news .news_list .box a { flex-wrap: wrap; gap:0; line-height: 150%;}
    #news .news_list .box a span:nth-child(2) { top: 0;}
    #news .news_list .box a span:nth-child(3) { width: 100%;}
    #news .news_list .box .news_cate { top: 7px;}
}



/* =========================================================================================
ARCHIVE(Newsletter)
=========================================================================================*/
#newsletter .sb_content { padding-top:0;}
#newsletter .newsletter_list {
    /* display: flex;
    flex-wrap: wrap;
    gap:40px 65px; */
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
    row-gap:min(40px, 3.3333vw);/* vp:1200px 40px */
    column-gap:min(65px, 5.4166vw);/* vp:1200px 65px */
    margin: auto;
}
#newsletter .newsletter_list .box {
    /* width:calc(25% - 48.75px); */
    text-align: center;
}
#newsletter .newsletter_list .box a { text-decoration: none;}
#newsletter .newsletter_list .box .photo { border: 1px solid #56A154;}
#newsletter .newsletter_list .box .photo img { width: 100%; height: auto; aspect-ratio: 1 / 1.4; object-fit:cover;}
#newsletter .newsletter_list .box .comment { 
    margin-top: 15px;
    line-height: 150%;
}
@media only screen and (max-width:820px){
    #newsletter .newsletter_list { grid-template-columns:repeat(2, 1fr);}
    /* #newsletter .newsletter_list { gap:40px 40px;}
    #newsletter .newsletter_list .box { width:calc(33.3% - 26.5px);} */
}
@media only screen and (max-width:468px){
    /* #newsletter .newsletter_list { gap:15px 20px; width: 100%;}
    #newsletter .newsletter_list .box { width:calc(50% - 10px);} */
    #newsletter .newsletter_list .box .comment { margin-top: 10px;}
}




/* =========================================================================================
ARCHIVE(Column)
=========================================================================================*/
#column .sb_content { padding-top:0;}
#column .column_list {
    display: flex; flex-direction: column; gap:30px;
}
#column .column_list .box {
    display: flex; flex-wrap: wrap; gap:20px;
    padding: 20px 30px;
    background: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
    border-radius: 20px;
}
#column .column_list .box a { text-decoration: none;}
#column .column_list .box .tit {
    position: relative; top: 5px;
    width: calc(100% - 20px - 155px);
    font-size: clamp(100%, 1.7vw, 112.5%);
    font-weight: 700;
    color: #186308;
}
#column .column_list .box .b_sub { width: 155px;}
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
    #column .column_list { gap:20px;}
    #column .column_list .box { flex-direction: column;}
    #column .column_list .box .tit { width: 100%;}
}




/* =========================================================================================
ARCHIVE(Report)
=========================================================================================*/
#report .sb_content { padding-top:0;}
#report .report_list {
    display: flex; flex-direction: column; gap:30px;
}
#report .report_list .box {
    display: flex; flex-wrap: wrap; gap:60px;
    padding: 20px;
    background: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
    border-radius: 10px;
}
#report .report_list .box  a { text-decoration: none;}
#report .report_list .box .photo {
    position: relative;
    width: 370px;
    border-radius: 10px;
    overflow: hidden;
}
#report .report_list .box .photo img {
    width: 100%; height: auto;
    aspect-ratio: 370 / 200;
    object-fit: cover;
    border-radius: 10px;
}
#report .report_list .box .cate {
    position: absolute; top: 0; right: 0;
    padding:  0 15px;
    color: #fff;
    text-align: center;
    line-height: 31px;
    border-bottom-left-radius: 10px;
}
#report .report_list .box .cate1 { background: #009174;}
#report .report_list .box .cont {
    display: flex; flex-direction: column; gap:15px;
    width: calc(100% - 60px - 370px - 30px);
}
#report .report_list .box .data {
    text-align: right;
    font-size: 93.8%;
}
#report .report_list .box .tit {
    position: relative; top: 5px;
    margin-bottom: 15px;
    font-size: clamp(100%, 1.7vw, 112.5%);
    font-weight: 700;
}
#report .report_list .box .comment {
    line-height: 150%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
#report .report_list .box .b_sub { display: block !important; align-self: flex-end !important; width: auto; max-width:none;}
#report .report_list .box .b_sub a { width: 155px;}
@media only screen and (max-width:820px){
    #report .report_list .box { gap:30px;}
    #report .report_list .box .photo { width: 250px;}
    #report .report_list .box .photo img { aspect-ratio: 370 / 310; }
    #report .report_list .box .cont { width: calc(100% - 30px - 250px - 15px);}
}
@media only screen and (max-width:468px){
    #report .report_list .box { padding: 0;  gap:0;}
    #report .report_list .box a {
        display:flex; flex-direction: column; gap:0;
        color: #343434;
    }
    #report .report_list .box .photo { width: 100%;}
    #report .report_list .box .photo img { aspect-ratio: 370 / 200;}
    #report .report_list .box .photo,
    #report .report_list .box .photo img {    
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    #report .report_list .box .cont {
        flex-direction: column-reverse;
        padding: 15px;
        width: 100%;
    }
    #report .report_list .box .b_sub { display:none !important;}
}




/* =========================================================================================
ARCHIVE(Event)
=========================================================================================*/
#event .sb_content { padding-top:0;}
.event_cate {
    position: absolute; top: 0; right: 0; z-index: 9;
    padding:  0 15px;
    font-size: clamp(93.8%, 1.6vw, 112.5%);
    color: #fff;
    text-align: center;
    line-height: 31px;
    border-bottom-left-radius: 10px;
    background-color:var(--termColor, #e76e2f);/* カテゴリー管理画面に指定された色を取得、反映。後ろの色はフォールバック */
}
.box .event_cate { font-size: clamp(75%, 1.2vw, 87.5%);}


.event_status {
    position: absolute; top:-15px; left: 15px; z-index: 9;
    padding: 0 10px;
    min-width: 65px;
    font-size: clamp(75%, 1.2vw, 87.5%);
    font-weight:bold;
    line-height: 25px;
    text-align: center;
    background: #fff;
    border:1px solid #000;
    border-radius: 50px;
}
.event_status.status1 { color:#000DFF; border-color:#000DFF; } /* 受け受け中 */
.event_status.status2 { color:#343434; border-color:#343434; } /* 終了 */
.event_status.status3 { color:#DB1414; border-color:#DB1414; } /* 中止 */
.event_status.status4 { color:#FF6F24; border-color:#FF6F24; } /* 開催中 */
.event_status.status5 { color:#00A4FF; border-color:#00A4FF; } /* 当日参加OK */
.event_status.status6 { color:#343434; border-color:#343434; } /* 延期 */
.box:has(.event_status.status2) .pic::before,
.box:has(.event_status.status3) .pic::before {
	position:absolute; top:0; left:0; z-index: 8;
	display:block; clear:both; content:"";
	width:100%; height:100%;
	background:rgba(0,0,0,0.60) !important;
}
.box:has(.event_status.status2) .pic img,
.box:has(.event_status.status3) .pic img { opacity:1 !important;}

.event_status.status5 { position:static; margin:0px;}

#single_page .event_status { position: static; display: inline-block; margin:0px; font-size: 14px;}

/* .event_list：共通 */
.event_list {
    display: flex;
    flex-wrap: wrap;
    gap:40px 30px;
}
.event_list .box {
    width:calc(25% - 22.5px);
    background: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.03);
    border-radius: 10px;
    overflow: hidden;
}
.event_list .box p { margin:0px;}
.event_list .box a { color: #505050; text-decoration: none;}
.event_list .box .photo { position: relative;}
.event_list .box .photo .pic {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: auto;
    aspect-ratio: 960 / 600;
    background: #f6f6f6;
}
.event_list .box .photo .pic img {
    margin: auto;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
.event_list .box .cont {
    position: relative;
    display: flex; flex-direction: column; gap:5px;
    padding: 30px 25px;
}
.event_list .box .tit {
    margin-bottom: 15px;
    font-size: clamp(87.5%, 1.7vw, 112.5%);
    font-weight: 700;
    line-height: 150%;
}
.event_list .box .mid {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1em;
    /* padding: 2px 0; */
    padding:0.5em 0;
    font-weight: 700;
    font-size: clamp(75%, 1.5vw, 100%);
    text-align: center;
    border-top: 1px dashed #343434;
    border-bottom: 1px dashed #343434;
}
.event_list .box .data {
    font-size: clamp(81.2%, 1.4vw, 93.8%);
    line-height: 150%;
}
@media only screen and (max-width:820px){
    .event_list { gap:40px 20px;}
    .event_list .box { width:calc(33.3% - 13.33px);}
}
@media only screen and (max-width:468px){
    .event_list { gap:30px 20px;}
    .event_list .box { width:calc(50% - 10px);}
    .event_list .box .cont { padding: 20px 15px;}
    .event_list .box .mid { line-height: 150%;}
}
@media only screen and (max-width:320px){
    .event_list .box { width:100%;}
}



/* =========================================================================================
Page(contact)
=========================================================================================*/
#contact table.mailform {
    margin: auto;
    width: 100%;
    border-spacing: 0;
    border:none !important;
}
#contact table.mailform th,
#contact table.mailform td {
    padding:15px 0;
    border-right:none !important;
    border-bottom: 1px solid #ccc !important;
    background: none !important;
}
#contact table.mailform th { width:250px; text-align: left; vertical-align: top;}
#contact table.mailform label {font-weight:700;}
#contact table.mailform input[type="tel"],
#contact table.mailform input[type="text"],
#contact table.mailform input[type="email"],
#contact table.mailform textarea {
	padding:5px 10px;
    width:100%;
	border:1px solid #EEE;
	background:#f6f6f6;
	box-sizing:border-box;
	border-radius:5px;
}
#contact table.mailform textarea { height:200px;}
#contact table.mailform select { padding:5px 10px; border:1px solid #EEE; background:#FAFAFA;}
#contact table.mailform input[type="file"] { display:block; padding:5px; background:#F6F6F6;}
#contact table.mailform input:focus,
#contact table.mailform textarea:focus {
    background:rgba(144,202,197,0.10);
    outline: none; 
}
#contact table.mailform .txt_namae { max-width:360px;}
#contact table.mailform .txt_other { max-width:360px;}
#contact table.mailform .txt_telfax { max-width:360px;}
#contact table.mailform .txt_mail { max-width:520px;}
#contact table.mailform .txt_add { max-width:520px;}
#contact table.mailform th span {
    position: relative;
    display: inline-block;
    margin-left:10px;
    width: 50px; height: 20px; line-height: 20px;
    color: #fff;
    font-size: 10px;
    text-align: center;
    background:rgba(217,66,68,1.00);
    border-radius: 30px;
}
#contact .b_box {
    display: flex; justify-content: center; gap:10px 20px;
    margin-top: 40px;
}
#contact .b_inqu input[type="submit"],
#contact .b_inqu input[type="reset"],
#contact .b_inqu input[type="button"]{
    cursor: pointer;
	font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	margin:0 10px;
	padding:10px;
	width:200px;
	font-weight:bold;
	font-size:140%;
	border:none;
	color:#FFF;
    border-radius: 50px;
    transition : all 0.5s ease 0s;
}
#contact .b_inqu input[type="submit"] { background:#E76E2F;}
#contact .b_inqu input[type="reset"] { background:#555;}
#contact .b_inqu input[type="button"] { background:#555;}

/* ERROR */
#contact .error_mess { display: flex; flex-direction: column; gap:20px;}
#contact .error_mess .error_mid { font-size: 125%; text-align: center; color: rgba(212,0,3,1.00);}
#contact .error_mess .comment { text-align: center;}
#contact .error_mess .error_list { padding: 20px; background: rgba(212,0,3,0.10);}

/* CONFIRMATION */
#contact .confi_mess { display: flex; flex-direction: column; gap:20px;}
#contact .confi_mess .confi_mid { font-size: 125%; text-align: center;}
#contact .confi_mess .comment { text-align: center;}

@media only screen and (min-width:819px){
    #contact table.mailform input[type="text"]:focus,
    #contact table.mailform textarea:focus { background:#FFEFEF; transition:.3s;}
    #contact .b_inqu input[type="submit"]:hover,
    #contact .b_inqu input[type="reset"]:hover,
    #contact .b_inqu input[type="button"]:hover { opacity: 0.7; filter: alpha(opacity=70);}
}
@media only screen and (max-width:820px){
    #contact table.mailform,
    #contact table.mailform tbody,
    #contact table.mailform tr,
    #contact table.mailform th,
    #contact table.mailform td {
        table-layout:auto !important;
        display:block !important;
        width:100% !important;
        height:auto !important;
        box-sizing: border-box !important;
    }
    #contact table.mailform input[type="tel"],
    #contact table.mailform input[type="text"],
    #contact table.mailform input[type="email"],
    #contact table.mailform textarea { width: 100%; max-width: inherit;}
    #contact table.mailform td { border-bottom: none !important;}
    #contact .b_box { flex-direction: column;}
    #contact .b_box p { margin: auto;}
}
@media only screen and (max-width:320px){
}

/* =========================================================================================
パスワード設定
=========================================================================================*/
label[for^="pwbox"] {

    & input[type="password"] {
        padding: 5px 10px;
        border: 1px solid #EEE;
        background: #f6f6f6;
        box-sizing: border-box;
        border-radius: 5px;
    }
    & + input[type="submit"] {
        padding-inline:1em;
        background-color:#E76E2F;
        border-radius:100vmax;
        color:#fff;
    }
}


/* =========================================================================================
Page(404)
=========================================================================================*/
.error404 .entry-header{
    text-align: center;
    padding:40px 20px;
    margin: 0 ;
}
.error404 .inner { padding: 30px 0;}
.error404 .error-message{
    display: flex; flex-direction: column; gap: 50px;
    margin-bottom: 40px;
    padding: 20px;
    text-align: center;
}
    .error404 .error-message p img{
        margin: 0 auto;
        max-width: 345px;
    }

@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
    .error404 .error-message p img{
        max-width: 245px;
    }
}



/* =========================================================================================
WP Block
=========================================================================================*/
.has-x-large-font-size,
.has-large-font-size,
.has-medium-font-size,
.has-small-font-size { line-height:1.25;}
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
}



/* =========================================================================================
Page(ALL)
=========================================================================================*/
@media only screen and (max-width:820px){
}
@media only screen and (max-width:468px){
}
