/*
Theme Name:アルフレッドカスタムwikiテーマ
Theme URI: 	http://www.corp-alfred.com/hp-package/
Author: ALFRED Corder Team
Author URI: http://www.corp-alfred.com/
Description:初期段階・テーマ説明
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: Made ALFRED
Tags:
*/

/*common*/

.grecaptcha-badge { 
	visibility: hidden;
}

.sp {
	display: none;
}

.pc {
	display: block;
}

.container {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height) - var(--header-vh) - var(--footer-vh));
}

ul {
	padding: 0;
}

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

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

}

.karte-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}


.karte-table tr:hover {
	background: aliceblue;
}

.karte-table tr {
	position: relative;
}

.karte-table .rowlink {
	width: 0;
	min-width: 0;
	border: 0;
	padding: 0;
}

.karte-table .rowlink a {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.karte-table th:first-child {
	border-radius: 5px 0 0 0;
}

.karte-table th:last-child {
	border-radius: 0 5px 0 0;
	border-right: 1px solid #3c6690;
}

.karte-table th {
	text-align: center;
	color: white;
	background: #225588;
	padding: 10px 0;
}

.karte-table td {
	text-align: center;
	border-left: 1px solid #a8b7c5;
	border-bottom: 1px solid #a8b7c5;
	border-top: none;
	box-shadow: 0px -3px 5px 1px #eee inset;
	padding: 10px 0;
	vertical-align: middle
}

.karte-table td img {
	max-width: 250px;
}

.keisyo,
.cre-desc {
	font-size: .8em;
}

.karte-img img {
	max-width: 100%;
}

.profile-table tr td a {
	text-decoration: underline;
	color: #0783be;
}

.profile-table tr td a:hover {
	opacity: .5;
}

/*front-page*/
.sys-btn-content,
.sys-btn-content-2,
.sys-btn-content-3 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	margin: 30px 0;
}

.sys-btn-content .sys-btn {
	width: 30%;
	margin: 10px;
}

.sys-btn-content-2 .sys-btn {
	width: 45%;
	margin: 10px;
}

.sys-btn-content-3 .sys-btn {
	width: 30%;
	margin: 10px;
}

.sys-btn a {
	transition: .2s ease;
}

.sys-btn img {
	max-width: 100%;
}

.sys-btn a:hover {
	opacity: .5;
}

#login {
	width: 320px;
	padding: 5% 0 0;
	margin: auto;
}

#login form {
	margin-top: 20px;
	margin-left: 0;
	padding: 26px 24px 34px;
	font-weight: 400;
	overflow: hidden;
	background: #fff;
	border: 1px solid #c3c4c7;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}

.login label {
	font-size: 14px;
	line-height: 1.5;
	display: inline-block;
	margin-bottom: 3px;
}

.login form .input,
.login form input[type=checkbox],
.login input[type=text] {
	background: #fff;
}

.login form .input,
.login input[type=password],
.login input[type=text] {
	font-size: 24px;
	line-height: 1.33333333;
	width: 100%;
	border-width: 0.0625rem;
	padding: 0.1875rem 0.3125rem;
	margin: 0 6px 16px 0;
	min-height: 40px;
	max-height: none;
}

#login form p.submit {
	margin: 0;
	padding: 0;
}

.button-primary {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
	text-decoration: none;
	text-shadow: none;
}

.button-primary:hover {
	background: #135e96;
	border-color: #135e96;
	color: #fff;
	opacity: .7;
}

.site-header {
	background-color: #ffffff;
	position: fixed;
	width: 100%;
	top: 0;
	right: 0;
	left: 0;
	z-index: 9999;
}

a#logo {
	font-size: 25px;
}

#site-navigation ul {
	list-style: none;
}

#site-navigation li {
	text-align: center;
}

#site-navigation a {
	display: block;
	color: #fff;
	text-decoration: none;
}

.menu-list {
	width: 1000px;
	margin: 0 auto;
}

.menu-list>li {
	float: left;
	width: 25%;
	height: 50px;
	line-height: 50px;
}

.menu-list::after {
	content: "";
	display: table;
	clear: both;
}

.employee-add {
	margin: 20px 0;
}

/* 以下、ドロップダウン */

li.menu-item-has-children {
	position: relative;
}

li.menu-item-has-children ul {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	top: 40px;
	width: 100%;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
}

li.menu-item-has-children:hover ul {
	visibility: visible;
	opacity: 1;
	top: 50px;
}

/* 下矢印 */
li.menu-item-has-children>a::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 0 0 15px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* 以下、リンク色 */

.menu-list li a {
	background: rgb(26, 30, 36);
}

.menu-list li a:hover {
	background: rgb(242, 105, 100);
}

.menu-list li ul li a {
	background: rgb(242, 105, 100);
}

.menu-list li ul li a:hover {
	color: #999;
	background: #ffff00;
}

.menu-list li:hover>a {
	background: rgb(242, 105, 100);
}



.top-post article {
	display: flex;
	flex-direction: row;
}

.top-post article figure {
	width: 30%;
}

.article-content {
	width: 70%;
	margin: 0 30px;
}

.article-content h4 {
	font-size: 24px;
	font-weight: 900;
}

span.article-cateogry {
	background: #ffeca6;
	padding: 3px 5px;
	border-radius: 15px;
	font-size: 10px;

}

.to-archive a {
	display: block;
	text-align: center;
	background: #e9e9e9;
	padding: 15px 0;
	font-size: 2rem;
	transition: .2s;
	margin: 50px auto;
	width: 300px;
}

.to-archive a:hover {
	background: #ffe8e8;
}

.button006 a {
	background: #eee;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 240px;
	padding: 10px 25px;
	color: #313131;
	transition: 0.3s ease-in-out;
	font-weight: 500;
}

.button006 a:before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: -2em;
	transform: translateY(calc(-50% - 2px)) rotate(30deg);
	width: 12px;
	height: 2px;
	background-color: #6bb6ff;
	transition: 0.3s;
}

.button006 a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: -2em;
	transform: translateY(-50%);
	width: 60px;
	height: 2px;
	background-color: #6bb6ff;
	transition: 0.3s;
}

.button006 a:hover:before,
.button006 a:hover:after {
	right: -2.5em;
}

.button006 a:hover {
	background: #edf6ff;
	color: #6bb6ff;
}

/*--------------------------------------
カード型_01
--------------------------------------*/
.top-post-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.l-wrapper_01 {
	margin: 1rem auto;
	width: 30%;
}

.l-wrapper_01:hover {
	transform: translateY(-3px);
	box-shadow: 0 7px 14px rgba(50, 50, 93, .1), 0 3px 6px rgba(0, 0, 0, .08);
	transition: .2s ease;
}

.card_01 {
	background-color: #fff;
	box-shadow: 0 0 8px rgba(0, 0, 0, .16);
	color: #212121;
	text-decoration: none;
}

.card__header_01 {
	display: flex;
	flex-wrap: wrap;
	height: 300px;
}

.card__title_01 {
	padding: 1rem 1.5rem 0;
	font-size: 1.6rem;
	order: 1;
	margin-bottom: 0.6rem;
	margin: 0 auto;
	font-weight: bold;
	text-decoration: none;
}

.card__thumbnail_01 {
	margin: 0;
	order: 0;
	width: 400px;
	height: 240px;
	position: relative;
	overflow: hidden;
}

.card__thumbnail_01 img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.card__image_01 {
	width: 100%;
}

.card-sub {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin: 10px 0;
	padding: 0 1.5rem;
}

.article-date {
	color: #a1a1a1;
	font-size: 12px;
}

.card__body_01 {
	padding: 0 1.5rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.card__text_01 {
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
	padding-bottom: 0;
}

.card__text2_01 {
	font-size: .8rem;
	margin-top: 0;
	margin-bottom: 2rem;
}

.card__text_01+.card__text_01 {
	margin-top: .5rem;
}

.card__footer_01 {
	padding: 1rem;
	border-top: 1px solid #ddd;
}

.button_01 {
	display: inline-block;
	text-decoration: none;
	transition: background-color .3s ease-in-out;
	text-align: center;
}

.button_01 a {
	text-decoration: none;
}

.button_01.-compact {
	padding: 1rem 1.5rem;
	border-radius: 0.25rem;
	background-color: #ff838e;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

.button_01.-compact:hover,
.button_01.-compact:focus {
	background-color: #ff3446;
}


.mypage-header {
	margin: 15px 0 15px;
	padding-bottom: 5px;
	padding-left: 10px;
	padding-top: 5px;
	font-size: 22px;
	border-radius: 3px;
	background-color: #0051e9;
}

.u-menu-wrap {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-evenly;
	width: 30%;
}

.page-btn {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}


.u-menu-content a.btn-flat {
	overflow: hidden;
	padding: 1.5rem 6rem;
	color: #fff;
	border-radius: 0;
	background: #282828;
	width: 100%;
}

.u-menu-content a.btn-flat span {
	position: relative;
}

.u-menu-content a.btn-flat:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
	-webkit-transform: translateX(-96%);
	transform: translateX(-96%);
	background: #0051e9;
}

@media (hover: hover) and (pointer: fine) {
	.u-menu-content a.btn-flat:hover:before {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
	}
}



p#ymd {
	font-size: 1em;
	text-align: center;
}

p#now {
	font-size: 2em;
	text-align: center;
}

.btn-wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}

a.btn-in {
	padding: 20px 0;
	width: 45%;
	margin: 10px 0;
	display: block;
	color: #3c3c3c;
	background: #ffffff;
	text-decoration: none;
	/* font-weight: bold; */
	font-size: 20px;
	border: 1px solid #3c3c3c;
	border-radius: 3px;
	text-align: center;
	text-decoration: none !important;
}


a.btn-in:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: -7px 10px 0 0;
	background: url(../img/login_i.svg) no-repeat;
	background-size: 120%;
	background-position: center center;
	vertical-align: middle;
}

@media (hover: hover) and (pointer: fine) {
	a.btn-in:hover {
		background: #aec6ff;
	}
}

a.btn-out {
	padding: 20px 0;
	width: 45%;
	margin: 10px 0;
	display: block;
	color: #3c3c3c;
	background: #ffffff;
	text-decoration: none;
	/* font-weight: bold; */
	font-size: 20px;
	border: 1px solid #3c3c3c;
	border-radius: 3px;
	text-align: center;
	text-decoration: none !important;
}

a.btn-out:after {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: -7px 0 0 10px;
	background: url(../img/logout_i.svg) no-repeat;
	background-size: 120%;
	background-position: center center;
	vertical-align: middle;
}

@media (hover: hover) and (pointer: fine) {
	a.btn-out:hover {
		background: #ffa8a5;
	}
}

/**ナレッジ**/
.knowledge-list li {
	border-bottom: 1px solid #3d3d3d;
	transition: all 0.2s 0s ease;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
}

.knowledge-link {
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	gap: 20px;
}

.knowledge-list p {
	margin: 10px 0;
}

.knowledge-cate {
	background: #9ab9ff;
	padding: 2px 10px;
	font-size: 12px;
	border-radius: 25px;
	width: auto;
	margin: 2px;
	color: #FFFFFF;
}

.knowledge-cate a {
	color: #FFFFFF;
}

/* buttonタグのリセットCSS（不要な場合、セレクタごと削除してください） */
button {
	padding: 0;
	font-family: inherit;
	appearance: none;
	cursor: pointer;
	background-color: transparent;
	border: none;
}

/* ボタンのスタイル */
button {
	padding: 0;
	font-family: inherit;
	appearance: none;
	cursor: pointer;
	background-color: transparent;
	border: none;
}

/* ボタンのスタイル */
.buttonBasic {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 200px;
	min-width: 8em;
	height: 50px;
	padding: 8px 24px;
	font-family: sans-serif;
	font-size: 16px;
	color: #fff;
	text-align: center;
	overflow-wrap: anywhere;
	background-color: #004d80;
	border-radius: 50px;
}

.knowledge-edit button,
.karte-edit button {
	display: block;
	width: 200px;
	box-sizing: border-box;
	background: #346beb;
	color: #FFF;
	padding: 11px 0;
	text-align: center;
	font-size: 1em;
	border-radius: 5px;
	transition: ease .3s;
	margin-top: 20px;
}

.triangle_arrow {
	position: relative;
	padding-left: 30px;
}

.triangle_arrow::before {
	/* 三角形の表示設定 */
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	/* 要素の左からの距離 */
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 10px solid #FFF;
}

.knowledge-edit button:hover,
.karte-edit button:hover {
	opacity: .5;
}

.knowledge-edit button a,
.karte-edit button a {
	transition: ease .3s;
	color: #fff;
}

@media (any-hover: hover) {
	.buttonBasic {
		transition: background-color 0.2s;
	}

	.buttonBasic:hover {
		background-color: #3492d1;
	}
}

.content-sep {
	display: flex;
}

.content-sep1 {
	display: flex;
	flex-direction: column;
	width: 20%;
	margin: 30px 30px 0 0;
}

.content-sep2 {
	width: 75%;
}

.post-category {
	display: flex;
	flex-direction: column;
	width: 80%;
	align-content: center;
	align-items: flex-start;
	gap: 10px;
}

.post-detail {
	margin: 40px 0;
	border-bottom: solid 1px #004d80;
}

.knowledgepage {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin: 40px 0;
}

.news-wrap {
	margin-bottom: 50px;
}

.news-wrap h3 {
	text-align: center;
}

.news-link,
.workrule-link {
	width: 100%;
}

.knowledge-list,
.doc-list,
.news-list {
	padding-left: 0;
}

.news-list {
	margin: 0 auto;
}


.doc-list li,
.news-list li {
	border-bottom: 1px solid #3d3d3d;
	transition: all 0.2s 0s ease;
	display: flex;
	flex-direction: row;
	align-content: center;
	justify-content: space-between;
	align-items: center;

}

.knowledge-list li:hover,
.doc-list li:hover,
.news-list li:hover {
	background: #ccdcff;
}

.post-form,
.list-wrap {
	margin: 20px 0;
}

.doc-list li a {
	color: #3d3d3d;
	padding: 30px 0;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin: 0 20px;
}

.news-list li a {
	color: #3d3d3d;
	padding: 20px 0;
	display: flex;
	flex-direction: row;
}

.news-list li a span {
	margin-right: 20px;
}

.new-txt {
	color: #FF0000;
}

.list-link {
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
}

.dl-link {
	transition: .3s ease;
}

.dl-link:hover {
	opacity: .5;
}

.form-wrap {
	margin: 20px 0;
}

.add-form input[type="text"],
input[type="password"],
input[type="email"] {
	padding: 10px;
	font-size: 1.2em;
	width: 60%;
}

th.office-name {
	font-size: 24px;
}

table.karte-det-table,
table.karte-det-table tbody tr th,
table.karte-det-table tbody tr td,
table.office-table,
table.office-table tbody tr th,
table.office-table tbody tr td,
table.profile-table,
table.profile-table tbody tr th,
table.profile-table tbody tr td {
	border: none;
	border-right: none;
}

.karte-det-table,
.office-table,
.profile-table {
	width: 100%;
	border-collapse: collapse;
}

.karte-det-table tr,
.office-table tr,
.profile-table tr {
	border-bottom: solid 2px white;
}

.karte-det-table tr:last-child,
.office-table tr:last-child,
.profile-table tr:last-child {
	border-bottom: none;
}

.karte-det-table th,
.office-table th,
.profile-table th {
	position: relative;
	text-align: left;
	width: 30%;
	background-color: #004d80;
	color: white;
	text-align: center;
	padding: 20px 0;
}

.profile-table th:after {
	display: block;
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	top: calc(50% - 10px);
	right: -10px;
	border-left: 10px solid #004d80;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}

.karte-det-table td,
.office-table td,
.profile-table td {
	text-align: left;
	width: 70%;
	text-align: center;
	background-color: #ececec;
	padding: 10px 0;
}

.karte-det-table td:not(:first-child),
.office-table td:not(:first-child),
.profile-table td:not(:first-child) {
	text-align: start;
	padding-left: 1.5em;
}

.karte-page h3,
.profile-page h3 {
	margin: 40px 0 16px 0;
}

.pagination {
	margin: 40px 0 0;
	display: flex !important;
	flex-direction: row !important;
	justify-content: center !important;
}

.nav-links {
	display: flex;
}

ul.page-numbers {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 0;
}

li a.page-numbers {
	padding: 20px 25px;
	display: inline-block;
	color: #333;
	border-radius: 3px;
	background: #fff;
}

li a.page-numbers:hover {
	background: #ccdcff;
}

.pagination ul li {
	margin: 0 10px;
}

.pagination .current {
	padding: 20px 25px;
	background: #135e96;
	color: #fff;
}

.pagination .prev,
.pagination .next {
	background: transparent;
	box-shadow: none;
	color: #333;
}

.pagination .dots {
	background: transparent;
	box-shadow: none;
}

/* 親タームのリスト */
.knowledge-category-list {
    list-style-type: none;
    /* マーカーを削除 */
    padding-left: 0;
    margin: 0;
}

/* 親タームのアイテム */
.knowledge-category-item {
    margin-bottom: 8px;
}

/* リンクのスタイル */
.knowledge-category-item>.knowledge-cate,
.knowledge-subcategory-item>.knowledge-cate {
    text-decoration: none;
    color: #333;
    font-weight: 500;
}

/* リンクのホバー時のスタイル */
.knowledge-category-item>.knowledge-cate:hover,
.knowledge-subcategory-item>.knowledge-cate:hover {}

/* 子タームのリスト */
.knowledge-subcategory-list {
    list-style-type: none;
    padding-left: 1em;
    /* インデントを追加して階層を強調 */
    margin: 4px 0 8px;
}

/* 親タームのアイテムホバー時に子タームが表示される */
.knowledge-category-item:hover>.knowledge-subcategory-list {
    display: block;
    animation: slideDown 0.3s ease-out;
}

/* アニメーション（スライドダウン） */
@keyframes slideDown {
    from {
        opacity: 0;
        max-height: 0;
    }

    to {
        opacity: 1;
        max-height: 200px;
        /* 必要に応じて調整 */
    }
}

/* 子タームのアイテム */
.knowledge-subcategory-item {
    margin-bottom: 4px;
}

/* タームリンクの間隔調整 */
.knowledge-cate {
    display: inline-block;
    padding: 6px 10px;
    transition: color 0.2s, background-color 0.2s;
}

/* 親タームリンクの背景色 */
.knowledge-category-item>.knowledge-cate {
    background-color: #f0f0f0;
}

/* 子タームリンクの背景色 */
.knowledge-subcategory-item>.knowledge-cate {
    background-color: #e8f4fc;
}

/* リンクのホバー効果 */
.knowledge-category-item>.knowledge-cate:hover,
.knowledge-subcategory-item>.knowledge-cate:hover {
    background-color: #d0eaff;
    color: #0073e6;
}

/*------------------------------
cardTypeList_krt
------------------------------*/
.cardTypeList_krt {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin: 20px auto;
	flex-direction: row;
	justify-content: flex-start;
	padding-left: 0;
}

.cardTypeList__item_krt {
	margin: 10px 20px;
	width: 21%;
}

.cardTypeList__link_krt {
	display: block;
	height: 200px;
	color: #333333;
	text-decoration: none;
	border-radius: 5px;
	box-shadow: 0 4px 10px 0 rgba(40, 49, 53, 0.2);
	overflow: hidden;
	position: relative;
}

.cardTypeList__link_krt:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.3);
	opacity: 0;
	transition: all 0.3s;
}

.cardTypeList__link_krt:hover::before {
	opacity: 1;
}

.cardTypeList__link_krt img {
	max-width: 100%;
}

.top-label {
	position: absolute;
	color: white;
	top: 0;
	left: 0;
	background: #135e96;
	padding: 5px;
}

.bottom-label {
	position: absolute;
	color: #2271b1;
	bottom: 0;
	right: 0;
	background: #fff;
	padding: 7px 15px;
	font-weight: bold;
}

/* もっと見る */

ul.cardTypeList_krt {
	border: none;
	list-style: none;
	padding: 0;
	margin: 0;
}


/* もっと見るのボタン */
.karte-page .more {
	text-align: center;
	padding-top: 15px;
	cursor: pointer;
	position: relative;
	padding-bottom: 15px;
}

.karte-page .more:hover {
	background: #fafafa;
}

.more button {
	position: relative;
	border: none;
	background: none;
}

.more button:after {
	color: #2165c0;
	position: relative;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 1em;
	content: "\f055";
	padding-left: 10px;
}

/* もっと見るの非表示 */
.cardTypeList_krt li.is-hidden {
	visibility: hidden;
	opacity: 0;
	height: 0;
	margin: 0 10px;
	padding: 0;
}

/*------------------------------
cardTypeList
------------------------------*/
.cardType-wrap {}

.cardTypeList {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	margin: 20px auto;
	flex-direction: row;
	justify-content: flex-start;
	padding-left: 0;
}

li.cardTypeList__item {
	margin: 10px 0 0;
	width: 24%;
}

.cardTypeList__item:not(:nth-child(4n)) {
	margin-right: 1.333%;
}

.cardTypeList__link {
	display: block;
	color: #333333;
	text-decoration: none;
	border-radius: 5px;
	box-shadow: 0 4px 10px 0 rgba(40, 49, 53, 0.2);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cardTypeList__link:hover {
	opacity: 0.8;
}

.cardTypeList__imageBox {
	cursor: pointer;
	height: 200px;
}

.cardTypeList__image {
	display: block;
	width: 100%;
	height: auto;
}

.cardTypeList__textBox {
	padding: 15px;
	box-sizing: border-box;
	letter-spacing: .1em;
}

.cardTypeList__title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 10px;
	text-align: center;
}

.cardTypeList__text {
	font-size: 12px;
	line-height: 1.5;
}

/*--------------------------------------
共通カスタム
--------------------------------------*/
/*--------------------------------------
ヘッダー
--------------------------------------*/
a#logo {
	color: #0051e9;
}

.menu-item {
	margin: 0 5px;
}

.navbar-default .navbar-nav .menu-item a {
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 100%;
	letter-spacing: .1em;
	background: #0051e9;
	padding: 15px 30px;
	border: 2px solid #0051e9;
	border-radius: 10px;
	position: relative;
	z-index: 1;
	transition: .3s;
}

.navbar-default .navbar-nav .menu-item a::before {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 10px;
	z-index: -1;
	background: #fff;
	transform-origin: 50% 100%;
	transform: scaleY(0);
	transition: transform ease .3s;
}

@media (hover: hover) and (pointer: fine) {
	.navbar-default .navbar-nav .menu-item a:hover {
		color: #0051e9;
	}
}

@media (hover: hover) and (pointer: fine) {
	.navbar-default .navbar-nav .menu-item a:hover::before {
		transform: scaleY(1);
	}
}

.navbar-header .navbar-brand p {
	margin: 0;
}

/*--------------------------------------
HOMEページカスタム
--------------------------------------*/
body.home span.article-cateogry {
	max-width: 50%;
}

body.home .l-wrapper_01 {
	width: 47%;
}

body.home .card__header_01 {
	min-height: 350px;
}

#content {
	padding: 40px 0;
}

.contents-line {
	width: 1024px;
	margin: 0 auto;
}

.cat-title {
	font-size: 24px;
	padding: 0.5em;
	color: #494949;
	background: #edf8ff;
	border-left: solid 5px #004d80;
}

#commentform input,
#site_post_form a,
#footer,
.page-catheader,
.page-title {
	background-color: #0051e9 !important;
	letter-spacing: .1em;
}

h2.page-title {
	margin: 10px 0;
}

/*--------------------------------------
フッター
--------------------------------------*/
#footer p.attribution {
	float: none;
	text-align: center;
}


/*--------------------------------------
マイページカスタム
--------------------------------------*/
body.archive div#main,
body .row div#main,
#mypage-main {
	float: unset;
	width: auto;
	margin: auto;
	margin-top: 40px;
}

body.archive .u-menu-wrap,
.mypage-menu-wrap {
	width: fit-content;
	margin: auto;
}

body.archive a.btn-in,
body.archive a.btn-out {
	width: 46%;
	font-size: 16px;
	padding: 2em 1em;
}

body.archive a.btn-in:before,
body.archive a.btn-out:after {
	width: 20px;
	height: 20px;
}

element.style {
	display: flex;
	flex-wrap: wrap;
	width: 50%;
	justify-content: space-between;
}

.mypage-menu-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 80%;
}

.u-menu-content {
	width: 100%;
}

.u-menu-content {
	margin-top: 5px;
}

.attendance-status {
	margin-left: 4%;
}

.myprofile-box h3 {
	font-size: 18px;
	letter-spacing: .05em;
}

table.profile-table tbody tr td img {
	width: 100%;
	height: auto;
	max-width: 250px;
}

/*--------------------------------------
カルテページ
--------------------------------------*/
.p-filter {
	padding: 20px;
	margin: 20px 0;
	border: 1px solid #004d80;
}

.p-filter__fixed {
	display: none;
}

.p-filter__form {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
}

.p-filter__block {
	margin-bottom: 10px;
}

.p-filter__line {
	display: flex;
}

p.p-filter__title__shop,
p.p-filter__title {
	color: #656565;
	margin: 20px 0 10px 0;
	font-weight: bold;
}

.p-filter__block label {
	margin-right: 15px;
	display: block;
}

.p-filter__block label .p-filter__check {
	display: none;
	/* デフォルトのinputは非表示にする */
}

.p-filter__block label span {

	display: inline-block;
	color: #a3a3a3;
	font-size: 14px;
	border: 2px solid #a3a3a3;
	border-radius: 5px;
	padding: 10px 42px 10px 20px;
	cursor: pointer;
}

.p-filter__block label input:checked+span {
	display: inline-block;
	color: #346beb;
	background: #edf3ff;
	border: 2px solid #346beb;
	cursor: pointer;
	padding: 9px 20px 9px 20px;
}

.p-filter__block label input[type="checkbox"]:checked+span::after {
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 12px;
	padding: 2px 2px 2px 10px;
	content: "\f00c";
	transition: transform .3s ease-in-out;
}

input.p-filter__input {
	height: 40px;
	width: 200px;
	border: 1px solid #FFF;
	border-bottom: 1px solid #575757;
	background: #eee;
	font-size: 100%;
	padding: 10px;
	border-radius: 5px;
}

input.p-filter__input:focus {
	border-color: #346beb;
	/* 枠線の色 */
	outline: none;
	/* ※ブラウザが標準で付加する線を消したいとき */
}

.p-filter__button-item--submit {
	display: block;
	width: 200px;
	box-sizing: border-box;
	background: #135e96;
	color: #FFF;
	padding: 11px 0;
	text-align: center;
	font-size: 1em;
	border-radius: 5px;
	transition: ease .3s;
	margin-top: 20px;
}

.p-filter__button-item--submit:hover {
	opacity: .6;
}

.cp_ipselect {
	overflow: hidden;
	text-align: center;
}

.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	height: 38px;
}

.cp_ipselect select::-ms-expand {
	display: none;
}

.cp_ipselect.cp_sl01 {
	width: 150px;
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}

.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}

.cp_ipselect.cp_sl01 select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}

i.fa.fa-search {
	margin-left: 20px;
}

.karte-box {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	margin: 10px 0;
	padding: 10px 0;
	border-bottom: 2px solid #DDD;
	position: relative;
}

.karte-box a {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.karte-img {
	width: 30%;
}

.karte-img img {
	max-width: 100%;
}

.karte-text-wrap {
	display: flex;
	flex-direction: row;
	width: 70%;
	margin: 10px 0 10px 20px;
}

.karte-text {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
}

.karte-date,
.karte-shop,
.karte-tel {
	color: #083d61;
}

p.karte-name {
	font-size: 22px;
	text-align: center;
	font-weight: bold;
}

p.karte-tel {
	text-align: center;
}

.nav-open {
	padding: 5px;
	position: relative;
}

.nav-open::before {
	/* 閉じている時 */
	content: "";

	border-bottom: solid 2px #666666;
	border-right: solid 2px #666666;
	width: 14px;
	height: 14px;
	transform: rotate(45deg);
	position: absolute;
	right: 20px;
}

.nav-open.active::before {
	/* 開いている時 */
	content: "";
	border-top: solid 2px #666666;
	border-left: solid 2px #666666;
	border-bottom: none;
	border-right: none;
	top: 10px;
	width: 14px;
	height: 14px;
	transform: rotate(45deg);
}

/*--- 20231222追加 ---*/
.system-name img {
	width: 15%;
	min-width: 150px;
}

.site-name {
	margin-top: 14px;
}

.sys-btn-content {
	width: 90%;
	margin: 40px auto;
	justify-content: space-between;
}

footer#footer {
	background-color: transparent !important;
	color: #333;
	text-align: center;
}

footer#footer small {
	display: inline-block;
	padding: 16px 0;
}

@media (max-width: 1024px) {

	.p-filter__block {
		width: 100%;
	}

	.p-filter__button-item--submit {
		margin: 20px auto 0 auto;
		width: 100%;
	}

	input.p-filter__input {
		width: 100%;
	}
}


@media screen and (min-width: 651px) {

	/*--------------------------------------
	マイページカスタム
	--------------------------------------*/
	body.archive p#now {
		font-size: 50px;
	}

	body.archive a.btn-in,
	body.archive a.btn-out {
		width: 300px;
		font-size: 28px;
		padding: 2em;
	}

	body.archive a.btn-in:before,
	body.archive a.btn-out:after {
		width: 30px;
		height: 30px;
	}

	.mypage-menu-wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 80%;
	}

	.u-menu-content {
		width: 49%;
	}

	.u-menu-content:nth-child(n+3) {
		margin-top: 5px;
	}

	p#ymd {
		font-size: 2em;
		text-align: center;
	}

	p#now {
		font-size: 5em;
	}

	a.btn-in,
	a.btn-out {
		padding: 2em;
		width: 300px;
		margin: 10px 0;
		display: block;
		color: #3c3c3c;
		background: #ffffff;
		text-decoration: none;
		/* font-weight: bold; */
		font-size: 28px;
		border: 1px solid #3c3c3c;
		border-radius: 3px;
		text-align: center;
		text-decoration: none !important;
	}

}



@media screen and (min-width: 768px) {

	/*--------------------------------------
	共通カスタム
	--------------------------------------*/
	a#logo {
		font-size: 35px;
	}

	.navbar div#navbarcont {
		width: 95%;
	}

	.navbar-default .navbar-nav .menu-item a {
		padding: 10px 15px;
	}

	.row:before,
	.row:after {
		display: none !important;
	}

	div#navbarcont .row {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	p.card__title_01 {
		font-size: 1.8rem;
	}

	.article-date {
		font-size: 1rem;
	}

	div#inner-footer {
		height: 80px;
	}

	div#maincnot {
		min-height: calc(100vh - 120px - 110px);
	}

	/*--------------------------------------
	HOMEページカスタム
	--------------------------------------*/
	body.home .l-wrapper_01 {
		width: 30%;
	}

	body.home span.article-cateogry {
		max-width: unset;
	}

	.mypage-menu-wrap {
		width: 70%;
	}

	.attendance-status {
		margin-left: 5%;
	}

	/*--------------------------------------
	マイページカスタム
	--------------------------------------*/


}


@media screen and (min-width: 992px) {

	/*--------------------------------------
	HOMEページカスタム
	--------------------------------------*/
	body.home .card__header_01 {
		height: auto;
		min-height: 330px;
	}

	/*--------------------------------------
	マイページカスタム
	--------------------------------------*/
	body.archive .u-menu-wrap {
		float: left
	}

	body.archive div#main,
	body .row div#main,
	#mypage-main {
		width: 66.66666667%;
	}

	body.archive .user-my-page div#main,
	#mypage-main {
		margin: 50px auto 0;
		transform: unset;
	}

	.attendance-status {
		margin-left: 2%;
	}

	.mypage-menu-wrap {
		width: 50%;
	}

	.navbar-default .navbar-nav .menu-item a {
		padding: 10px 20px;
	}

}

@media (min-width: 1200px) {
	.attendance-status {
		margin-left: 6%;
	}
}

@media (max-width: 768px) {
	.navbar-default .navbar-nav .menu-item a {
		text-align: center;
	}

	.navbar.navbar-default .navbar-collapse.top-menu {
		float: none;
	}

	.navbar-header p {
		margin: 0 !important;
	}

	/*--------------------------------------
	社員一覧
	--------------------------------------*/
	li.cardTypeList__item {
		width: 32%;
	}

	.cardTypeList__item:not(:nth-child(4n)) {
		margin-right: 0
	}

	.cardTypeList__item:not(:nth-child(3n)) {
		margin-right: 2%;
	}


	/*--------------------------------------
	* カルテ
	--------------------------------------*/
	ul.page-numbers {
		display: flex;
		font-size: 12px;
		justify-content: space-between;
		align-items: center;
	}

	.pagination ul li {
		margin: 0;
		width: 100%;
		height: 100%;
		text-align: center;
	}

	li a.page-numbers {
		padding: 10px 0;
		width: 100%;
		height: 100%;
	}

	.pagination .current {
		display: inline-block;
		padding: 10px 0;
		width: 100%;
	}

	span.page-numbers.dots {
		display: block;
		position: relative;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
	}
}

@media (max-width: 601px) {
	.site-header {
		position: absolute;
	}

	.site-header.fixed {
		position: fixed;
		top: 0;
	}

}

@media (max-width: 426px) {

	/*--------------------------------------
	社員一覧
	--------------------------------------*/
	li.cardTypeList__item {
		width: 49%;
	}

	.cardTypeList__item:not(:nth-child(3n)) {
		margin-right: 0;
	}

	.cardTypeList__item:not(:nth-child(2n)) {
		margin-right: 2%;
	}

}


.menu__item {
	width: 100%;
	position: relative;
}

.menu a {
	font-size: 18px;
	display: block;
	text-align: center;
	padding: 10px;
	color: #fff;
	background-color: #000066;
	transition: opacity 0.3s ease;
	text-decoration: none;
}

.menu a:hover {
	opacity: 0.7;
	text-decoration: none;
}

.menu__drop {
	font-size: 18px;
	display: block;
	padding: 10px;
	margin-bottom: 3px;
	color: #fff;
	background-color: #000066;
	transition: opacity 0.3s ease;
	cursor: pointer;
}

.menu__drop:hover {
	opacity: 0.7;
}