@charset "UTF-8";

/*-------------------------
 RESET
-------------------------*/
* {
  margin: 0;
}
article .entry-content {
  padding-bottom: 0;
  border-bottom: 0;
}
[role="contentinfo"] {
  margin-top: 0;
}
*, *:before, *:after {
  box-sizing: initial;
}
.content {
  padding: 0;
  max-width: 1440px;
}
a {
  font-size: 1rem;
}

.entry-content .ui-static-text a {
  color: #2C2A29;
  text-decoration: underline;
  word-break: break-word;
}
.entry-content .ui-static-text a:hover {
  text-decoration: none;
  opacity: 0.7
}
.text-block.ui-static-text a,
.text-small-block.ui-static-text a,
.file-block.ui-static-text a,
.ui-static-item-card-description a {
  text-decoration: none !important;
  position: relative;
    transition: all .3s ease-out;
    color: #3064d5;
}
.text-block.ui-static-text a:hover,
.text-small-block.ui-static-text a:hover,
.file-block.ui-static-text a:hover,
.ui-static-item-card-description a:hover {
    text-decoration: underline !important;
  color: #140d77;
}
.content [role="main"] {
  width: 100%;
}
.content [role="main"], .content .related {
  margin: 0;
}

/*-------------------------
  共通
-------------------------*/

/*---- common　----*/


body{
  margin:0;
  padding:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}
*{
  box-sizing:border-box
}
.header {
  position: absolute;
  width: 100%;
}
.header.header--fixed{
	position:fixed;
	top:0;left:0;right:0;
	height:var(--header-height);
	display:flex;align-items:center;
	z-index:1000;
	background:transparent;
}
.header .header-content{
  /* width:100%;
  max-width:1200px;
  margin:0 auto; */
  /* padding:0 16px */
}
.om-top-mv{
	position:relative;
	width:100%;
	overflow:hidden;
}
.om-top-mv .mv-image-wrapper{
  width:100%;
  display:block
}
.om-top-mv picture,
.om-top-mv img{
	display:block;
	width:100%;
	height:auto;
	max-width:100%;
}
.om-mv-text {
	position: absolute;
  bottom: 65px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 78%;
  height: auto;
  transform: inherit;
  /* max-width: 404px; */
  /* max-height: 385px; */
  text-align: center;
  z-index: 0;
}
.om-mv-caption {
  font-family: 'Noto Serif JP', serif;
  font-weight:700;
  font-size: 18px;
}
.om-mv-description {
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 0.5vw;
  line-height: 1.6;
  font-size: 14px;
}
.om-mv-title {
  display: inline-block;
	font-family:Cinzel;
	font-size:48px;
	font-style:normal;
	padding:0;
  margin-top: 12px;
  margin-bottom: 0;
  position: relative;
}
.om-mv-title::first-letter {
	font-size: 64px;
}
.om-mv-title-rubi {
  font-size: 12px;
  position: absolute;
  left: 0;
  right: 0;
  top: -6px;
  letter-spacing: 0.64em;
}
@media (min-width: 767px) and (max-width: 1920px) {
  .om-top-mv {
    overflow: visible;
  }
  .om-mv-text {
    position: absolute;
    margin: 0;
      bottom: 4.85vw;
      left: 21.5vw;
      transform: translateX(-50%);
      z-index: 0;
      width: 16.8vw;
      height: 16vw;
      /* max-width: 404px; */
      /* max-height: 385px; */
      text-align: left;
  }
  .om-mv-caption {
    font-size: 1.17vw;
  }
  .om-mv-description {
    font-size: 0.84vw;
  }
  .om-mv-title {
    font-size: 3.51vw;
    margin-top: 1.3vw;
    margin-bottom: 0.1vw;
  }
  .om-mv-title::first-letter {
    font-size: 4.51vw;
  }
  .om-mv-title-rubi {
    font-size: 0.7vw;
    position: absolute;
    left: 0;
    top: -6px;
  }
}
@media (max-width:767px){
	/* :root{--header-height:56px}
	.header.header--fixed{height:var(--header-height);background:rgba(255,255,255,0.8)} */
}


.bg-gray {
  background-color: #F4F5F6;
}
/*
.content > div[role="main"] { 
	padding-top: var(--header-height); 
}*/

.story-article-list {
  margin-top: 120px;
}
.article-list-wrapper  {
  gap: 32px;
  align-items: stretch;
}
.article-list-content .mod-article {
  min-width: 0;
  border-radius: 11.738px 11.738px 0 0;
    overflow: hidden;
}
.mod-article-link {
  background-color: #ffffff;
    height: 100%;
    display: block;
    border-radius: 11.738px 11.738px 16px 2px;
    overflow: hidden;
}
.article-list-content .mod-article figure {
    display: flex;
    justify-content: center;
    align-items: center;
}
.article-list-content .mod-article-bottom {
  margin-top: 0;
  justify-content: space-between;
    width: 100%;
    align-items: baseline;
}
.mod-article-title {
  font-size: 17px;
  margin-top: 4px;
  margin-bottom: 12px;
}
.article-list-content .mod-article-desc {
  height: auto;
  gap: 0;
  position: relative;
  top: -16px;
  border-radius: 16px 16px 16px 2px;
  background: #FFF;
  padding: 26px 24px 16px;
}
.mod-article-tags {
  white-space: nowrap;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  /* overflow: hidden; */
  padding: 0;
  margin-top: auto;
  /* width: 99%;
  min-width: 99%; */
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  gap: 8px;
}
.mod-article-tags span {
  color: #697180;
  background-color: #F4F5F6;
  padding: 4px 8px;
  font-size: 0.875rem;
  display: block;
  /* margin-right: 10px; */
  flex-shrink: 0;
  white-space: normal;
  max-width: none;
  overflow: visible;
  text-overflow: clip;
  border-radius: 16px;
}
/* .mod-article-tags::after {
    content: "...";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: white;
    padding-left: 5px;
} */
.article-list-content .mod-article-date {
  font-size: 1rem;
      padding-left: 0;
      margin-left: 0;
}
.mod-article-cat {
  flex-grow: 0;
}
.cat-dot {
  padding: 0 0 0 16px;
}
.story-top-content {
  padding-bottom: 245px;
}

@media (max-width:767px) {
  .article-list-wrapper.ui-static-grid-col-4 {
    grid-template-columns: 1fr;
  }

  .article-list-content .mod-article-desc {
    padding: 16px 20px 20px;
    /* height: 180px; */
  }

  .story-top-content {
    padding: 0 20px 116px;
  }

  .article-list-content .mod-article figure {
    max-width: 100%;
  }

  .article-list-content .mod-article-date {
    font-size: 0.75rem;
  }

  .cat-dot {
    padding: 0 0 0 8px;
    font-size: 0.75rem;
  }

  .mod-article-title {
    font-size: 1rem;
  }
  .mod-article-tags span {
    font-size: 0.75rem;
  }
  .article-list-content .mod-article-bottom {
    justify-content: flex-start;
    gap: 8px;
  }
}