@charset "utf-8";
/*--------------------

	ＴＯＰページ
	
--------------------*/
body {
  margin: 0;
  padding: 0;
  font-family: "Shippori Mincho", serif;
  font-size: 16px;
  color: #1c1411;
}
#WRAPPER {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.pc_br {
  display: block;
}
.sp_br {
  display: none;
}
.bold {
  font-weight: 700;
}
.medium {
  font-weight: 500;
}
.book {
  font-weight: 300;
}
.ofit {
  font-family: "Jost", sans-serif;
  letter-spacing: 0.06em !important;
  line-height: 1em;
}
.f_12px {
  font-size: 12px;
}
.f_14px {
  font-size: 14px;
}
.f_15px {
  font-size: 15px;
}
.f_16px {
  font-size: 16px;
}
.f_18px {
  font-size: 18px;
}
.f_34px {
  font-size: 34px;
}
.f_60px {
  font-size: 60px;
  letter-spacing: 0em;
}
.f_72px {
  font-size: 72px;
  letter-spacing: 0em;
}
/* 画面外にいる状態 */
.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.5s;
}
/* 画面内に入った状態 */
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
.headerSp {
  display: none;
}
header#HEADER {
  width: 100%;
  height: 124px;
  background: #fff;
}
.HeaderCont {
  display: flex;
  padding: 48px 56px;
  width: 100%;
  box-sizing: border-box;
}
.HeaderLeft {
  display: flex;
  align-items: center;
}
.HeaderLeft .HeaderLogo {
  width: 176px;
  height: 27px;
  object-fit: cover;
}
.HeaderLeft .HeaderLogo a {
  opacity: 1;
  display: block;
  width: 176px;
  height: 27px;
}
.HeaderCenter {
  margin-left: calc(50% - 190px - 176px);
}
.HeaderCenter ul {
  display: flex;
  justify-content: space-between;
}
.HeaderCenter ul li:not(:last-of-type) {
  margin-right: 32px;
}
.HeaderCenter ul li a,
.Footer_top .Footer_logo_area ul li a {
  font-family: "Jost", sans-serif;
  font-size: 14px;
  letter-spacing: 0em;
  font-weight: 500;
  position: relative;
}
.HeaderCenter ul li a::after,
.Footer_top .Footer_logo_area ul li a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #1c1411;
  bottom: -2px;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
.HeaderCenter ul li a:hover,
.Footer_top .Footer_logo_area ul li a:hover {
  opacity: 1;
}
.HeaderCenter ul li a:hover::after,
.Footer_top .Footer_logo_area ul li a:hover::after {
  transform: scale(1);
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
/* 横から出るメニュー */
.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}
/*#nav-tgl { /*トグルボタン*/
/*display: none;
}*/
.btn_box {
  position: fixed;
  top: 58px;
  right: 34px;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 1000;
}

.nav-tgl-btn .btn {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 24px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  z-index: 1;
}

.nav-tgl-btn .btn::before,
.nav-tgl-btn .btn::after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  border-radius: 24px;
  background-color: #fff;
  z-index: -1;
}

.nav-tgl-btn .btn::before {
  animation: anime-large 1.5s ease-out infinite;
}
.nav-tgl-btn .btn::after {
  animation: anime-large 1.5s ease-out 1.5s infinite;
}
@keyframes anime-large {
  0% {
    transform: scale(0.95);
    opacity: 0.4;
  }
  90%,
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}

#nav-tgl:checked + .nav-tgl-btn .btn::before {
  animation: anime-small 1.5s ease-out infinite;
}
#nav-tgl:checked + .nav-tgl-btn .btn::after {
  animation: anime-small 1.5s ease-out 1.5s infinite;
}

@keyframes anime-small {
  0% {
    transform: scale(0.95);
    opacity: 0.4;
  }
  90%,
  100% {
    transform: scale(1.1);
    opacity: 0;
  }
}

.label-text {
  position: absolute;
  left: -70px;
  font-size: 14px;
  color: #000;
  opacity: 0;
  transition: 0.3s;
  pointer-events: none;
}

/* dots (縦に3点) */
.dots::before {
  content: "⋮";
  font-size: 20px;
  color: #000;
}

/* ホバーで「Menu」表示 */
.nav-tgl-btn:hover .label-text {
  opacity: 1;
}

.nav-tgl-btn .label-text::before {
  content: "Menu";
  font-family: "Jost", sans-serif;
}

/* チェックONで「Close」表示 & dots非表示 */
#nav-tgl:checked + .nav-tgl-btn .label-text {
  content: "Close";
  font-family: "Jost", sans-serif;
  color: #fff;
  opacity: 1;
  font-weight: 200;
  font-size: 14px;
}

#nav-tgl:checked + .nav-tgl-btn .btn {
  width: 11px;
  height: 11px;
  border-radius: 6px;
  margin-right: 22px;
}

#nav-tgl:checked + .nav-tgl-btn .label-text::before {
  content: "Close";
  font-family: "Jost", sans-serif;
  color: #fff;
  font-weight: 200;
  font-size: 14px;
}

#nav-tgl:checked + .nav-tgl-btn .dots {
  display: none;
}
#nav-tgl:checked ~ .close {
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.3);
}
.content_wrap {
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#nav-tgl:checked ~ .content_wrap {
  transform: translateX(-250px);
}
.drower-menu {
  display: block;
  z-index: 999;
  position: fixed;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  background: url(../images/top/gm_bg.webp) no-repeat;
  background-size: cover;
  transform: translateX(100%);
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
  text-align: center;
  line-height: 0;
}
.drower-menu-list {
  height: 100%;
  overflow-y: scroll;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  padding: 48px 56px 56px;
  font-family: "Jost", sans-serif;
  color: #fff;
}
/*ドロワー中身ここから*/
.drower-menu-list .HeaderLogo {
  width: 176px;
  height: 27px;
}
.drower-menu-list .gm-menu-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  width: calc(100% - 56px - 56px);
  top: calc(50% - 150px);
}
.drower-menu-list .gm-menu-flex > p {
  text-align: left;
  line-height: 1.5em;
  font-weight: 200;
  color: #fff;
}
.drower-menu-list .gm-menu-flex .gm-menu-ul li {
  margin: 8px 0;
  text-align: end;
}
.drower-menu-list .gm-menu-flex .gm-menu-ul li a {
  color: #fff;
  font-size: 34px;
  line-height: 1.2em;
}
.drower-menu-list p.copyright-menu {
  text-align: left;
  position: absolute;
  left: 56px;
  bottom: 56px;
  font-weight: 200;
}
/*ドロワー中身ここまで*/
#nav-tgl:checked ~ .drower-menu {
  transform: none;
}

.drower-menu .drower-menu-fix {
  position: absolute;
  width: 100%;
  right: 0;
  bottom: 0;
}
#nav-tgl:checked ~ .content_wrap {
  transform: translateX(-250px);
}

/*フッター*/
footer#FOOTER {
  width: 100%;
  padding: 100px 0 138px;
  box-sizing: border-box;
  background: #fff;
  position: relative;
  z-index: 0;
}
footer#FOOTER .footer_inner {
  width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
  box-sizing: border-box;
}
.Footer_top {
  display: flex;
  justify-content: space-between;
}
.Footer_top .Footer_logo_area a.foot_logo {
  display: block;
  height: 50px;
  width: auto;
}
.Footer_top .Footer_logo_area a.foot_logo img {
  display: block;
  height: auto;
  width: 335px;
}
.Footer_top .Footer_logo_area ul {
  display: flex;
  margin-top: 38px;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 360px;
}
.Footer_top .Footer_logo_area ul li {
  line-height: 1.5em;
  font-family: "Jost", sans-serif;
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 0;
}
.Footer_top .Footer_logo_area ul li a {
  font-weight: 300;
}
.Footer_top .Footer_logo_area ul li:not(:nth-of-type(1)) {
  margin-left: 75px;
}
.Footer_top .FooterMenu {
  display: flex;
  justify-content: space-between;
  width: 760px;
}
.Footer_top .FooterMenu > ul {
  width: 240px;
}
.Footer_top .FooterMenu > ul > li:nth-of-type(n + 2) {
  margin-top: 20px;
}
.Footer_top .FooterMenu > ul > li > a {
  font-weight: 500;
  font-family: "Jost", sans-serif;
  position: relative;
  font-size: 14px;
  padding-bottom: 1px;
  opacity: 1;
}
.Footer_top .FooterMenu > ul > li > a:before {
  background: #1c1411;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.Footer_top .FooterMenu > ul > li > a:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.Footer_top .FooterMenu > ul > li ul li {
  margin-top: 10px;
}
.Footer_top .FooterMenu > ul > li ul li a {
  position: relative;
  padding-left: 20px;
}
.Footer_top .FooterMenu > ul > li ul li a:before {
  content: "-";
  position: absolute;
  width: 1em;
  height: 1em;
  left: 5px;
}
.Footer_bottom {
  display: flex;
  justify-content: flex-end;
}
p.copyright {
  width: 1140px;
  padding: 24px 0 40px;
  border-top: 1px solid #eae9e9;
  margin: 0 auto;
  display: block;
  color: #676463;
  position: absolute;
  left: calc(50% - 570px);
  bottom: 0;
  line-height: 13px;
  font-family: "Jost", sans-serif;
  font-size: 10px;
}
/*トップページ*/
/*スライダー*/
div.FV_wrap {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-top: 122px;
}
div.fv_txt {
  margin-left: 56px;
  /*padding-top: 122px;*/
  min-width: 458px;
}
div.fv_txt p.ofit {
  font-size: 70px;
  font-weight: 400;
  letter-spacing: 0em !important;
  margin-bottom: 24px;
}
div.fv_txt h1.ship {
  font-size: 18px;
  font-weight: 500;
}
div.FV {
  width: calc(100% - 76px - 458px - 56px);
  position: relative;
}
div.FV_sp {
  display: none;
}
div.FV:after {
  position: absolute;
  content: "";
  width: 100%;
}
div.FV .fv_inner {
}
div.FV .fv_inner .slick-list.draggable {
  line-height: 0;
}
div.FV .slide .item {
  width: 100%;
  height: 100%;
  position: relative;
}
div.FV .slide .item img {
  width: 100%;
  height: auto;
}
.metaslider .flexslider {
  margin-bottom: 0 !important;
}
.metaslider .flex-control-nav {
  bottom: 30px !important;
}
/*スライダーナビここから*/
div.FV .slick-dotted.slick-slider,
div.FV_sp .slick-dotted.slick-slider {
  position: relative;
  margin-bottom: 0 !important;
}
div.FV .slick-dots,
div.FV_sp .slick-dots {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 20px; /* ドット間の余白 */
  bottom: 20px; /* 必要に応じて調整 */
  position: absolute;
  content: "";
  bottom: 24px !important;
  right: 34px;
  width: fit-content !important;
}
div.FV .slick-dots li,
div.FV_sp .slick-dots li {
  margin: 0;
  padding: 0;
}
div.FV .slick-dots li button,
div.FV_sp .slick-dots li button {
  width: 30px;
  height: 2px;
  background: #75736f; /* 非アクティブ時の色 */
  border: none;
  padding: 0;
  padding-top: 2px;
  transition: background 0.3s;
  opacity: 1;
  font-size: 0; /* 数字を消す */
}
div.FV .slick-dots li.slick-active button,
div.FV_sp .slick-dots li.slick-active button {
  background: #fff; /* アクティブ時の色 */
  height: 4px;
  padding-top: 0;
}
div.FV .slick-dots li button:before,
div.FV_sp .slick-dots li button:before {
  content: "";
}
/*スライダーナビここまで*/
div.FV .slick-next,
div.FV .slick-prev {
  display: none !important;
}
/*スクロールボタンここから*/
.scroll-fixed {
  position: absolute;
  top: 0;
  right: 83px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.scroll-fixed-icon {
  width: 122px;
  height: 122px;
  border-radius: 61px;
  border: 1px solid #1c1411;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  margin-top: 16px;
}
.scroll-fixed-icon img {
  animation: updown 0.8s infinite alternate;
}

@keyframes updown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(10px);
  }
}
/*スクロールボタンここまで*/
/*moreボタンここから*/
.more_btn a {
  display: flex;
  align-items: center;
  position: relative;
}
.more_btn a:hover {
  opacity: 1;
}
.more_btn a .circle {
  width: 10px;
  height: 10px;
  border-radius: 6px;
  border: 1px solid #0066ff;
  margin-bottom: 4px;
  position: absolute;
}
.more_btn a:hover .circle {
  width: 32px;
  height: 32px;
  border-radius: 16px;
}
.more_btn a p {
  font-size: 15px;
  line-height: 1.2em;
  padding-bottom: 3px;
  position: relative;
  margin-left: 20px;
}
.more_btn a:hover p {
  margin-left: 42px;
}
.more_btn a p::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #1c1411;
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 0.3s;
}

.more_btn a:hover p::after {
  transform: scaleX(0);
  transform-origin: right;
}
/*moreボタンここまで*/
.top_cont section {
  width: 100%;
  height: 100%;
}
.top_cont section .sec_inner {
  width: 1180px;
  padding: 100px 20px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
}
.top_cont section.top_sec_1 .sec_inner .top_flex1 {
  display: flex;
  justify-content: space-between;
}
.top_cont section.top_sec_1 .sec_inner h3 {
  margin: 40px 0;
  font-size: 36px;
  line-height: 1.6em;
}
.top_cont section.top_sec_1 .sec_inner p.f_18px.mb_80.medium {
  line-height: 1.6em;
  margin-bottom: 80px;
}
.top_ttl h2 {
  line-height: 1.1em;
  margin-bottom: 8px;
}
.top_ttl h2 span {
  font-weight: 400;
  letter-spacing: 0.02em;
}
.top_ttl p {
  padding-left: 74px;
  position: relative;
  line-height: 1em;
}
.top_ttl p::after {
  position: absolute;
  left: 0;
  top: 7px;
  width: 64px;
  height: 0.5px;
  background: #1c1411;
  content: "";
}
.top_cont section.top_sec_2 .top_ttl {
  margin-bottom: 352px;
}
.top_cont section.top_sec_2 .more_btn.all_more_btn {
  position: absolute;
  top: 100px;
  right: 20px;
  z-index: 10;
}
.top_cont section.top_sec_2 .services_tabs {
  position: absolute;
  top: 100px;
  left: 20px;
  content: "";
}
.top_cont section.top_sec_2 .services_tabs input[name="tab_item"] {
  display: none;
}
.top_cont section.top_sec_2 .services_tabs label {
  width: fit-content;
  opacity: 0.6;
  transition: opacity 0.3s;
  font-weight: 500;
  line-height: 1em;
  margin-left: 596px;
  font-size: 15px;
}
.top_cont section.top_sec_2 .services_tabs label:not(:first-of-type) {
  margin-top: 16px;
}
.top_cont section.top_sec_2 .services_tabs input:checked + label {
  opacity: 1;
  position: relative;
}
.top_cont section.top_sec_2 .services_tabs input:checked + label::after {
  position: absolute;
  left: -17px;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #1c1411;
  content: "";
}
.tab_content {
  display: none;
  overflow: hidden;
  transition: opacity 0.3s;
  opacity: 0;
  margin-top: 64px;
  width: calc(100% - 20px);
}
/*選択されているタブのコンテンツのみを表示*/
#eisei:checked ~ #eisei_content,
#kucho:checked ~ #kucho_content,
#denki:checked ~ #denki_content,
#syobo:checked ~ #syobo_content,
#seko:checked ~ #seko_content {
  display: block;
  transition: opacity 0.3s;
  opacity: 1;
}
.top_cont section.top_sec_2 .tab_content_description,
.top_cont section.top_sec_2 .cont_img {
  display: flex;
  align-items: center;
}
.top_cont section.top_sec_2 .page_count {
  width: 28px;
  text-align: center;
  margin-right: 57px;
  font-size: 14px;
}
.top_cont section.top_sec_2 .page_count p:first-of-type {
  padding-bottom: 10px;
  border-bottom: 1px solid #acc0d0;
  margin-bottom: 10px;
}
.top_cont section.top_sec_2 .service_img img {
  width: 370px;
}
.top_cont section.top_sec_2 .service_txt {
  margin-left: 143px;
}
.top_cont section.top_sec_2 .service_txt > p {
  color: #878a8c;
  line-height: 1.4em;
  margin: 64px 0 40px;
}
.top_cont section.top_sec_3 .sec_inner {
  margin-left: calc((100% - 1180px - 40px) / 2);
  margin-right: 0;
  padding: 100px 0 100px 20px;
  width: calc(((100% - 1180px - 40px) / 2) + 1220px);
}
.top_cont section.top_sec_3 .top_ttl {
  margin-bottom: 80px;
}
.top_cont section.top_sec_3 .top_ttl h2 {
  line-height: 1.3em;
}
.top_cont section.top_sec_3 .flex_blog {
}
.top_cont section.top_sec_3 .blog_sec_left {
  float: left;
}
.top_cont section.top_sec_3 .blog_sec_right {
  /*width: calc(((100% - 1180px - 40px) / 2) + 1220px);*/
  margin-left: 358px;
  overflow-x: auto;
  overflow-y: hidden;
  position: relative;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}
.top_cont section.top_sec_3 .blog_sec_right::-webkit-scrollbar {
  display: none;
}
.top_cont section.top_sec_3 .blog-posts {
  display: flex;
  position: relative;
  transition: transform 0.3s ease;
  padding-left: 10px;
}
.top_cont section.top_sec_3 .blog-posts .post {
  width: 210px;
  padding-right: 40px;
  border-right: 1px solid #dcdcdc;
  margin-right: 40px;
  flex-shrink: 0;
  transition: transform 0.3s;
}
.top_cont section.top_sec_3 .blog-posts .post .blog_ttl {
  line-height: 1.4em;
  margin: 24px 0;
}
.top_cont section.top_sec_3 .blog-posts .post p.f_14px {
  line-height: 1.5em;
  margin-bottom: 26px;
}
.top_cont section.top_sec_3 .progress-bar {
  width: calc(100% - 107px);
  margin-left: 107px;
  height: 1px;
  background: #e8e8e8;
  margin-top: 80px;
  position: relative;
  overflow: hidden;
}
.top_cont section.top_sec_3 .progress-bar .progress {
  height: 100%;
  background: #0066ff;
  width: 0%;
  transition: width 0.3s, transform 0.3s;
  position: absolute;
  left: 0;
  top: 0;
}
.top_cont section.top_sec_3 .blog_arrow {
  margin-top: 168px;
  display: flex;
  gap: 16px;
}
.top_cont section.top_sec_3 .blog_arrow .arrow {
  background: none;
  border: none;
  cursor: pointer;
  transition: color 0.2s;
}
.top_cont section.top_sec_3 .blog_arrow .arrow[disabled] {
  cursor: default;
}
.top_cont section.top_sec_3 .blog_arrow .arrow span {
  position: relative;
  width: 20px;
  height: 1px;
  content: "";
  background: #0066ff;
  display: block;
}
.top_cont section.top_sec_3 .blog_arrow .arrow[disabled] span {
  background: #959595;
}
.top_cont section.top_sec_3 .blog_arrow .arrow span.top-arrow {
  transform: rotate(45deg);
}
.top_cont section.top_sec_3 .blog_arrow .arrow span.bottom-arrow {
  transform: rotate(135deg);
  margin-top: 14px;
}
.top_cont section.top_sec_3 .blog_arrow .arrow.left span.top-arrow {
  transform: rotate(135deg);
}
.top_cont section.top_sec_3 .blog_arrow .arrow.left span.bottom-arrow {
  transform: rotate(45deg);
  margin-top: 14px;
}
/*blog hoverエフェクトここから*/
.top_cont section.top_sec_3 .post,.top_cont section.top_sec_3 .button-border,.blog_page .sec_inner ul.blog_flex li,.blog_page .sec_inner ul.blog_flex li a{
  position: relative;
  display: inline-block;
  opacity: 1;
  z-index: 1;
}
.top_cont section.top_sec_3 .button-border,.blog_page .sec_inner ul.blog_flex li a {
  transition: transform 0.3s cubic-bezier(.4,0,.2,1);
  position: relative;
  display: inline-block;
  z-index: 1;
}
.top_cont section.top_sec_3 .button-border:hover {
  transform: scale(0.93);
  z-index: 2;
}
.top_cont section.top_sec_3 .button-border::after,
.top_cont section.top_sec_3 .button-border::before,
.blog_page .sec_inner ul.blog_flex li a::after,
.blog_page .sec_inner ul.blog_flex li a::before,
.blog_single_page .blog_back_btn a::after,
.blog_single_page .blog_back_btn a::before {
  background-color: #1C1411;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  transition: all .3s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
  height: 0;
  width: 0;
}
.top_cont section.top_sec_3 .button-border::after,.blog_page .sec_inner ul.blog_flex li a::after,.blog_single_page .blog_back_btn a::after {
  left: 0;
  top: 0px;
}
.top_cont section.top_sec_3 .button-border::before,.blog_page .sec_inner ul.blog_flex li a::before,.blog_single_page .blog_back_btn a::before {
  right: 0;
  bottom: 0;
}
.top_cont section.top_sec_3 .button-border:hover::before {
  width: 40px;
  height: 0.8px;
}
.top_cont section.top_sec_3 .button-border:hover::after{
  height: 0.8px;
  width: 40px;
  left: -13px;
  top:-13px;
}
.top_cont section.top_sec_3 .button-border:hover::before{
  right: -13px;
  left: inherit;
  bottom: -13px;
}
.top_cont section.top_sec_3 .button-border .border-side.right,.blog_page .sec_inner ul.blog_flex li a .border-side.right,.blog_single_page .blog_back_btn a .border-side.right {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 0;
  background: #1C1411;
  height: 0;
  transition: height .3s cubic-bezier(.4,0,.2,1);
  z-index: 10;
  pointer-events: none;
  content: '';
}
.top_cont section.top_sec_3 .button-border .border-side.left,.blog_page .sec_inner ul.blog_flex li a .border-side.left,.blog_single_page .blog_back_btn a .border-side.left {
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  background: #1C1411;
  position: absolute;
  transition: height .3s cubic-bezier(.4,0,.2,1);
  z-index: 10;
  pointer-events: none;
  content: '';
}
.top_cont section.top_sec_3 .button-border:hover .border-side.left {
  left: -13px;
  top: -13px;
  height: 40px; 
  bottom: inherit;
  width: 0.8px;
}
.top_cont section.top_sec_3 .button-border:hover .border-side.right {
  right: -13px;
  bottom: -13px;
  top: inherit;
  height: 40px; 
  width: 0.8px;
}
.top_cont section.top_sec_3 .blog_img_wrap{
  display: block;
  overflow: hidden;
}
.top_cont section.top_sec_3 .blog_img_wrap img{
  display: block;
  transition-duration: .3s;
  height: 147px;
  width: 100%;
  object-fit: cover;
}
.top_cont section.top_sec_3 .button-border:hover .blog_img_wrap img{
  transform: scale(1.2);
}

/*blog hoverエフェクトここまで*/
.top_cont section.top_sec_3 .sp_br {
  display: none !important;
}
/*TOP Recruit背景*/
.top_cont section.top_sec_4 {
  background: #1e231e;
}
.top_cont section.top_sec_4 .sec_inner {
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}
.top_cont section.top_sec_4 .top_recruit_container {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 655px;
}
.top_cont section.top_sec_4 .slaider {
  overflow: hidden;
  height: 655px;
  width: 340px;
  margin: 0 15px;
  position: relative;
}
.top_cont section.top_sec_4 .slider-list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  align-items: center;
  list-style: none;
  animation: slideLoop 20s linear infinite;
}
.top_cont section.top_sec_4 .slaider:nth-of-type(2) .slider-list {
  animation: slideLoop2 20s linear infinite;
}
@keyframes slideLoop {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}
@keyframes slideLoop2 {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}
.top_cont section.top_sec_4 .slider-item {
  width: 340px;
  height: 455px;
  margin-bottom: 40px;
}
.top_cont section.top_sec_4 .top_ttl_recruit {
  background: #1c1411a3;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.top_cont section.top_sec_4 .top_ttl_recruit h2{
  letter-spacing: 0!important;
}
.top_cont section.top_sec_4 .top_ttl_recruit p {
  margin: 35px auto 37px;
  text-align: center;
  line-height: 1.5em;
}
.top_cont section.top_sec_4 .recruit_more a {
  padding: 8px 16px;
  border-radius: 4px;
  background: #fff;
  font-family: "Jost", sans-serif;
  line-height: 1.2em;
  position: relative;
  z-index: 1;
  letter-spacing: 0;
  font-size: 15px;
}
.top_cont section.top_sec_4 .recruit_more a::before {
  content: "";
  position: absolute;
  width: 104px;
  height: 38px;
  border-radius: 4px;
  background-color: #fff;
  z-index: -1;
  top: 0;
  left: 0;
}
.top_cont section.top_sec_4 .recruit_more a::before {
  animation: anime-top-recruit 1.5s ease-out 1.5s infinite;
}
@keyframes anime-top-recruit {
  0% {
    transform: scale(1);
    opacity: 0.4;
  }
  90%,
  100% {
    transform: scale(1.2, 1.4);
    opacity: 0;
  }
}

/*全体の背景チップスここから*/
.top_cont section {
  position: relative;
  z-index: 0;
}
.chips .c-parallax {
  position: absolute;
  z-index: -10;
}
.chips .c-parallax img {
  filter: blur(24px);
}
div.FV_wrap .chips .c-parallax:first-of-type {
  right: 40%;
  top: 15px;
  z-index: 5;
}
div.FV_wrap .chips .c-parallax:last-of-type {
  left: 83px;
  bottom: 71px;
}
.top_cont section.top_sec_1 .chips .c-parallax:first-of-type {
  right: 0;
  top: 157px;
}
.top_cont section.top_sec_1 .chips .c-parallax:last-of-type {
  left: 40%;
  bottom: 80px;
}
.top_cont section.top_sec_2 .chips .c-parallax {
  bottom: -310px;
  left: -284px;
}
.top_cont section.top_sec_2 .chips .c-parallax img {
  filter: blur(5px);
  opacity: 0.16;
}
/*全体の背景チップスここまで*/

/*文字が現れる*/
.anim-box.popup {
  display: inline-block;
  opacity: 0;
}
.anim-box.popup.is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1);
  }
  80%,
  100% {
    opacity: 1;
  }
}
/*---*/
.fv-fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.fv-fadein.is-animated {
  opacity: 1;
  transform: translateY(0);
}

/**-------------------
      サブページ
-------------------**/

/**--　サブページ共通　--**/
.bg-gray {
  background: #eae9e9;
}
.txt-a-r {
  text-align: right;
}
.txt-a-c {
  text-align: center;
}
.d850-block{
  display: none!important;
}
.d850-none{
  display: block!important;
}
.sub_page .sub_top {
  background: url(../images/sub/ttl_bg.webp) no-repeat;
  width: 100%;
  display: inline-block;
  background-size: cover;
  height: 180px;
  /*margin-top: 80px;*/
  position: relative;
  z-index: 1;
}
.sub_page .sub_top .sub_top_inner {
  width: 1140px;
  height: 100%;
  padding: 0 10px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.sub_page .sub_top .sub_top_inner h1,.sub_page .sub_top .sub_top_inner h5.blog_page_ttl {
  font-size: 62px;
  font-family: "Jost", sans-serif;
  letter-spacing: 0;
  font-weight: 400;
}
.sub_page .sub_cont {
  width: 100%;
  margin: 0;
  padding: 0;
}
.sub_page .sub_cont .breadcrumbs {
  width: 1140px;
  padding: 0 10px;
  margin: 20px auto;
}
.sub_page .sub_cont .breadcrumbs .bread {
  text-align: right;
  padding-right: 13px;
  line-height: 1.1em;
}
.sub_page .sub_cont .breadcrumbs .bread span {
  font-family: "Jost", sans-serif;
  font-weight: 400;
  line-height: 1.1em;
}
.sub_page .sub_cont .breadcrumbs .bread span a{
  opacity: 1;
  padding-bottom: 1px;
  position: relative;
}
.sub_page .sub_cont .breadcrumbs .bread span a::before{
  background: #1c1411;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.sub_page .sub_cont .breadcrumbs .bread span a:hover:before{
  transform-origin: left top;
  transform: scale(1, 1);
}
/*サブページ背景チップスここから*/
div.sub_top .chips .c-parallax{
  position: absolute;
}
div.sub_top .chips .c-parallax:first-of-type {
  right: 28%;
  top: -84px;
  z-index: 5;
}
div.sub_top .chips .c-parallax:last-of-type {
  left: 10%;
  bottom: -159px;
  z-index: 5;
}
.sub_cont section.sec-1{
  position: relative;
  z-index: 1;
}
.sub_cont section.sec-1 .chips .c-parallax:first-of-type{
  top:130px;
  right: 0;
  z-index: -1;
}
.sub_cont section.sec-1 .chips .c-parallax:last-of-type{
  top: 272px;
  left: 38%;
  z-index: -1;
}
/*サブページ背景チップスここまで*/
/*スライドアップしながらフェードインここから --classに「anim-box」「popup or popup-left」を指定--*/
.anim-box.popup.is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.anim-box.popup-left.is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  transform-origin: left bottom;
}
 
@keyframes popup-left {
  0% {
    transform: translate(-40px, 40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translate(0, 0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}
@keyframes popup {
  0% {
    transform: translateX(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateX(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}
/*スライドアップしながらフェードインここまで*/

/**--　会社概要　--**/
.company_page .sub_cont section.sec-1 .sec_inner {
  width: 1140px;
  padding: 0 10px;
  margin: 130px auto 195px;
}
.company_page .sub_cont section.sec-1 .sec_inner h2 {
  letter-spacing: 0;
  margin-bottom: 40px;
  line-height: 1.1em;
}
.company_page .sub_cont section.sec-1 .sec_inner h2 span{
  letter-spacing: 0;
  line-height: 1.1em;
  font-weight: 300;
}
.company_page .sub_cont section.sec-1 .sec_inner h3.message_catch {
  font-size: 36px;
  letter-spacing: 0;
  margin-bottom: 40px;
  line-height: 1.6em;
}
.company_page .sub_cont section.sec-1 .sec_inner p {
  line-height: 2.2em;
}
.company_page .sub_cont section.sec-1 .sec_inner p:last-of-type {
  margin-top: 30px;
}
.company_page .sub_cont section.sec-2 .sec_inner {
  padding: 140px 0;
}
.company_page .sub_cont section.sec-2 h2 {
  width: 1140px;
  padding: 0 10px;
  margin: 0 auto;
  letter-spacing: 0 !important;
  margin-bottom: 80px;
}
.company_page .sub_cont section.sec-2 h2 span{
  letter-spacing: 0 !important;
  font-weight: 400;
}
.company_page .sub_cont section.sec-2 .company-flex-1-wrapper {
  display: flex;
  justify-content: flex-end;
}
.company_page .sub_cont section.sec-2 .company-flex-1 {
  display: flex;
  justify-content: space-between;
  width: calc(100% - ((100% - 1140px) / 2));
}
.company_page .sub_cont section.sec-2 .company-flex-1 figcaption {
  width: 680px;
  margin-right: 94px;
}
.company_page .sub_cont section.sec-2 .company-flex-1 figure {
  width: calc(100% - 680px - 94px);
  margin-top: 75px;
}
.company_page .sub_cont section.sec-2 .company-flex-1 figure img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.company_page .sub_cont section h4 {
  margin-bottom: 20px;
  line-height: 1.7em;
}
.about-list li {
  display: flex;
  padding: 20px 0;
  border-top: 1px solid #b9b9b9;
  line-height: 2em;
}
.about-list li:last-of-type {
  border-bottom: 1px solid #b9b9b9;
}
.company_page .sub_cont section.sec-2 .company-flex-1 .about-list li .li-left {
  width: 227px;
  margin-right: 50px;
  font-size: 18px;
  letter-spacing: 0.03em;
}
.company_page .sub_cont section.sec-2 .company-flex-1 .about-list li .li-right {
  width: calc(100% - 227px - 50px);
  font-size: 18px;
  letter-spacing: 0.03em;
}
.company_page .sub_cont section.sec-2 .company-flex-2-wrapper {
  display: flex;
  justify-content: flex-start;
}
.company_page .sub_cont section.sec-2 .company-flex-2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: calc(100% - ((100% - 1140px) / 2));
  margin-top: 100px;
}
.company_page .sub_cont section.sec-2 .company-flex-2 figcaption {
  width: 660px;
  margin-left: 120px;
}
.company_page .sub_cont section.sec-2 .company-flex-2 figure {
  width: calc(100% - 660px - 120px);
}
.company_page .sub_cont section.sec-2 .company-flex-2 figure img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.company_page .sub_cont section.sec-2 .company-flex-2 .about-list li .li-left {
  width: 118px;
  margin-right: 50px;
  font-size: 18px;
  letter-spacing: 0.03em;
}
.company_page .sub_cont section.sec-2 .company-flex-2 .about-list li .li-right {
  width: calc(100% - 118px - 50px);
  font-size: 18px;
  letter-spacing: 0.03em;
}

/**--　業務内容　--**/
.services_page section .sec_inner{
  width: 1140px;
  padding: 0 10px;
  margin: 130px auto;
}
.services_page .business_flex figcaption{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: calc(100% - 377px - 40px);
}
.services_page section h2.sl-ttl{
  padding-left: 40px;
  position: relative;
  margin-bottom: 40px;
}
.services_page section h2.sl-ttl::after{
  position: absolute;
  border: 1px solid #0066FF;
  width: 30px;
  height: 30px;
  border-radius: 18px;
  content: '';
  left: 0;
}
.services_page h3.sm-ttl,.services_page p.s-txt{
  font-size: 22px;
  line-height: 1.8em;
  letter-spacing: 0.03em;
}
.services_page h3.sm-ttl{
  margin-bottom: 20px;
}
.services_page .business_flex{
  display: flex;
}
.services_page .business_flex:not(:last-of-type){
  margin-bottom: 80px;
}
.services_page .servise-cont{
  border: 1px solid #707070;
  padding: 25px;
  position: relative;
}
.services_page .servise-cont h4{
  position: absolute;
  top:-20px;
  left: 26px;
  background: #fff;
  padding: 0 15px;
  line-height: 2.2em;
}
.services_page .servise-cont p{
  letter-spacing: 0.06em;
  line-height: 1.7em;
}
.services_page .business_flex figure{
  width: 377px;
  margin-left: 40px;
}

/**--　BLOG　--**/
.blog_page .sec_inner{
  width: 1140px;
  padding: 0 10px;
  margin: 140px auto;
}
/* BLOGページのみ */
.blog_page .sec_inner.blog_sec_inner{
  margin: 20px auto;
}
.blog_page .sec_inner ul.blog_flex{
  display: flex;
  flex-wrap: wrap;
}
.blog_page .sec_inner ul.blog_flex li{
  width: calc((100% - 90px)/ 3);
  background: rgba(255, 255, 255, 0.6);
}
.blog_page .sec_inner ul.blog_flex li:hover{
  background: rgba(255, 255, 255, 1);
}
.blog_page .sec_inner ul.blog_flex li:not(:nth-of-type(3n)){
  margin-right: 45px;
}
.blog_page .sec_inner ul.blog_flex li{
  margin-top: 80px;
}
.blog_page .sec_inner ul.blog_flex li:nth-of-type(1),.blog_page .sec_inner ul.blog_flex li:nth-of-type(2),.blog_page .sec_inner ul.blog_flex li:nth-of-type(3){
  margin-top: 0;
}
.blog_page .sec_inner ul.blog_flex li a{
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  padding: 10px;
  display: block;
}
.blog_page .sec_inner ul.blog_flex li a:hover{
  opacity: 1;
}
.blog_page .sec_inner ul.blog_flex li a figure{
  width: 100%;
  height: 230px;
  display: inline-block;
  overflow: hidden;
  margin-bottom: 20px;
}
.blog_page .sec_inner ul.blog_flex li a figure img{
  display: block;
  transition-duration: .3s;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.blog_page .sec_inner ul.blog_flex li a:hover figure img{
  transform: scale(1.2);
}
.blog_page .sec_inner ul.blog_flex li a figcaption{
  width: 100%;
}
.blog_page .sec_inner ul.blog_flex li a figcaption h4{
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 30px;
  line-height: 1.4em;
  letter-spacing: 0;
}
.blog_page .sec_inner ul.blog_flex li a figcaption p.blog-txt{
  line-height: 1.75em;
  margin-bottom: 40px;
  letter-spacing: 0;
}
.blog_page .sec_inner ul.blog_flex li a figcaption p.blog-date{
  font-size: 12px;
  letter-spacing: 0;
}
.blog_page .sec_inner ul.blog_flex li a:hover::before {
  width: 60px;
  height: 0.8px;
  right: 0;
  left: inherit;
  bottom: 0;
}
.blog_page .sec_inner ul.blog_flex li a:hover::after{
  height: 0.8px;
  width: 60px;
  left: 0;
  top:0;
}
.blog_page .sec_inner ul.blog_flex li a:hover .border-side.left {
  left: 0px;
  top: 0px;
  height: 60px; 
  bottom: inherit;
  width: 0.8px;
}
.blog_page .sec_inner ul.blog_flex li a:hover .border-side.right{
  right: 0px;
  bottom: 0px;
  top: inherit;
  height: 60px; 
  width: 0.8px;
}
/*ページャー　ここから*/
.wp-pagenavi {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 100px;
  text-align: center;
}
.wp-pagenavi a {
  border: 1px solid rgba(28, 20, 17, 0.2);
  color: #1C1411;
  background: #fff;
  text-decoration: none;
  box-sizing: border-box;
  opacity: 1;
}
.wp-pagenavi a:hover {
  border: 1px solid #1C1411;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  padding: 0;
  margin: 0 5px;
  font-family: "Jost", sans-serif;
  border-radius: 50%;
  line-height: 1;
  font-size: 20px;
}
.wp-pagenavi .first, .wp-pagenavi .last, .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
  position: relative;
}
.wp-pagenavi .first:before, .wp-pagenavi .last:before {
  content: "";
  width: 9px;
  height: 17px;
  -webkit-mask-image: url(../images/blog/pagenavi_single.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.wp-pagenavi .first:before, .wp-pagenavi .last:before, .wp-pagenavi .previouspostslink:before, .wp-pagenavi .nextpostslink:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background: #1C1411;
}
/*.wp-pagenavi a:hover:before {
  background: #fff;
}*/
.wp-pagenavi .previouspostslink:before, .wp-pagenavi .nextpostslink:before {
  content: "";
  width: 15px;
  height: 17px;
  -webkit-mask-image: url(../images/blog/pagenavi_double.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.wp-pagenavi .extend {
  width: 10px;
  padding: 4px;
  color: #1C1411;
}
.wp-pagenavi .current {
  color: #fff;
  background: rgba(28, 20, 17, 0.8);
  border: 1px solid #1C1411;
  box-sizing: border-box;
}
.wp-pagenavi .nextpostslink:before {
  transform: translateX(-50%) translateY(-50%) scale(-1, 1);
}
.wp-pagenavi .last:before {
  transform: translateX(-50%) translateY(-50%) scale(-1, 1);
}
/*ページャー　ここまで*/

/**--　BLOG詳細　--**/
.blog_single_page .sub_cont .sec-1{
  background: #EAE9E9;
  padding: 140px 0;
  z-index: 0;
  position: relative;
}
.blog_single_page .sec-1 .sec_inner{
  margin: auto;
}
.blog_single_page .blog_single_flex{
  display: flex;
  justify-content: space-between;
}
.blog_single_page .blog_single_flex .content_post {
  width: 710px;
  margin-right: 113px;
}
.blog_single_page .blog_single_flex .content_post h1{
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}
.blog_single_page .blog_single_flex .content_post .post_mainvisual{
  width: 100%;
  height: 500px;
  margin-bottom: 20px;
}
.blog_single_page .blog_single_flex .content_post .post_mainvisual img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog_single_page .blog_single_flex .content_post .post_date{
  margin-bottom: 40px;
  text-align: end;
}
.blog_single_page .blog_single_flex .content_post .post_date time{
  font-family: "Jost", sans-serif;
  font-size: 13px;
}
.blog_single_page .blog_single_flex .content_post p{
  font-weight: 600;
  line-height: 2em;
  margin-bottom: 40px;
  letter-spacing: 0;
}
.blog_single_page .blog_single_flex .content_post h2{
  font-size: 20px;
  font-weight: 600;
  padding: 10px 0;
  border-top: 1px solid #B9B9B9;
  border-bottom: 1px solid #B9B9B9;
  line-height: 1.7em;
  margin-bottom: 40px;
  margin-top: 80px;
  letter-spacing: 0;
}
.blog_single_page .blog_single_flex .content_post h3{
  font-size: 18px;
  font-weight: 700;
  padding-left: 16px;
  position: relative;
  line-height: 1.8em;
  letter-spacing: 0;
  margin: 40px 0;
}
.blog_single_page .blog_single_flex .content_post h3::after{
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 6px;
  border: 1px solid #0066FF;
  top: 11px;
  left: 0;
  content: '';
}
.blog_single_page .blog_single_flex .content_post ul.wp-block-list li{
  position: relative;
  padding-left: 12px;
}
.blog_single_page .blog_single_flex .content_post ul.wp-block-list li::after{
  position: absolute;
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 6px;
  background: #1C1411;
  top:10px;
  left: 2px;
}
.blog_single_page .blog_single_flex .content_post .wp-block-table thead{
  border-bottom: 2px solid #1C1411;
}
.blog_single_page .blog_single_flex .content_post .wp-block-table .has-fixed-layout td, .blog_single_page .blog_single_flex .content_post .wp-block-table .has-fixed-layout th {
  padding: 16px;
  text-align: center;
}
.blog_single_page .blog_single_flex .content_post .wp-block-table .has-fixed-layout td:last-of-type, .blog_single_page .blog_single_flex .content_post .wp-block-table .has-fixed-layout th:last-of-type{
  border-right: none;
}
.blog_single_page .blog_single_flex .content_post .wp-block-table .has-fixed-layout tr:last-of-type td{
  border-bottom: none;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction{
  margin: 80px auto;
  padding: 30px;
  background: rgba(255, 255, 255, 0.2);
  border-top: thick double #B9B9B9;
  border-bottom: thick double #B9B9B9;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction p.ez-toc-title {
  font-family: "Jost", sans-serif;
  font-size: 18px;
  letter-spacing: 0;
  margin-bottom: 20px;
  font-weight: 400;
  line-height: 1.28em;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 {
  counter-reset: toc-num;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1{
  counter-increment: toc-num;
  margin-bottom: 10px;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1:last-of-type{
  margin-bottom: 0;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 a{
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 a::after{
  position: absolute;
  counter-increment: number;
  content: counter(toc-num);
  top:0;
  left: 0;
  font-weight: 400;
  background: none;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 a::before{
  position: absolute;
  left: 9px;
  top:0;
  content: "｜";
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 ul.ez-toc-list-level-3 {
  counter-reset: toc-num;
  margin-left: 34px;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 ul.ez-toc-list-level-3 > li.ez-toc-heading-level-3{
  margin-top: 10px;
  margin-left: 30px;
  padding-left: 0;
  position: relative;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 ul.ez-toc-list-level-3 > li.ez-toc-heading-level-3 a{
  padding-left: 0;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 ul.ez-toc-list-level-3 > li.ez-toc-heading-level-3 a::after{
  display: none;
  counter-increment:inherit;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 ul.ez-toc-list-level-3 > li.ez-toc-heading-level-3 a::before{
  display: none;
}
.blog_single_page .blog_single_flex .content_post .ez-toc-container-direction ul.ez-toc-list.ez-toc-list-level-1 > li.ez-toc-page-1 ul.ez-toc-list-level-3 > li.ez-toc-heading-level-3::before{
  content: "―";
  top:0;
  left: -30px;
  position: absolute;
}
.blog_single_page .blog_back_btn{
  margin: 80px auto 0;
  text-align: center;
}
.blog_single_page .blog_back_btn a{
  width: 160px;
  height: 40px;
  display: block;
  line-height: 40px;
  font-size: 13px;
  font-weight: 400;
  background:rgba(255, 255, 255, 0.4);
  margin: 0 auto;
  position: relative;
}
.blog_single_page .blog_back_btn a:hover{
  background:rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.blog_single_page .blog_back_btn a:hover::before {
  width: 15px;
  height: 0.8px;
  right: 0;
  left: inherit;
  bottom: 0;
}
.blog_single_page .blog_back_btn a:hover::after{
  height: 0.8px;
  width: 15px;
  left: 0;
  top:0;
}
.blog_single_page .blog_back_btn a:hover .border-side.left {
  left: 0;
  top: 0;
  height: 15px; 
  bottom: inherit;
  width: 0.8px;
}
.blog_single_page .blog_back_btn a:hover .border-side.right {
  right: 0;
  bottom: 0;
  top: inherit;
  height: 15px; 
  width: 0.8px;
}
.content_aside{
  width: calc(100% - 710px - 113px);
}
.content_aside p.aside_ttl{
  font-size: 30px;
  line-height: 1em;
  margin-bottom: 20px;
}
.content_aside .aside_list li{
  padding: 20px 0;
  border-top: 1px solid #B9B9B9;
}
.content_aside .aside_list li:last-of-type{
  border-bottom: 1px solid #B9B9B9;
}
.content_aside .aside_list li a time{
  font-family: "Jost", sans-serif;
  margin-bottom: 5px;
  letter-spacing: 0;
}
.content_aside .aside_list li a h3{
  font-weight: 500;
  line-height: 1.5em;
}