@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
*/

/*--------------------
 * フォント
 * --------------------*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,500&display=swap');

body{
	font-family: "Inter", "Zen Kaku Gothic Antique", var(--swl-font_family);
	--icon_allow-blue: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHJ4PSIyMCIgZmlsbD0iIzA4NzBDQSIvPjxwYXRoIGQ9Ik0yNC4yMTU3IDI1LjVDMjQuMjE1NyAyNC45MTcgMjQuNzQ1NyAyNC4wNDY0IDI1LjI4MjIgMjMuMzE1N0MyNS45NzIgMjIuMzcyOSAyNi43OTYyIDIxLjU1MDIgMjcuNzQxMiAyMC45MjI0QzI4LjQ0OTggMjAuNDUxOCAyOS4zMDg4IDIwIDMwIDIwTTMwIDIwQzI5LjMwODggMjAgMjguNDQ5MSAxOS41NDgyIDI3Ljc0MTIgMTkuMDc3NkMyNi43OTYyIDE4LjQ0OSAyNS45NzIgMTcuNjI2NCAyNS4yODIyIDE2LjY4NTFDMjQuNzQ1NyAxNS45NTM2IDI0LjIxNTcgMTUuMDgxNCAyNC4yMTU3IDE0LjVNMzAgMjBIMTAiIHN0cm9rZT0id2hpdGUiLz48L3N2Zz4=") no-repeat transparent center / contain;
	--icon_allow-white: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHJ4PSIyMCIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMjQuMjE1NyAyNS41QzI0LjIxNTcgMjQuOTE3IDI0Ljc0NTcgMjQuMDQ2NCAyNS4yODIyIDIzLjMxNTdDMjUuOTcyIDIyLjM3MjkgMjYuNzk2MiAyMS41NTAyIDI3Ljc0MTIgMjAuOTIyNEMyOC40NDk4IDIwLjQ1MTggMjkuMzA4OCAyMCAzMCAyME0zMCAyMEMyOS4zMDg4IDIwIDI4LjQ0OTEgMTkuNTQ4MiAyNy43NDEyIDE5LjA3NzZDMjYuNzk2MiAxOC40NDkgMjUuOTcyIDE3LjYyNjQgMjUuMjgyMiAxNi42ODUxQzI0Ljc0NTcgMTUuOTUzNiAyNC4yMTU3IDE1LjA4MTQgMjQuMjE1NyAxNC41TTMwIDIwSDEwIiBzdHJva2U9IiMwODcwQ0EiLz48L3N2Zz4=") no-repeat transparent center / contain;
}


/* アニメーション */
@keyframes lineSlideIn {
  from { 
    transform: translateX(-100%);
  }
  to { 
    transform: translateX(0%);
  }
}
@keyframes titleLine {
  from { 
    max-width: 0;
  }
  to { 
    max-width: 100%;
  }
}

/*--------------------
 * 余白
 * --------------------*/
#body_wrap:not(.blog,.archive,.single) .l-content,
#body_wrap .post_content{
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
#body_wrap:not(.blog,.archive,.single) .l-content{
	padding-top: 0 !important;
}

@media (min-width: 1024px){
	.right-container .wp-block-group__inner-container{
		width: clamp(700px, 70vw, 900px);
		margin-left: auto;
	}	
}

@media not all and (min-width: 960px){
	.swell-block-fullWide.sp-py-20.first-container{
	    padding-top: 3em !important;	
	}
	.swell-block-fullWide.sp-py-20.last-container{
	    padding-bottom: 4em !important;	
	}
}

#body_wrap.error404 #content{
	min-height: 70vh;
}

/*--------------------
 * ヘッダー
 * --------------------*/
#header,
#fix_header:before{
    background: #00000032;
    backdrop-filter: blur(2px);
	border-bottom: 1px solid #fff;
}
#fix_header:before{
	background: #04376480;
}
#header .l-header__inner,
#fix_header .l-fixHeader__inner{
	--color_header_text: #fff;
	/*max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);*/
	max-width: 100%;
	padding: 0;
	justify-content: space-between;
}


/* ロゴ */
#header .l-header__logo,
#fix_header .l-fixHeader__logo{
	background: #fff;
	padding: 0.75rem 0;
    margin-right: 0;
}
#header .l-header__logo .c-headLogo,
#fix_header .l-fixHeader__logo .c-headLogo{
	margin: 0 1rem;
}

/* メニュー */
#header .c-gnavWrap,
#fix_header .c-gnavWrap{
	flex-grow: 3;
}
#header .c-gnav,
#fix_header .c-gnav{
	justify-content: center;
}
#header .c-gnav .menu-item > a,
#fix_header .c-gnav .menu-item > a{
    padding: 0 1.5rem;
}

/* お問い合わせ */
.w-header__inner:has(.menu-contact),
.w-header__inner *:has(.menu-contact),
.w-header .menu-contact{
	width: 100%;
	height: 100%;
}
.w-header:has(.menu-contact){
    flex-grow: 2;
    max-width: 230px;
	margin-left: 0 !important;
	border-left: 1px solid #fff;
}

.w-header .menu-contact > a{
	width: 100%;
	padding-left: var(--swl-pad_container, 0);
	padding-right: var(--swl-pad_container, 0);	
}


@media not all and (min-width: 960px) {
	#header{
		background: #0000001a;
	}
	
	/* ロゴ・アイコン */
	#header .l-header__logo{
		padding: 0;
	}
	#header .l-header__menuBtn{
		background: var(--color_main);
		border-left: 1px solid #fff;
	}
	
	/*---------- SPメニュー展開 ----------*/
	/* レイアウト */	
	#sp_menu .p-spMenu__inner{
		opacity: 0;
		width: 100%;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		transition: opacity .45s;

	}
	[data-spmenu=opened] #sp_menu .p-spMenu__inner{
	    -webkit-transform: translateX(0);
    	transform: translateX(0);
		opacity: 1;
	}
	#sp_menu .p-spMenu__inner::before{
		background: url(/wp-content/uploads/2026/04/bg_opaque_sp.png) no-repeat transparent center / cover;		
	}
	
	#sp_menu .p-spMenu__body{
		padding: 10vw 0;
	}
	
	/* ロゴ・アイコン */
	#sp_menu .p-spMenu__logo {
		position: absolute;
		top: 0;
		left: 0;
		height: var(--logo_size_sp);
		background: #fff;
		padding: 10px 1rem;
		z-index: 1;
    }	
	#sp_menu .p-spMenu__logo .c-headLogo__img.-common,
	#sp_menu .c-widget__title.-spmenu{
        display: none;
    }
	
	#sp_menu .p-spMenu__closeBtn{
		background: var(--color_main);
		color:#fff;
	}
	#sp_menu .p-spMenu__closeBtn .c-iconBtn{
    	transform: scaleX(2);
	}
	
	/* メニュー */
	#sp_menu .p-spMenu__nav .c-listMenu a{
	    padding: 1.25em 2em 1.25em;
		color: var(--color_main);
		font-size: 1.25rem;
		font-weight: bold;
		border-color: var(--color_main);
	}
	#sp_menu .c-spnav>.menu-item:first-child > a{
		border-top: 1px solid var(--color_main);
	}
	
	#sp_menu .p-spMenu__nav .c-listMenu a::before{
		display: none;
	}
	#sp_menu .p-spMenu__nav .c-listMenu a::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(-100%, -50%);
        display: block;
        width: 30px;
        height: 30px;
        background: var(--icon_allow-blue);
	}	
	#sp_menu .p-spMenu__nav .c-listMenu a:hover::after{
        background: var(--icon_allow-white);
	}
	
}



/*--------------------
 * コンテンツヘッダー
 * --------------------*/
#top_title_area{
	--title-area_h: clamp(320px, 75vw, 500px);
	align-items: flex-end;
    height: var(--title-area_h);
    margin-top: calc(var(--swl-headerH) * -1);
	padding-bottom: 3rem;
}
#top_title_area:has(.c-pageExcerpt){
	--title-area_h: clamp(350px, 75vw, 500px);
}

/* ページタイトル */
#top_title_area .c-pageTitle{
    display: flex;
    align-items: center;
    gap: 0.5rem;	
	font-size: clamp(32px, 5vw, 64px);
	transform: matrix(1, 0, -0.12, 0.99, 0, 0);
	letter-spacing: 5%;	
	line-height: 1.1;
}

#top_title_area .c-pageTitle > span{
	position: relative;
	display: inline-block;
	visibility: hidden;
}
#top_title_area .c-pageTitle > span::before{
	content: "";
	position: absolute;
	left: 0;
    top: 5%;
	display: block;
	width: 100%;
	height: 100%;
	background-position: top left;
	background-size: contain;
	background-repeat: no-repeat;
	visibility: visible;
}

#top_title_area .c-pageExcerpt{
	max-width: var(--article_size);
}


/* サブタイトル */
#top_title_area .c-pageTitle__subTitle,
#top_title_area .c-pageExcerpt{
	font-size: clamp(16px, 3vw, 24px);
	font-weight: 500;
    letter-spacing: 3%;
}
#top_title_area .c-pageTitle__subTitle{
	padding-left: 2.5em;
}
#top_title_area .c-pageTitle__subTitle::before{
    content: "";
    display: block;
    width: 2em;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0;
    background: #ffffff80;
}


/* 枠線 */
#top_title_area .l-topTitleArea__body::before,
#top_title_area .l-topTitleArea__body::after{
	content: "";
    display: block;
    width: 1px;
    height: calc(var(--title-area_h) + 4vh);
	background: #ffffff96;
	position: absolute;
	top: calc(100% - var(--title-area_h) + var(--swl-headerH) - 2vh);
}
#top_title_area .l-topTitleArea__body::before{
	left: calc(var(--swl-pad_container,0) - 5px);
}
#top_title_area .l-topTitleArea__body::after{
	right: calc(var(--swl-pad_container,0) - 5px);
}

#top_title_area .l-topTitleArea__wrap{
	position: relative;
}
#top_title_area .l-topTitleArea__wrap::before,
#top_title_area .l-topTitleArea__wrap::after,
#top_title_area .c-pageTitle::before,
#top_title_area .c-pageTitle::after{
	content: "";
	display: block;
	width: 102vw;
	height: 1px;
	background: #ffffff96;
	position: absolute;
	left: calc((100% - 100vw) / 2 - 1vw);
}
#top_title_area .l-topTitleArea__wrap::before,
#top_title_area .c-pageTitle::before{
	top: 0;
	animation: lineSlideIn 3s linear forwards;
}

#top_title_area .l-topTitleArea__wrap::after,
#top_title_area .c-pageTitle::after{
	top: 100%;
	visibility: visible;
	animation: lineSlideIn 2s linear forwards;
}

@media (min-width: 960px) {
	#top_title_area .l-topTitleArea__wrap::before,
	#top_title_area .l-topTitleArea__wrap::after{
		display: none;
	}
}
@media not all and (min-width: 960px) {
	#top_title_area{
    	align-items: center;
		padding-top: 25%;
	}
	
	#top_title_area .l-topTitleArea__wrap{
		padding: 2rem 1rem;		
	}
	#top_title_area .l-topTitleArea__wrap:has(.c-pageExcerpt){
		padding: 0.5rem 1rem;
	}
	
	#top_title_area .c-pageTitle{
		flex-direction: column-reverse;
    	align-items: flex-start;
    	overflow-wrap: break-word;
    	word-break: keep-all;
	}
	#top_title_area .c-pageTitle__subTitle{
        margin-left: 0 !important;
	}
	
	/* 枠線 */
	#top_title_area .l-topTitleArea__body::before,
	#top_title_area .l-topTitleArea__body::after{
		top: calc((100% - var(--title-area_h) + var(--swl-headerH)) + 2vh);	
	}
	#top_title_area .c-pageTitle::before,
	#top_title_area .c-pageTitle::after{
		display: none;
	}
}


/*--------------------
 * パンくず
 * --------------------*/
#breadcrumb{
	display: none;
}

/*--------------------
 * フッター
 * --------------------*/
#footer{
	background: linear-gradient(100deg,#0870ca 0%,#043764 100%);
	overflow: hidden;
}

#footer .l-footer__foot{
	padding-top: 0;
}
#footer .l-footer__widgetArea{
	padding-top: 3em;
	padding-bottom: 1em;
}

/* ロゴ */
#footer .footer-logo > a{
	display: block;
	background: #fff;
    padding: 0.75rem 1.25rem;
    max-width: 230px;
}

/* メニュー */
#footer .l-footer__nav{
    justify-content: flex-end;
	padding-top: 1em;
	padding-bottom: 2em;
	margin-bottom: 1em;
}
#footer .l-footer__nav li a{
	font-size: clamp(14px, 2vw, 18px);
	font-weight: bold;
	border: none;
	transition: opacity 0.25s;
}

#footer .l-footer__nav li a:hover{
	text-decoration: none;
	opacity: 0.65;
	transition: opacity 0.25s;
}

/* 枠線 */
#footer .l-footer__widgetArea,
#footer .l-footer__widgetArea .widget_text,
#footer .l-footer__foot .l-footer__nav{
	position: relative;
}

#footer .l-footer__widgetArea::before,
#footer .l-footer__widgetArea::after{
	content: "";
    display: block;
    width: 1px;
    height: 100vh;
	background: #ffffff96;
	position: absolute;
	top: 0;
}
#footer .l-footer__widgetArea::after{
	right: var(--swl-pad_container,0);
}

#footer .l-footer__widgetArea .widget_text::before,
#footer .l-footer__widgetArea .widget_text::after,
#footer .l-footer__foot .l-footer__nav::after{
	content: "";
	display: block;
	width: 101vw;
	height: 1px;
	background: #ffffff96;
	position: absolute;
	left: calc((100% - 100vw) / 2);	
}
#footer .l-footer__foot .l-footer__nav::after{
    top: 100%;
}


#footer .is-animated .l-footer__widgetArea .widget_text::before{
	animation: lineSlideIn 3s linear forwards;	
}
#footer .is-animated .l-footer__widgetArea .widget_text::after{
	animation: lineSlideIn 2.5s linear forwards;	
}
#footer .is-animated .l-footer__foot .l-footer__nav::after{
	animation: lineSlideIn 2s linear forwards;
}

@media (max-width: 959px) and (min-width: 601px) {
	#footer .l-footer__widgetArea{
	    padding-top: 2em;	
	}
	#footer .l-footer__nav{
    	justify-content: flex-start;
	}
	#footer .l-footer__nav > .menu-item{
		width: 22%;
		max-width: 25%;
		flex-grow: 2;
	}
	#footer .l-footer__nav > .menu-item:last-of-type{
		width: 48%;
		max-width: 50%;
	}	
}
@media (max-width: 600px) {
	#footer .l-footer__widgetArea{
	    padding-top: 2em;	
	}
	
	/* メニュー */
	#footer .l-footer__nav{
		flex-direction: column;
    	justify-content: flex-start;
    	padding-left: 1em;
	}	
	
	#footer .l-footer__nav > .menu-item:not(:last-of-type){
		width: 100%;
		margin-bottom: 0.75rem;
	}	
}

/*--------------------
 * お知らせページ(投稿記事)
 * --------------------*/
/* お知らせ一覧サイドバー */
@media not all and (min-width: 960px) {
	.blog #content.l-content,
	.archive #content.l-content{
		display: flex;
		flex-direction: column-reverse;
		margin-bottom: 2em;
	}
	.blog #sidebar,
	.archive #sidebar{
		margin-top: 0;
        margin-bottom: 2em;	
	}
	
	#sidebar .p-blogParts{
		display: flex;
    	gap: 0.5rem;
	}
	#sidebar .p-blogParts .swell-block-button{
        flex-grow: 0;
        width: fit-content;
        margin: 0;
	}	
	#sidebar .p-blogParts .swell-block-button > .swell-block-button__link{
		font-size: 12px;
		--the-padding: 0.5rem 0.5rem;
	}
}


/* コンテンツヘッダー */
#top_title_area p.c-pageTitle{
	font-weight: bold;
}

#top_title_area p.c-pageTitle .c-pageTitle__subTitle{
	position: relative;
	font-style: italic;
    margin-left: 1em;
    opacity: .8;
}

@media (min-width: 960px) {
	.blog #top_title_area .c-pageTitle > span::before,
	.archive #top_title_area .c-pageTitle > span::before{
		background-image: url(/wp-content/uploads/2026/04/news-title_pc.png);
	}
	.single-post #top_title_area .c-pageTitle > span::before{
		background-image: url(/wp-content/uploads/2026/04/detail-title_pc.png);
	}
}
@media not all and (min-width: 960px) {
	.blog #top_title_area .c-pageTitle > span::before,
	.archive #top_title_area .c-pageTitle > span::before{
		background-image: url(/wp-content/uploads/2026/04/news-title_sp.png);
	}
	.single-post #top_title_area .c-pageTitle > span::before{
		background-image: url(/wp-content/uploads/2026/04/detail-title_pc.png);
	}
}

/* ページタイトル */
.single-post .p-articleHead,
.single-post .p-articleMetas{
	padding: 0 var(--swl-pad_post_content, 0);	
}
.single-post .c-postTitle__ttl{
	margin-top: 1rem;
	font-size: clamp(16px, 3vw, 32px);
	color: var(--color_main);
}

.single-post .p-articleMetas .p-articleMetas__termList{
	order: 2;
}
.single-post .p-articleMetas .p-articleMetas__termList .c-categoryList__link{
	font-size: 1rem;
	padding: 0.25rem 1rem;
	border-radius: 1rem;
}
.single-post .p-articleMetas .p-articleMetas__times{
    margin-right: 1rem;
    font-size: 14px;
    color: #888;
    opacity: 1;
	order: 1;
}

.single-post .p-articleMetas .c-categoryList:before,
.single-post .p-articleMetas .c-postTimes__posted:before,
.single-post .p-articleFoot{
	display: none;
}

/* 見出し */
.single-post h2.wp-block-heading{
	font-size: clamp(16px, 3vw, 24px);
	line-height: 1.6;
    margin-left: 0;
}

.single-post h3.wp-block-heading{
	font-size: clamp(14px, 3vw, 20px);
	line-height: 1.6;
}



/*--------------------
 * ページャー
 * --------------------*/
.c-pagination .page-numbers{
    color: var(--color_text);
    font-size: clamp(12px, 2.5vw, 18px);
    font-weight: bold;
    min-width: 1em;
    background: transparent;
    border: none;
    box-shadow: none;
}
.c-pagination .page-numbers.current{
    color: var(--color_main);
}


/*--------------------
 * CTA
 * --------------------*/
#cta::after{
    content: "";
    display: block;
    width: 100%;
    height: 50%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
	background: url(/wp-content/uploads/2026/03/contact-us.png) no-repeat transparent bottom right / contain;
    mix-blend-mode: soft-light;
}
#cta h2.wp-block-heading{
	display: block !important;
}

.has-square::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
	opacity: 0.1;
}

@media (min-width: 960px) {
	.has-square::before{
		background: url(/wp-content/uploads/2026/04/bg_transparent_pc.png) repeat center top / 100% auto;
	}
}

@media not all and (min-width: 960px) {
	#cta{
		background-image: url(/wp-content/uploads/2026/04/contact_bg_sp.png) !important;		
	}
	.has-square::before{
        background: url(/wp-content/uploads/2026/04/bg_transparent_sp.png) repeat center top / 100% auto;
	}
}

/*--------------------
 * バナーテキスト
 * --------------------*/
.swell-block-bannerLink{
	--container_w: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
	--margin_w: calc((100vw - var(--container_w)) / 2);
}

.swell-block-bannerLink .c-bannerLink__text{
    max-width: calc(100% - var(--margin_w));
	padding: 1.5em var(--swl-pad_container);
}
.swell-block-bannerLink .c-bannerLink__text.has-text-align-left{
    margin-left: var(--margin_w);
}
.swell-block-bannerLink .c-bannerLink__text.has-text-align-right{
    margin-right: var(--margin_w);
}

.swell-block-bannerLink .c-bannerLink__text .c-bannerLink__title{
	--icon_size: 2rem;
	position: relative;
	padding: 0 var(--icon_size);
	overflow-wrap: break-word;
    word-break: keep-all;
}

.swell-block-bannerLink .c-bannerLink__text.has-text-align-left .c-bannerLink__title::before,
.swell-block-bannerLink .c-bannerLink__text.has-text-align-right .c-bannerLink__title::after{
    content: "";
    position: absolute;
    top: 50%;
    display: block;
    width: var(--icon_size);
    height: var(--icon_size);
	background:var(--icon_allow-blue);
	margin: 0;
}

.swell-block-bannerLink .c-bannerLink__text.has-text-align-left .c-bannerLink__title::before{
	left: -0.5rem;
    transform: translate(0, -50%) rotate(180deg);
}
.swell-block-bannerLink .c-bannerLink__text.has-text-align-right .c-bannerLink__title::after{
	right: -0.5rem;
    transform: translate(0, -50%);
}

/* ホバー */
.swell-block-bannerLink .c-bannerLink:hover .c-bannerLink__figure{
	opacity: 1;
}
.swell-block-bannerLink .c-bannerLink:hover .c-bannerLink__text .c-bannerLink__title{
	color: #ffffffA6;
}
.swell-block-bannerLink .c-bannerLink:hover .c-bannerLink__text.has-text-align-left .c-bannerLink__title::before,
.swell-block-bannerLink .c-bannerLink:hover .c-bannerLink__text.has-text-align-right .c-bannerLink__title::after{
	background:var(--icon_allow-white);
}

@media not all and (min-width: 1410px) {
	.swell-block-bannerLink .c-bannerLink__text.has-text-align-left{
		margin-left: 0;
	}
	.swell-block-bannerLink .c-bannerLink__text.has-text-align-right{
		margin-right: 0;
	}
}
@media not all and (min-width: 960px) {
	.swell-block-bannerLink .c-bannerLink__text{
		padding: 1.5em 2em;
	}
}

/*--------------------
 * 見出し・テキスト
 * --------------------*/

/* h2 */
h2.wp-block-heading{
	font-size: clamp(20px, 4vw, 40px);
	color: var(--color_main);
	letter-spacing: 10%;
	line-height: 1.4;
	margin-bottom: 1rem;
}
h2.wp-block-heading > small{
	font-size: clamp(12px, 2vw, 20px);
	color: #fff;
	background: var(--color_main);
	font-weight: normal;
	display: inline-block;
	width: fit-content;
	padding: 0.15em 0.5em;
	margin-bottom: 1rem;
	opacity: 1;
}

h2.wp-block-heading.-white{
	color: #fff;
}
h2.wp-block-heading.-white > small{
	color: var(--color_main);
	background: #fff;
}


/* h3 */
h3.wp-block-heading{
	font-size: clamp(16px, 3vw, 24px);
	color: var(--color_main);
	letter-spacing: 3%;
	line-height: 1.8;
	margin-bottom: 1rem;
}

/* h3(番号付き) */
h3.wp-block-heading:has(small){
	margin-left: 1rem;
}

h3.wp-block-heading > small{
	font-size: 1em;
	color: #fff;
	position: relative;
	margin-right: 1em;
	opacity: 1;
}
h3.wp-block-heading > small::before{
    content: "";
    display: block;
    background: var(--color_main);
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

/* h3(帯デザイン) */
h3.wp-block-heading.is-style-section_ttl{
	background: var(--color_main);
	color: #fff;
	text-align: left;
	padding: 0.25rem 1rem;
	margin-top: 1.5rem;
}


/* TOPページ以外のH2 */
#body_wrap:not(.home, .blog, .archive, .single) h2.wp-block-heading{
    display: flex;
    align-items: center;
    gap: 1rem;
	margin-bottom: 2.5rem;
}
#body_wrap:not(.home, .blog, .archive, .single) h2.wp-block-heading > img{
	width: clamp(24px, 1em, 40px) !important;
	aspect-ratio: 1 / 1;
}
#body_wrap:not(.home, .blog, .archive, .single) h2.wp-block-heading::after{
	content: "";
	display: block;
	width: 1px;
	height: 1px;
	background: var(--color_main);
	flex-grow: 3;
	max-width: 0;
}

#body_wrap:not(.home, .blog, .archive, .single) h2.wp-block-heading.is-animated::after{
	animation: titleLine 1.5s linear forwards;
}

/* ラベル */
p.label-text strong{
    color: #fff;
    background: var(--color_main);
    font-weight: normal;
    padding: 0.15em 0.5em;
}

/* フォントサイズ */
.fs-20{
	font-size: clamp(16px, 2.5vw, 20px);
	letter-spacing: 3%;
}
.fs-18{
	font-size: clamp(15px, 2.5vw, 18px);
}


@media not all and (min-width: 960px) {
	h2.wp-block-heading.blank-title  > img{
		align-self: flex-start;
	}
}

@media (max-width: 600px) {
	#body_wrap:not(.home, .blog, .archive, .single) h2.wp-block-heading{
		margin-bottom: 1.5rem;	
	}
	
    .sp-left {
        text-align: left !important;
    }
	.sp-center {
        text-align: center !important;
    }
}


/*--------------------
 * メディアとテキスト
 * --------------------*/
@media not all and (min-width: 960px) {
	.wp-block-media-text.bottom-img{
		grid-template-columns: 100% !important;
	}
	.wp-block-media-text.bottom-img .wp-block-media-text__content{
		grid-row: 1 !important;
		grid-column: 1 !important;
		padding: 0 !important;
		margin-bottom: 1rem !important;
	}
	.wp-block-media-text.bottom-img .wp-block-media-text__media{
		grid-column: 1 !important;
		grid-row: 2 !important;		
	}
}


/*--------------------
 * ボタン
 * --------------------*/

/* アイコン付き四角ボタン */
.swell-block-button .swell-block-button__link[data-has-icon]{
	justify-content: space-between;
	font-weight: normal;
	transition: all .3s;
}
.swell-block-button .swell-block-button__link[data-has-icon]::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 3.5rem;
    transform: translate(-100%, -50%);
    display: block;
    width: 1px;
    height: 75%;
    background: #fff;
	transition: all .3s;
}

.swell-block-button:not(.-size-l, .-size-s){
	--the-min-width: clamp(155px, 50vw, 220px);
}
.swell-block-button.-size-l{
	width: clamp(200px, 100%, 700px);
	--the-min-width: 100%;
}

.swell-block-button .swell-block-button__link:hover{
	background: #fff;
	color: var(--the-btn-color);
	transition: all .3s;
}
.swell-block-button .swell-block-button__link:hover::after{
    background: var(--the-btn-color);
	transition: all .3s;
}

/* アウトライン丸ボタン */
.is-style-btn_line:not(.link-text) > .swell-block-button__link{
	--the-padding: 0.5rem 1rem;
	background: #fff;
}

.is-style-btn_line:not(.link-text) > .swell-block-button__link:hover,
.is-style-btn_line:not(.link-text) > .swell-block-button__link.active{
	background: var(--the-btn-color) !important;
	color: #fff !important;
}

/* 枠無しボタン */
.is-style-btn_line.link-text > .swell-block-button__link{
    color: var(--color_main);
    font-size: clamp(1rem, 2.5vw, 20px);
    font-weight: bold;
	border: none;
	--icon_size: 40px;
}
.is-style-btn_line.link-text > .swell-block-button__link::before{
	content: "";
    position: absolute;
    top: 50%;
    transform: translate(-25%, -50%) rotate(180deg);
    display: block;
    width: var(--icon_size);
    height: var(--icon_size);
    background: var(--icon_allow-blue);
    margin: 0;
	transition: all .3s;
}
.is-style-btn_line.link-text > .swell-block-button__link span{
    padding-left: var(--icon_size);
	transition: all .3s;
}

.is-style-btn_line.link-text > .swell-block-button__link:hover{
	color: var(--color_main) !important;
	background: transparent;
}
.is-style-btn_line.link-text > .swell-block-button__link:hover::before{
	background: var(--icon_allow-white);
}
.is-style-btn_line.link-text > .swell-block-button__link:hover span{
	opacity: 0.65;
}

@media not all and (min-width: 601px) {
	.swell-block-button[data-align=right]{
		text-align: left;		
		margin-top: 1.5rem;
	}
}

/*--------------------
 * カバー・カラム
 * --------------------*/
/* カバー */
.wp-block-cover:has(.wp-block-cover__gradient-background.has-background-gradient)  .wp-block-cover__image-background{
	opacity: 0.1;
}
.wp-block-cover:has(.wp-block-cover__image-background)  .wp-block-cover__gradient-background.has-background-gradient{
	z-index: -1;
}

:where(.wp-block-cover-image.is-light:not(.has-text-color)), :where(.wp-block-cover.is-light:not(.has-text-color)){
	color: var(--color_text);
}

/* 白背景カラム */
.white-column .swell-block-column{
	background: #ffffff4D;
	backdrop-filter: blur(1.5px);
	--swl-clmn-pddng: 1rem 1.5rem;
}

/* 罫線カラム */
.line-column .wp-block-columns{
    border-bottom: 1px solid var(--color_main);
    padding: 2rem 0;
}
.line-column .wp-block-columns:first-of-type{
    border-top: 1px solid var(--color_main);
}

.line-column .wp-block-columns{
    --wp-column-gap: 3.5em;
}

@media not all and (min-width: 960px) {
	.line-column .wp-block-columns{
		--wp-column-gap: 1.5em;
	}

	.line-column .wp-block-image.line-icon{
		max-width: 100px;
		margin: auto;
	}
}

/* 説明リスト */
.table-dl > .swell-block-dl__dt,
.table-dl > .swell-block-dl__dd{
    border-bottom: 1px solid var(--color_main);
    padding: 1rem;
}
.table-dl > .swell-block-dl__dt:first-of-type,
.table-dl > .swell-block-dl__dd:first-of-type{
    border-top: 1px solid var(--color_main);
}
.table-dl > .swell-block-dl__dt{
    color: var(--color_main);
    letter-spacing: 3%;
}
.table-dl > .swell-block-dl__dt::after{
    display: none !important;
}
.table-dl > .swell-block-dl__dd{
    font-weight: bold;
}

.table-dl > .swell-block-dl__dt.u-mb-0,
.table-dl > .swell-block-dl__dd.u-mb-0{
    border-bottom: none;
    padding-bottom: 0;
}

@media (max-width: 600px) {
	.table-dl > .swell-block-dl__dt, 
	.table-dl > .swell-block-dl__dd{
		width: 100%;
	}
	.table-dl > .swell-block-dl__dt{
		padding-bottom: 0;
		border-bottom: none;
	}
	.table-dl > .swell-block-dl__dd{
		padding-top: 0.5rem;
	}
	.table-dl > .swell-block-dl__dd:first-of-type{
		border-top: none;
	}
}


/*--------------------
 * 投稿リスト
 * --------------------*/
.p-postList.-type-simple {
	--color_border: var(--color_main);
}
.-type-simple .p-postList__title{
    font-size: 1rem;	
}
.p-postList.-type-simple .p-postList__meta{
	font-size: 12px;
	margin-bottom: 0.5rem;
}
.p-postList.-type-simple .p-postList__meta .icon-posted::before,
.p-postList.-type-simple .p-postList__meta .icon-folder::before{
	display: none !important;
}
.p-postList.-type-simple .p-postList__meta .p-postList__times,
.p-postList.-type-simple .p-postList__meta .p-postList__cat{
	opacity: 1;
}
.p-postList.-type-simple .p-postList__meta .p-postList__times{
	color: #888888;
	min-width: 6em;
}
.p-postList.-type-simple .p-postList__meta .p-postList__cat{
	background: var(--color_main);
	color: #fff;
	padding: 0.5em 1em;
	border-radius: 2rem;
}

.p-postList.-type-simple .p-postList__body::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
    display: block;
    width: clamp(30px, 2rem, 40px);
    height: clamp(30px, 2rem, 40px);
	background: var(--icon_allow-blue);	
}

/*ホバー*/
.p-postList.-type-simple .p-postList__link:hover{
	background-color: transparent;
}
.p-postList.-type-simple .p-postList__link:hover .p-postList__meta,
.p-postList.-type-simple .p-postList__link:hover .p-postList__title{
	opacity: 0.65;
	
}
.p-postList.-type-simple .p-postList__link:hover .p-postList__body::after{
	background: var(--icon_allow-white);
}


@media not all and (min-width: 960px) {
	.p-postList.-type-simple .p-postList__body{
		padding-right: 3rem;
	}
	.p-postList.-type-simple .p-postList__body::after{
		top: 100%;
		transform: translate(0, -100%);
	}
}
