@charset "utf-8";

/*===============================================
●共通
===============================================*/
/* mainImage
---------------------------------------- */
#mainImage {
	width: 100%;
	max-width: 1050px;
	background-color: rgba(0, 0, 0, 0.05);
}
/*#mainImage div.inner {padding: 10px;}*/
#mainImage ul {
	text-align: center;
	margin: 0 auto;
}
.fixedImage ul li {
	overflow: hidden;
	display: inline-block;
	box-sizing: border-box;
	border: #fff 3px solid;
	background-color: rgba(0, 0, 0, 0.05);
}
#mainImage li span {
	display: block;
	width: 100%;
	height: 100%;
}
/* bxSliderのスタイル設定 */
#mainImage .bx-wrapper {
	position: relative;
	box-shadow: none;
	border: none;
	margin-bottom: auto;
}
#mainImage .bx-controls-direction a {
	display: block;
	position: absolute;
	top: 50%;
	font-size: 2em;
	width: 1em;
	height: 1em;
	color: #fff;
	text-align: center;
	margin-top: -0.5em;
	text-shadow:  0 2px 2px rgba(0, 0, 0, 0.15);
}
#mainImage .bx-prev {
	left: 5px;
	transform: rotate(-90deg);
}
#mainImage .bx-next {
	right: 5px;
	transform: rotate(90deg);
}
#mainImage .bx-pager {
	display: flex;
	width: 100%;
	position: absolute;
	bottom: 10px;
	left: 0;
	justify-content: center;
}
#mainImage .bx-pager .bx-pager-item a {
	display: block;
	width: 13px;
	height: 13px;
	font-size: 0;
	margin: 0 5px;
	border-radius: 100%;
	background-color: #fff;
	box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.15);
}

.fixedImage #mainImage01,
.fixedImage #mainImage03 {transform: rotate(-3deg) scale(1.05);}
.fixedImage #mainImage02 {transform:rotate(3deg);}

#navWrap {
	margin: 5px auto;
}
#navWrap ul {
	line-height: 1.1;
	letter-spacing: 0;
}
#navWrap li {
	font-size: 0.75em;
	display: inline;
	word-break: break-all;
}
#navWrap ul li:not(:first-child)::before {
	content: ">";
	display: inline-block;
	width: 1.5em;
	text-align: center;
	line-height: 1em;
}
#navWrap .navOpen {
	text-align: end;
	line-height: 1.1;
}
#navWrap .navOpen span {
	cursor: pointer;
	text-decoration: underline;
	font-size: 0.75em;
}

/* ブログ表示 ラジオボタンカスタム
---------------------------------------- */
input[type="radio"] {
	appearance: none; /* デフォルトのラジオボタンを消す */
	width: 20px; /* 外枠のサイズ */
	height: 20px;
	border: 1px solid #333; /* 外枠を黒に */
	border-radius: 50%; /* 円形にする */
	display: inline-block;
	position: relative;
	background-color: white; /* 白背景 */
}

input[type="radio"]::before {
	content: "";
	width: 7px; /* 中の黒丸のサイズ */
	height: 7px;
	background-color: #333; /* 黒丸 */
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0; /* 初期状態では非表示 */
}

input[type="radio"]:checked::before {
	opacity: 1; /* 選択されたときに表示 */
}


/* contentsList
---------------------------------------- */
/* pointTit */
.pointTit { position: relative;}
.pointTit div { position: absolute;}
.pointTit div svg {
	border-radius: 100%;
	position: absolute;
}
.pointTit div::before {
	content: "";
	display: block;
	position: absolute;
	background-color: #fff;
	border-radius: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, 0%);
}
.pointTit .t_pageHeading {
	color: #fff;
	font-weight: bold;
	line-height: 1.5em;
	padding: 0.3em 0.5em 0.2em 65px;
	background-color: #000;
	border-radius: 10px;
	word-break: break-word;
}
.pointTit h2.t_pageHeading {font-size: 1.1em;}/*h2は1.1em 2020/08/05*/
.pointTit .t_pageHeading.noIcon {
	color: #fff;
	font-weight: bold;
	line-height: 1.5em;
	padding: 0.3em 0.5em 0.2em 1em;
	background-color: #000;
	border-radius: 10px;
}
.pointTit .t_pageHeading .flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/* タイトルまとめ表示
------------------------------------------*/

.contentsList .titList {
	padding: 0.85em;
	margin-bottom: 0.5em;
	background-color: rgba(0, 0, 0, 0.05);
}
.contentsList .titList li {
	line-height: 1.5em;
	padding-left: 1em;
	margin-bottom: 0.5em;
	background-size: 6px 10px!important;
}
.contentsList .titList li a {
	display: block;
	position: relative;
	padding: 0.2em 0 0 0;
}

/*トップページ(ダイジェスト)*/
.index .contentsList .titList {
	padding: 0.85em 0.55em;
	margin: 0 0 0.5em;
}
.contentsList .titList li { padding-left: 0.8em;}

/* 標準型 */
/* .contentsList .titList li div {
	position: absolute;
	left: -1.5em;
} */
.contentsList .titList li sapn {
	position: absolute;
	left: -1.5em;
}
.contentsList .titList li svg {
	max-width: 1.25em;
	height: 0.875em;
	vertical-align: middle;
}
.contentsList .pageLink li a{
	background-size: 10px 10px!important;
	/*padding-left: 0;*/
}

/* Q&A型 */
.contentsList .titList li.question {
	background: none;
	padding-left: 2em;
	line-height: 1.5em;
	word-break: break-all;
}
.contentsList .titList li.question a {
	position: relative;
	/*padding: 0.2em 0 0 0;*/
}

.contentsList .titList li.question a span{
	position: absolute;
	left: -2.5em;
}
.contentsList .titList li.question sapn.downArrow {
	position: static;
}
.contentsList .titList li:last-child {margin-bottom: 0;}
.contentsList .btnRed01 {
	margin: 0 13px;
	font-weight: bold;
}

/* pageText */
.pageText {
	line-height: 1.7em;
	margin-bottom: 1.5em;
}

.mainCatList .t_pageSubHeading{
	padding-left: 2.5em;
	position: relative;
}

/* mainCatList */
.mainCatList .t_pageSubHeading {
	font-size: 1.15em;
	line-height: 1.5em;
	padding-left: 0.5em;
	margin-bottom: 0.3em;
	border-left: #000 6px solid;
}

/* catName */
.catName a,
.catName time {
	font-size: 0.85em;
}
.catName a,
.updated span span,
.updated span a {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	padding: 0 0.5em;
	background-color: rgba(255, 162, 0, 1);
	border-radius: 5px;
}
.catName a:hover,
.updated span a:hover {
	color: #fff;
	opacity: 0.8;
}

/* セパレーター
---------------------------------------- */
/*なし*/
.sep00 { border-bottom: none!important; }

/*下線*/
.sep01{
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
	border-bottom: #aaa 1px solid;
}
/*矢印*/
.sep02 {
	padding-bottom: 3em;
	margin-bottom: 1.5em;
	background: url(../images/mainframe/icon_arrow02.png) no-repeat center bottom;
	background-size: 27px 23px;
	border-bottom: none!important;
}
.sep02:last-child {
	background: none;
	padding-bottom: 0;
}

/*---------------------------------------
patern
---------------------------------------- */
/* 共通 */
.patern01 table th,
.patern01 table td {
	vertical-align: top;
	border: #d3d3d3 1px solid;
}
.patern01 table th {
	font-weight: bold;
	white-space: nowrap;
	background-color: #ffe7cd
}
.patern05 .patern05Box {
	margin-bottom: 1.5em;
	border-bottom: #aaa 1px solid;
}
/*.patern02Box,
.patern03Box,
.patern04Box {margin-bottom: 50px;}*/

.imgBox {
	text-align: center;
	margin: 0 auto;
	/*margin: 0 auto 0.7em;*/
}
.imgBox div {margin: 0 auto;}

.textBox {
	/*padding: 10px 0 !important;*/
	/*line-height: 1.6em;*/
}
.patern01 table th img,
.patern01 table td img,
.textBox img {
	width: auto;
	height: auto;
}
.patern01 table ul li,
.patern01 table ul li,
.textBox ul li {list-style: inside disc;}
.patern01 table ol li,
.patern01 table ol li,
.textBox ol li {list-style: inside decimal;}

.patern04Box {
	width: 48.5%;
	display: inline-block;
	margin-bottom: 3%;
	vertical-align: top;
}
.patern04 .clearfix article.mRight3 {margin-left: 3%;}
.patern04 .patern04Box time {margin-bottom: 0.7em;}

/* Q&A型
------------------------------------------*/
/*タイトルが非表示でなければ アイコン分ずらす*/
.patern05 .patern05Box .iconExist .textBox { padding-left: 2.5em!important;}

.patern05 .patern05Box .t_itemTitle {
	padding-left: 2.2em; /*Aアイコン分余白*/
	padding-bottom: 0;
	margin-bottom: 0.85em;
	border-bottom: none;
	position: relative;
	display: flex;
	align-items: start;
}
.patern05 .patern05Box .t_itemTitle span.iconQ,
.patern05 .patern05Box .textBox .answer{
	position: absolute;
	margin-left: -2.5em!important; /*QAアイコン位置*/
}
.patern05 .patern05Box .t_itemTitle span.iconQ,
.question span.iconQ {
	font-size: 0.91em;
	width: 2em;
	line-height: 2em;
	text-align: center;
	color: #fff;
	margin-right: 0.5em;
	border-radius: 2em;
}
.question span {
	font-weight: bold;
	font-size: 1em;
}
.patern05 .patern05Box .t_itemTitle .titleTxt {
	padding-top: 0.2em;
	word-break: break-all;
}
.patern05 .patern05Box .textBox .textBox {padding: 0.3em 0 10px!important;}
.patern05Box .textBox .answer {
	float: left;
	width: 2em;
	color: #fff;
	font-weight: bold;
	line-height: 2em;
	text-align: center;
	margin-right: 0.5em!important;
	border-radius: 2em;
}
.patern05Box .textBox .imgBox {margin-top: 0.85em;}
.patern05Box .textBox .imgBox div {margin: 0 auto!important;}

/* ページグループ */
.patern90 ul {padding: 0 0 0 0.85em;}
.patern90 > ul {padding: 0.85em;}
.patern90 ul li a {
	display: block;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 1.7em;
	background: url(../images/mainframe/icon_arrow01.png) no-repeat 0.5em 0.9em;
	background-size: 0.5em 0.7em;
	word-break: break-word;
}
.patern90 > ul {background-color: rgba(0, 0, 0, 0.05);}
.patern90 > ul > li > a {position: relative;}
.patern90 > ul > li > .level1 + a {
	background: transparent;
}
.patern90 > ul > li > .level1 + a::before {
	display: inline-block;
	text-decoration: none;
	content: "\f144";
	font-size: 0.9em;
	font-weight: 900;
	margin: 0 0.3em 0 -1.3em;
	font-family: "Font Awesome 5 Free";
}

.contentsText {
	font-size: 0.85em;
	line-height: 1.4em;
	margin: 1em 0;
}

/* ブログ */
.blogContents .blogItem .categoryNames a,
.blogContents .articleWrap .catName a {
	margin-right: 4px;
	margin-bottom: 2px;
	height: 1.9em;
}
.blogContents .blogCategoryList {
	margin-bottom: 1em;
}
.blogContents .blogCategoryList > ul {
	padding: 0.85em;
}
.blogContents .blogRadioArea .showBlog {
	width: 1em;
	height: 1em;
}
.blogContents .blogRadioArea {
	font-weight: normal;
	flex-grow: 1;
	text-align: end;
}
.blogContents .blogRadioArea label {
	margin-right: 0.5em;
	display: inline-block;
	line-height: 1;
}
.blogContents .blogRadioArea label:last-child {
	margin-right: 0;
}
.blogContents .blogRadioArea label input {
	vertical-align: bottom;
}
.blogContents .authorBox {
	align-items: center;
	padding: 0.15em 0 0;
}

/* pager
---------------------------------------- */
.prevNext {
	overflow: hidden;
}
.prevNext li {
	display: inline-block;
	margin: 0 0 3em;/*20200929 上部余白を0にする*/
	font-size: 0.85em;
}
.prevNext li.next {float: right;}
.prevNext li.prev {float: left;}
.prevNext li a {
	display: inline-block;
	color: #fff;
	line-height: 1.3em;
	padding: 0.5em 1em;
	text-decoration: none;
	background-color: #7b4500;
	border-radius: 5px;
}
.prevNext li a:hover {background-color: rgba(123, 69, 0, 0.7);}
.prevNext li.next span {
	display: inline-block;
	padding-left: 0.5em;
}
.prevNext li.prev span {
	display: inline-block;
	padding-right: 0.5em;
}
.pager {
	/*font-size: 0.85em;*/
	display: table;
	text-align: center;
	margin: 0 auto 2.5em;
}
.pager li {display: inline-block;}
.pager li a,
.pager li span {
	color: #fff;
	display: inline-block;
	text-decoration: none;
	padding: 0.2em 0.5em;
	margin: 0 0.3em;
	background-color: #7b4500;
	border: #7b4500 1px solid;
	border-radius: 5px;
}
.pager li span {
	color: #7b4500;
	background-color: #fff;
}
.pager li a:hover {background-color:rgba(123, 69, 0, 0.7);}

/* ブログカテゴリ、アーカイブ一覧
---------------------------------------- */
.patern03 > article .articleWrap,
.blogItem {
	/* padding-bottom: 1em; */
	margin-bottom: 1em;
	border-bottom: #ccc 1px solid;
}
.patern03 > article .articleWrap[type="contentsOnly"] header,
.blogItem .articleWrap[type="contentsOnly"] header {
	display: flex;
	flex-wrap: wrap;
}
.patern03 > article .articleWrap[type="contentsOnly"] header .catName,
.blogItem .articleWrap[type="contentsOnly"] header .updated {
	flex-grow: 1;
}
.patern03 header .t_itemTitle,
.blogItem .t_blogItemTitle {
	font-weight: bold;
	font-size: 1.1em;
	padding-left: 1em;
	margin-bottom: 0.2em;
	background: url(../images/mainframe/icon_arrow01.png) no-repeat left center;
	background-size: 6px 10px;
}
.blogItem .updated {
	text-align: right;
}
.blogItem .articleWrap:not([type="showAll"]) .updated {
	margin-bottom: 0;
}
.patern03 > article .articleWrap header .catName {
	text-align: right;
}
.patern03 > article .articleWrap[type="contentsOnly"] header .linkAleft,
.blogItem .articleWrap[type="contentsOnly"] header .linkAleft {
	text-align: left;
}
.patern03 > article .articleWrap header span,
.patern03 > article .articleWrap header time,
.blogItem .updated span,
.blogItem .updated time {
	color: inherit;
}
.patern03 > article .articleWrap header span:not(.blogItemDate),
.patern03 > article .articleWrap:not([type="showAll"]) header time,
.blogItem .updated span:not(.blogitemDate),
.blogItem .updated time {
	display: inline-block;
	margin-left: 1.5em;
}
.blogItem .updated span span {margin-left: 0;}
.blogItem .desc .descLink {color: #00f;}
.patern03 > article .articleWrap.blogSingle .articleInner {
	margin-top: 1em;
}
.patern03 > article .articleWrap.blogSingle .blogItemDate,
.patern03 > article .articleWrap[type="showAll"] .blogItemDate,
.blogItem .articleWrap[type="showAll"] .linkContents .blogitemDate {
	display: flex;
	justify-content: end;
	flex-wrap: wrap;
	margin-left: 0;
}
.patern03 > article .articleWrap.blogSingle .blogItemDate {
	margin-bottom: calc(0.3em + 5px);
}
.patern03 > article .articleWrap .blogItemDate time,
.patern03 > article .articleWrap[type="showAll"] .linkContents time,
.blogItem .viewBlog[type="showAll"] .linkContents time {
	display: block;
	margin-left: 0;
}
.patern03 > article .articleWrap .blogItemDate time,
.patern03 > article .articleWrap .linkContents time,
.blogItem .viewBlog .linkContents time {
	font-size: 0.75em;
}
.patern03 > article .articleWrap:not([type="showAll"]) .linkContents .secondDate,
.blogItem:not([type="showAll"]) .linkContents .secondDate {
	display: none;
}
.patern03 > article .articleWrap .tit03 .t_itemTitle {
	border-bottom: none;
	padding-bottom: 0;
}
.patern03 > article .articleWrap[type="contentsOnly"] .authorBox,
.patern03 > article .articleWrap[type="dispThreeLines"] .authorBox,
.blogItem .articleWrap[type="contentsOnly"] .authorBox,
.blogItem .articleWrap[type="dispThreeLines"] .authorBox {
	display: none;
}

/* side
---------------------------------------- */
.sideBorderBox {
	padding: 10px 10px 0;
	border: #aaa 1px solid;
	border-radius: 5px;
}
.sideBorderBox .workTimeTable,
.sideBorderBox .orangeTelNo {margin-bottom: 0.5em;}
.fTimeText {
	line-height: 1.5em;
	margin-bottom: 0.8em;
}
.sideBorderBox address {margin-bottom: 0.5em;}
.sideSEOTitle {
	font-size: 0.85em;
	font-weight: bold;
	margin-bottom: 0.5em;
	word-break: break-all;
}
.sideSEOText {
	font-size: 0.75em;
	line-height: 1.5em;
	margin-bottom: 1.5em;
	word-break: break-all;
}

#side .btnBlue01 { margin-bottom: 1em;}

#side .btnStyle01 {
	margin-bottom: 1em;
	font-weight: bold;
}
#side .btnStyle01 a {
	padding: 0.75em 1.25em 0.75em 0em;
	line-height: 1.375em;
	position: relative;
}
#side .btnStyle01 a i {
	position: absolute;
	right: 0.35em;
	transform: translate(0, -57%);
	top: 50%;
	font-size: 0.95em;
}

.catList {
	margin-bottom: 1.5em;
	border: #000 1px solid;
	border-radius: 5px;
}
.catList .catListTitle {
	font-size: 1.2em;
	line-height: 1.3em;
	padding: 0.5em 0.2em;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	border-bottom: rgba(0, 0, 0, 0.7) 3px solid;
	background-color: #000;
	border-radius: 3px 3px 0 0;
}
.catList p.sideMenuTop a,
.catList ul li a {
	padding: 0.5em 1.7em;
}
.catList ul li ul li a {
	padding: 0.5em 2.7em;
}
.catList p.sideMenuTop a {
	display: block;
	color: #000;
	text-decoration: none;
	line-height: 1.3em;
	border-bottom: #000 1px dotted;
}
.catList p.sideMenuTop a::before,
.catList ul:not(.pageGroupList) li a:not(.month)::before {
	content: "\f144";
	font-size: 0.9em;
	font-weight: 900;
	margin: 0 0.3em 0 -1.3em;
	font-family: "Font Awesome 5 Free";
}
.catList ul.list li:not(.level1) a::before {
	content: "";
	display: inline-block;
	font-size: 1em;
	width: 1em;
	height: 1em;
	background: url(../images/mainframe/icon_arrow01.png) no-repeat center / 0.5em 0.9em;
}
.catList p.sideMenuTop a.current,
.catList ul li.current a {
	color: #000;
	font-weight: bold;
	background-color: #eee;
}
.catList .catListTitle a:hover {background-color: rgba(0, 0, 0, 0.7);}
.catList ul li a {
	display: block;
	line-height: 1.3em;
	text-decoration: none;
	border-bottom: #000 1px dashed;
	color: #333;
	word-break: break-word;
}
.archive > ul > li > a {
	cursor: pointer;
}
.archive > ul > li > a span {
	position: relative;
	top: 2px;
	margin-left: 0.5em;
}
.archive > ul > li > a span:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 1em;
	padding: 0 5px;
	color: #999999;
	font-weight: normal;
	background: url(../images/mainframe/icon_circleArrow_Up.svg) no-repeat center center / 100% auto;
}
.archive > ul > li > a.close span:before {
	background: url(../images/mainframe/icon_circleArrow_Down.svg) no-repeat center center / 100% auto;
}
.archive ul li ul li a {
	position: relative;
}
.archive ul li ul li a::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background: url(../images/mainframe/icon_arrow01.png) no-repeat center / 0.5em 0.9em;
	position: absolute;
	left: 1.5em;
}
.catList > ul li.lastSideMenu:not(.expand) a {border-bottom: none;}

/* ページグループ 
---------------------------------------- */
/* サイドメニュー */
.catList ul.pageGroupList li .liBox {
	display: flex;
}
.catList ul.pageGroupList li a {
	display: block;
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-bottom: 0.5em;
	/* background: url(../images/mainframe/icon_arrow01.png) no-repeat 0.5em 0.9em;
	background-size: 0.5em 0.7em; */
}
.catList ul.pageGroupList li:not(.collapse, .expand) a {
	width: 100%;
}
.catList ul.pageGroupList li a span {position: relative;}
.catList ul.pageGroupList li:not(.level1) > div > a span::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	background: url(../images/mainframe/icon_arrow01.png) no-repeat center / 0.5em 0.9em;
	position: absolute;
	left: -1em;
	top: 0.15em;
}
.catList ul.pageGroupList li.level1 > div > a span::before {
	content: "\f144";
	font-size: 0.9em;
	font-weight: 900;
	margin: 0 0.3em 0 -1.3em;
	font-family: "Font Awesome 5 Free";
}
.catList ul.pageGroupList li.level1 > div > a {
	padding-left: 1.7em;
}
.catList > ul.pageGroupList > li > .liBox > a {background: none;}
.catList ul.pageGroupList li.collapse > .liBox a,
.catList ul.pageGroupList li.expand > .liBox a {
	padding: 0.5em 0 0.5em 1.7em;
}
.catList > ul.pageGroupList > li.collapse > .liBox > a,
.catList > ul.pageGroupList > li.expand > .liBox > a {
	padding: 0.5em 0 0.5em 1.7em;
}
.catList ul.pageGroupList li > .liBox span.bullet {
	flex-grow: 1;
	min-width: 22.4px;
	margin-left: 0.5em;
	cursor: pointer;
}
.catList ul.pageGroupList li > .liBox span.bullet:before {
	color: #999999;
	font-weight: normal;
	content: "";
	display: inline-block;
	width: 2%;
	height: 50%;
	padding: 0 5px;
	cursor: pointer;
}
.catList ul.pageGroupList li > .liBox span.bullet:before {
	width: 6px;
	height: 100%;
}
.catList ul.pageGroupList li.expand > .liBox span.bullet:before {
	background: url(../images/mainframe/icon_circleArrow_Up.svg) no-repeat center center / 100% auto;
}
.catList ul.pageGroupList li.collapse > .liBox span.bullet:before {
	background: url(../images/mainframe/icon_circleArrow_Down.svg) no-repeat center center / 100% auto;
}
.catList ul.pageGroupList li div a {
	background-color: transparent!important;
	border-bottom: none!important;
}

/* 基本登録情報ページ contact.php 
---------------------------------------- */
.pContact .pointTit {
	margin-bottom: 1.625em;
}
.contactMapBox { margin-bottom: 3em;}


/* facebook
---------------------------------------- */
 #fbBox {text-align: center;}

/*文責 PC版用のサイズに変更 2020/9/25 山口*/
/* SP版は未変更のため画面の横幅が730px以下(スマホ共通)に追加 */
.authorBox {
	display: flex;
	justify-content: flex-end;
	text-align: right;
	padding: 0.15em 0 0.85em;
}
.authorBox p {
	line-height: 1.5em;
	text-align: right;
}
.authorBox p:not(:nth-child(1)) {
	margin-top: 0.2em;
}
.authorBox .img {
	width: 3.6em;
	min-width: 3.6em;
	height: 3.6em;
	border-radius: 0.5em;
	overflow: hidden;
	position: relative;
	margin-left: 0.5em;
	background: #eee;
	font-size: 0.8125em;
}
.authorBox .img img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.authorBox .signature,
.authorBox .date,
.authorBox .date2 {
	font-size: 0.75em;
}


/*===============================================
●画面の横幅が730px以下(スマホ共通)
===============================================*/
@media screen and (max-width: 730px){
	
	/* トップページ
	---------------------------------------- */
	#freeTop {padding: 1.5em 0;}
	#freeBottom {margin-bottom: 1.5em;}
	
	/* mainImage
	---------------------------------------- */
	.pcSlider { display: none;}
	#mainImage {
		overflow: hidden;
		background-color: #fff;
	}
	#mainImage .inner {
		padding: 0;
		width: 100%;
	}
	#mainImage ul li span div {
		padding-top: 100%;
		overflow: hidden;
	}
	
	/*複数枚表示(SPは3枚)*/
	#mainImage.fixedImage ul li {width: 33.3%;}
	#mainImage.fixedImage .inner { padding: 10px 10px 0px 10px;}
	#mainImage.fixedImage #mainImage04,
	#mainImage.fixedImage #mainImage05 { display: none;}

	/*横長画像 1枚（スライダー）*/
	#mainImage.mainSlider ul.spSlider {
		position: relative;
		padding-top: 100%;
		overflow: hidden;
	}
	#mainImage.mainSlider ul.spSlider li {
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}
	
	/*横長画像 複数枚（スライダー）*/
	#mainImage.mainSlider .bx-viewport ul.spSlider {
		position: relative;
		padding-top: 0;
		overflow: hidden;
	}

	/* パンくず
	---------------------------------------- */
	#navWrap {
		margin: 1.5vw auto;
	}
	#navWrap li,
	#navWrap .navOpen span {
		font-size: min(4vw, 21px);
	}

	/* ブログのラジオボタン
	---------------------------------------- */
	.blogRadioArea > label {
		font-size: min(4.5vw, 21px);
	}
	
	/* contentsList
	---------------------------------------- */
	.articleWrap .articleInner{
		/*margin: 0px 0px 60px 0px;*//*記事余白に指定がない場合のデフォルト値*/
		word-wrap: break-word; 
	}

	/* pointTit */
	.pointTit {
		position: relative;
		padding-top: 0;
		margin: 0px 0 calc(0.3em + 5px);
	}
	#index .pointTit {margin: 0 0 0.3em;}
	
	.pointTit div {
		width: 46px;
		position: absolute;
		top: -8px;
		/*top: 0px;*/
		left: 5px;
	}
	.pointTit p.link {display:none;}
	.contentsList .topBanner {margin-top: 1em;}
	
	/* workTimeText */
	#workTimeText {
		text-align: center;
		font-size: 0.85em;
		line-height: 1.2em;
		padding: 0.5em;
		margin-bottom: 0.85em;
		border: #47260b 1px solid;
		border-radius: 5px;
	}

	/* 記事タイトルまとめ表示 */
	.contentsList .titList { /*SP時タイトルまとめ表示の背景色を幅いっぱいにする */
		margin: 0 -0.6em 0.5em;
		padding: 0.85em 1.45em;
	}

	.contentsList .titList li {
		line-height: 1.35em;
		margin-bottom: 0.5em;
	}
	.contentsList .titList li time {
		display: block;
		font-size: 0.88em;
	}
	
	.patern03 > article .articleWrap .blogItemDate time,
	.patern03 > article .articleWrap .linkContents time,
	.blogItem .viewBlog .linkContents time {
		font-size: 0.9em;
	}

	/* ブログへのリンク */
	.blogContents .pageText {margin-bottom: 0.5em;}
	#tocLink {margin-bottom: 1em;}
	#tocLink a {
		display: inline-block;
		float: right;
		font-size: 0.85em;
		color: #fff;
		text-decoration: none;
		padding: 0 1em;
		background-color: #ff7800;
		border-radius: 5px;
	}
	#tocLink a svg{
		max-width: 25px;
		height: 14px;
		vertical-align: middle;
		fill: #fff;
	}

	/*目次のアンカー*/
	#tocBox,
	.groupBox.ancherLink {
		display: block;
	}
	
	/* patern
	---------------------------------------- */
	/* patern01 */
	.patern01 {margin-bottom: 2em;}
	.patern01 table th,
	.patern01 table td {
		display: block;
		width: 100%;
		padding: 0.3em 0.5em;
		box-sizing: border-box;
	}
	.patern01 table th {border-radius: 5px 5px 0 0;}
	.patern01 table td {
		border-top: none;
		margin-bottom: 0.85em;
		border-radius: 0 0 5px 5px;
	}
	
	.patern03Box .imgBox,
	.patern05Box .imgBox {
		width: 100%!important;
		max-width: 480px!important;
		margin: 0 auto 1em;
	}
	/*ページグループ*/
	.patern90 ul { margin-bottom: 1em;}
	
	/* side
	---------------------------------------- */
	.sideBorderBox {display: none;}
	
	/* pager */
	.pager {margin: 0 auto 1em;}
	
	.prevNext { margin-bottom: 9vw;}/*20201113 下部9vwを追加 wakabayashi*/
	.prevNext li {
		display: inline-block;
		margin: 0 0 4vw;/*20200929 上部余白を0に変更⇒ 20201007 下部に4vw設定 wakabayashi*/
	}

	/*文責 PC版のみサイズ変更のため追加 2020/9/25 山口*/
	.blogContents .authorBox {
		padding: 0.15em 0 0.85em;
	}
	.authorBox {
		padding: 0.15em 0 0.85em;
	}
	.authorBox .img {
		width: 3.4em;
		min-width: 3.4em;
		height: 3.4em;
		font-size: 0.75em;
	}
	.authorBox .signature,
	.authorBox .date,
	.authorBox .date2 {
		font-size: 0.9em;
	}

	.catList ul.pageGroupList li.collapse > .liBox a,
	.catList ul.pageGroupList li.expand > .liBox a {
		padding: 0.5em 0 0.5em 1.7em;
	}
	.catList ul.pageGroupList li.collapse > .liBox span.bullet,
	.catList ul.pageGroupList li.expand > .liBox span.bullet {
		min-width: 35px;
		margin-left: 0.5em;
		z-index: 10;
	}
	
	.catList ul.pageGroupList li.collapse > .liBox span.bullet:before,
	.catList ul.pageGroupList li.expand > .liBox span.bullet:before {
		width: 18px;
		height: 100%;
		padding: 0 5px;
		font-size: 26px;
		z-index: 10;
	}

	.catList ul.pageGroupList li div a {
		background-color: transparent!important;
		border-bottom: none!important;
	}
}

/*===============================================
●画面の横幅が360px以下(SP)
===============================================*/
@media screen and (max-width: 360px){
	
	.pointTit {
		padding-top: 18px;
		margin: -18px 0 calc(0.3em + 5px);
	}
	#index .pointTit {margin: -18px 0 0.3em;}

	.pointTit div {
		width: 2.58em;
		top: 0.58em;
		left: 5px;
	}
	.pointTit div svg {
		width: 2.58em;
		height: 2.58em;
	}
	.pointTit div::before {
		width: 2.47em;
		height: 2.47em;
	}
	
}

/*===============================================
●画面の横幅が361px～400px以下(SP)
===============================================*/
@media (min-width: 361px) and (max-width: 400px) {
	
	.pointTit {
		padding-top: 18px;
		margin: -18px 0 calc(0.3em + 5px);
	}
	#index .pointTit {margin: -18px 0 0.3em;}

	.pointTit div {
		width: 2.42em;
		top: 0.52em;
		left: 0.26em;
	}
	.pointTit div svg {
		width: 2.42em;
		height: 2.42em;
	}
	.pointTit div::before {
		width: 2.31em;
		height: 2.31em;
	}

}

/*===============================================
●画面の横幅が401px～730px以下(SP)
===============================================*/
@media (min-width: 401px) and (max-width: 730px) {

	.pointTit {
		padding-top: 18px;
		margin: -18px 0 calc(0.3em + 5px);
	}
	.blogItemDate {
		margin: 0 0 calc(0.3em + 5px);
	}
	#index .pointTit {margin: -18px 0 0.3em;}
	
	.pointTit div {
		width: 2.4em;
		top: 0.47em;
		left: 0.23em;
	}
	.pointTit div svg {
		width: 2.4em;
		height: 2.4em;
	}
	.pointTit div::before {
		width: 2.29em;
		height: 2.29em;
	}

	/* 月別アーカイブ */
	.archive > ul > li > a span:before {
		width: 10px;
	}
}

/*===============================================
●画面の横幅が731px以上(PCのみ)
===============================================*/
@media print, screen and (min-width: 731px){
	
	/* mainImage
	---------------------------------------- */
	#mainImage {
		width: 100%;
		margin: 0 auto!important;
	}
	.spSlider {display: none;}
	#mainImage {
		overflow: hidden;
		background-color: #fff;
	}
	#mainImage .inner {
		padding: 0;
		width: 100%;
	}
	#mainImage ul li span div {
		overflow: hidden;
	}
	/* bxsliderの画像が縦に並んでしまうのを防ぐ(横並び画像以外) */
	#mainImage:not(.fixedImage) ul li:not(#mainImage01) { display: none;}
	#mainImage:not(.fixedImage) .bx-viewport ul li {
		display: block!important;
	}
	
		/*横長画像 1枚（スライダー）*/
	#mainImage.mainSlider ul.pcSlider {
		position: relative;
		overflow: hidden;
	}
	.mainSlider ul.pcSlider li {
		width: 100%;
		height: 229px;
	}
	/*横長画像 複数枚（スライダー）*/
	#mainImage.mainSlider .bx-viewport ul.pcSlider {
		position: relative;
		padding-top: 0;
		overflow: hidden;
	}
	
	
	/*写真複数表示(PC5枚)*/
	
	/*mainImageの余白が０でもメニューに画像がかからないようにする*/
	#mainImage.fixedImage .mainImageWrap ul { padding: 10px 0 0;}
	
	/*mainImageの登録がなく、余白も0の場合paddingを0にする*/
	.noImg .mainImageWrap ul { padding: 0;}
	
	#mainImage.fixedImage .inner {
		padding: 0 10px;
	}
	#mainImage ul { min-height: auto;}
	/*#mainImage ul li { display: inline-block!important;}*/
	#mainImage.fixedImage ul li {
		width: 20%;
	}
	#mainImage.fixedImage .mainImageWrap ul li span div {
		padding-top: 75%;
	}
	.fixedImage #mainImage05 {transform: scale(1.03) rotate(3deg);}
	
	
	
	/* トップページ
	---------------------------------------- */
	#freeTop,
	#freeBottom {margin-bottom: 3em;}
	
	/* contentsList
	---------------------------------------- */
	.articleWrap .articleInner {
		/*margin-bottom: 50px;*//*記事余白に指定がない場合のデフォルト値*/
		word-wrap: break-word;
	}
	/* pointTit */
	.pointTit {
		padding-top: 18px;
		margin: -18px 0 calc(0.3em + 10px);
	}
	#index .pointTit {
		padding-top: 18px;
		margin: -18px 0 0.3em;
	}

	.pointTit div {
		width: 46px;
		top: 10px;
		left: 5px;
	}
	.pointTit div svg {
		width: 46px;
		height: 46px;
	}
	.pointTit div::before {
		width: 44px;
		height: 44px;
	}
	.pointTit p.link {
		position: absolute;
		bottom: 0.15em;
		right: 10px;
	}
	.pointTit p.link a {
		color: #442601;
		text-decoration: none;
	}
	.pointTit p.link a svg {
		display: inline-block;
		width: 14px;
		height: 14px;
		fill: #fff;
		margin-left: 5px;
		transform: rotate(-90deg);
		vertical-align: -1px;
	}
	.pointTit p.link a:hover {text-decoration: underline;}
	.contentsList .titList {margin-bottom: 0.7em;}
	.contentsList .titList li {line-height: 1.7em;}
	.contentsList .titList li:last-child {margin-bottom: 0;}
	.contentsList .btnRed01 {
		min-width: 330px;
		max-width: 350px;
		margin: 0 auto;
	}
	.contentsList .topBanner {margin-top: 2em;}
	
	/* patern
	---------------------------------------- */
	/* patern01 */
	.patern01 {margin-bottom: 2em;}
	.patern01 table th,
	.patern01 table td {
		padding: 0.3em;
		line-height: 1.5em;
	}
	
	/* patern02 */
	.patern02 .imgBox,
	.patern05 .imgBox { margin: 0 auto;/*margin: 0 auto 0.7em;*/}

	/* patern03 */
	.patern03Box .flexBox {
		zoom:1;
		overflow:hidden;
	}
	.patern03Box .flexBox:after {
		content: ""; 
		display: block; 
		clear: both;
	}
	.patern03Box .flexBox .imgBox {
		margin: 0 1em 1em 0;
	}
	.patern03Box .flexBox .imgBox div {margin: 0;}	
	
	/* side
	---------------------------------------- */
	.sideBorderBox {margin-bottom: 2em;}
}


/*===============================================
●画面の横幅が731px～900px以下(PC表示)
===============================================*/
@media (min-width: 731px) and (max-width: 900px) {
	
	.pointTit {
		padding-top: 18px;
		margin: -18px 0 calc(0.3em + 10px);
	}
	.pointTit div {
		width: 3.14em;
		top: 10px;
		left: 5px;
	}
	.pointTit div svg {
		width: 3.14em;
		height: 3.14em;
	}
	.pointTit div::before {
		width: 3em;
		height: 3em;
	}

	/* 月別アーカイブ */
	.archive > ul > li > a span:before {
		width: 2px;
	}
}
