@charset "utf-8";
/*
	* 基本スタイルシート
	* CMSのパーツ、テンプレートのスタイル
	* ver1
	* Copyright (C) ●●など
	* 更新履歴
		└ 
*/
/* ////////////////////////////////////////////////////////////////////////////////////////////////////
	CMSスタイル設定
//////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	テンプレート > 子ページの目次を表示する
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_editor .st_pageList li {
    /* padding: 1rem 0; */
    border-bottom: 2px dotted #bebebe;
	list-style-type: none;
}

.st_editor .st_pageList li > a{
	display: block;
	position: relative;
	margin: .5rem 0;
	padding: 1rem 2rem 1rem 0;
	border-radius: 5px;
	font-size: 1.125rem;
	text-decoration: none;
	font-weight: bold;
	color: var(--black);
}
.st_pageList li > a::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	border: 5px solid transparent;
	border-left: 8px solid var(--mainColor);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	テンプレート > 子ページの目次を2カラム表示する
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.st_pageList.st_pageList__col2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.st_pageList.st_pageList__col2 li{
	width: calc(50% - 1rem);
}
@media screen and (max-width: 576px){
	.st_pageList.st_pageList__col2{
		display: block;
	}
	.st_pageList.st_pageList__col2 li{
		width: 100%;
	}
}
/* ******************************************************************************************
	パーツ > ページャー
****************************************************************************************** */
.bl_pager{
	display: flex;
	justify-content: space-between;
	margin-top: calc(1.5rem + 5rem);/* editor相殺分 + 余白 */
}
.bl_pager_prev, .bl_pager_next{
	width: calc(50% - 1rem);
}
.bl_pager_prev a, .bl_pager_next a{
	display: block;
	position: relative;
	margin: 0 auto;
	padding-top: 1rem;
	padding-bottom: 1rem;
	border: 1px solid var(--black);
	border-radius: 5px;
	color: var(--black);
	text-decoration: none;
}
.bl_pager_prev a:before, .bl_pager_next a:before{
	position: absolute;
	top: 0;
	bottom: 0;
	width: 12px;
	height: 12px;
	margin: auto;
	color: var(--black);
}
.bl_pager_prev a{
	display: flex;
	align-items: center;
	height: 100%;
	padding-right: 1.25rem;
	padding-left: 2.5rem;
}
.bl_pager_next a{
	padding-right: 2.5rem;
	padding-left: 1.25rem;
}
/*左向き, 右向きの矢印*/
.bl_pager_prev a, .bl_pager_next a{
	position: relative;
}
.bl_pager_prev a:before, .bl_pager_next a:before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	transition: .3s;
	width: 13px;
	height: 13px;
	margin: auto;
	border-top: 2px solid var(--black);
	border-right: 2px solid var(--black);
}
/*左向きの矢印*/
.bl_pager_prev a:before{
	right: auto;
	left: 1rem;
	transform: rotate(-135deg);
}
/*右向きの矢印*/
.bl_pager_next a:before{
	right: 1rem;
	left: auto;
	transform: rotate(45deg);
}

@media (max-width:768px){
	.bl_pager{
		display: block;
	}
	.bl_pager_prev, .bl_pager_next{
		width: 100%;
	}
	.bl_pager_prev + .bl_pager_next{
		margin-top: 1rem;
	}
}

/* ******************************************************************************************
	home.php
****************************************************************************************** */
.st_editor .news_title{
	text-decoration: none;
}
.home-main{
	width: 100%;
}
.home-main .bl_news-list-item {
    padding: .75rem;
}

/* ******************************************************************************************
	single.php
****************************************************************************************** */

.single-ttl {
    font-size: 1.5rem;
    font-weight: bold;
    padding: .5rem 0 .5rem 0;
    margin-bottom: 2rem;
    border-bottom: solid 1px var(--mainColor);
}
.single-time{
	color: var(--mainColor);
	font-size: .85rem;
}
.single .main{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}


/* ******************************************************************************************
	page.php
****************************************************************************************** */
.bl_page-ttl {
    font-size: 2.75rem;
    font-weight: bold;
    padding: 6rem 0;
    padding-bottom: calc(6rem + 48px);
    background-color: var(--accentColor);
    background-image: url(../img/mv-kanpuzan.jpg);
    background-position-y: center;
    letter-spacing: .25rem;
	background-size: cover;
	color: #fff;
	position: relative;
    text-align: center;
}

.bl_page-ttl h1{
	position: relative;
	z-index:2;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.85);

}

.bl_page-ttl::before {
    background-color:rgb(0 65 113 / 43%);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: ' ';
}

.custom-shape-divider-bottom-1745981199 {
    width: 100%;
    overflow: hidden;
    line-height: 0;
	margin-top: -49px;
}

.custom-shape-divider-bottom-1745981199 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 49px;
}

.custom-shape-divider-bottom-1745981199 .shape-fill {
    fill: #FFFFFF;
}

.bl_page-layout {
    gap: 3rem;
    background-color: #fff;
    margin-bottom: 10rem;
}

.custom-shape-divider-bottom-1745999333 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.custom-shape-divider-bottom-1745999333 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 50px;
}

.custom-shape-divider-bottom-1745999333 .shape-fill {
    fill: #fff;
}
.bl_page-layout-flex{
	display: flex;
	gap:3rem;
	flex-direction: row-reverse;
	
}

.st_editor .table_box{
	height: initial;
	max-height: initial;
	border: solid 3px #ccc;
}


@media screen and (max-width: 1070px){
	.bl_page-layout{
		padding: 0;
	}

	.bl_page-layout-flex {
		flex-direction: column;
		padding: 2rem 0;
		gap: 5rem;
	}
}
@media screen and (max-width: 576px){
	.bl_page-ttl{
		font-size: 1.75rem;
	}
}

/* ******************************************************************************************
	search.php
****************************************************************************************** */
.search h1{
	font-size: 1.5rem;
	letter-spacing: 3px;
}

/* ******************************************************************************************
	sidebar.php
****************************************************************************************** */
aside.sidebar {
    width: 300px;
}

.sidebar .bl-main-menu,.bl_gNav_area.is_active .bl_main-menu{
	flex-direction: column;
	gap:.5rem
}

.sidebar .bl_main-menu-item,.bl_gNav_area.is_active .bl_main-menu-item{
	width: 100%;
	flex-direction: row;
	height: initial;
	justify-content: start;
	padding: .5rem 0;
	padding: .5rem;
	align-items: center;
	border-radius: 5px;
}
.main{
	width: calc(100% - 300px);
}

.sidebar .bl_main-menu-img,.bl_gNav_area.is_active .bl_main-menu-img{
	margin: 0;
	justify-content: flex-start;
	width: 50px;
	height: 50px;
}
.sidebar .bl_main-menu-img.business-license > img,.bl_gNav_area.is_active .bl_main-menu-img.business-license > img{
	width: 50px;
	height: 50px;
}

.sidebar .bl_main-menu-item a,.bl_gNav_area.is_active .bl_main-menu-item a{
	text-align: start;
	width: 100%;
	font-size: 1rem;
	margin-left: 1rem;
	font-size: 1rem;
}
.bl_gNav_area.is_active .bl_main-menu-item a{
	font-size: 1.1rem;
}


.sidebar .br-sidebar,.bl_gNav_area.is_active .br-sidebar{
display: none;
}

.bl_gNav_area.is_active .txt-mini{
font-size: 1rem;
}
.sidebar li{
	list-style-type: none;
}

.sidebar .bl_link_flex{
	display: flex;
	flex-direction: column;
}
.sidebar .bl_link_flex .bl-link-item{
	width: 100%;
	box-shadow: none;
}

.sidebar .bl-link-item_img,.sidebar .link-item-desc {
    display: none;
}
.sidebar .link-item-ttl{
	padding-bottom: 0;
}

.sidebar .bl_sub-contents-head{
	font-size: 1rem;
	margin-bottom: 1rem;
}
.sidebar .bl_main-menu{
	gap: .5rem;
}
.sidebar .bl_main-menu-item{
	border-radius: 5px;
	box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.09);
}

.sidebar .bl_main-menu{
	margin-top: initial;
}

h2.bl_sidebar-head {
    padding: 0.5em;
    color:#fff;
    background: var(--mainColor);
    /* border-left: solid 5px var(--mainColor); */
	font-weight: bold;
	margin-bottom: .75rem;
}


* + h2.bl_sidebar-head {
    margin-top:2rem
}


@media screen and (max-width: 1070px){

	.main {
		width: 100%
	}
	aside.sidebar {
		width: 100%;
	}
}



/*  ////////////////////////////////////////////////////////////////////////////////////////////////////
	page-faq.php
//////////////////////////////////////////////////////////////////////////////////////////////////// */ 
.faq-item {
	margin-top: 20px;
	/* max-width: 720px; */
	margin-left: auto;
	margin-right: auto;
  
	border: 1px solid var(--mainColor);
  }
  .faq-question__wrap {
    position: relative;
    background: var(--rightgreen);
    padding: 1.5rem 3rem 1.5rem 3.5rem;
    cursor: pointer;
    vertical-align: middle;
}
  
  .minus-icon {
	position: absolute;
	content: "";
	width: 20px;
	height: 3px;
	background: #3fe15f;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
  }
  .plus-icon {
	position: absolute;
	content: "";
	width: 20px;
	height: 3px;
	background: #3fe15f;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
  }
  
  .plus-icon.active {
	transform: translateY(-50%);
  }
  .faq-question__title {
    font-weight: 600;
    color: var(--baseBlack);
    font-size: 1rem;
    position: relative;
}
  .faq-question__title::before {
    position: absolute;
    color:#3fe15f;
    content: "Q";
    font-size: 2rem;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: -2rem;
    height: fit-content;
    line-height: 1;
}
  
  .faq-answer__wrap {
	background: #fff;
	padding: 10px 5px 10px 55px;
	transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
	height: 0;
	overflow: hidden;
	padding-top: 0;
	padding-bottom: 0;
  }
  
  .faq-answer__wrap.active {
	height: auto;
	padding: 10px 5px 10px 55px;
  }
  .faq-answer__wrap {
	background: #fff;
	opacity: 0;
	padding: 10px 5px 10px 55px;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
	transition: ease all 0.7s; /* 擬似要素のトランジションを追加 */
  }
  
  .faq-answer__wrap.active {
	opacity: 1;
    padding: 2rem 3rem 2rem 3.5rem;
	position: relative;
  }
  
  .faq-answer__title {
	position: relative;
	font-weight: bold;
	color: var(--mainColor);
	font-size: 20px;

  }
  
  .faq-answer__title::before {
	  position: absolute;
	  color: var(--mainColor);
	  content: "A";
	  top: 50%;
	  left: -35px;
	  transform: translateY(-50%);
	}
  
  .faq-answer__text {
	margin-top: 5px;
	position: relative;
  }

  .faq-answer__text::before {
    position: absolute;
    color: #ED7486;
    content: "A";
    transform: translateY(-50%);
    font-size: 2rem;
    left: -2rem;
    font-weight: bold;
    top: 1rem;
}
.st_editor .faq-question__title{
	background-color: initial;
	margin: 0;
}
.st_editor .faq-question__title::after{
	content: none;
}



/*  ////////////////////////////////////////////////////////////////////////////////////////////////////
	page-glossary.php
//////////////////////////////////////////////////////////////////////////////////////////////////// */ 
.glossary-item-layout{
	display: flex;
	gap: 3rem;
}
.glossary-item-layout-img{
	width: 30%;
}
.glossary-item-layout-desc{
	width: 70%;
}
.glossary-item-layout-img img{
    width: 100%;
    max-width: initial;
    height: auto;
    /* aspect-ratio: 1 / 1; */
}

.bl_sakuin{
display: flex;
flex-wrap: wrap;
gap: .5rem;
margin-bottom: 1rem;
}

.bl_sakuin_item{
	display: inline-block;
    background-color: var(--accentColor);
    padding: .5rem .75rem;
    border-radius: 5px;
}

@media screen and (max-width: 576px){
	.glossary-item-layout {
    flex-direction: column;
}
.glossary-item-layout-img,.glossary-item-layout-desc{
	width: 100%;
}
}

/*  ////////////////////////////////////////////////////////////////////////////////////////////////////
	archive-topics.php
//////////////////////////////////////////////////////////////////////////////////////////////////// */ 
.page-topics-list{
	display: flex;
	flex-wrap: wrap;
	gap:2rem;
	row-gap: 3.5rem;
}

.page-topics-list .bl_topics-item{
	width: calc((100% - 2rem * 2) / 3);
}


/* ******************************************************************************************
	404ページ
****************************************************************************************** */
.st_editor .el_errorUrl{
	padding: 10px 0;
	border-bottom: 3px solid var(--mainColor);
	font-size: 1.1rem;
	letter-spacing: 2px;
}
.st_editor .el_errorUrl:before{
	content: "\f138";
	padding-right: 10px;
	color: var(--mainColor);
	font-weight: bold;
	font-size: 1rem;
	font-family: "Font Awesome 5 Free";
}
.st_editor .bl_errorList li::marker{
	color: var(--mainColor);
	font-size: 1.125rem;
}