@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
*/


/* リッチリスト */
dl.rich_list {
    margin: 20px 0;
    padding: 0;
}

dl.rich_list dt {
    position: relative;
    background: var(--color_main);
    padding: 12px 15px 10px;
    margin: 0 0 10px;
    border: 0 !important;
    line-height: 1.2em;
    font-weight: bold;
    color: #fff;
    border-radius: 7px;
}

dl.rich_list dt:before {
    content: "";
    display: block;
    position: absolute;
    border-style: solid;
    border-width: 12px 7px 0;
    border-color: var(--color_main) transparent transparent;
    left: 50px;
    bottom: -12px;
}

dl.rich_list dt[style]:before {
    background: inherit;
    border-color: transparent #fff #fff;
}

dl.rich_list dd {
    padding: 0;
    margin: 0 0 15px !important;
    border: 0 !important;
    line-height: 1.5em;
}

.post_content dl.rich_list dd .h5,
dl.rich_list dd .h5 {
    margin: 0 0 5px !important;
    padding: 3px 0 2px 30px;
    background: url(./images/icon-check.png) no-repeat left top !important;
    border: 0 !important;
    background-size: 28px 28px !important;
    font-weight: bold;
    line-height: 1.2em;
    color: #030 !important;
}

dl.rich_list dd p br:first-child,
dl.rich_list dd .h5+br {
    display: none;
}

dl.rich_list dd .h5 b {
    color: #e22;
}

dl.rich_list dd p {
    margin: 0 0 0 20px !important;
    padding: 0;
    line-height: inherit;
}

.article-body dl.rich_list dd ul li {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.3em !important;
}

.article-body dl.rich_list dd ul li:before {
    background: #a8a8f4;
    top: 5px;
}

@media (max-width: 600px) {
    dl.rich_list dt {
        padding: 10px 12px 8px;
    }
}

/*テーブル開閉のボタン*/
.wp-block-lazyblock-tableac .table-open {
    margin-top: 10px;
    position: relative;
    display: inline-block;
    padding: 8px 25px 8px 13px;
    border: 1px solid #ccc;
    background: #f1e767;
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
    -webkit-box-shadow: inset 1px 1px 1px #fff;
    box-shadow: inset 1px 1px 1px #fff;
    border-radius: 8px;
    text-decoration: none;
    cursor: pointer;
    font-size: 0.8em;
}

.wp-block-lazyblock-tableac .table-open::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
    transition: all 0.5s;
}


.wp-block-lazyblock-tableac .table-open.on:after {
    transform: translateY(1px) rotate(315deg);
}

/* ■■■■■ .tableclose ■■■■■ */
.tableclose label input,
.tableclose:has(label[data-show="1"] input[type="checkbox"]) table tr:nth-of-type(n+2),
.tableclose:has(label[data-show="2"] input[type="checkbox"]) table tr:nth-of-type(n+3),
.tableclose:has(label[data-show="3"] input[type="checkbox"]) table tr:nth-of-type(n+4),
.tableclose:has(label[data-show="4"] input[type="checkbox"]) table tr:nth-of-type(n+5),
.tableclose:has(label[data-show="5"] input[type="checkbox"]) table tr:nth-of-type(n+6),
.tableclose:has(label[data-show="6"] input[type="checkbox"]) table tr:nth-of-type(n+7),
.tableclose:has(label[data-show="7"] input[type="checkbox"]) table tr:nth-of-type(n+8),
.tableclose:has(label[data-show="8"] input[type="checkbox"]) table tr:nth-of-type(n+9),
.tableclose:has(label[data-show="9"] input[type="checkbox"]) table tr:nth-of-type(n+10),
.tableclose:has(label[data-show="10"] input[type="checkbox"]) table tr:nth-of-type(n+11),
.tableclose:has(label:not([data-show]) input[type="checkbox"]) table tr:nth-of-type(n+5) {
	display: none;
}
.tableclose:has(label input[type="checkbox"]:checked) table tr {
	display: table-row !important;
}

.tableclose label {
	display: inline-block;
	position: relative;
	padding: 5px 15px;
	margin: 5px 0 20px;
	background: var(--color_main);
	background: linear-gradient(175deg, var(--color_main_thin) 0%,var(--color_main) 80%);
	color: #fff !important;
	border-radius: 20px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.4em;
}
.tableclose label:hover {
	background: var(--color_main) !important;
	box-shadow: rgba(0,0,0,0.6) 2px 2px 5px;
	top: -2px;
	left: -1px;
}
.tableclose label:active {
	box-shadow: rgba(0,0,0,0.6) 0 1px 5px;
	top: 0;
	left: 0;
}
.tableclose label:after {
	content: "▲クリックで開く";
}
.tableclose label:has(input:checked):after {
	content: "▲クリックで閉じる";
}
.tableclose label[data-open-text]:after {
	content: attr(data-open-text);
}
.tableclose label[data-close-text]:has(input:checked):after {
	content: attr(data-close-text);
}

/* カラムブロックスクロール（スライド） */
.wp-block-columns.column-slide {
	overflow-x: auto;
	border: 1px solid var(--color_main);
	background: var(--color_main_thin);
	gap: 10px !important;
    padding: 5px;
}
.wp-block-columns.column-slide .wp-block-column {
	min-width: 150px;
	background: #fff;
	margin: 0 !important;
	padding: 5px;
}

/* TOPページウィジェットの display::afterflex を解除（2025/1/31） */
#body_wrap.top .textwidget.custom-html-widget:has(.p-blogParts) {
    display: block !important;
}
#body_wrap.top .textwidget.custom-html-widget:has(.p-blogParts) .p-blogParts {
    width: auto !important;
}

/* header用（2024/10/04） */
.l-header .l-header__inner {
    max-width: none;
}
ul.c-gnav > li a {
    color: #0a4377 !important;
}
ul.c-gnav > li a:hover {
    background: #0a4377;
    color: #fff !important;
}
ul.c-gnav > li ul.sub-menu {
    transform: translateX(0) !important;
    position: fixed !important;
    left: 0 !important;
    top: 83px !important;
    width: 100vw;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    z-index: 5;
    padding: 10px;
    background: #0a4377;
}
.logged-in ul.c-gnav > li ul.sub-menu {
    top: 115px !important;
}
ul.c-gnav > li ul.sub-menu li {
    width: 25%;
}
ul.c-gnav > li ul.sub-menu li a {
    color: #fff !important;
}
.l-fixHeader__gnav ul.c-gnav > li ul.sub-menu {
    top: 80px !important;
}
.c-iconBtn__icon {
    font-size: 35px;
}

ul.c-spnav > li ul.sub-menu {
    overflow: hidden;
    max-height: 0;
    transition: all 0.3s ease-in-out;
}
ul.c-spnav > li ul.sub-menu.open {
    max-height: 800px;
    transition: all 0.3s ease-in-out;
}
ul.c-spnav > li ul.sub-menu li:not(.uk-hidden) a {
    border-bottom: 0;
    padding-top: 5px;
    padding-bottom: 5px;
}
ul.c-spnav > li ul.sub-menu li > a {
    font-size: 14px;
}
ul.c-spnav > li ul.sub-menu li a:before {
    content: "";
    border: 0;
    background: #ccc;
    border-radius: 50%;
    width: 8px;
    height: 8px;
}
.p-spMenu__nav {
    margin-top: 0 !important;
}
ul.c-spnav > li > a {
    padding: 10px;
}
ul.c-spnav > li > a:before {
    left: auto;
    right: 10px;
    transform: translateY(-50%) rotate(180deg);
}
.c-widget__title,
ul.c-spnav > li:not(:has(ul.sub-menu)) > a:before {
    display: none;
}
ul.c-spnav > li:has(ul.sub-menu.open) > a:before {
    transform: translateY(-50%) rotate(90deg);
}

.l-footer .copyright,
.textwidget.custom-html-widget {
    font-size: 10px;
}
.textwidget.custom-html-widget address {
    font-style: normal;
}
@media (min-width: 768px) {
    .uk-hidden {
        display: none !important;
    }
    .textwidget.custom-html-widget {
        display: flex;
    }
    .textwidget.custom-html-widget > div {
        width: 50%;
    }
    .textwidget.custom-html-widget > div#footer-menu {
        text-align: right;
    }
    .textwidget.custom-html-widget > div#footer-menu li {
        display: inline-block;
        border-right: 1px solid #ccc;
    }
    .textwidget.custom-html-widget > div#footer-menu li:first-child {
        border-left: 1px solid #ccc;
    }
    .textwidget.custom-html-widget > div#footer-menu li a {
        padding: 0 20px;
    }
    .textwidget.custom-html-widget > div#footer-menu ul {
        margin-top: 15px;
    }
}
@media (max-width: 768px) {
    .textwidget.custom-html-widget {
        text-align: center;
    }
    .textwidget.custom-html-widget > div#footer-menu {
        display: none;
    }
}

/* 投稿記事でのパンくず内の記事タイトル表示 */
.single .p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item,
.p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item,
.single .p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item:last-child > span.p-breadcrumb__text,
.p-breadcrumb .p-breadcrumb__list li.p-breadcrumb__item:last-child > span.p-breadcrumb__text {
    display: inline !important;
    white-space: wrap;
}
.single .p-breadcrumb__item:after,
.p-breadcrumb__item:after {
    display: inline-block;
    margin: 0 8px;
}
.single .p-breadcrumb .p-breadcrumb__list,
.p-breadcrumb .p-breadcrumb__list {
    display: block !important;
    width: auto !important;
    font-size: 14px;
    white-space: wrap;
}
@media (min-width: 768px) {
    .single .p-breadcrumb .p-breadcrumb__list,
    .p-breadcrumb .p-breadcrumb__list {
        font-size: 15px;
    }
}