@charset "utf-8";

/* top
-----------------------------------*/
/* .site-main {
    min-height: calc(100vh - 182px);
}

.site-main .wrap{
    min-height: calc(100vh - 182px);
}

.site-main .content {
    min-height: calc(100vh - 182px);
    display: block;
    position: relative;
} */

.site-main .content .mv{
    width: 100%;
    padding: 2em 0;
}



/* 固定ページ
-----------------------------------*/
.site-main .page{
    width: 100%;
    max-width: 1080px;
    padding: 5em 0;
    margin: auto;

}

.site-main .page h1{
    margin-bottom: 64px;
}


/* コンタクトフォーム */
.contact_area {
	width: 100%;
	margin: 0 auto;
	padding: 32px 48px;
	background: #e5e7eb;
	border: 1px solid #e5e7eb;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}

.contact_form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.contact_form_item {
	display: block;
}

.contact_form_label {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	color: #111827;
}

.contact_form_label small {
	font-size: 12px;
	font-weight: 400;
	color: #6b7280;
}

.contact_form_input,
.contact_form_textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	background: #fff;
	font-size: 15px;
	line-height: 1.7;
	color: #111827;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact_form_input:focus,
.contact_form_textarea:focus {
	outline: none;
	border-color: #2563eb;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.contact_form_input::placeholder,
.contact_form_textarea::placeholder {
	color: #9ca3af;
}

.contact_form_textarea {
	min-height: 180px;
	resize: vertical;
}

.contact_form_submit {
	margin-top: 8px;
}

.contact_form_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
    width: 100%;
    padding: 24px 24px;
	border: none;
	border-radius: 10px;
	background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
}

.contact_form_button:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

.contact_form_button:active {
	transform: translateY(0);
}

/* Contact Form 7 の出力調整 */
.contact_area .wpcf7-form-control-wrap {
	display: block;
}

.contact_area .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 12px;
	color: #dc2626;
}

.contact_area .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.6;
}

.contact_area .wpcf7-spinner {
	margin: 10px 0 0 12px;
	vertical-align: middle;
}



/* カテゴリページ
-----------------------------------*/
#topics {
}

#topics .topics_fv{
    width: 100%;
    height: 300px;
    background-position: center center;
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
}

/* #topics .topics_fv.sns_service{
    background-image: url(../images/cat_mv/blog_mv01.png);
    background-color: #0a1121;
}

#topics .topics_fv.sns_hikaku{
    background-image: url(../images/cat_mv/blog_mv02.png);
    background-color: #0a1121;
} */

#topics .topics_fv.service_hikaku{
    /* background-image: url(../images/cat_mv/blog_mv02.png); */
    background-color: #0a1121;
}

#topics .topics_fv .topics_fv_content{
    width: 100%;
    max-width: 600px;
    padding: 30px 20px;
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    background-color: #ffffff;

}

#topics .topics_fv .topics_fv_content .main_title{
    font-size: 46px;
    font-weight: bold;
    margin: 0 0 20px;
    line-height: 1;
    color: #000000;
}

#topics .topics_fv .topics_fv_content .sub_title{
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    color: #000000;
}

#topics .topics_slider_wrapper {
    margin-bottom: 30px;
}

#topics .topics_slider_wrapper ul{
    padding: 0;
}

#topics .topics_slider_wrapper ul li{
    height: auto;
}

#topics .topics_slider_wrapper ul li a{
    height: 100%;
    display: block;
    color: #000000;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

#topics .topics_slider_wrapper ul li a .text_area{
    padding: 25px 20px;
}

#topics .topics_slider_wrapper ul li a .text_area .cat{
    font-size: .9rem;
    width: 100%;
    max-width: 120px;
    line-height: 120%;
    background: #444;
    color: #fff;
    padding: 3px 5px;
    margin: 0 0 15px;
}

#topics .topics_slider_wrapper ul li a .text_area h3{
    font-size: 1rem;
    margin: 0;
}

#topics .topics_slider_wrapper .topics_slider_pagination {
    text-align: center;
    margin-top: 40px;
}

#topics .topics_slider_wrapper .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, #topics .topics_slider_wrapper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
}

#topics .topics_slider_wrapper .topics_slider_pagination .swiper-pagination-bullet-active {
    background-color: #38b6ff;
}

#topics .topics_slider_wrapper .topics_slider_pagination .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 16px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 16px));
}

#topics .new_arcihive_content{
    padding: 120px 0 150px;
    background-color: #EEEEEE;
}

#topics .new_arcihive_content .new_arcihive_wrapper{
    width: 95%;
    max-width: 1300px;
    margin: 0 auto;
}

#topics .new_arcihive_content .new_arcihive_wrapper .main_title{
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
    color: #000000;
}

#topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav{
    padding: 48px;
    margin: 0 50px 100px;
    background-color: #ffffff;
}

#topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav h3{
    padding-bottom: 8px;
    border-bottom: 1px solid #222222;
    margin: 0;
    margin-bottom: 8px;
}

#topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav .category_list{
    display:grid;
    grid-template-columns: repeat(3, 1fr); /* PCは3列 */
    gap:16px;
    padding:0;
    margin: 0;
    margin-bottom: 32px;
    list-style:none;
}

#topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav .category_list:last-child{
    margin-bottom: 0;
}

#topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav .category-list__item{
    margin: 0;
    list-style-type: none;
}

/* #topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav .category-list__item a.is-active{
    background-color: #38b6ff;
} */

#topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav .category-list__item a{
    display:block;
    padding:12px;
    color: #000000;
    background:#f5f5f5;
    text-align:center;
    text-decoration:none;
    border-radius:6px;
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content{
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 45px;
    padding: 0;
    margin-bottom: 100px;
    list-style-type: none;
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li {
    width: calc((100% / 3) - 45px);
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li a{
    color: #000000;
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .image_area{
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .text_area{
    margin-top: 1.5em;
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .text_area .cat{
    font-size: .9rem;
    width: 100%;
    max-width: 140px;
    line-height: 120%;
    background: #444;
    color: #fff;
    padding: 3px 5px;
    margin: 0 0 15px;
}

#topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .text_area h3{
    font-size: 1rem;
    margin: 0;
}

#topics #pagenavi{
}

#topics #pagenavi .wp-pagenavi{
    clear: both;
    text-align: center;
}

#pagenavi .wp-pagenavi span.current {
    color: #fff;
    background-color: #D50000;
}




/* 記事ページ
-----------------------------------*/
.single_article {
    background-color: #eeeeee;
}
.site-main .post{
    width: 100%;
    max-width: 980px;
    padding: 5em 100px;
    margin: auto;
    background-color: #ffffff;
    box-shadow: 0px 0px 5px #cccccc;
}

.site-main .post p{
    font-size: 1rem;
    margin-top: 0;
	line-height: 1.93;

}

.site-main .post ul{
    border: 1px solid #707070;
    margin-bottom: 50px;
    padding: 35px 45px;
}

.site-main .post ul li{
    font-size: 18px;
    font-weight: bold;
    list-style-type: disc;
    list-style-position: outside;
    line-height: 1.5;
}

.site-main .post .img_center{
	text-align: center;
	margin-bottom: 1.5rem;
}

.site-main .post .txt-back-ground-color{
	padding: 1.5rem;
	margin-bottom: 1.5rem;
	background-color: #eeeeee;
}

.site-main .post .txt-back-ground-color p:last-child{
	margin-bottom: 0;
}

.site-main .post h1{
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 0;
}

.site-main .post .post-thumbnail{
    margin: 48px 0;
    text-align: center;
}

.site-main .post .entry-content{
    margin: 48px 0;
}

.site-main .post .entry-content h2{
    font-size: 1.4rem;
    padding: 16px 24px;
    margin: 64px 0 16px;
    color: #ffffff;
    background-color: #218AF8;
}

.site-main .post .entry-content h3{
    font-size: 1.25rem;
    padding-bottom: 8px;
    border-bottom: solid 2px #218AF8;
    margin: 48px 0 16px;
}

.site-main .post .entry-content h4{
    font-size: 1.2rem;
    padding-bottom: 8px;
    margin: 48px 0 8px;
}

.site-main .post .entry-content h5{
    font-size: 18px;
    padding-bottom: 8px;
    margin: 0 0;
}

.site-main .single_blog_wrapper{
    width: 1080px;
    padding-bottom: 5em;
    margin: auto;
}

.site-main .single_blog_wrapper .single_blog_list {
	display: flex;
	gap: 45px;
	flex-wrap: wrap;
    padding: 0;
	margin-bottom: 100px;
	justify-content: center;
    list-style-type: none;
}

.site-main .single_blog_wrapper .single_blog_list li {
	width: calc((100% / 3) - 45px);
}

.site-main .single_blog_wrapper .single_blog_list li a {
	height: 100%;
    display: block;
    color: #000000;
	background-color: #fff;
}

.site-main .single_blog_wrapper .single_blog_list li a {
	display: block;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
}

.site-main .single_blog_wrapper .single_blog_list li a .image_area {
}

.site-main .single_blog_wrapper .single_blog_list li a .text_area {
	padding: 25px 20px;
}

.site-main .single_blog_wrapper .single_blog_list li a .text_area .cat {
	font-size: 1rem;
	line-height: 120%;
	width: 100%;
    max-width: 120px;
	font-weight: bold;
	padding: 3px 5px;
	margin: 0 0 15px;
    background: #444;
	color: #fff;
}

.site-main .single_blog_wrapper .single_blog_list li a .text_area h3 {
	font-size: 1.2rem;
	font-weight: bold;
	padding-bottom: 0;
    margin: 0;
	line-height: 160%;
	position: relative;
}

.site-main .blog_btn_area{
	text-align: center;
}

.site-main .blog_btn_area a{
	display: block;
	width: 100%;
	max-width: 500px;
	height: 60px;
	line-height: 60px;
	font-size: 16px;
	border: 1px solid #222222;
	margin: 0 auto;
	transition: all 0.5s;
	background-color: #222222;
	color: #FFF;
}

.site-main .blog_btn_area a span{
	position: relative;
}

.site-main .blog_btn_area a span::after{
	content: "";
	display: block;
	background-image: url(../images/pages/single_blog_more_icon.png);
	width: 11px;
	height: 16px;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 6px;
	right: -30px;
}

/* テーブルスタイル */
.site-main .post table{
}

.site-main .post table th{
    padding: 5px;
    text-align: left;
    background-color: #888888;
    color: #fff;
}

.site-main .post table td{
    padding: 5px;
    border-bottom: dotted 1px #888888;
    text-align: left;
}

/* 記事内＿CTAスタイル */
.site-main .post .cta_service{
    width: 100%;
    margin: 64px 0;
    text-align: center;
}

.site-main .post .cta_service a{
    width: 80%;
    max-width: 500px;
    padding: 16px 48px;
    border-radius: 30px;
    margin: auto;
    display: block;
    color: #ffffff;
    background-color: #D50000;
}

/* 記事内＿冒頭のPRエリア */
.site-main .post .pr_area{
    width: 100%;
}

.site-main .post .pr_area .title{
    font-size: 26px;
    font-weight: bold;
    margin: 0;
    margin-bottom: 8px;
    text-align: center;
}

.site-main .post .pr_area ul{
    padding: 0 32px;
    margin-bottom: 32px;
}

.site-main .post .pr_area ul li{
    padding: 48px 0;
    border-top: 1px solid #707070;
    list-style-type: none;
}

.site-main .post .pr_area ul li:first-child{
    border-top: 0;
}

.site-main .post .pr_area ul li .box{
    display: flex;
}

.site-main .post .pr_area ul li .box .thumb{
    width: 45%;
    max-width: 350px;
    min-width: 200px;
}

.site-main .post .pr_area ul li .box .thumb img{
}

.site-main .post .pr_area ul li .box .txt{
    margin-left: 32px;
}

.site-main .post .pr_area ul li .box .txt h3{
    width: 100%;
    padding: 0;
    border: 0;
    margin: 0;
    margin-bottom: 16px;
    background-color: unset;
}

.site-main .post .pr_area ul li .box .txt p{
    font-size: 14px;
    font-weight: unset;
}

.site-main .post .pr_area ul li .btn{
    width: 100%;
    margin: 0;
    margin-top: 32px;
    text-align: center;
}

.site-main .post .pr_area ul li .btn a{
    width: 100%;
    padding: 16px 48px;
    border-radius: 30px;
    margin: auto;
    display: block;
    color: #ffffff;
    background-color: #D50000;
}

/* 記事内＿画像横並び */
.site-main .post .img_line{
    display: flex;
    justify-content: center;
    margin-bottom: 32px;
}

.site-main .post .img_line img:first-child{
    margin-right: 32px;
}

/* 関連記事 */
.site-main .post .entry-content .related {
  margin: 20px 0;
}

.site-main .post .entry-content .related .title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  border-left: 4px solid #333;
  padding-left: 8px;
}

.site-main .post .entry-content .related .box_list {
  display: flex;
  flex-direction: column;
  gap: 12px; /* 各関連記事の間隔 */
}

.site-main .post .entry-content .related .box a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 8px;
/*   transition: background 0.2s ease; */
}

.site-main .post .entry-content .related .box a:hover {
/*   background: #f9f9f9; */
}

.site-main .post .entry-content .related .box .img {
  flex-shrink: 0;
  width: 180px;
  height: 100%;
  margin-right: 12px;
  overflow: hidden;
  border-radius: 4px;
}

.site-main .post .entry-content .related .box .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-main .post .entry-content .related .box .content {
  flex: 1;
}

.site-main .post .entry-content .related .box .longc_title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.4;
  display: block;
}

.site-main .post .entry-content .related .box .excerpt {
  font-size: 14px;
  margin-bottom: 0;
  line-height: 1.4;
}



/* 目次もくじ
-----------------------------------*/
.twirobo_toc {
	margin: 0 0 40px;
	padding: 0;
	background: #fff;
	border: 1px solid #dbeafe;
	box-shadow: 0 8px 24px rgba(30, 64, 175, 0.07);
	overflow: hidden;
}

/* 目次タイトル */
.twirobo_toc__title {
	position: relative;
	margin: 0;
	padding: 20px 24px 18px 58px;
	background: linear-gradient(
		135deg,
		#f8fbff 0%,
		#edf6ff 100%
	);
	border-bottom: 1px solid #dbeafe;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	color: #102a56;
}

/* 目次アイコン */
.twirobo_toc__title::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	width: 22px;
	height: 26px;
	transform: translateY(-50%);
	border: 3px solid #2684ff;
	border-radius: 4px;
	box-sizing: border-box;
}

/* アイコン内の横線 */
.twirobo_toc__title::after {
	content: "";
	position: absolute;
	left: 29px;
	top: 50%;
	width: 12px;
	height: 2px;
	background: #2684ff;
	transform: translateY(-50%);
	box-shadow:
		0 -5px 0 #2684ff,
		0 5px 0 #2684ff;
}

/* リスト */
.twirobo_toc__list {
	margin: 0;
	padding: 10px 24px;
	list-style: none;
}

/* 各項目 */
.twirobo_toc__item {
	position: relative;
	margin: 0;
	border-top: 1px solid #e8eef6;
}

.twirobo_toc__item:first-child {
	border-top: none;
}

/* リンク */
.twirobo_toc__link {
	position: relative;
	display: block;
	padding: 15px 38px 15px 4px;
	color: #17345f;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.7;
	text-decoration: none;
	transition:
		color 0.2s ease,
		padding-left 0.2s ease,
		background-color 0.2s ease;
}

/* 右矢印 */
.twirobo_toc__link::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #2684ff;
	border-right: 2px solid #2684ff;
	transform: translateY(-50%) rotate(45deg);
	transition:
		right 0.2s ease,
		border-color 0.2s ease;
}

/* hover */
.twirobo_toc__link:hover {
	color: #1473e6;
	padding-left: 10px;
	background: #f8fbff;
}

.twirobo_toc__link:hover::after {
	right: 4px;
	border-color: #1473e6;
}

/* 子階層（h3など） */
.twirobo_toc__item--child {
	border-top: 1px dashed #edf1f7;
}

.twirobo_toc__item--child .twirobo_toc__link {
	padding: 11px 38px 11px 24px;
	font-size: 14px;
	font-weight: 400;
	color: #607089;
}

/* 子階層の丸 */
.twirobo_toc__item--child .twirobo_toc__link::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 50%;
	width: 5px;
	height: 5px;
	background: #73adf7;
	border-radius: 50%;
	transform: translateY(-50%);
}

/* 子階層の矢印 */
.twirobo_toc__item--child .twirobo_toc__link::after {
	width: 6px;
	height: 6px;
	border-width: 1.5px;
}

/* 子階層 hover */
.twirobo_toc__item--child .twirobo_toc__link:hover {
	padding-left: 28px;
	color: #1473e6;
}



/* タブレット・モバイル
-----------------------------------*/
@media only screen and (max-width: 1024px) {
    /* top
    -----------------------------------*/
    /* .site-main {
        min-height: calc(100vh - 182px);
    }

    .site-main .wrap{
        min-height: calc(100vh - 182px);
    }

    .site-main .content {
        min-height: calc(100vh - 182px);
        display: block;
        position: relative;
    } */

    .site-main .content .mv{
        width: 100%;
        padding: 2em 0;
    }



    /* 固定ページ
    -----------------------------------*/
    .site-main .page{
        width: 95%;
        max-width: auto;
        padding: 5em 0;
        margin: auto;

    }

    .site-main .page h1{
        margin-bottom: 64px;
    }


    /* コンタクトフォーム */
    .contact_area {
        padding: 24px 16px;
    }

    .contact_form {
        gap: 16px;
    }

    .contact_form_input,
    .contact_form_textarea {
        padding: 12px 14px;
        font-size: 14px;
    }

    .contact_form_button {
        width: 100%;
        min-width: auto;
    }
    


    /* カテゴリページ
    -----------------------------------*/
    #topics {
    }

    #topics .topics_fv{
        width: 100%;
        height: 300px;
        background-position: center center;
        position: relative;
        background-repeat: no-repeat;
        background-size: cover;
    }

    /* #topics .topics_fv.sns_service{
        background-image: url(../images/cat_mv/blog_mv01.png);
    }

    #topics .topics_fv.sns_hikaku{
        background-image: url(../images/cat_mv/blog_mv02.png);
    } */

    #topics .topics_fv .topics_fv_content{
        width: 95%;
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translate(-10px,-50%);
        background-color: #ffffff;
    }

    #topics .topics_fv .topics_fv_content::after{
        content: "";
        width: 200px;
    }

    #topics .topics_fv .topics_fv_content .main_title{
        font-size: 28px;
        font-weight: bold;
        margin: 0 0 10px;
        line-height: 1;
        color: #000000;
    }

    #topics .topics_fv .topics_fv_content .sub_title{
        font-size: 18px;
        font-weight: bold;
        margin: 0;
        color: #000000;
    }

    #topics .topics_slider_wrapper {
        margin-bottom: 30px;
    }

    #topics .topics_slider_wrapper ul{
        padding: 0;
    }

    #topics .topics_slider_wrapper ul li{
        height: auto;
    }

    #topics .topics_slider_wrapper ul li a{
        height: 100%;
        display: block;
        color: #000000;
        box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    }

    #topics .topics_slider_wrapper ul li a .text_area{
        padding: 25px 20px;
    }

    #topics .topics_slider_wrapper ul li a .text_area .cat{
        font-size: .9rem;
        width: 100%;
        max-width: 120px;
        line-height: 120%;
        background: #444;
        color: #fff;
        padding: 3px 5px;
        margin: 0 0 15px;
    }

    #topics .topics_slider_wrapper ul li a .text_area h3{
        font-size: 1rem;
        margin: 0;
    }

    #topics .topics_slider_wrapper .topics_slider_pagination {
        text-align: center;
        margin-top: 40px;
    }

    #topics .topics_slider_wrapper .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, #topics .topics_slider_wrapper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
    }

    #topics .topics_slider_wrapper .topics_slider_pagination .swiper-pagination-bullet-active {
        background-color: #38b6ff;
    }

    #topics .topics_slider_wrapper .topics_slider_pagination .swiper-pagination-bullet {
        width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 12px));
        height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 12px));
    }

    #topics .new_arcihive_content{
        padding: 120px 0 150px;
        background-color: #EEEEEE;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper{
        width: 95%;
        max-width: auto;
        margin: 0 auto;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .main_title{
        font-size: 26px;
        font-weight: bold;
        margin-top: 0;
        margin-bottom: 40px;
        text-align: center;
        color: #000000;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav{
        margin: 0 0 100px;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav{
        padding: 32px 16px;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .categoly_nav .category_list{
        grid-template-columns: repeat(2, 1fr);
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content{
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper{
        display: block;
        padding: 0;
        margin-bottom: 100px;
        list-style-type: none;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li {
        width: 100%;
        padding: 32px 0;
        border-top: dotted 1px #000000;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li:first-child {
        width: 100%;
        padding-top: 0;
        border-top: 0;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li a{
        display: flex;
        color: #000000;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .image_area{
        width: 30%;
        padding-right: 5%;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .text_area{
        width: 70%;
        margin: 0;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .text_area .cat{
        font-size: .9rem;
        width: 100%;
        max-width: 160px;
        line-height: 120%;
        background: #444;
        color: #fff;
        padding: 3px 5px;
        margin: 0 0 10px;
    }

    #topics .new_arcihive_content .new_arcihive_wrapper .topics_content_wrapper li .text_area h3{
        font-size: .9rem;
        margin: 0;
    }

    #topics #pagenavi{
    }

    #topics #pagenavi .wp-pagenavi{
        clear: both;
        text-align: center;
    }

    #pagenavi .wp-pagenavi span.current {
        color: #fff;
        background-color: #D50000;
    }



    /* 記事ページ
    -----------------------------------*/
    .single_article {
        background-color: #eeeeee;
    }
    .site-main .post{
        width: auto;
        max-width: 100%;
        padding: 5em 16px;
        margin: auto;
        box-shadow: 0 0 0;

    }

    .site-main .post p{
        margin-top: 0;
		line-height: 1.93;

    }

    .site-main .post ul{
        margin-bottom: 50px;
        padding: 10px 10px 10px 30px;
    }
    
    .site-main .post ul li{
        font-size: 1rem;
        line-height: 1.5;
    }

    .site-main .post h1{
        font-size: 1.4rem;
        font-weight: bold;
        margin-top: 0;
    }

    .site-main .post .post-thumbnail{
        margin: 48px 0;
        text-align: center;
    }

    .site-main .post .entry-content{
        margin: 48px 0;
    }

    .site-main .post .entry-content h2{
        font-size: 1.2rem;
        margin: 64px 0 16px;
    }

    .site-main .post .entry-content h3{
        font-size: 1.2rem;
        padding-bottom: 8px;
        border-bottom: solid 1px #444;
        margin: 48px 0 16px;
    }

    .site-main .post .entry-content h4{
        font-size: 1.1rem;
        padding-bottom: 8px;
        margin: 48px 0 8px;
    }
    
    .site-main .post .entry-content h5{
        font-size: 1rem;
        padding-bottom: 8px;
        margin: 0 0;
    }

    .site-main .single_blog_wrapper{
        width: auto;
        max-width: 100%;
        padding-bottom: 5em;
        margin: auto;
    }

    .site-main .single_blog_wrapper .single_blog_list {
        display: block;
        padding: 0 16px;
        margin-bottom: 80px;
        list-style-type: none;
        background-color: #ffffff;
    }

    .site-main .single_blog_wrapper .single_blog_list li {
        width: 100%;
        padding: 32px 0;
        border-top: dotted 1px #000000;
    }

    .site-main .single_blog_wrapper .single_blog_list li:first-child {
        padding-top: 0;
        border-top: 0;
    }

    .site-main .single_blog_wrapper .single_blog_list li:last-child {
        padding-bottom: 32px;
    }

    .site-main .single_blog_wrapper .single_blog_list li a {
        display: flex;
        background-color: #fff;
        height: 100%;
        box-shadow: none;
    }

    .site-main .single_blog_wrapper .single_blog_list li a .image_area {
        width: 30%;
        padding-right: 5%;
    }

    .site-main .single_blog_wrapper .single_blog_list li a .text_area {
        width: 70%;
        padding: 0;
    }

    .site-main .single_blog_wrapper .single_blog_list li a .text_area .cat {
        font-size: .9rem;
        line-height: 120%;
        width: 100%;
        max-width: 140px;
        font-weight: bold;
        padding: 3px 5px;
        margin: 0 0 15px;
        background: #444;
        color: #fff;
    }

    .site-main .single_blog_wrapper .single_blog_list li a .text_area h3 {
        font-size: 1rem;
        font-weight: bold;
        padding-bottom: 0;
        margin: 0;
        line-height: 160%;
        position: relative;
    }

    .site-main .blog_btn_area{
        width: 80%;
        margin: auto;
        text-align: center;
    }

    .site-main .blog_btn_area a{
        font-size: 1rem;
        width: 100%;
        max-width: 500px;
        height: 60px;
        line-height: 60px;
        border: 1px solid #222222;
        margin: 0 auto;
        display: block;
        transition: all 0.5s;
        background-color: #222222;
        color: #FFF;
    }

    .site-main .blog_btn_area a span{
        position: relative;
    }

    .site-main .blog_btn_area a span::after{
        content: "";
        display: block;
        background-image: url(../images/pages/single_blog_more_icon.png);
        width: 11px;
        height: 16px;
        background-repeat: no-repeat;
        background-size: cover;
        position: absolute;
        top: 6px;
        right: -30px;
    }

    /* テーブルスタイル */
    .site-main .post table{
    }

    .site-main .post table th{
        padding: 5px;
        text-align: left;
        background-color: #888888;
        color: #fff;
    }

    .site-main .post table td{
        padding: 5px;
        border-bottom: dotted 1px #888888;
        text-align: left;
    }

    /* 記事内CTAスタイル */
    .site-main .post .cta_service{
        width: 100%;
        margin: 64px 0;
        text-align: center;
    }

    .site-main .post .cta_service a{
        width: 80%;
        max-width: 500px;
        padding: 16px 48px;
        border-radius: 30px;
        margin: auto;
        display: block;
        color: #ffffff;
        background-color: #D50000;
    }

    /* 記事内＿冒頭のPRエリア */
    .site-main .post .pr_area{
        width: 100%;
    }

    .site-main .post .pr_area .title{
        font-size: 22px;
        font-weight: bold;
        margin: 0;
        margin-bottom: 8px;
        text-align: center;
    }   

    .site-main .post .pr_area ul{
        padding: 0 32px;
        margin-bottom: 32px;
    }

    .site-main .post .pr_area ul li{
        padding: 48px 0;
        border-top: 1px solid #707070;
        list-style-type: none;
    }

    .site-main .post .pr_area ul li:first-child{
        border-top: 0;
    }

    .site-main .post .pr_area ul li .box{
        display: block;
    }

    .site-main .post .pr_area ul li .box .thumb{
        width: 100%;
        max-width: unset;
        margin: auto;
    }

    .site-main .post .pr_area ul li .box .thumb img{
    }

    .site-main .post .pr_area ul li .box .txt{
        margin-left: 0;
        margin-top: 16px;
    }

    .site-main .post .pr_area ul li .box .txt h2{
        width: 100%;
        padding: 0;
        border: 0;
        margin: 0;
        margin-bottom: 16px;
        background-color: unset;
    }

    .site-main .post .pr_area ul li .box .txt p{
        font-size: 14px;
        font-weight: unset;
    }

    .site-main .post .pr_area ul li .btn{
        width: 100%;
        margin: 0;
        margin-top: 32px;
        text-align: center;
    }

    .site-main .post .pr_area ul li .btn a{
        width: 100%;
        padding: 16px 48px;
        border-radius: 30px;
        margin: auto;
        display: block;
        color: #ffffff;
        background-color: #D50000;
    }

    /* 記事内＿画像横並び */
    .site-main .post .img_line{
        margin-bottom: 32px;
        display: block;
        text-align: center;
    }

    .site-main .post .img_line img:first-child{
        margin-right: 0;
        margin-bottom: 32px;
    }
	
	/* 関連記事 */
	.site-main .post .entry-content .related .box_list{
        display: block;
    }

    .site-main .post .entry-content .related .box_list .box a {
        display: block;
    }

    .site-main .post .entry-content .related .box_list .box .img {
	  width: 100%;
	  height: auto;
      margin-right: 0;
      margin-bottom: 16px;
      
	}

	.site-main .post .entry-content .related .box .longc_title {
	  font-size: 16px;
	}



    /* 目次もくじ
    -----------------------------------*/
    .twirobo_toc {
		margin-bottom: 28px;
	}

	.twirobo_toc__title {
		padding: 17px 18px 15px 50px;
		font-size: 18px;
	}

	.twirobo_toc__title::before {
		left: 19px;
		width: 20px;
		height: 23px;
	}

	.twirobo_toc__title::after {
		left: 23px;
		width: 12px;
	}

	.twirobo_toc__list {
		padding: 6px 16px;
	}

	.twirobo_toc__link {
		padding: 13px 30px 13px 2px;
		font-size: 14px;
		line-height: 1.6;
	}

	.twirobo_toc__link::after {
		right: 6px;
	}

	.twirobo_toc__item--child .twirobo_toc__link {
		padding: 10px 30px 10px 20px;
		font-size: 13px;
	}

	.twirobo_toc__item--child .twirobo_toc__link::before {
		left: 5px;
	}




}