@charset "utf-8";

/* INDEX  -------------------

01. Containar
02. MV
03. Lead&Profile
04. Index
05. ContentsArea
06. ProfileCard
07. Gallery
08. IncludeLink




/* 01. Containar
----------------------------------------------------------------------------------*/
.Containar {
	max-width: 1500px;
	margin: 81px auto 0;
	padding: 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.Containar img {
    display: block;
    width: 100%;
	height: auto;
}
.Containar p {
	text-align: justify;
	font-feature-settings: "palt";
}

/* w1023 */
@media (max-width: 1023px) {
.Containar {
	margin: 112px auto 0;
}
}


/* 02. MV
----------------------------------------------------------------------------------*/
/* 02. MV
----------------------------------------------------------------------------------*/
#MainVisual {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	margin: 0;
	padding: 50px 64px 100px 32px;
}
.mv__left {
	width: 360px;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}

@media (min-width: 1260px) {
.mv__left {
	width: 420px;
	flex-shrink: 0;
	position: relative;
}
}
.mv__left .mv__heading {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	color: #961414;
	font-size: 1.25rem;
	line-height: 1;
	margin: 0 0 15px;
	padding: 0;
}
.mv__left .mv__heading span {
	font-size: 0.8125rem;
	padding-left: 1em;
}
.mv__left .mv__lead {
	font-family: "Zen Old Mincho", serif;
	font-size: 0.875rem;
}
.mv__left .mv__titleArea {
	margin-top: 250px;
	margin-left: 32px;
}
@media (min-width: 768px) and (max-width: 950px) {
.mv__left .mv__titleArea {
	margin-top: 100px;
}
}
@media (min-width: 951px) and (max-width: 1100px) {
.mv__left .mv__titleArea {
	margin-top: 180px;
}
}
@media (min-width: 1360px) {
.mv__left .mv__titleArea {
	margin-top: 350px;
}
}
.mv__left .mv__titleArea .mv__title {
	width: 450px;
	z-index: 5;
}
.mv__left .mv__titleArea .mv__title span {
    display: block;
    width: fit-content;
    padding: 0 .3em 0 0;
	line-height: 2;
	font-size: 1.625rem;
	text-align: justify;
	font-feature-settings: "palt";
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.04em;
	font-weight: 500;
}
@media (min-width: 768px) and (max-width: 980px) {
.mv__left .mv__titleArea .mv__title span {
	font-size: 1.25rem;
}
}
.mv__left .mv__titleArea .mv__place {
    margin-top: 48px;
	color: #961414;
	font-size: 0.9375rem;
	line-height: 1.5;
}
.mv__left .mv__titleArea .mv__place span {
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-size: 0.875rem;
	padding-right: 0.4em;
}
.mv__photo{
	margin-top: 30px;
	width: 78%;
	margin-left:-80px;
	z-index: 1;
}

/* w767 */
@media (max-width: 767px) {
#MainVisual {
	display: block;
	padding-left: 0;
	padding-right: 0;
}
.mv__left {
	width: 100%;
	text-align: center;
}
.mv__left .mv__lead {
	text-align: center;
}
.mv__left .mv__titleArea {
	margin: 70px auto 0;
}
.mv__left .mv__titleArea .mv__title {
	width: 100%;
}
.mv__left .mv__titleArea .mv__title span {
    display: block;
	margin: 0 auto;
    width: 90%;
    padding: 0;
	line-height: 1.6;
	font-size: 1.625rem;
	text-align: center;
}
.mv__left .mv__titleArea .mv__place {
	text-align: center;
}
.mv__photo{
	margin-top: 50px;
	width: 100%;
	margin-left: 0;
}
}

/* w430 */
@media (max-width: 430px) {
#MainVisual {
	padding-bottom: 50px;
}
.mv__left .mv__titleArea .mv__title span {
    display: block;
    width: 90%;
    padding: 0;
	line-height: 1.6;
	font-size: 1.3125rem;
}
.mv__left .mv__titleArea .mv__place {
	font-size: 0.875rem;
}
.mv__left .mv__titleArea .mv__place span {
	font-size: 0.8125rem;
}
}

/* ===== MV 表示アニメーション ===== */

/* テキスト：ふわっと表示 */
.js-mv-fade {
    opacity: 0;
    transform: translateY(14px);
    transition:
        opacity 900ms ease,
        transform 900ms cubic-bezier(.22,.61,.36,1);
}

.js-mv-fade.is-shown {
    opacity: 1;
    transform: translateY(0);
}


/* MV画像：ふわっと上がりながら表示 */
.js-mv-photo {
    opacity: 0;
    transform: translateY(14px);
    transition:
        opacity 1400ms ease,
        transform 1400ms cubic-bezier(.22,.61,.36,1);
}

.js-mv-photo.is-shown {
    opacity: 1;
    transform: translateY(0);
}

/* ===== MVタイトル：背景色が流れてから文字表示 ===== */

.js-mv-title span {
    position: relative;
    display: block;
    width: fit-content;
    overflow: hidden;
    background: transparent !important;
    color: transparent;
    isolation: isolate;
    transition: color 700ms ease;
}

/* 白い座布団 */
.js-mv-title span::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    z-index: -1;
    transform: translateX(-101%);
}

/* 表示開始：白い帯が左から流れる */
.js-mv-title.is-shown span::before {
    animation: mvTitleBgSweep 2600ms cubic-bezier(.19,1,.22,1) forwards;
}

/* 表示開始：文字 */
.js-mv-title.is-shown span {
    color: inherit;
}

/* 全行同時 */
.js-mv-title.is-shown span:nth-child(1)::before,
.js-mv-title.is-shown span:nth-child(2)::before,
.js-mv-title.is-shown span:nth-child(3)::before {
    animation-delay: 0ms;
}

.js-mv-title.is-shown span:nth-child(1),
.js-mv-title.is-shown span:nth-child(2),
.js-mv-title.is-shown span:nth-child(3) {
    transition-delay: 400ms;
}

@keyframes mvTitleBgSweep {
    from {
        transform: translateX(-101%);
    }
    to {
        transform: translateX(0);
    }
}

/* w430 */
@media (max-width: 430px) {
    .js-mv-title.is-shown span:nth-child(1),
    .js-mv-title.is-shown span:nth-child(2),
    .js-mv-title.is-shown span:nth-child(3) {
        transition-delay: 300ms;
    }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .js-mv-fade,
    .js-mv-photo {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .js-mv-title span {
        color: inherit !important;
        transition: none !important;
    }

    .js-mv-title span::before {
        transform: translateX(0) !important;
        animation: none !important;
    }
}



/* 03. Lead&Profile
----------------------------------------------------------------------------------*/
#intro {
	max-width: 1040px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 150px;
	padding: 0;
}
.intro__lead {
	width: 56%;
	display: block;
	margin: 0;
	padding: 0;
	font-size: 1rem;
	line-height: 2;
	letter-spacing: 0.04em;
}
.intro__profile {
	width: 32%;
	display: block;
	margin: 0;
	padding: 0;
	font-size: 0.8125rem;
	line-height: 1.4;
	color: #808080;
}
.intro__profile .name {
	color: #1e1e1e;
	margin-bottom: 20px;
}
.intro__profile .name span {
	font-size: 0.9375rem;
	padding-left: 1em;
}
.intro__profile .profile {
	line-height: 1.6;
}
@media (max-width: 1100px) {
#intro {
	max-width: 90%;
	padding: 0 64px;
}
}
.line {
	margin: 0;
	border: 0;
	border-top: 1px solid #ccc;
	width: 100%;
}

/* w767 */
@media (max-width: 767px) {
#intro {
	max-width: 100%;
	padding: 0 24px;
	display: block;
}
.intro__lead {
	width: 100%;
	display: block;
	margin: 0;
	margin-bottom: 60px;
}
.intro__profile {
	width: 100%;
	display: block;
	
}
}

/* w430 */
@media (max-width: 767px) {
#intro {
	margin-bottom: 50px;
}
.intro__lead {
	font-size: 0.9375rem;
}
.intro__profile {
	font-size: 0.75rem;
}
.intro__profile .name {
	line-height: 2.2;
}
.intro__profile .name span {
	padding-left: 0;
	font-size: 0.875rem;
}
}




/* 04. Index
----------------------------------------------------------------------------------*/
#Index {
	position: relative;
	max-width: 1500px;
	margin: 0 auto;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s ease, visibility .3s ease;
}
#Index.is-show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

#Index .toc {
	position: fixed;
	left: max(32px, calc((100vw - 1500px) / 2));
	bottom: 48px;
	z-index: 10;
	width: 200px;
	padding: 0;
	box-sizing: border-box;
}
@media screen and (max-width: 1440px) {
#Index .toc {
	left: 32px;
}
}
#Index .toc ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
}
#Index .toc li + li {
	margin-top: 16px;
}
#Index .toc a {
	display: block;
	color: #9d9d9d;
	font-size: 12px;
	line-height: 1.8;
	text-decoration: none;
	transition: color .2s ease;
}
#Index .toc a:hover {
	color: #961414;
}
#Index .toc a.is-current {
	color: #961414;
}


/* w1023 */
@media screen and (max-width: 1023px) {
#Index .toc {
	display: none;
}
}


/* 05. ContentsArea
----------------------------------------------------------------------------------*/
#ContentsArea {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0;
	position: relative;
}
#ContentsArea a {
	color: #B4966E;
	text-decoration: underline;
	overflow-wrap: anywhere;
	word-break: break-word;
}
#ContentsArea a:hover {
	color: #B4966E;
	text-decoration: none;
}
#ContentsArea .map {
	position: absolute;
	left: 48px;
	top: 200px;
	width: 260px;
}
#ContentsArea .map_sp {
	display: none;
}
@media screen and (max-width: 1100px) {
#ContentsArea .map {
	left: 0;
}
}
#ContentsArea .map figure {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 1024px) {
#ContentsArea .map figure {
	width: 80%;
}
}
#ContentsArea .section {
    padding: 100px 32px 0;
	width: 730px;
	max-width: 730px;
	margin-left: auto;
	margin-right: 80px;
}
#ContentsArea .section h2 {
	font-family: "Zen Old Mincho", serif;
	color: #961414;
	font-weight: 500;
	font-size: 1.625rem;
	line-height: 1.6;
	margin: 0 0 60px;
	padding: 0;
}
#ContentsArea .content {
	margin-left: 48px;
}
#ContentsArea .content p {
	line-height: 1.8;
	margin: 0 0 50px 0;
	font-size: 0.9375rem;
}
#ContentsArea .content figure {
	display: block;
	margin: 0 0 50px 0;
	padding: 0;
}
#ContentsArea .content figure img {
	border-radius: 4px;
}
/* 縦位置写真 */
#ContentsArea .content figure.photo-portrait {
	width: 70%;
	margin: 0 auto 50px;
}

#ContentsArea .content figure.photo-portrait img {
	width: 100%;
	height: auto;
}

#ContentsArea .content .interview {
	display: flex;
	margin: 0;
	padding: 0;
	width: 100%;
	justify-content: space-between;
}
#ContentsArea .content .interview .interviewee {
	color: #961414;
	font-size: 0.8125rem;
	width: 9%;
	line-height: 1.4;
	padding-top: 6px;
	padding-right: 2%;
}
#ContentsArea .content .interview .interview__body {
	width: 89%;
}
.full__bleed {
	position: relative;
	z-index: 20;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
	margin-top: 100px;
	overflow: hidden;
}
#ContentsArea figcaption {
	margin-top: 16px;
	font-size: 0.6875rem;
	line-height: 1.7;
	font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
	color: #808080;
}
#ContentsArea .note, #ContentsArea .note2 {
	margin-top: 8px !important;
	font-size: 0.6875rem !important;
	line-height: 1.7 !important;
	font-family: "Inter", "Zen Kaku Gothic New", sans-serif !important;
	font-weight: 500;
	font-style: normal;
	color: #808080 !important;
	padding-left: 1.5em !important;
	text-indent: -1.5em !important;
	margin: 0 0 20px;
}
#ContentsArea .note2 {
	padding-left: 0 !important;
	text-indent: 0 !important;
}

/* 囲み記事 */
#ContentsArea .section_column {
    padding: 56px 48px 48px;
	width: 682px;
	max-width: 682px;
	margin-left: auto;
	margin-right: 112px;
	margin-top: 80px;
	background: #f9f9f9;
}
#ContentsArea .section_column h2 {
	font-family: "Zen Old Mincho", serif;
	color: #961414;
	font-weight: 500;
	font-size: 1.625rem;
	line-height: 1.6;
	margin: 0 0 56px;
	text-align: center;
	padding: 0;
}
#ContentsArea .content_column {
	margin-left: 0 !important;
}
#ContentsArea .Published {
    padding: 50px 32px 0 15px;
	width: 730px;
	max-width: 730px;
	margin-left: auto;
	margin-right: 80px;
}
#ContentsArea .Published p {
	font-size: 0.8125rem;
}
.relation_link {
	display: block;
	line-height: 1.5;
	font-size: 0.875rem;
	margin-top: 20px;
}
.relation_link a {
	color: #b4874b;
	text-decoration: underline;
	display: flex;
	align-items: flex-start;
}
.relation_link a::before {
	content: "";
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin-right: 5px;
	margin-top: 3px;
	background: url("/common/images/icon_link.svg") no-repeat center / contain;
}
.relation_link a:hover {
	text-decoration: none;
}
.relation_link_foot {
	position: relative;
	display: block;
	padding-left: 19px;
	line-height: 1.5;
	font-size: 0.875rem;
	margin-bottom: 15px;
}

/* リンクアイコン */
.relation_link_foot::before {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	width: 14px;
	height: 14px;
	background: url("/common/images/icon_link.svg") no-repeat center / contain;
}

/* リンク本文 */
.relation_link_foot a {
	color: #b4874b;
	text-decoration: underline;
}

/* 締めカギ括弧をリンク内に生成 */
.relation_link_foot a::after {
	content: "」";
}

/* hover時は締めカギ括弧も含めて下線を消す */
.relation_link_foot a:hover {
	text-decoration: none;
}

/* 「へ続く」はリンク外 */
.relation_link_foot .continue {
	margin-left: 0.3em;
	color: #000;
}



/* 1023 */
@media screen and (max-width: 1023px) {
#ContentsArea {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
#ContentsArea .map {
	display: none;
}
#ContentsArea .map_sp {
	margin-bottom: 80px;
	margin-left: auto;
	width: 60%;
	display: block;
	text-align: right;
}
#ContentsArea .section, #ContentsArea .section_column {
    padding: 150px 32px 0;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}
#ContentsArea .section_column {
    padding: 56px 32px 56px;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}
#ContentsArea .Published {
    padding: 50px 32px;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}
#ContentsArea .callout {
	background: #f9f9f9 !important;
	padding: 32px;
	width: 100%;
	max-width: 100%;
}
#ContentsArea .callout .content{
	margin-left: 0;
}
#ContentsArea .content {
	margin-left: 0;
}
#ContentsArea .content .interview .interviewee {
	width: 8%;
}
#ContentsArea .content .interview .interview__body {
	width: 90%;
}
}

/* w767 */
@media screen and (max-width: 767px) {
#ContentsArea .section, #ContentsArea .Published {
    padding: 50px 24px 0;
}
#ContentsArea .Published p {
	font-size: 0.75rem;
	padding-left: 15px;
}
.full__bleed {
	margin-top: 80px;
	padding-bottom: 40px;
}
/* 囲み記事 */
#ContentsArea .section_column {
    padding: 48px 24px;
}
#ContentsArea .section_column h2 {
	margin: 0 0 48px;
}
	#ContentsArea .content figure.photo-portrait {
		width: 72%;
		margin-left: auto;
		margin-right: auto;
	}
}

/* w430 */
@media screen and (max-width: 430px) {
#ContentsArea .map_sp {
	width: 100%;
}
#ContentsArea .section h2, #ContentsArea .section_column h2 {
	font-size: 1.3125rem;
}
#ContentsArea .content .interview {
	display: block;
}
#ContentsArea .content .interview .interviewee {
	width: 100%;
	margin-bottom: 15px;
}
#ContentsArea .content .interview .interview__body {
	width: 100%;
}
#ContentsArea .Published p {
	padding-left: 12px;
}
}


/* 表組 */
#ContentsArea .content .article-table-wrap {
  width: 100%;
  margin: 0 0 50px;
  padding: 0;
}

#ContentsArea .content .article-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 0.875rem;
  line-height: 1.6;
}

#ContentsArea .content .article-table caption {
  margin: 0 0 10px;
  padding: 0;
  caption-side: top;
  text-align: left;
  font-size: 0.9375rem;
  line-height: 1.8;
  font-weight: 500;
}

#ContentsArea .content .article-table th,
#ContentsArea .content .article-table td {
  border: 1px solid #dadada;
  padding: 8px 12px;
  text-align: left;
  vertical-align: middle;
  font-weight: 500;
}

#ContentsArea .content .article-table th {
  background: #f3f3f3;
}

#ContentsArea .content .article-table-note {
  margin: 12px 0 0 !important;
  padding: 0;
  font-size: 0.75rem !important;
  line-height: 1.6 !important;
}

/* w767 */
@media screen and (max-width: 767px) {
  #ContentsArea .content .article-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #ContentsArea .content .article-table {
    width: 100%;
	min-width: 430px; /* 必要になったときだけスクロール */  
  }
  #ContentsArea .content .article-table th,
  #ContentsArea .content .article-table td {
    white-space: nowrap;
  }
  #ContentsArea .content .article-table-note {
    min-width: 430px;
  }
}





/* 06. ProfileCard
----------------------------------------------------------------------------------*/
#ContentsArea .shop__info {
	display: flex;
	border-top: 1px solid #dadada;
	border-bottom: 1px solid #dadada;
	width: 682px;
	max-width: 730px;
	margin-left: auto;
	margin-right: 112px;
	padding: 40px 0;
}
#ContentsArea .shop__info .info__left {
	width: 200px;
	margin: 0;
	padding: 0;
}
#ContentsArea .shop__info .info__left figure {
	width: 200px;
	margin: 0;
}
#ContentsArea .shop__info .info__left figure img {
	border-radius: 4px;
}
#ContentsArea .shop__info .info__right {
	flex: 1;
	width: 100%;
	margin: 0 0 0 55px;
	padding: 0;
}
#ContentsArea .shop__info .info__right .shop__name {
	font-size: 0.9375rem;
	margin: 0 0 50px;
	padding: 0;
	line-height: 1.6;
}
#ContentsArea .shop__info .info__right dl {
	display: flex;
	flex-wrap: wrap;
	font-size: 0.8125rem;
	margin: 0;
	padding: 0;
}
#ContentsArea .shop__info .info__right dl dt {
	width: 16%;
	margin: 0 0 15px 0;
	padding-right: 20px;
	color: #7f7f7f;
	white-space: nowrap;
}
#ContentsArea .shop__info .info__right dl dd {
	width: 82%;
	margin: 0 0 15px;
	padding: 0;
	line-height: 1.5;
}
#ContentsArea #staff__credit {
	display: block;
	width: 682px;
	max-width: 730px;
	margin-left: auto;
	margin-right: 112px;
	margin-bottom: 150px;
	padding: 40px 0 0;
	font-size: 0.9375rem;
}
#ContentsArea #staff__credit span {
	display: block;
	line-height: 1.6;
}

/* w1023 */
@media screen and (max-width: 1023px) {
#ContentsArea .shop__info {
	width: 100%;
	max-width: 100%;
	margin-left: 32px;
	margin-right: 32px;
}
#ContentsArea .shop__info .info__left {
	width: 400px;
}
#ContentsArea .shop__info .info__left figure {
	width: 400px;
}
#ContentsArea #staff__credit {
	width: 100%;
	max-width: 100%;
	margin-left: 24px;
	margin-right: 24px;
}
}

/* w767 */
@media screen and (max-width: 767px) {
#ContentsArea .callout h2 {
	padding-left: 0;
}
#ContentsArea .shop__info .info__left {
	width: 200px;
}
#ContentsArea .shop__info .info__left figure {
	width: 200px;
}
}

/* w430 */
@media screen and (max-width: 430px) {
#ContentsArea .shop__info {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    margin: 0 24px;
    padding: 24px 0;
}
#ContentsArea .shop__info .info__left {
    width: 130px;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
}
#ContentsArea .shop__info .info__left figure {
    width: 130px;
    margin: 0;
}
#ContentsArea .shop__info .info__right {
    width: calc(100% - 158px); /* 130px + 28px */
    margin: 28px 0 0 28px;
    padding: 0;
}
#ContentsArea .shop__info .info__right .shop__name {
    margin: 0;
}
#ContentsArea .shop__info .info__right dl {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 158px);
    margin: 64px 0 0 calc(-130px - 28px);
    padding: 0;
}
#ContentsArea .shop__info .info__right dl dt {
    width: 64px;
    margin: 0 0 12px;
    padding: 0;
}
#ContentsArea .shop__info .info__right dl dd {
    width: calc(100% - 80px);
    margin: 0 0 12px;
    padding: 0;
    line-height: 1.6;
}
#ContentsArea #staff__credit {
	margin-bottom: 80px;
}
}





/* 07. Gallery
----------------------------------------------------------------------------------*/
.photo-gallery {
    padding: 0 80px 150px;
    overflow: hidden;
}
.photo-gallery__inner {
    position: relative;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px 0 40px;
}
@media screen and (max-width: 1023px) {
.photo-gallery {
    padding: 0 0 150px 32px;
}
.photo-gallery__inner {
    padding: 0 32px 0 32px;
}
}

.photo-gallery__label {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    color: #a40000;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1;
    writing-mode: vertical-rl;
    font-family: "Inter", sans-serif;
	font-weight: normal;	
}
.photo-gallery__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 90px;
    gap: 34px;
    max-width: 1270px;
    margin: 0 auto;
}
.photo-gallery__main-wrap {
    position: relative;
}
.gallery-main {
    border-radius: 4px;
    overflow: hidden;
}
.gallery-main .splide__slide {
    aspect-ratio: 1200 / 800;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.gallery-main .splide__slide img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    border-radius: 4px;
    object-fit: unset;
}
.gallery-main .splide__arrows {
    display: none;
}
.photo-gallery__arrow {
	width: 11px;
	height: 20px;
	padding: 0;
	border: 0;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
}
.photo-gallery__arrow::before,
.photo-gallery__arrow::after {
	content: none;
}
.photo-gallery__arrow--prev {
	left: -24px;
	background-image: url("../images/arrow-prev.svg");
}
.photo-gallery__arrow--next {
	right: -22px;
	background-image: url("../images/arrow-next.svg");
}
.gallery-thumbs {
    height: auto;
}
.gallery-thumbs .splide__track {
    height: 100%;
}
.gallery-thumbs .splide__slide {
    border: 0 !important;
    opacity: 1;
    cursor: pointer;
}
.gallery-thumbs .splide__slide img {
    display: block;
    width: 90px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
}
.gallery-thumbs .splide__slide.is-active img {
    opacity: 0.35;
}
.gallery-thumbs .splide__arrows,
.gallery-thumbs .splide__pagination {
    display: none;
}

/* w767 */
@media screen and (max-width: 767px) {
.photo-gallery {
    padding: 0 0 100px;
}
.photo-gallery__inner {
    padding: 0;
}
.photo-gallery__label {
    position: static;
    margin-bottom: 28px;
    text-align: center !important;
    font-size: 0.75rem;
    writing-mode: horizontal-tb;
}
.photo-gallery__layout {
    display: block;
    max-width: none;
}
.photo-gallery__main-wrap {
    padding: 0 36px;
}
.gallery-main {
    width: 100%;
}
.gallery-main .splide__slide {
    aspect-ratio: 668 / 452;
}

.gallery-main .splide__slide img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    border-radius: 4px;
}
.photo-gallery__arrow--prev {
    left: 12px;
}
.photo-gallery__arrow--next {
    right: 12px;
}
.gallery-thumbs {
    height: auto;
    margin-top: 32px;
    padding-left: 0;
}
.gallery-thumbs .splide__slide {
    width: clamp(90px, 24vw, 132px) !important;
    height: clamp(60px, 16vw, 88px) !important;
}
.gallery-thumbs .splide__slide img {
    width: 100%;
    height: 100%;
}
}




/* 08. IncludeLink
----------------------------------------------------------------------------------*/
.related {
	max-width: 1500px;
	margin: 0 auto 25px;
	padding: 0 32px;
	color: #a40000;
	font-family: "Inter", sans-serif;
	font-weight: 500;
	font-size: 1.25rem;
}
.articles {
	max-width: 1500px;
	margin: 0 auto 150px;
	padding: 0 32px;
	list-style: none;
	border-top: none;
}
.articles li:first-child {
	border-top: 1px solid #dadada;
}
.articles li:last-child {
	border-bottom: none;
}
.articles a {
	text-decoration: none;
	color: #1e1e1e;
}
.article__body {
	padding: 48px 40px 32px 56px;
}
.article__title {
	font-weight: 500;
	font-style: normal;
	margin: 0;
}
.article__date {
	margin: 0;
}
.speaker__name, .speaker__org, .speaker__addr {
	margin-top: 0;
}
.speaker__org, .speaker__addr {
	margin-bottom: 0;
}




