@charset "UTF-8";

/*  core archive
--------------------------------------------- */
.archive-core .article-list{
  margin-top: var(--mg-40);
}
.en-minttl{
  font-weight: var(--fw-700);
  font-family: var(--font-en-gothic);
}
.cat-filter .en-minttl{
  font-size: var(--fs-15);
}
.cat-filter{
  display: flex;
  align-items: baseline;
  gap: var(--mg-30);
}
.cat-filter-list{
  display: flex;
  flex-wrap: wrap;
  gap: var(--mg-10);
}
.cat-filter-list li a{
  border-radius: var(--border-circle);
  border: 0.1rem solid var(--border-gray);
  font-size: var(--fs-15);
  font-weight: var(--fw-500);
  padding: 0.8rem 1.5rem;
}
.cat-filter-list .current-cat a{
  background: var(--main-color);
  border: 0.1rem solid var(--main-color);
  color: var(--white-color);
}
@media (hover: hover) and (pointer: fine) {
  .cat-filter-list li a:hover{
    background: var(--main-color);
    border: 0.1rem solid var(--main-color);
    color: var(--white-color);
  }
}
@media  only screen and (max-width: 767px){
  .cat-filter{
    display: block;
  }
  .cat-filter-list{
    margin-top: var(--mg-15);
  }
  .cat-filter-list li a{
    padding: 1.867vw 3.2vw;
    font-size: var(--fs-14);
  }
}

.article-list .list-item a{
  display: flex;
  flex-direction: column;
  height: 100%;
}
.article-list .list-item .article-img{
  cursor: pointer;
  overflow: hidden;
  width: 100%;
  border-radius: var(--border-radius);
}
.article-list .list-item .article-img img{
  height: auto;
  transition: transform .5s ease;
  width: 100%;
  aspect-ratio: 9 / 6;
  object-fit: cover;
}
.article-list .list-item .article-block{
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: var(--mg-10) 0 var(--mg-20);
  border-bottom: 0.1rem solid var(--border-gray);
  position: relative;
}
.article-list .list-item .article-block::after{
  content: "";
  position: absolute;
  bottom: -0.1rem;
  right: 0;
  width: 3.0rem;
  border-bottom: 0.3rem solid var(--theme-color);
}
.article-list .list-item .article-block::before{
  content: "";
  position: absolute;
  bottom: 1.0rem;
  right: 0.5rem;
  transform: translateY(-50%);
  width: 2.0rem;
  height: 2.0rem;
  background-image: url('../../assets_/img/common/icon_arrowlink_rightcircle.svg');
  background-size: cover;
  background-repeat: no-repeat;
  /* filter: var(--theme-filter); */
  filter: brightness(0) saturate(100%) invert(68%) sepia(0%) saturate(6946%) hue-rotate(58deg) brightness(85%) contrast(88%);
}
.article-list .list-item .article-block .list-ttl{
  font-size: var(--fs-17);
  font-weight: var(--fw-500);
  line-height: 1.6em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-top: var(--mg-5);
}
.article-list .list-item .article-block .list-time{
  font-family: var(--font-en-gothic);
  font-size: var(--fs-13);
  font-weight: var(--fw-600);
  color: var(--gray-color);
  margin-top: var(--mg-15);
}
.article-list .list-item .article-block .list-cat{
  display: block;
  position: relative;
  padding-left: var(--mg-20);
  font-size: var(--fs-14);
  font-weight: var(--fw-500);
  color: var(--gray-color);
  margin-top: var(--mg-5);
}
.article-list .list-item .article-block .list-cat::before{
  background: var(--lightgray-color);
  border-radius: 0.1rem;
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 0.4rem;
  position: absolute;
  top: 50%;
  left: 0;
    transform:  translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}
.core .termname-txt{
  font-size: var(--fs-18);
  font-weight: var(--fw-500);
}
@media (hover: hover) and (pointer: fine) {
  .article-list .list-item a:hover .article-img img{
    transform: scale(1.05);
  }
}
@media  only screen and (max-width: 1099px){
  .core .li3{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media  only screen and (max-width: 767px){
  .article-list .list-item .article-block::after{
    width: 5.333vw;
    bottom: -0.267vw;
    border-bottom: 0.533vw solid var(--theme-color);
  }
  .article-list .list-item .article-block::before{
    bottom: 1.067vw;
    right: 0.8vw;
    width: 3.467vw;
    height: 3.467vw;
  }
  .article-list .list-item .article-block .list-ttl{
    font-size: var(--fs-15);
    line-height: 1.5em;
  }
  .article-list .list-item .article-block .list-cat{
    padding-left: var(--mg-25);
    font-size: var(--fs-13);
  }
  .article-list .list-item .article-block .list-cat::before{
    border-radius: 0.267vw;
    width: 2.133vw;
    height: 0.533vw;
  }
  .article-list .list-item .article-block .list-time{
    font-size: var(--fs-12);
  }
}

/* --------------------------------------------- */
/* --------------------------------------------- */
/* --------------------------------------------- */
/* --------------------------------------------- */
/* --------------------------------------------- */
/* --------------------------------------------- */



/*  blog-hero common
--------------------------------------------- */
.blog-hero-container{
  padding-top: 18.0rem;
}
.blog-hero-txt{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.blog-hero-meta{
  display: flex;
  align-items: baseline;
  gap: 1.5rem;
}
.blog-hero-meta .en-ttl{
  font-family: var(--font-en-gothic);
  font-weight: var(--fw-800);
}
.blog-hero-meta .blog-hero-label{
  font-weight: var(--fw-500);
}
.blog-hero-ttl{
  max-width: 100.0rem;
}
.blog-hero-ttl .h1-ttl{
  font-size: var(--fs-36);
  font-weight: var(--fw-500);
  line-height: 1.6em;
}
.blog-hero-datecat{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2.0rem;
  margin-top: var(--mg-20);
}
.blog-hero-date{
  color: var(--gray-color);
  font-size: var(--fs-14);
  letter-spacing: .05em;
}
.blog-hero-cat a{
  font-size: var(--fs-14);
  font-weight: var(--fw-500);
  background: var(--theme-color);
  border-radius: var(--border-circle);
  color: var(--white-color);
  display: block;
  padding: 0.1rem 1.5rem;
}
@media (hover: hover) and (pointer: fine) {
  .blog-hero-cat a:hover{
    opacity: .8;
  }
}
@media  only screen and (max-width: 1099px){
  .blog-hero-ttl{
    max-width: 100.0rem;
  }
}
@media  only screen and (max-width: 767px){
  .blog-hero-container{
    padding-top: 29.33vw;
  }
  .blog-hero-meta{
    gap: 4vw;
  }
  .blog-hero-ttl{
    max-width: 100%;
  }
  .blog-hero-ttl .h1-ttl{
    font-size: var(--fs-28);
  }
  .blog-hero-datecat{
    gap: 4vw;
    margin-top: var(--mg-30);
  }
  .blog-hero-cat a{
    padding: 0.267vw 3.2vw;
  }
}

/*  blog-content
--------------------------------------------- */
.blog-content{
  padding: 6.0rem 0 16.0rem;
}
.blog-content-flex{
  display: flex;
  align-items: flex-start;
  gap: 10.0rem;
}
.blog-main{
  width: calc( 100% - 38.0rem);
}
.blog-side{
  width: 28.0rem;
  position: sticky;
  top: 10.0rem; /* 固定開始位置 */
}
@media  only screen and (max-width: 1099px){
  .blog-content-flex{
    flex-wrap: wrap;
  }
  .blog-main{
    width: 100%;
  }
  .blog-main-contents{
    max-width: 88.0rem;
    margin-inline: auto;
  }
  .blog-side{
    width: 100%;
  }
}
@media  only screen and (max-width: 767px){
  .blog-content{
    padding: 6.667vw 0 21.333vw;
  }
}

/*  blog breadcrumb-list
--------------------------------------------- */
.blog-main-container .breadcrumb-list ol{
  justify-content: flex-start;
}

/*  blog toc-container
--------------------------------------------- */
.toc{
  margin-top: 4.0rem;
  margin-bottom: var(--mg-40);
}
.toc-container{
  background: var(--theme-bgcolor);
  border-radius: var(--border-radius);
  padding: 2.5rem 3.0rem;
}
.toc-list li:not(:first-child){
  margin-top: 1.0rem;
}
.toc-list li{
  font-weight: var(--fw-500);
  font-size: var(--fs-15);
  padding-left: 2.8rem;
  position: relative;
  line-height: 1.6em;
}
.toc-list li a::before{
  content: "";
  position: absolute;
  left: 0;
  top: 1.3rem;
  transform: translateY(-50%);
  width: 1.8rem;
  height: 1.8rem;
  background-image: url('../../assets_/img/common/icon_arrowlink_bottomcircle.svg');
  background-size: contain;
  background-repeat: no-repeat;
  filter: var(--theme-filter);
}
@media (hover: hover) and (pointer: fine) {
  .toc-list li a:hover{
    color: var(--theme-color);
  }
  .toc-list li a:hover::before{
    filter: var(--theme-filter);
  }
}
@media  only screen and (max-width: 767px){
  .toc{
    margin-top: 4vw;
  }
  .toc-container{
    padding: 5.333vw;
  }
  .toc-list li{
    padding-left: 6.4vw;
  }
  .toc-list li a{
    font-size: var(--fs-14);
  }
  .toc-list li a::before{
    width: 4vw;
    height: 4vw;
    top: 2.7vw;
  }
  .toc-list li:not(:first-child){
    margin-top: var(--mg-10);
  }
}

/*  blog-main
--------------------------------------------- */
.blog-side .en-minttl{
  font-size: var(--fs-20);
}
.blog-side .subbold-txt{
  color: var(--gray-color);
}
.blog-main-thumbnail{
  width: 100%;
  border-radius: var(--border-radius);
  margin-bottom: var(--mg-20);
}
.blog-main-thumbnail img{
  border-radius: var(--border-radius);
}
.blog-main-contents img{
  border-radius: var(--border-radius);
  width: auto;
  max-width: 100%;
  height: auto;
}
.blog-main-contents h2,
.blog-main-contents h3{
  margin-top: var(--mg-80);
  line-height: 1.6em;
}
.blog-main-contents h4{
  margin-top: var(--mg-40);
  line-height: 1.6em;
}
.blog-main-contents p{
  margin-top: var(--mg-20);
}
.blog-main-contents h5,
.blog-main-contents .wp-block-image,
.blog-main-contents .wp-block-table,
.blog-main-contents .wp-block-button,
.blog-main-contents .wp-block-media-text,
.blog-main-contents .wp-block-gallery{
  margin-top: var(--mg-40) !important;
}
.blog-main-contents .wp-block-button{
  text-align: center;
}
.blog-main-contents h2{
  font-size: var(--fs-28);
  font-weight: var(--fw-500);
}
/* .blog-main-contents h2::before {
  border-top: 0.2rem solid var(--red-color);
  content: "";
  display: block;
  padding-top: 3.0rem;
  width: 8.0rem;
} */
.blog-main-contents h3{
  position: relative;
  font-size: var(--fs-24);
  font-weight: var(--fw-500);
  padding-top: var(--mg-25);
}
.blog-main-contents h3::before{
  position: absolute;
  top: -0.1rem;
  left: 0;
  width: 5.0rem;
  height: 0.2rem;
  content: "";
  background-color: var(--theme-color);
}
.blog-main-contents h3::after{
  position: absolute;
  top: 0;
  left: 6.0rem;
  width: calc( 100% - 6.0rem );
  height: 0.1rem;
  content: "";
  background-color: var(--border-gray);
}
.blog-main-contents h4{
  background: var(--bg-gray-color);
  font-size: var(--fs-18);
  font-weight: var(--fw-500);
  padding: 1.2rem 2.0rem;
}
.blog-main-contents h5{
  font-size: var(--fs-18);
  font-weight: var(--fw-500);
}
.blog-main-contents strong{
  font-weight: var(--fw-500);
}
.blog-main-contents .single-fontimg{
  width: auto !important;
  vertical-align: text-top !important;
}
.blog-main-contents p{
  line-height: 2.0em;
}
.blog-main-contents a{
  color: var(--theme-color);
  border-bottom: 1px solid var(--theme-color);
  word-break: break-all;
}
@media (hover: hover) and (pointer: fine) {
  .blog-main-contents a:hover{
    opacity: .6;
  }
}
.blog-main-contents .wp-block-image{
  width: 100%;
  height: auto;
  line-height: 2.0em;
}
.blog-main-contents .wp-block-gallery{
  display: grid;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 15px !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before{
  position: unset !important;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{
  color: #333 !important;
  overflow: auto !important;
  text-shadow: unset !important;
  background: unset !important;
  padding: 0.5em 0 1em !important;
  line-height: normal !important;
  text-align: left !important;
}
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){
  align-self: flex-start !important;
}
@media  only screen and (min-width: 768px){
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){
    width: 100% !important;
  }
}
@media  only screen and (max-width: 767px){
  .blog-main-contents .wp-block-gallery{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image){
    width: 100% !important;
  }
  :where(.wp-block-columns.is-layout-flex){
    gap: 0 !important;
  }
}
.blog-main-contents .wp-block-gallery .wp-block-image img{
  width: 100%;
  height: auto;
  display: block;
}
.blog-main-contents .wp-block-list{
  padding:0;
  list-style :none;
  margin-top: var(--mg-20);
}
.blog-main-contents .wp-block-list li {
  position:relative;
  padding-left:15px;
}
.blog-main-contents .wp-block-list li:before {
  content:"";
  width: 0.7rem;
  height: 0.7rem;
  background: var(--theme-color);
  border-radius: 0.2rem;
  position:absolute;
  left:0px;
  top: 1.3rem;
}
.blog-main-contents .wp-block-table table{
  width: 100%;
  border-collapse: collapse;
}
.wp-block-table td, .wp-block-table th{
  border-left: unset !important;
  border-right: unset !important;
}
.blog-main-contents .wp-block-table table ,
.blog-main-contents .wp-block-table table td{
  border-top: solid 1px #CBCBCB;
  border-bottom: solid 1px #CBCBCB;
  padding: 20px;
  text-align: left;
  font-weight: normal;
  line-height: 1.6em;
}
.blog-main-contents .wp-block-table table td:first-child{
  color: var(--main-color);
  font-weight: var(--fw-500);
  width: 20%;
}
.blog-main-contents .wp-block-table table td{
  width: 80%;
}
.blog-main-contents .wp-block-button a{
  position: relative;
  background: var(--theme-color);
  border-radius: var(--border-circle);
  border: unset;
  color: var(--white-color);
  display: inline-block;
  padding: 1.0rem 6.0rem;
  text-align: center;
  min-width: 20.0rem;
  max-width: none;
  margin: 0 auto;
  transition: 0.3s ease-in-out;
}
.blog-main-contents .wp-block-media-text .wp-block-button{
  margin-bottom: 0 !important;
}
.blog-main-contents .wp-block-media-text .wp-block-buttons{
  margin-top: var(--mg-20);
}
.blog-main-contents .wp-block-media-text .wp-block-button a{
  padding: 1.0rem 6.0rem;
}
.blog-main-contents .wp-block-button .wp-block-button__link:after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: var(--mg-20);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 12px;
  height: 10px;
  background: url(../../assets_/img/common/icon_arrowlink_wht.svg) no-repeat center / contain;
  transition: none; 
  animation: none; 
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .blog-main-contents .wp-block-button a:hover{ background-color: var(--theme-hovercolor); opacity: 1;}
  .blog-main-contents .wp-block-button .wp-block-button__link:hover::after{ animation: arrowSlide 0.3s ease-in-out forwards; }
}
.blog-main-contents .wp-block-separator{
  border-top: 1px solid #CECECE !important;
  margin: 4.0rem 0;
}
.wp-block-image .aligncenter>figcaption{
  line-height: 1.4em;
}
.wp-caption,
.wp-caption-text,
figcaption {
  display: block;
  font-size: 14px;
  color: #666;
  text-align: left;
  margin-top: 6px;
}
.wp-caption-text {
  display: block !important;
}
.wp-block-media-text .wp-block-media-text__content p{
  margin-bottom: 1.0rem !important;
}
.wp-block-media-text .wp-block-media-text__content p:last-child{
  margin-bottom: 0rem !important;
}
.wp-block-media-text .wp-block-media-text__content .has-medium-font-size{
  line-height: 1.5em;
}
.wp-block-media-text>.wp-block-media-text__content{
  padding: 0 0 0 6% !important;
}
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content{
  padding: 0 6% 0 0 !important;
}

@media  only screen and (max-width: 767px){
  .blog-main-contents h2,
  .blog-main-contents h3{
    margin-top: var(--mg-100);
  }
  .blog-main-contents h4,
  .blog-main-contents h5,
  .blog-main-contents .wp-block-image,
  .blog-main-contents .wp-block-table,
  .blog-main-contents .wp-block-button,
  .blog-main-contents .wp-block-media-text,
  .blog-main-contents .wp-block-gallery{
    margin-top: var(--mg-60);
  }
  .blog-main-contents h3::before{
    width: 13.333vw;
  }
  .blog-main-contents h3::after{
    left: 16vw;
    width: calc( 100% - 16vw );
  }
  .blog-main-contents h4{
    padding: 2.133vw 3.2vw;
  }
  .blog-main-contents p{
    margin-top: var(--mg-30);
  }
  .blog-main-thumbnail{
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;  
    border-radius: unset;
  }
  .blog-main-thumbnail img{
    border-radius: unset;
  }
  .blog-main-contents .gallery2 .wp-block-image{
    width: 100%;
  }
  .blog-main-contents .gallery3 .wp-block-image{
    width: 48%;
    max-width: 48%;
  }
  .blog-main-contents .wp-block-list li {
    padding-left: 3.733vw;
  }
  .blog-main-contents .wp-block-list li:before {
    width: 1.6vw;
    height: 1.6vw;
    border-radius: 0.533vw;
    top: 2.667vw;
  }
  .blog-main-contents .wp-block-table table ,
  .blog-main-contents .wp-block-table table td{
    padding: 3.2vw 2.667vw;
  }
  .blog-main-contents .wp-block-table table td:first-child{
    width: 100%;
    background: var(--bg-gray-color);
  }
  .blog-main-contents .wp-block-table table tr:first-child td:first-child{
    border-top: none;
  }
  .blog-main-contents .wp-block-table table td{
    width: 100%;
    display: block;
    border-bottom: unset;
  }
  .blog-main-contents .wp-block-button a{
    padding: 2.133vw 13.333vw;
    font-size: var(--fs-16);
  }
  .blog-main-contents .wp-block-separator{
    margin: 3.0rem 0;
  }
  .wp-block-media-text .wp-block-media-text__content .has-medium-font-size{
    font-size: 120% !important;
  }
  .wp-block-media-text{
    grid-template-columns: 100% !important;
  }
  .wp-block-media-text>.wp-block-media-text__content{
    padding: 5.333vw 0 0 0 !important;
    grid-column: unset !important;
    grid-row: unset !important;
  }
  .wp-block-media-text.has-media-on-the-right>.wp-block-media-text__media{
    grid-column: unset !important; 
  }
  .wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content{
    padding: 5.333vw 0 0 0 !important;
  }
  .wp-block-media-text[style*="grid-template-columns"],
  .wp-block-media-text.is-stacked-on-mobile[style*="grid-template-columns"]{
    grid-template-columns: 30% auto !important;
  }
  .wp-block-media-text[style*="grid-template-columns"] .wp-block-media-text__content{
    padding-top: 0 !important;
    padding-left: 5% !important;
  }
  .wp-block-media-text[style*="grid-template-columns"] .wp-block-media-text__content p{
    line-height: 1.7em;
  }
  .wp-block-columns .wp-block-column[style*="66.66"] {
      order: 2 !important;
  }
  .wp-block-columns .wp-block-column[style*="33.33"] figure {
      order: 1 !important;
  }
  .blog-main-contents .wp-block-media-text .wp-block-button a{
    padding: 2.133vw 16vw;
  }
  .blog-main-contents .wp-block-button .wp-block-button__link:after {
    right: var(--mg-30);
    width: 3.2vw;
    height: 2.667vw;
  }
}

/*  blog-side
--------------------------------------------- */
.blog-side .cat-link-list{
  border-top: 0.1rem solid var(--border-gray);
  padding-top: var(--mg-15);
}
.blog-side .cat-link-list li a{
  display: block;
  position: relative;
  padding-left: var(--mg-20);
  font-size: var(--fs-15);
  font-weight: var(--fw-500);
}
.cat-link-list li a::before{
  background: var(--lightgray-color);
  border-radius: 0.1rem;
  content: "";
  display: inline-block;
  height: 0.4rem;
  width: 1.2rem;
  position: absolute;
  top: 50%;
  left: 0;
    transform:  translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  transition: 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  .cat-link-list li a:hover{
    color: var(--gray-color);
  }
  .cat-link-list li a:hover::before{
    background: var(--gray-color);
    transition: 0.3s ease-in-out;
  }
}

.side-block:not(:first-child){
  margin-top: var(--mg-60);
}
.side-block .article-list .list-item{
  border-bottom: 0.1rem solid var(--border-gray);
}
.side-block .article-list .list-item:first-child{
  border-top: 0.1rem solid var(--border-gray);
}
.side-block .article-list .list-item a{
  display: flex;
  flex-direction: unset;
  align-items: center;
  gap: 2.0rem;
  padding: 2.0rem 0;
}
.side-block .article-list .list-item .article-img{
  aspect-ratio: 4 / 4;
  border-radius: 0.3rem;
  width: 9.0rem;
}
.side-block .article-list .list-item .article-img img{
  aspect-ratio: 4 / 4;
  object-fit: cover;
}
.side-block .article-list .list-item .article-block{
  width: calc( 100% - 10.5rem);
  padding: unset;
  border-bottom: unset;
}
.side-block .article-list .list-item .article-block::before,
.side-block .article-list .list-item .article-block::after{
  display: none;
}
.side-block .article-list .list-item .article-block .list-ttl{
  line-height: 1.6em;
  font-size: var(--fs-14);
  font-weight: var(--fw-500);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.side-block .article-list .list-item .article-block .list-time{
  font-size: var(--fs-12);
  margin-top: 0.5rem;
}

.side-block .book-item a{
  display: block;
  background: var(--bg-gray2-color);
  padding: 2.0rem 2.0rem 3.0rem;
}
.side-block .book-item .book-img{
  cursor: pointer;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  border-radius: var(--border-radius);
}
.side-block .book-item .book-img img{
  height: auto;
  transition: transform .3s ease;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .side-block .book-item a:hover .book-img img{
    transform: scale(1.05);
  }
}
.side-block .book-item .book-block{
  padding-top: var(--mg-20);
  text-align: center;
}
.side-block .book-item img{
  border-radius: var(--border-radius);
}
.side-block .book-item .list-ttl{
  line-height: 1.5em;
  font-weight: var(--fw-500);
  color: var(--main-color);
}
.side-block .book-item .list-ttl span{
  font-size: var(--fs-16);
  display: block;
}
.side-block .book-item .subtxt{
  font-size: var(--fs-13);
  padding-top: var(--mg-5);
}
.side-block .inner-button.min{
  position: relative;
  border: 0.1rem solid var(--main-color);
  border-radius: var(--border-circle);
  display: inline-block; 
  font-size: var(--fs-13);
  font-weight: var(--fw-500);
  text-align: center;
  padding: 0.6rem 4.0rem;
  margin: var(--mg-15) auto 0;
  transition: 0.3s ease-in-out;
}
.side-block .inner-button .link-external:after{
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: var(--mg-20);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 12px;
  height: 10px;
  background: url(../../assets_/img/common/icon_externallink.svg) no-repeat center / contain;
  transition: none; 
  animation: none; 
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .side-block .book-item a:hover .inner-button.min{
    background: var(--main-color);
    color: var(--white-color);
  }
  .side-block .book-item a:hover .inner-button .link-external:after{
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(148deg) brightness(102%) contrast(101%);
  }
}

@media  only screen and (max-width: 1099px){
  .blog-side{
    max-width: 88.0rem;
    margin-inline: auto;
  }
  .side-block .book-item a{
    display: flex;
    align-items: center;
    gap: 3.0rem;
    padding: 2.0rem;
    max-width: 60.0rem;
    margin-inline: auto;
  }
  .side-block .book-item .book-img{
    width: 16.0rem;
  }
  .side-block .book-item .book-block{
    width: calc( 100% - 19.0rem);
    text-align: left;
    padding-top: 0;
  }
  .side-block .book-item .list-ttl{
    display: flex;
    flex-wrap: wrap;
    gap: 1.0rem;
    font-weight: var(--fw-500);
  }
  .side-block .book-item .book-block .sp_left-button{
    text-align: left;
  }
  .side-block .inner-button.min{
    padding: 0.4rem 5.0rem;
    margin-top: var(--mg-10);
  }
}
@media  only screen and (max-width: 767px){
  .blog-side .cat-link-list li a{
    padding-left: var(--mg-25);
    font-size: var(--fs-13);
  }
  .cat-link-list li a::before{
    border-radius: 0.267vw;
    width: 2.133vw;
    height: 0.533vw;
  }
  .side-block .article-list .list-item a{
    gap: 5.333vw;
    padding: 4.267vw 0;
  }
  .side-block .article-list .list-item .article-img{
    border-radius: 0.8vw;
    width: 24vw;
  }
  .side-block .article-list .list-item .article-block{
    width: calc( 100% - 29.333vw);
  }
  .side-block .article-list .list-item .article-block .list-ttl{
    font-size: var(--fs-15);
  }
  .side-block .article-list .list-item .article-block .list-time{
    margin-top: 1.333vw;
  }
  .side-block .book-item a{
    padding: 5.333vw;
    align-items: flex-start;
    gap: 5.333vw;
    max-width: 100%;
  }
  .side-block .book-item .book-img{
    width: 24vw;
    height: 24vw;
  }
  .side-block .book-item .book-img img{
    height: 24vw;
    object-fit: cover;
  }
  .side-block .book-item .book-block{
    width: calc( 100% - 29.333vw);
    padding-top: 0;
  }
  .side-block .book-item .list-ttl{
    font-size: var(--fs-15);
    gap: 0;
  }
  .side-block .inner-button.min{
    padding: 1.067vw 10.667vw;
    margin-top: var(--mg-15);
  }
  .side-block .inner-button .link-external:after{
    right: var(--mg-30);
    width: 2.667vw;
    height: 2.667vw;
  }
}


/*  blog writer
--------------------------------------------- */
.writer-container{
  background: var(--bg-gray2-color);
  display: flex;
  gap: 3.0rem;
  padding: 2.0rem 2.5rem;
}
.writer-container .writer-img{
  width: 16.0rem;
}
.writer-container .writer-img img{
  border-radius: var(--border-radius);
}
.writer-container .writer-txt{
  width: calc( 100% - 19.0rem );
  padding-top: 1.0rem;
}
.writer-container .writer-name{
  font-size: var(--fs-18);
  font-weight: var(--fw-500); 
  line-height: 1.8em;
}
.writer-container .writer-position{
  line-height: 1.8em;
  font-size: var(--fs-15);
}
.writer-container p{
  margin-top: var(--mg-15);
  line-height: 1.8em;
  font-size: var(--fs-14);
}

@media  only screen and (max-width: 1099px){
  .writer{
    max-width: 88.0rem;
    margin-inline: auto;
  }
}
@media  only screen and (max-width: 767px){
  .writer-container{
    gap: 5.333vw;
    padding: 5.333vw;
  }
  .writer-container .writer-img{
    width: 24vw;
  }
  .writer-container .writer-txt{
    width: calc( 100% - 29.333vw );
    padding-top: 0;
  }
}


/*  blog keyword
--------------------------------------------- */
.keyword-list{
  display: flex;
  gap: 2.0rem;  
}
.keyword-list li a{
  font-size: var(--fs-14);
  font-weight: var(--fw-500);
}
.keyword-list li a::before{
  content: "#";
}
@media (hover: hover) and (pointer: fine) {
  .keyword-list li a:hover{
    color: var(--theme-hovercolor);
  }
}

@media  only screen and (max-width: 1099px){
  .keyword{
    max-width: 88.0rem;
    margin-inline: auto;
  }
}
@media  only screen and (max-width: 767px){
  .keyword-list{
    gap: 4.8vw;  
  }
}


/*  single-share
--------------------------------------------- */
.blog-content .share{
  border-top: 0.1rem solid var(--border-gray);
  margin-top: 12.0rem;
  padding-top: 4.0rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.blog-content .sns-share{
  display: flex;
  align-items: center;
  gap: 4.0rem;
}
.blog-content .share .sns-share ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}
.blog-content .share .sns-share li a{
  display: flex;
  align-items: center;
  background: var(--bg-gray2-color);
  border-radius: var(--border-circle);
  padding: 1.5rem;
}
.blog-content .share .sns-share li a img{
  width: 2.0rem;
  height: 2.0rem;
  margin: auto;
}
@media (hover: hover) and (pointer: fine) {
  .blog-content .share .sns-share li a:hover{
    background: var(--bg-main-color);
  }
  .blog-content .share .sns-share li a:hover img{
    filter: brightness(0) saturate(100%) invert(100%) sepia(22%) saturate(0%) hue-rotate(144deg) brightness(101%) contrast(104%);
  }
}
@media  only screen and (max-width: 1099px){
  .blog-content .share{
    width: 100%;
  }
}
@media  only screen and (max-width: 767px){
  .blog-content .share{
    margin-top: 8vw;
    padding-top: 4vw;
    flex-wrap: wrap;
  }
  .blog-content .sns-share{
    gap: 8vw;
    width: 100%;
    justify-content: center;
  }
  .blog-content .share .sns-share ul{
    gap: 3.2vw;
  }
  .blog-content .share .sns-share li a{
    padding: 2.667vw;
  }
  .blog-content .share .sns-share li a img{
    width: 3.2vw;
    height: 3.2vw;
  }
  .blog-content .share .button-round{
    margin-top: var(--mg-60);
  } 
}

/*  single-related
--------------------------------------------- */
.single-related{
  background: var(--bg-main-color);
  color: var(--white-color);
  overflow-x: hidden;
}
.single-related .article-list .list-item .article-block{
  border-bottom: 0.1rem solid var(--border-darkgray);
}
.single-related .article-list .list-item .article-block .list-ttl{
  color: var(--white-color);
}
.single-related .main-ttl .en{
  font-size: var(--fs-64);
  font-weight: var(--fw-700);
  line-height: 1.4em;
}
.single-related .main-ttl .jp{
  font-size: var(--fs-20);
}
.core-slider {
  overflow: visible;
}
.core-slider-slide,
.core-slider .swiper-slide{
  width: 25%;
}
.core-slider-prev,
.core-slider-next{
  color: #fff;
}
.core-slider .swiper-slide.list-item {
  display: flex;
  flex-direction: column;
  height: auto;
}
@media  only screen and (max-width: 1099px){
  .core-slider-slide,
  .core-slider .swiper-slide{
    width: 35%;
  }
  .single-related .main-ttl .en{
    font-size: var(--fs-56);
  }
}
@media  only screen and (max-width: 767px){
  .core-slider-slide,
  .core-slider .swiper-slide{
    width: 50%;
  }
}
.single-related .article-wrapper{
  position: relative;
}
/* 矢印の外側コンテナ */
.single-related .core-slider-nav {
  position: absolute;
  top: -8.0rem;
  right: 0;
  display: flex;
  gap: var(--mg-10);
  z-index: 2;
  width: auto;
  justify-content: flex-end; 
}
/* 矢印のデザイン */
.single-related .core-slider-prev,
.single-related .core-slider-next {
  width: 6.0rem;
  height: 6.0rem;
  border: 0.1rem solid var(--white-color);
  border-radius: 50%;
  color: var(--white-color);
  left: unset !important;
  right: 0;
}
.single-related .core-slider-prev{
  right: 7.0rem;
}
.single-related .swiper-button-next svg,
.single-related .swiper-button-prev svg{
  height: 1.6rem !important;
}
@media  only screen and (max-width: 1099px){
  .single-related .core-slider-nav {
    top: -7.0rem;
  }
  .single-related .core-slider-prev,
  .single-related .core-slider-next {
    width: 5.0rem;
    height: 5.0rem;
  }
  .single-related .core-slider-prev{
    right: 6.0rem;
  }
}
@media  only screen and (max-width: 767px){
  .single-related .core-slider-nav {
    top: -10.4vw;;
  }
  .single-related .core-slider-prev,
  .single-related .core-slider-next {
    width: 8vw;
    height: 8vw;
  }
  .single-related .core-slider-prev{
    right: 9.333vw;
  } 
  .single-related .swiper-button-next svg,
  .single-related .swiper-button-prev svg{
    height: 2.133vw !important;
  }
}



/*  single cat color
--------------------------------------------- */
body{
    --theme-color: #2D2E33;
    --theme-bgcolor: rgba(45, 46, 51, 0.1);
    --theme-hovercolor: color-mix(in srgb, var(--theme-color) 80%, black);
    --theme-filter: brightness(0) saturate(100%) invert(15%) sepia(6%) saturate(729%) hue-rotate(192deg) brightness(97%) contrast(91%);
}
.cat-other,body[class*="cat-other"]{
    --theme-color: #86858A;
    --theme-bgcolor: rgba(134, 133, 138, 0.1);
    --theme-filter: brightness(0) saturate(100%) invert(56%) sepia(8%) saturate(74%) hue-rotate(211deg) brightness(92%) contrast(96%);
}