html {
	scroll-behavior: smooth;
}

/* AGXで追加 start */
.blog-detail > .blog-container, .blog-detail > .side_inner {
	font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", Osaka, メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	color: rgb(77, 77, 77);
	padding: 0px;
	margin: 0px;
}

.blog-detail > .side_inner a:hover, .blog-detail > .side_inner a:focus {
	text-decoration: none;
	color: inherit;
}

.blog-detail > .blog-container h1,
.blog-detail > .blog-container h2,
.blog-detail > .blog-container h3,
.blog-detail > .blog-container h4,
.blog-detail > .blog-container h5,
.blog-detail > .blog-container h6 {
	font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro W6", Osaka, メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* AGXで追加 end */
.blog_header {
	background: url(../images/blog/blog_catch.png) #e0f7f6 no-repeat center bottom;
	background-size: 1200px;
	height: 250px;
	border-bottom: 2px solid #12bdbd;
}

.blog-detail p.a-heading-category {
	margin: 0;
	padding: 0;
}

.blog-detail strong.red,
.blog-detail strong span.red

/* 23.5.22 森追加 */
	{
	color: red;
}

.blog_header_inner {
	width: 1000px;
	margin: 0 auto;
	padding-top: 30px;
}

.blog_header_inner h1 {
	font-size: 48px;
	font-weight: bold;
}

.blog_header_inner span {
	color: #11bdbd;
	font-size: 14px;
}

.blog-detail .o-list-news__item--col-3 a {
	border: 1px solid #12bdbd;
}

.blog-detail .cat_tag {
	padding: 5px;
	border-radius: 5px;
	margin-right: 5px;
}

.blog-detail .c01 {
	background: #f0d556;
	color: #fff;
}

.blog-detail .c02 {
	background: #00a8ac;
	color: #fff;
}

.blog-detail .c03 {
	background: #ff7092;
	color: #fff;
}

.blog-detail .c04 {
	background: #3b7aba;
	color: #fff;
}

.blog-detail h2 {
	font-weight: bold;
}

.blog-detail h2 span.date {
	display: block;
	font-size: 14px;
	margin-bottom: 10px;
}

.blog-detail .m-card-news__date {
	position: absolute;
	bottom: 20px;
	margin-right: 5px;
}

.blog-detail .banner_bottom img {
	width: 100%;
	margin: 40px auto;
}

.blog-detail .banner_bottom img:hover {
	opacity: 0.6;
	transition: all 0.3s ease;
}

.blog-detail .breadcrumb {
	padding: 0 .5rem;
	width: 1000px;
	margin: 5px auto 0 auto;
	font-size: 12px;
}

.blog-detail .breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}

.blog-detail .breadcrumb ul a {
	color: #11bdbd;
}

.blog-detail .breadcrumb li:not(:last-child)::after {
	display: inline-block;
	margin: 0 .25rem;
	content: ">";
}

.blog-detail .pager .pagination {
	text-align: center;
	/* margin-top: 40px; */
	margin-top: 20px;
	margin-bottom: 40px;
}

.blog-detail .pager .pagination li {
	display: inline;
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	background: #11bdbd;
	/* width: 50px;
    height: 50px; */
	width: 110px;
	height: 40px;
	text-align: center;
	position: relative;
	border-radius: 50px;
	font-weight: bold;
	font-size: 14px;
}

.blog-detail .pager .pagination li a {
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display: table;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.blog-detail .pagination li a.active {
	color: #11bdbd;
	background: #d7fff6;
	border-radius: 50px;
}

.blog-detail .pager .pagination li a span {
	display: table-cell;
	vertical-align: middle;
}

.blog-detail .pager .pagination li:hover,
.blog-detail .pager .pagination li:active {
	color: #11bdbd;
	background: #d7fff6;
	border-radius: 50px;
	transition: all 0.3s ease;
}

.blog-detail .pager .pagination li:hover a,
.blog-detail .pager .pagination li:active a {
	color: #11bdbd;
	transition: all 0.3s ease;
}

.blog-detail .pager .pagination li.pre,
.blog-detail .pager .pagination li.next {
	background: none;
	color: #11bdbd;
}

.blog-detail .pager .pagination li.pre a,
.blog-detail .pager .pagination li.next a {
	color: #11bdbd;
}

.blog-detail .pager .pagination li.pre:hover,
.blog-detail .pager .pagination li.next:hover {
	background: none;
}

.blog-detail .pager .pagination li.pre:hover a,
.blog-detail .pager .pagination li.next:hover a {
	color: #d7fff6;
}

/* AGXで追加 start */
.blog-detail p.lead {
	/* font-size: 18px;
    line-height: 1.5em; */
	font-size: 16px;
	line-height: 1.8em;
}

/* AGXで追加 end */
.blog-detail img.img_thum {
	margin: 40px auto;
	max-width: 60%;
	display: block;
}

.blog-detail .l_toc {
	padding: 2em 1em;
	font-weight: bold;
	background: #f5f5f5;
	border-radius: 8px;
	margin-bottom: 40px;
	width: 90%;
	margin: 0 auto 5em auto;
}

.blog-detail .l_toc h3 {
	color: #11bdbd;
	font-size: 36px;
	text-align: center;
	position: relative;
}

.blog-detail .l_toc a {
	text-decoration: none;
	color: #4f4f4f;
	display: block;
	padding: 0.5em 0 0.5em 2em;
	text-indent: -1.5em;
	font-size: 14px;
}

.blog-detail .l_toc a img {
	width: 15px;
}

.blog-detail .l_toc img {
	margin-right: 10px;
}

.blog-detail .l_toc .child_ol img {
	width: 10px;
	vertical-align: middle;
}

.blog-detail .l_toc ol {
	list-style: none;
	counter-reset: section;
	padding: 0 20px 20px 20px;
}

.blog-detail .l_toc .child_ol li a {
	border-bottom: none;
	font-weight: normal;
}

.blog-detail .l_toc h2 {
	text-align: center;
	position: relative;
	font-size: 30px;
	color: #11bdbd;
	margin-bottom: 20px;
}

.blog-detail .l_toc h2:before {
	/*タイトル横の矢印*/
	content: "";
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #11bdbd;
	border-left: 2px solid #11bdbd;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top: calc(50% + 3px);
	right: 20px;
	transform: rotate(135deg);
}

.blog-detail .l_toc h2.active:before {
	/*タイトル横の矢印*/
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid #11bdbd;
	border-right: 2px solid #11bdbd;
	-webkit-transform: rotate(45deg);
	border-bottom: 0;
	border-left: 0;
	position: absolute;
	top: calc(50% - 3px);
	right: 20px;
	transform: rotate(135deg);
}

.blog-detail dl.blog_dl {
	margin: 20px;
	/* AGXで追加 ↓ */
	font-size: 16px;
}

.blog-detail dl.blog_dl dt {
	margin-bottom: 10px;
	/* AGXで追加 ↓ */
	font-size: 16px;
}

.blog-detail dl.blog_dl dd {
	margin: 10px 20px;
	line-height: 1.5em;
	/* AGXで追加 ↓ */
	font-size: 16px;
}

.blog-detail p {
	margin: 0 auto 1.5em auto;
	line-height: 1.8em;
	/* AGXで追加 ↓ */
	font-size: 16px;
}

/* AGXで追加 start */
.blog-detail li {
	font-size: 16px;
}

.blog-detail table {
	font-size: 16px;
}

/* AGXで追加 end */
.blog_contents h2 {
	font-size: 24px;
	font-weight: bold;
	border-bottom: 2px solid #11bdbd;
	margin-bottom: 20px;
	padding: 5px 5px 8px 2em;
	text-indent: -1.5em;
}

.blog_contents h2::before {
	content: "";
	width: 18px;
	height: 18px;
	display: inline-block;
	background: url(../images/blog/icon_h3.svg) no-repeat;
	margin: 0 8px;
}

.blog_contents h3 {
	font-size: 21px;
	font-weight: bold;
	border-bottom: 2px dashed #11bdbd;
	margin-bottom: 20px;
	padding: 5px;
	padding-bottom: 10px;
}

.blog-detail .blog_contents h4,
.blog-detail .ttl-quote,
.blog-detail .blog_contents .ttl-quote

/* 23.5.22 森追加 */
	{
	font-size: 18px;
	font-weight: bold;
	border-left: 10px solid #11bdbd;
	border-bottom: 2px solid #11bdbd;
	line-height: inherit;
	padding: 0.3em 0.5em;
	margin: 1.5em 0;
}

@media screen and (max-width: 999px) {

	.blog-detail .blog_contents h4,
	.blog-detail .ttl-quote,
	.blog-detail .blog_contents .ttl-quote {
		margin: 0.5em 0;
	}
}

.blog_contents h5 {
	font-size: 18px;
	font-weight: bold;
	margin: 1.5em 0;
}

.blog_contents table h4 {
	margin-top: 10px;
}

.blog-detail .blog_contents a.btn_more {
	background: #11bdbd;
	/* padding: 30px; */
	padding: 20px;
	display: block;
	width: 70%;
	margin: 20px auto;
	/* color: #fff; */
	color: #fff !important;
	text-align: center;
	/* text-decoration: none; */
	text-decoration: none !important;
	border-radius: 20px;
}

.blog-detail .blog_contents .btn_more:hover {
	opacity: 0.8;
}

.blog-detail .cont {
	margin-bottom: 5em;
}

@media screen and (max-width: 999px) {
	.blog-detail .cont {
		margin-bottom: 3em;
	}
}

.blog-detail .more_box {
	width: 48%;
	float: left;
	margin: 1%;
}

.blog-detail .more_box img {
	width: 120px;
	height: 120px;
	object-fit: cover;
	float: left;
	margin-right: 10px;
}

.blog-detail .more_area h3 {
	font-size: 18px;
	font-weight: bold;
	border-bottom: 2px solid #11bdbd;
	margin-bottom: 20px;
	padding: 5px;
}

.blog-detail .more_area h3::before {
	content: "";
	width: 18px;
	height: 18px;
	display: inline-block;
	background: url(../images/blog/icon_more_h3.svg) no-repeat;
	margin: 0 8px;
}

.blog-detail .more_box h4 {
	font-weight: bold;
	margin: 10px;
}

.blog-detail .more_box h4 a:hover {
	text-decoration: underline;
}

.blog-detail .more_box p.date {
	margin: 0;
	font-size: 12px;
}

.blog-detail .sp {
	display: none;
}

.blog-detail > .blog-container {
	/* display: grid;
    grid-template-columns: 3fr 1fr; */
}

.blog-detail .blog_contents a,
.blog-detail p.lead a,
.blog-detail p.more a,
.blog-detail p.quote_memo a {
	color: #11bdbd;
	text-decoration: underline;
}

.blog-detail .blog_contents a:hover,
.blog-detail p.lead a:hover,
.blog-detail p.more a:hover,
.blog-detail p.quote_memo a:hover {
	text-decoration: none;
}

.blog-detail ul.list, .blog-detail ol.list {
	margin: 1.5em 0;
	padding-left: 1.5em;
}

.blog-detail .list-nostyle {
	margin: 1.5em 0;
}

.blog-detail ul.list li {
	list-style: disc;
	line-height: 1.6em;
}

.blog-detail ol.list li {
	line-height: 1.6em;
	list-style: auto;
}

.blog-detail .list-nostyle li {
	line-height: 1.6em;
}

.blog-detail ul.list li:not(:last-child),
.blog-detail ol.list li:not(:last-child),
.blog-detail .list-nostyle li:not(:last-child) {
	margin-bottom: 0.5em;
}

.blog-detail .quote {
	padding: 0 1.5em;
	background: #e7f8f8;
	border: 1px solid #11bdbd;
	border-radius: 8px;
	margin: 1em 0;
}

.blog-detail .quote p {
	margin: 1.5em 0;
}

.blog-detail p.quote_memo {
	font-size: 12px;
	margin-left: 10px;
}

.blog-detail .q_yellow {
	background: #fefed6;
	border: 1px solid #fefd33;
}

.blog-detail table {
	width: 100%;
	margin: 1.5em 0;
	line-height: 1.8em;
}

.blog-detail caption {
	font-weight: bold;
	margin-bottom: 0.5em;
}

.blog-detail table th {
	background: #11bdbd;
	border: 1px solid #454545;
	color: #fff;
	padding: 0.5em;
	text-align: center;
	vertical-align: middle;
}

.blog-detail table td {
	border: 1px solid #454545;
	padding: 0.5em;
	vertical-align: middle;
	background: #fff;
}

.blog-detail .bg-lightBlue {
	background: #e3fffd;
	color: #4d4d4d;
}

.blog-detail .text-center {
	text-align: center;
}

.blog-detail .text-left {
	text-align: left;
}

.blog-detail .article_main {
	/* max-width: 710px; */
	max-width: 730px;
}

.blog-detail #side {
	width: 240px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	margin-top: 62px;
	display: none;
}

.blog-detail .side_inner a:hover {
	opacity: 0.6;
}

.blog-detail .side_inner {
	position: absolute;
	top: 0;
	right: 0;
}

.blog-detail .side_banner {
	margin-bottom: 20px;
	display: block;
}

.blog-detail .side_nav {
	border: 1px solid #11bdbd;
	border-radius: 20px;
	padding: 10px;
}

.blog-detail .side_nav li a {
	margin-bottom: 1em;
	width: 100%;
}

.blog-detail .side_nav li ol li {
	margin-left: 10px;
}

.blog-detail .side_nav a {
	font-size: 12px;
	display: inline-block;
	text-indent: -1.5em;
	padding-left: 1.5em;
}

.blog-detail .side_nav a img {
	width: 10px;
	margin-right: 0.5em;
	vertical-align: top;
}

.blog-detail .side_nav h3 {
	text-align: center;
	color: #11bdbd;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 16px;
}

.blog-detail ul.flow_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.blog-detail ul.flow_list li {
	border: 5px solid #ccc;
	border-radius: 10px;
	margin-bottom: 35px;
	padding: 4px 10px;
	position: relative;
}

.blog-detail ul.flow_list li::after {
	bottom: -34px;
	color: #ccc;
	content: "▼";
	font-size: 24px !important;
	left: 48%;
	position: absolute;
}

.blog-detail ul.flow_list li.last::after {
	/*最後の▼を外す*/
	content: "";
}

.blog-detail ul.flow_list li h3::first-letter {
	/*1文字めを大きく*/
	font-family: garamond, times;
	font-size: 2rem;
	font-style: italic;
	letter-spacing: 0.15em;
}

.blog-detail ul.flow_list h4 {
	border: none;
	color: #11bdbd;
}

.blog-detail ul.flow_list ul.list li {
	border: none;
	margin-bottom: 10px;
}

.blog-detail ul.flow_list ul.list li::after {
	display: none;
}

/* AGXで変更、追加 start */
.blog-detail .many_table td, .blog-detail .many_table th, .blog-detail .many_table li {
	/* font-size: 0.8em; */
	font-size: 12.8px;
}

.blog-detail .many_table td ul.list {
	margin: 0;
	line-height: 1.5em;
}

@media only screen and (max-width: 999px) {
	.blog-detail .many_table td, .blog-detail .many_table th, .blog-detail .many_table li {
		font-size: 12px;
	}
}

/* AGXで変更、追加 end */
.blog-detail .many_table td ul.list {
	margin: 0;
	line-height: 1.5em;
}

/* AGXで追加 start */
.blog-detail .blog_contents h2,
.blog-detail .blog_contents h3 {
	padding-top: 85px;
	margin-top: -80px;
}

/* AGXで追加 end */
@media only screen and (max-width: 999px) {
	.blog-detail .pc {
		display: none;
	}

	.blog-detail .sp {
		display: inline-block;
	}

	.blog-detail .blog-container {
		display: block;
	}

	.blog-detail .article_main {
		max-width: 100%;
	}

	.blog-detail #side,
	.blog-detail .side_nav {
		display: none;
	}

	.blog-detail h2,
	.blog-detail h3,
	.blog-detail h4 {
		margin-top: 2em;
	}

	.blog_contents h2 {
		font-size: 18px;
	}

	.blog_contents h3 {
		font-size: 18px;
	}

	.blog_contents h4,
	.quote .ttl-quote

	/* 23.5.22 森追加 */
		{
		font-size: 16px;
	}

	.blog-detail .pager .pagination li {
		width: 100px;
		font-size: 12px;
	}

	.blog_header_inner h1 {
		font-size: 2em;
	}

	.blog-detail .breadcrumb,
	.blog_header_inner,
	.blog_header {
		width: auto;
	}

	.blog_header_inner {
		padding-left: 10px;
	}

	.blog-detail p,
	.blog-detail p.lead {
		font-size: 14px;
		margin-bottom: 1em;
	}

	.blog-detail .l_toc h2 {
		font-size: 22px;
	}

	.blog-detail .l_toc {
		padding: 10px;
		width: 100%;
	}

	.blog-detail .l_toc h3 {
		font-size: 18px;
		border-bottom: 2px solid #11bdbd;
		padding-bottom: 5px;
	}

	.blog-detail .toc_container {
		padding: 5px !important;
		font-size: 14px;
	}

	.blog-detail .l_toc ol {
		padding: 0 10px 5px 10px;
	}

	.blog-detail .l_toc img {
		width: 15px !important;
	}

	/* AGXで変更 start */
	/* .blog-detail .l_toc a {
        padding: 10px 5px;
    } */
	/* AGXで変更 start */
	.blog-detail .more_box {
		width: 100%;
	}

	.blog-detail img.img_thum {
		margin: 40px auto;
		max-width: 80%;
		display: block;
	}

	.blog-detail ul.list li, .blog-detail ol.list li,
	.blog-detail .list-nostyle li

	/* 23.5.22 森追加 */
		{
		font-size: 14px;
		margin-bottom: 1em;
	}

	.blog-detail .quote {
		padding: 10px;
	}

	.blog-detail table {
		font-size: 14px;
	}

	.blog-detail table td {
		padding: 5px;
	}

	.blog-detail ul.list, .blog-detail ol.list,
	.blog-detail .list-nostyle

	/* 23.5.22 森追加 */
		{
		margin: 10px;
	}

	.blog-detail .many_table {
		display: block;
		/* overflow-x: scroll; */
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		font-size: 12px;
		max-width: 652px;
		margin: 0 auto;
	}

	.blog-detail .many_table ul li {
		font-size: 12px;
	}
}

/* AGXで追加 start */
.blog-detail .nav-open:hover {
	cursor: pointer;
}

.blog-side-container .side_inner {
	position: sticky;
	position: -webkit-sticky;
	top: 92px;
}

.blog-side-container > div.side_inner-nonlogin {
	position: sticky;
	position: -webkit-sticky;
	top: 82px;
}

@media only screen and (max-width: 999px) {
	.blog-side-container {
		display: none;
	}
}

.blog-detail p.p-dx-learning {
	margin: 20px 0;
}

.blog-detail p.p-dx-learning-prev {
	margin-bottom: 20px;
}

@media only screen and (max-width: 999px) {
	.blog-detail p.p-dx-learning {
		margin: 10px 0;
	}

	.blog-detail p.p-dx-learning-prev {
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 999px) {
	.blog-detail .m-heading {
		line-height: 1.2;
		letter-spacing: 0em;
		font-family: "Noto Sans JP", メイリオ, Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
		font-weight: bold;
		transform: translateY(-5px);
	}
}

@media screen and (max-width: 767px) {
	.blog-detail .blog_contents h2 {
		padding-top: 58px;
		margin-top: -20px;
	}

	.blog-detail .blog_contents h3 {
		padding-top: 58px;
		margin-top: -26px;
	}
}

.blog-detail ol.decimal-list {
	list-style: decimal;
	/* list-style-position: inside; */
}

/*
.blog-detail .blog-container p.more_p {
    position: relative;
    padding: 1rem 2rem calc(1rem + 10px);
    background: #fffb8e;
    z-index:0;
}
.blog-detail .blog-container  p.more_p:before {
    position: absolute;
    top: -7px;
    left: -7px;
    width: 100%;
    height: 100%;
    content: '';
    border: 4px solid #12bdbd;
    z-index: -5;
}

.blog-detail .blog-container p.more_p a {
  color: #11bdbd;
  text-decoration: underline;
}
*/
.blog-detail .more_p {
	background: #eafcfb;
	padding: 1em;
	border: 3px solid #ccc;
}

.blog-detail .more_p a {
	text-decoration: underline;
	padding: 0 0.1em;
}

.blog-detail .td-min-width {
	min-width: 110px;
}

@media screen and (max-width: 999px) {
	.blog-detail .td-min-width {
		min-width: 80px;
	}
}

.blog-detail .th-min-width {
	min-width: 140px;
}

@media screen and (max-width: 999px) {
	.blog-detail .th-min-width {
		min-width: 110px;
	}
}

.blog-detail .margin-min ul.list {
	margin: 0;
}

.blog-detail .blog_contents .lfrt p {
	margin: 0;
	line-height: 1.5;
	padding: 0;
	font-size: 16px;
}

@media only screen and (max-width: 999px) {
	.blog-detail .blog_contents .lfrt p {
		font-size: 14px;
		margin-bottom: 10px;
	}
}

/* AGXで追加 end */
.blog-detail .img_cont {
	margin: 1.5em 0;
}

@media only screen and (max-width: 999px) {
	.blog-detail .img_cont {
		margin: 1em 0;
	}
}

.blog-detail .list-dl-link dt {
	font-size: 16px;
}

@media only screen and (max-width: 999px) {
	.blog-detail .list-dl-link dt {
		font-size: 14px;
	}
}

.blog-detail td img {
	vertical-align: middle;
}

/* SK追記 */
.o-list-news__item-inner {
	position: relative;
}
