.publications_letter {
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			gap: 60px;
			margin-bottom: 120px;
		}

		.publications_letter p {
			width: calc((100% - 120px) / 3);
			font-size: var(--fz15);
		}

		.publications_letter p span {
			display: inline-block;
		}

		.publications_letter a {
			display: block;
			text-align: center;
			padding: var(--space20);
			border: 1px solid #808080;
		}

		.publications_letter a:hover {
			background: #333;
			color: #fff;
			opacity: 1;
		}

		@media screen and (max-width:1000px) {
			.publications_letter {
				gap: 30px;
			}

			.publications_letter p {
				width: calc((100% - 30px) / 2);
			}
		}

		@media screen and (max-width:480px) {
			.publications_letter {
				gap: 20px;
			}

			.publications_letter p {
				width: calc((100% - 20px) / 2);
			}
		}

h3.publications_subtitle {
			font-size: var(--fz24);
			font-weight: var(--fw500);
			margin-bottom: var(--space40);
			position: relative;
			padding-left: 40px;
		}

		h3.publications_subtitle::before {
			content: "";
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			display: block;
			border-left: 30px solid var(--color-text);
			height: 1px;
		}

.btn_underline {
    display: block;	font-size: var(--fz13);
	position: relative;
	padding-right: 0;width: 115px;border-bottom: 1px solid #333;padding-bottom: 10px;
}
.btn_underline::after {
	content: "";
	position: absolute;
	top: 0;transform-origin: center center;
	transform:rotate(90deg) translateX(5px);
	right: 0;
	width: 15px;
	height:15px;
	opacity: 1;
	transition: opacity 0.2s;background: url(../../images/btn_arrow.svg) no-repeat;
	pointer-events: none;background-size: contain;background-position: center center;
}



/* 矢印も透過する（起動はjsで管理） */
.btn_underline.hovered::after {
  opacity: 0.7;
}

.publications_catalog{margin-bottom:var(--space100);}
.publications_catalog h3+p{margin-bottom: var(--space40);font-size: var(--fz15);}
.publications_catalog ul{font-size: var(--fz15);margin-bottom: var(--space40);overflow:hidden;}
.publications_catalog ul li{text-indent: -1.5em;padding-left: 1.5em;margin-bottom: 10px;}
.publications_catalog ul li a{text-decoration: underline;text-underline-offset: 4px;}
.publications_catalog ul li::before{content:"●";font-size:0.6em;color:#BDCCD4;margin-right:10px;vertical-align: middle;}
.contact_form{margin-bottom:var(--space80);}
.publications_book{margin-bottom:var(--space100);}
.publications_book h3+p{margin-bottom: var(--space40);font-size: var(--fz15);}
.publications_book_inner{display: flex;flex-wrap: wrap;justify-content: flex-start;gap:70px 30px;}
.publications_book_inner .item{width: calc((100% - 90px) / 4);}
.publications_book_inner .item .img{box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.3);aspect-ratio: 1 / 1;}
.publications_book_inner .item img{width: 100%;height:100%;object-fit:contain;}
.publications_book_inner .txt{font-size:var(--fz15);}
.publications_mail{margin-bottom:120px;}
.publications_mail h3+p{margin-bottom: var(--space40);font-size: var(--fz15);}
.publications_mail h3+p a{text-decoration: underline;text-underline-offset: 4px;}
		@media screen and (max-width:1000px) {
.publications_book_inner{gap:60px 30px;}
			.publications_book_inner .item {
				width: calc((100% - 60px) / 3);
			}
		}
		@media screen and (max-width:640px) {
.publications_book_inner{gap:40px 20px;}
			.publications_book_inner .item {
				width: calc((100% - 20px) / 2);
			}
		}
		@media screen and (max-width:480px) {
.publications_book_inner{gap:30px 0;}
			.publications_book_inner .item {
				width: 100%;
			}
		}
		
.catalog_more{cursor:pointer;}
.catalog_more.open::after{transform:rotate(270deg) translateX(-5px);}