@charset "UTF-8";
/* -----------------------------------------------------------
 COMMON 
------------------------------------------------------------*/
.bold{
	font-weight: bold;
}
.regular{
	font-weight: normal;
}
.mx-auto{
	margin-left: auto;
	margin-right: auto;
}
.headNavHoshu{
	text-align: center;
	line-height: 1.5;
	font-size: 80%;
	display: none !important;
}
.d-none{
	display: none;
}
.d-sp-none{
	display: none;
}
.btnSt02{
	height: 80px;
}
.btnSt02 a:link,
.btnSt02 a:visited{
	height: 100%;
	background: #EEE;
	display: block;
}
.btnSt02 a:hover,
.btnSt02 a:active{
	opacity: 0.7;
}
.btnSt02 a span{
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.footLinkBannerPic{
	width: 350px;
	height: auto;
	line-height: 1.5;
}
.colorPurple{
	color: #4b2276;
}
.w700px-sp100{
	width: 100%;
	max-width: 700px;	
}
.w800px-sp100{
	width: 100%;
	max-width: 800px;	
}
.w1000px-sp100{
	width: 100%;
	max-width: 1000px;	
}
.vAlignM{
	vertical-align: middle;
}
.text-start{
	text-align: start;
}
.colorLightGray{
	color: #999;
}
.text-right{
	text-align: right;
}
.mt-0{
	margin-top: 0px;
}
.pt-0{
	padding-top: 0px;
}
.mt-6{
	margin-top: 6px;
}
.pt-6{
	padding-top: 6px;
}
.px-15{
	padding-left: 15px;
	padding-right: 15px;
}
.font-size12{
	font-size: 72%;
}
.font-size30{
	font-size: 15px;
}
.font-size34{
	font-size: 22px;
}
.font-size36{
	font-size: 22px;
}
.font-size10rem{
		font-size: 5rem;
}
.font-size50px{
	font-size:20px;
}
.border{
	border: 1px solid #EEE;
}
.ltrSpc1{
	letter-spacing: 0.2em;
}
.ltrSpcNarrow{
	letter-spacing: -0.2em;
}
.py-100{
	padding-top: 60px;
	padding-bottom: 60px;
}
.py-80{
		padding-top: 56px;
		padding-bottom: 52px;
	}
.py-60{
		padding-top: 62px;
		padding-bottom: 30px;
	}
.pb-100{
	padding-bottom: 60px;
}
.listSt01 li{
	padding-left: 1.5em;
	margin-bottom: 1em;
	list-style: none;
	position: relative;
}
.listSt01 li::before{
	content: "■";
	color: #50227e;
	font-size: 90%;
	position: absolute;
	left: 0px;
	top: -1px;
}
.bg-light-gray{
	background: #EEE;
}

@media screen and (min-width:768px) {
		.font-size30{
			font-size: clamp(1.875rem, 0.375rem + 3.13vw, 2.875rem)
		}
	.font-size34{
		font-size: clamp(2.4rem, 1.6rem + 1vw, 3.4rem);
	}
		.font-size36{
			font-size: clamp(2.25rem, 4.69vw, 3.75rem);
		}
	.font-size10rem{
		font-size: clamp(7rem, 2.5rem + 9.38vw, 10rem);
	}
	.d-md-inline-block{
		display: inline-block
	}
	.d-sp-none{
		display: block;
	}
	.d-md-none{
		display: none;
	}
	.d-md-block{
		display: block;
	}
	.text-md-center{
		text-align: center;
	}
	.d-md-flex{
		display: flex;
	}
	.py-100{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.py-80{
		padding-top: 62px;
		padding-bottom: 62px;
	}
	.py-60{
		padding-top: 75px;
		padding-bottom: 40px;
	}
	.pb-100{
		padding-bottom: 100px;
	}
	.line-height-2{
		line-height: 2;
	}
	.font-size50px{
		font-size:34px;
	}
	.linkAnchor{
	    padding-top: 80px;
	    margin-top: -80px;
	}

}
@media screen and (min-width:1280px) {
	.headNavHoshu{
		display: block !important;
	}
	.font-size50px{
		font-size:48px;
	}
}

/* -----------------------------------------------------------
 MAIN VISUAL 
------------------------------------------------------------*/
div#mainVisual{
	margin-bottom: 70px;
}
	.indexLeadBox{
		margin-left: auto;
		margin-right: auto;
		width: 305px;
		text-align: left;
		margin-bottom: 55px;
	}
@media screen and (min-width:480px) {
	div#mainVisual{
		margin-bottom: 60px;
	}
	.indexLeadBox{
		margin-left: auto;
		margin-right: auto;
		width: 425px;
		text-align: left;
		margin-bottom: 50px;
	}
}
@media screen and (min-width:768px) {
	div#mainVisual{
		margin-bottom: 60px;
	}
	.indexLeadBox{
		margin-left: auto;
		margin-right: auto;
		width: 700px;
		text-align: left;
		margin-bottom: 80px;
	}
}
@media screen and (min-width:1200px) {
	div#mainVisual{
		margin-bottom: 80px;
	}
	.indexLeadBox{
		margin-left: auto;
		margin-right: auto;
		width: 700px;
		text-align: left;
		margin-bottom: 80px;
	}
}
/* -----------------------------------------------------------
 MAIN VISUAL 
------------------------------------------------------------*/
.indexNewsTab{
	zoom: 100%;
}
.indexNewsTab:after {   
    content: ".";   
    display: block;   
    visibility: hidden;   
    height: 0.1px;   
    font-size: 0.1em;   
    line-height: 0;   
    clear: both;
}
.indexNewsTab li{
	margin: 0 2px 2px 0;
	width: 31%;
	float: left;
	padding: 10px 2px;
	display: block;	
	background: #dedede;
	color: #222;
	text-align: center;
	font-size: 90%;
	cursor: pointer;
}
.indexNewsTab li.tabActive{
	background: #222222;
	color: #FFF;
}
.indexNewsTab li:hover,
.indexNewsTab li:active{
	background: #222222;
	color: #FFF;
}
.indexNewsTab li a:link,
.indexNewsTab li a:visited{
	color: #222;
	text-decoration: none;
	display: block;
}
.indexNewsTab li.tabActive a,
.indexNewsTab li:hover a,
.indexNewsTab li a:hover,
.indexNewsTab li a:active{
	color: #FFF;
}
.indexNewsList{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.indexNewsList .postCol{
	margin:0 1% 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #DDD;
	width: 100%;
	position: relative;
}
.indexNewsList .indexPostThumb{
	margin-right: 1em;
	width: 34%;
	float: left;
}
.postTag {
	margin: 0;
	width: 120px;
	display: none;
	background: #4b1e78;
	color: #FFF;
	font-size: 70%;
	text-align: center;
}
.indexPostThumb{
	margin-bottom: 0.4em;
}
.indexPostThumb img{
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.indexPostThumb img:hover{
	opacity: 0.7;
}
.indexPostTtl{
	margin-bottom: 0.2em;
	overflow: hidden;
	  display: -webkit-box;
	  text-overflow: ellipsis;
	  -webkit-box-orient: vertical;
	  -webkit-line-clamp: 2;	
	line-height: 1.4;
}
.indexPostTtl,
.indexPostTtl a:link,
.indexPostTtl a:visited{
	color: #4b1e78;
}
.indexPostTtlTips,
.indexPostTtlTips a:link,
.indexPostTtlTips a:visited{
	color: #4b1e78;
}
.indexPostData{
	text-align: right;
	color: #888;
	line-height: 1.5;
}
	.indexNewsTab li.tabMore a{
		font-size: 80%;
	}
@media screen and (min-width:768px) {
	.indexNewsList{
		width: 106%;
	}
	.indexNewsList .postCol{
		margin:0 2% 1.5em 0%;
		padding-bottom: 0em;
		width: 30%;
		border-bottom: none;
	}
	.postTag {
		padding: 10px 2px;
		display: inline-block;		
		position: absolute;
		top: 0px;
		left: 0px;
		font-size: 80%;
	}
	.indexNewsList .indexPostThumb{
		margin-right: 0em;
		width: 100%;
		float: none;
	}
	.indexNewsTab li.tabMore a{
		font-size: 100%;
	}
	.indexPostData{
		font-size: 80%;
	}
}
@media only screen and (min-width: 1280px) { 
	.indexNewsTab{
		display: flex;
  		flex-wrap: wrap;
		justify-content: space-between;
	}
	.indexNewsTab li{
		margin: 0;
		padding: 0px 0;		
		width: 16.6%;
		height: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.indexNewsTab li a{
		height: 100%;
	}
	.indexNewsTab li.tabMore a{
		font-size: 100%;
		line-height: 1.6;
		height: 100%;
		width: 100%;
		padding: 8px 12px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #333;
		color: #FFF;
	}
	.indexNewsTab li.tabMore a:hover{
		text-decoration: none;
	}
}

/*241024追加
---------------------------------------------------------------------------*/
.indexWorksLinkBox{
    padding: 50px 0 70px;
	width:438px;
    background: #dae2e6;
}
.linkBnWorks{
	margin: 0 auto 1em;
	width:438px;
	font-weight: bold;
	font-size: 120%;
}
.linkBnWorks a:link,
.linkBnWorks a:visited{
	aspect-ratio: 2 / 1.01;
	background: url("../images/index/delivery-example-top.jpg") left top no-repeat;
	background-size: cover;
	border-radius: 0px;
	display: block;
	position: relative;
	color: #FFF;
}
.linkBnWorks a:hover,
.linkBnWorks a:active{
	opacity: 0.7;
}
.linkBnWorks a span{
	position: absolute;
	top: 0.5em;
	right: 0.5em;
}
@media only screen and (min-width: 768px) { 
	.linkBnWorks{
		margin: 0 auto;
		width:384px;
	}
	.linkBnWorks{
		font-size: 180%;
		letter-spacing: 3px;
	}
}
/*241029追加
---------------------------------------------------------------------------*/
.renovate-seminar2024eyecatch{
	margin-bottom: 40px;
	background: url("../renovate-seminar2025/images/hall-renovation-2025_pc-top_bg.jpg") center top no-repeat;
	text-align: center;
}
.renovate-seminar2024eyecatch img{
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width:auto;
	height: auto;
}
.renovate-seminar2026eyecatch{
	margin-bottom: 40px;
	/*background: url("../renovate-seminar2025/images/hall-renovation-2025_pc-top_bg.jpg") center top no-repeat;*/
	text-align: center;
}
.renovate-seminar2026eyecatch img{
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width:auto;
	height: auto;
}
img.img2026 {
  width: 195px;
  height: 250px;
  border-radius: 145px / 175px; /* 横半径 / 縦半径で楕円を作る */
  object-fit: cover; /* 画像を枠に合わせてトリミング */
}
.h3ttlSt02{
	padding: 10px 0;
	background: #4b2276;
	border-radius: 6px;
	text-align: center;
	color: #FFF;
	font-size: 130%;
	font-weight: bold;
}
h3.h3ttlp{
	margin: 0 0 1em;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #CCC;
	font-size: 116%;
	font-weight: bold;
}
@media (min-width: 960px) {
	h3.h3ttlp{
		margin: 0 0 1.4em;
		padding: 4px 0 10px 16px;
		background-size: 9px 30px;
		font-size: 160%;
		letter-spacing: 2px;
		line-height: 1.8em;
	}
	}
.koushiPhotoArea{
	margin: 0 auto 40px;
	/*margin-left: auto;
	margin-right: auto;*/
	width: 80%;
}
.tableSchedule{
	width: 100%;
}
.tableSchedule th{
	padding: 10px 0 0 0;
	background: none;
	font-weight: normal;
}
.tableSchedule td{
	padding: 0 0 10px 0;
	border-bottom: 1px solid #CCC;
}
.btnEntry2{
	margin-left: auto;
	margin-right: auto;
	width: 280px;
	text-align: center;
	font-weight: bold;
	font-size: 110%;
}
.btnEntry2 a:link,
.btnEntry2 a:visited{
	padding: 10px 0;
	background: #FFF url("../renovate-seminar2022/images/icon_brank.png") 90% 50% no-repeat;
	background-size: 20px 16px;
	border:2px solid #4b1e78;
	border-radius: 6px;
	display: block;
	color: #4b1e78;
	text-decoration: none;
}
.btnEntry2 a:hover,
.btnEntry2 a:active{
	background: #caabe9 url("../renovate-seminar2022/images/icon_brank.png") 90% 50% no-repeat;
	background-size: 20px 16px;	
}
.btnEntry2026{
	margin-left: auto;
	margin-right: auto;
	width: 310px;
	text-align: center;
	font-weight: bold;
	font-size: 130%;
}
.btnEntry2026 a:link,
.btnEntry2026 a:visited{
	padding: 30px 0;
	background: #FFF url("../renovate-seminar2022/images/icon_brank.png") 94% 50% no-repeat;
	background-size: 20px 16px;
	border:2px solid #4b1e78;
	border-radius: 6px;
	display: block;
	color: #4b1e78;
	text-decoration: none;
}
.btnEntry2026 a:hover,
.btnEntry2026 a:active{
	background: #caabe9 url("../renovate-seminar2022/images/icon_brank.png") 94% 50% no-repeat;
	background-size: 20px 16px;	
}
.footSeminarBtnList{
	margin-left: 10px;
	margin-right: 10px;
}
.footSeminarBtnList li {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	width: 280px;
	list-style: none;
}
.footSeminarBtnList li a:link,
.footSeminarBtnList li a:visited{
	padding: 10px 0;
	background: #4b2276;
	border-radius: 6px;
	display: block;
	text-align: center;
	color: #FFF;
	font-size: 100%;
	font-weight: bold;
}

@media only screen and (min-width: 768px) { 
	.renovate-seminar2024eyecatch{
		margin-bottom: 60px;
	}
	.renovate-seminar2026eyecatch{
		margin-bottom: 60px;
	}
	.h3ttlSt02{
		padding: 18px 0;
		font-size: 150%;
		letter-spacing: 5px;
	}
	.koushiPhotoArea{
		margin: 0 auto 40px;
		/*margin-right: 40px;
		margin-left: 0px;*/
		width: 26%;
	}
	.koushiProfArea{
		margin-left: auto;
		width: 64%;
	}
	.koushiPhotoArea26{
		margin-right: 50px;
		/*margin-left: 30px;*/
		width: 16%;
	}
	.koushiProfArea26{
		margin-left: auto;
		width: 74%;
	}
	.tableSchedule th,
	.tableSchedule td{
		padding: 20px 0px;
		border-bottom: 1px solid #CCC;		
	}
	.btnEntry2{
		width: 340px;
	}
	.footSeminarBtnList{
		margin-left: auto;
		margin-right: auto;
		width: 700px;
		display: flex;
		justify-content: center!important;
	}
	.footSeminarBtnList li{
		width: 320px;
	}
}
@media only screen and (min-width: 1200px) { 
	table.tableSt03.tableSt03PadL th,
	table.tableSt03.tableSt03PadL td{
		padding: 18px;
	}
}
@media only screen and (max-width: 576px) {
	table.tableSt03.tableSt03PadL{
		border: none;
	}
	table.tableSt03.tableSt03PadL th,
	table.tableSt03.tableSt03PadL td{
		padding: 2px;
		width: 100%;
		display: block;
		border: none;
	}
	able.tableSt03.tableSt03PadL td{
		padding:20px 0px;
	}
}
/*241114追加
---------------------------------------------------------------------------*/
.h3ttlSt03{
	border-left: 4px solid #4b2276;
	padding-left: 10px;
	font-size: 16px;
}
.btnSt03{
	width: 280px;
	border: 1px solid #000;
	text-align: center;
}
.btnSt03 a:link,
.btnSt03 a:visited{
	padding: 16px;
	display: block;	
}
.btnSt03 a:hover,
.btnSt03 a:active{
	background: #EEE;
	text-decoration: none;
}
.mainVisualSS{
	width: 100%;
	aspect-ratio: 4 / 1;
	background: url("../sound-systems/images/blockmenubg022.jpg") center 50% no-repeat;
	background-size: cover;
}
.table-aboutus-pro{
	width: 90%;	
	border-collapse:collapse;
	text-align:left;

}
.table-aboutus-pro th {
	padding:16px 8px 16px 0px;	
	font-size:110%;
	border-bottom:3px solid #DDD;

}
.table-aboutus-pro td {
	border-bottom:1px solid #cccccc;
	padding:16px 8px;
}
.table-aboutus-pro td a{
	color: #4b2276;
}
.h4ttlSt01{
	padding: 10px 6px;
	border-left:4px solid #bbb0c6;
	background: #e3dee8;
	font-size: 110%;	
}
h4.h4ttl{
	margin: 0 0 30px;	
	padding: 10px 6px;
	border-left:4px solid #bbb0c6;
	background: #e3dee8;
	font-size: 110%;	
}
.box-gray{
	padding: 20px;
	background: #f4f4f4;
}
.box-white{
	padding: 10px;
	background: #ffffff;
	border: 1px #999 solid;
}
.mainVisualSSTop{
	width: 100%;
	aspect-ratio: 10 / 7;
	background: url("../sound-systems/images/seihin_top_sp.jpg") center 50% no-repeat;
	background-size: cover;
}

@media only screen and (max-width: 768px) {
	.table-aboutus-pro{

	}
	.table-aboutus-pro td {
		padding:12px 8px;
	}
}
@media only screen and (min-width: 768px) {
	.mainVisualSSTop{
		aspect-ratio: 115 / 62;
		background: url("../sound-systems/images/seihin_top_tablet.jpg") center 50% no-repeat;
		background-size: cover;
	}
	.h3ttlSt03{
		padding-left: 16px;
		font-size: 20px;
	}
	h4.h4ttlSt01{
		margin: 0 0 1em;	
		padding: 14px;
		border-left:6px solid #bbb0c6;
		background: #e3dee8;
		font-size: 120%;	
	}
	.box-gray{
		padding: 30px;
	}
	.box-white{
		padding: 30px;
	}
}
@media only screen and (min-width: 1200px) {
	.mainVisualSSTop{
		aspect-ratio: 2000 / 887;
		background: url("../sound-systems/images/seihin_top_pc.jpg") center 50% no-repeat;
		background-size: cover;
	}
}

/*241209
------------------------------------------------------------------------------------*/
.innerbox.innerboxSt02{
	width: 100%;
	max-width: 100%;
}
@media only screen and (min-width: 768px) {
	.innerbox.innerboxSt02 .box{
		margin-bottom: 20px;
		width: 48%;
	}
}
@media only screen and (min-width: 992px) {	
	.innerbox.innerboxSt02 .box{
		width: 23%;
	}
}

.publishedIndexEyeCatch{
	width: 100%;
	margin-bottom: 40px;	
	background: url("../published-articles/images/mv_media.jpg") center 50% no-repeat;
	background-size: cover;
	aspect-ratio:190/63;
}
.tipsIndexEyeCatch{
	width: 100%;
	margin-bottom: 40px;	
	background: url("../tips/images/mv_tips.jpg") center 50% no-repeat;
	background-size: cover;
	aspect-ratio:1000/400;
}
.costomerIndexEyeCatch{
	width: 100%;
	margin-bottom: 40px;	
	background: url("../customer-support-center/images/mv_support.jpg") center 50% no-repeat;
	background-size: cover;
	aspect-ratio:1000/400;
}
@media only screen and (min-width: 768px) {
	.publishedIndexEyeCatch{
		margin-bottom: 60px;
	}
}

.dtPostThumb{
	margin-bottom: 16px;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.dtPostThumb img{
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 100% 0%;
}
.postBox p.pt-6{
	padding-top: 6px;
}
.headbox.headBoxSpDisplay{
	display: block;
	margin: 0 auto 0;
}

/*250205
------------------------------------------------------------------------------------*/
.indexTtlSolution{
	margin-bottom: 20px;
	font-size: 180%;
	text-align: center;
	font-weight: bold;
}
.indexSolutionBnList{
	margin-bottom: 3em;
}
.indexSolutionBnList li{
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1em;
	list-style: none;
	line-height: 1.5;
	width: 94%;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 140%;
	font-weight: bold;
	text-shadow: #111 1px 0 10px;
}
.indexSolutionBnList li a:link,
.indexSolutionBnList li a:visited{
	padding: 16px 0;
	width: 100%;	
	aspect-ratio:191 / 87;
	background: url("../images/index/bn_solution_hall.jpg") no-repeat;
	background-size: cover;
	display: block;
	color: #FFF;
	text-indent: 1em;
}
.indexSolutionBnList .indexSolutionBnStadium a:link,
.indexSolutionBnList .indexSolutionBnStadium a:visited{
	background: url("../images/index/bn_solution_stadium.jpg") no-repeat;
	background-size: cover;
	
}
.indexSolutionBnList li a:hover{
	opacity: 0.7;
	transition:0.2s all;
}
.indexSolutionBnList li a:hover img{
	opacity: 0.7;
}
@media only screen and (min-width: 768px) {
	.indexTtlSolution{
		margin-bottom: 50px;
		font-size: 220%;
	}
	.indexSolutionBnList{
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 70px;		
		width: 768px;
		display: flex;
		justify-content:center;
	}
	.indexSolutionBnList li{
		width: 340px;
		font-size: 160%;
	}
}
@media only screen and (min-width: 992px) {
	.indexSolutionBnList{
		width: 940px;
		justify-content: space-around;
	}
	.indexSolutionBnList li{
		width: 400px;
	}
}

/*251115 80th anniversary
------------------------------------------------------------------------------------*/
div.mv80thAnnversary{
	height: 400px;
	background: url("../images/index/the80thanniversary_sp.jpg") center top no-repeat;
	background-size: cover;
	position: relative;
}
.mv80thAnnversaryCaption{
	padding:1.5em 0;
	width: 100%;
	background-color: rgba(0,0,0,0.7);
	position: absolute;
	left: 0px;
	bottom: 0px;
	color: #FFF;
}
.clientList3Line{
	display: flex;
	justify-content: space-between;
	margin: 20px auto -30px;
}
.clientList3Line li{
	width: 31%;
	list-style: none;
}
.clientList3Line li p{
	margin-bottom: 1.5em;
}
.the80thTotalArea{
	margin-bottom: 6px;
	padding: 0.2em;
	min-height: 60px;
	height: auto;
	border: 2px solid #4b1e78;
	display: flex;
	justify-content: center;
	align-items: center;
}
.the80thTotalArea p{
	margin: 0 0.1em;
}
.the80thMapArea{
	margin-bottom: 60px;
	height: 400px;
	border: 1px solid #F00;
}
.btnSearchResult{
	width: 260px;
}
.historyRootU{
	margin-left: auto;
	margin-right: auto;
	width: 90%;
	max-width: 984px;
	position: relative;
}
.historyRootU::before{
	content: "";
	height: 100%;
	width: 100%;
	position: absolute;
	border-left: 3px solid #4b1e78;
	border-right: 3px solid #4b1e78;
	border-bottom:  3px solid #4b1e78;
	border-radius: 0 0 1800px 1800px;
	z-index: -1;
}
.historyPoint{
	margin-bottom: 1.5em;
	padding-left: 20px;
	position: relative;
}
.historyPointR{
	margin-bottom: 1.5em;
	margin-right: -13px;
	padding-right: 20px;
	position: relative;
	text-align: right;
}
.historyPointRnone{
	margin-bottom: 1.5em;
	margin-right: -13px;
	padding-right: 20px;
	position: relative;
	text-align: right;
}

.historyPoint.mb-0,
.historyPointR.mb-0{
	margin-bottom: 0px;
}
.historyPoint p.year,
.historyPointR p.year,
.historyPointCenter p.year{
	line-height: 1;
}
.historyPoint p,
.historyPointR p,
.historyPointRnone p,
.historyPointCenter p{
	line-height: 1.5;
}
.historyPointTop{
}
.historyPoint::before{
	content: "";
	width: 18px;
	height: 18px;
	background: url("../the-80th-anniversary/images/point.webp") no-repeat;
	background-size: cover;
	position: absolute;
	top: 0.2em;
	left: -8px;
}
.historyPointR::before{
	content: "";
	width: 18px;
	height: 18px;
	background: url("../the-80th-anniversary/images/point.webp") no-repeat;
	background-size: cover;
	position: absolute;
	top: 0.2em;
	right: 0px;
}
.historyPointRnone::before{
	content: "";
	width: 18px;
	height: 18px;
	background: url("") no-repeat;
	background-size: cover;
	position: absolute;
	top: 0.2em;
	right: 0px;
}
.historyPoint.historyPointTop::before{
	content: "";
	width: 18px;
	height: 18px;
	background: url("../the-80th-anniversary/images/point.webp") no-repeat;
	background-size: cover;
	position: absolute;
	top: 0px;
	left: -8px;
}
.historyBothSide{
	margin-bottom: 1em;
	display: flex;
	justify-content: space-between;
}
.historyBothSide .historyPoint,
.historyBothSide .historyPointR{
	width: 48%;
}
.historyBothSide.historyBothSide1988 .historyPoint{
	width: 30%;
}
.historyBothSide.historyBothSide1988 .historyPointR{
	width: 70%;
}
.historyPointBottomEnd{
	padding-bottom: 40px;
	text-align: center;
	position: relative;
}
.historyPointBottomEnd::before{
	content: "";
	width: 18px;
	height: 18px;
	background: url("../the-80th-anniversary/images/point.webp") no-repeat;
	background-size: cover;
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
}
.historyPhotoArea{
	margin-top: 6px;
}
.historyPhotoArea img{
		width: 200px;
		border: 1px solid #EEE;
}
.historyPhoto1988{
	padding-top: 16px;
}
.historyPhoto1996{
	margin-right: 100px;
	}

@media only screen and (min-width: 768px) {
	div.mv80thAnnversary{
		height: 600px;
	}
	.mv80thAnnversaryCaption p{
		font-size: clamp(1.25rem, -0.25rem + 3.13vw, 2.25rem);
	}
	.clientList3Line{
		justify-content: space-between;
		flex-wrap: nowrap;
		margin-bottom: -100px;
	}
	.clientList3Line li{
		min-width: 30%;
		max-width: 360px;	
	}
	.clientList3Line li img{
		max-width: 370px;
	}
	.clientList3Line li p{
		margin-bottom: 2em;
	}
	.the80thTotalArea{
		margin-bottom: 10px;
		min-height: 140px;
		letter-spacing: 0.3em;
	}
	.txtTotal{
		margin-right: 1em!important;
		font-size: clamp(4.375rem, 2.5rem + 3.91vw, 5.625rem);
	}
	.the80thMapArea{
		margin-bottom: 60px;
		height: 700px;
	}
	.btnSearchResult{
		width: 400px;
	}
	.historyPoint{
		margin-bottom: 2em;
		padding-left: clamp(1.6rem, 1rem + 2vw, 3.2rem);
			font-weight: bold;
	}
	.historyPointR{
		margin-bottom: 2em;
		padding-right: clamp(1.6rem, 1rem + 2vw, 3.2rem);
		font-weight: bold;
	}
	.historyPointRnone{
		margin-bottom: 2em;
		padding-right: clamp(1.6rem, 1rem + 2vw, 3.2rem);
		font-weight: bold;
	}
	.historyBothSide{
		margin-bottom: 2em;
	}
	.historyBothSide .historyPoint,
	.historyBothSide .historyPointR,
	.historyBothSide .historyPointRnone{
		width: 48%;
	}

	.historyPhotoArea img{
		width: 200px;
	}
	.historyPhoto1946{
		position: absolute;
		left: 300px;
		top: -40px;
	}
	.historyPhoto1965{
		position: absolute;
	}
	.historyPhoto1979{
		position: absolute;
		right: 260px;
		top: 50%;
		transform: translateY(-50%);
	}
	.historyPhoto1988{
		padding-top: 0px;
		position: absolute;
		left: 340px;
	}
	.historyPhoto1997{
		position: absolute;
		right: 200px;
		top: -60px;
	}
	.historyPhoto1996{
		position: absolute;
		right: 50px;
		top: -60px;
	}
	.historyPhoto2009{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: -300px;
	}	
}
@media only screen and (min-width: 992px) {
		div.mv80thAnnversary{
		height: calc(100vh - 50px);
		background: url("../the-80th-anniversary/images/mv80th.jpg") center 50% no-repeat;
		background-size: cover;
	}
		div.mv80thAnnversary{
			height: calc(100vh - 100px);
		}
	.mv80thAnnversaryCaption{
			padding:2em 0;
		}
	.historyPointBottomEnd{
		margin-top: 140px;
		padding-top: 260px;
	}
			.historyPhotoArea img{
				width: 270px;
		}
		.historyPhoto1946{
		position: absolute;
		left: 340px;
			top: -20px;
	}
		.historyPhoto2009{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: -375px;
		/*top: -150px;*/
	}
	.the80thWorksMap{
		height: 800px!important;
	}
}
@media only screen and (min-width: 1400px) {
  .historyRootU {
    width: clamp(600px, 13.9vw + 433px, 700px);  /*MAX700px*/
  }
		.historyPointR{
			margin-bottom: 3em;
		}
	.historyPhoto1946{
		left: -290px;
		top: -80px;
		text-align: right;
	}
	.historyPhoto1946 img,
	.historyPhoto1965 img,
	.historyPhoto1988 img{
		width: 240px;
	}
	.historyPhoto1965{
		left: -290px;
		top: -40px;
	}
	.historyPhoto1967{
		position: absolute;
		right: -310px;
		top: -80%;
		transform: translateY(-50%);
	}
	.historyPhoto1997{
		position: absolute;
	}
		.historyPhoto1979,
	 .historyPhoto1997{
			padding: 0;
		right: -380px;
		top: 50%;
		transform: translateY(-50%);
			z-index: 9;
	}
	.historyPhoto1979,
	.historyPhoto1979 img,
		.historyPhoto1997,
	.historyPhoto1997 img{
		width: 340px
	}
	.historyPhoto1988{
		position: absolute;
		left: -290px;
		top: -50%;
		transform: translateY(-50%);
	}
	.historyPhoto1990{
		position: absolute;
		left: -380px;
		top: 40px;
	}
	.historyPhoto1990 img{
		width: 330px;
	}
		.historyPhoto2009{
		top: -410px;
		/*top: -250px;*/
		}
	.historyPhoto2005{
		padding: 0;
		position: absolute;
		right: -390px;
		top: 60%;
		transform: translateY(-40%);
		z-index: 9;
	}
	.historyPhoto2005 img{
		width: 350px;
	}
	.historyPointBottomEnd{
		margin-top: 40px;
		padding-top: 200px;
	}
}
/*251115 80th anniversary 沿革後半
------------------------------------------------------------------------------------*/
.historyRootCenterLine{
	padding-top: 60px;
	background: url("../the-80th-anniversary/images/center_line.gif") center repeat-y
}
.historyPointCenter{
	margin-bottom: 10px;
	overflow: hidden;

}
.historyPointCenter p{
	text-align: end;
}
.historyPointCenter{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.historyPointCenterData{
	width: calc(50% - 16px);
	padding-right: 16px;
	position: relative;
}
.historyPointCenterData::before{
		content: "";
	width: 18px;
	height: 18px;
	background: url("../the-80th-anniversary/images/point.webp") no-repeat;
	background-size: cover;
	position: absolute;
	top: 0.8em;
	transform: translateY(-50%);
	right: -9px;
}
.historyRootCenterPic{
	width:calc(50% - 16px );
}
.historyRootCenterPic img{
	margin-left: auto;
}
.historyPhoto2010other,
.historyPhoto2020other,
.historyPhoto2025other{
	display: none;
}
.the80thThanks{
	padding: 30px 20px 60px;
	background: url("../the-80th-anniversary/images/historythanks.jpg") center top no-repeat;
	background-size: cover;
}
.historyRootCenterPic.historyPhoto2026 img{
	padding-top: 16px;
	width: 80px;
}
@media only screen and (min-width: 768px) {
	.historyPointCenterData{
		width: calc(50% - 50px);
		padding-right: 50px;
	}
	.historyRootCenterPic{
		width:calc(50% - 60px );
	}
	.the80thThanks{
		padding: 100px 20px 240px;
	}
		.the80thThanks .colorPurple{
		line-height: 1.5;
	}
	.historyRootCenterPic.historyPhoto2026 img{
		padding-top: 0px;
		width: 140px;
	}
}
@media only screen and (min-width: 1300px) {
	.historyRootCenterLine{
		padding-top: 110px;
	}
	.historyPointCenter{
		margin-bottom: 76px;
		position: relative;
		overflow: visible!important;
	}
	.historyRootCenterPic{
		width: 300px;
		position: absolute;
		z-index: 9;
	}
	.historyRootCenterPic.historyPhoto2010{
		position: absolute;
		left: calc(50% + 60px);
		top: -40%;
		transform: translateY(-50%);
		display: flex;
		align-items:flex-end;
	}
	.historyPhoto2010main{
		width: 270px;
		margin-right: 10px;
		height: auto;
	}
	.historyPhoto2010other{
		width: 360px;
		height: auto;
		display: block;
	}
	.historyPhoto2013{
		width: 370px;
		position: absolute;
		right: calc(50% + 250px);
		bottom: 0px;
	}
	.historyPhoto2015{
		width: 300px;
		position: absolute;
		right: calc(50% + 250px);
		top: 50%;
		transform: translateY(-50%);
	}
	.historyPhoto2016{
		width: 440px;
		position: absolute;
		left: calc(50% + 60px);
		top: -100px;
		transform: translateY(-50%);
	}
	.historyPhoto2018{
		width: 260px;
		position: absolute;
		right: calc(50% + 270px);
		top: -40%;
		transform: translateY(-50%);
	}
		.historyRootCenterPic.historyPhoto2020{
		position: absolute;
		left: calc(50% + 60px);
		top: -40%;
		transform: translateY(-50%);
		display: flex;
		align-items:flex-end;
	}
	.historyPhoto2020main{
		width: 380px;
		margin-right: 10px;
		height: auto;
	}
	.historyPhoto2020other{
		width: 270px;
		height: auto;
		display: block;
	}
		.historyPhoto2021{
		width: 370px;
		position: absolute;
		right: calc(50% + 320px);
		top: -40%;
		transform: translateY(-50%);
	}
		.historyPhoto2023{
		width: 380px;
		position: absolute;
		left: calc(50% + 60px);
		top: -30%;
		transform: translateY(-50%);
	}
		.historyPhoto2024{
		width: 360px;
		position: absolute;
		right: calc(50% + 260px);
		top: -20%;
		transform: translateY(-40%);
	}
		.historyRootCenterPic.historyPhoto2025{
		position: absolute;
		left: calc(50% + 60px);
		top: -100px;
		display: flex;
		align-items:flex-start;
	}
	.historyPhoto2025main{
		width: 190px;
		margin-right: 10px;
		height: auto;
	}
	.historyPhoto2025other{
		width: 320px;
		height: auto;
		display: block;
	}
		.historyPhoto2026{
		width: 380px;
		position: absolute;
		left: calc(50% + 60px);
		top: 50%;
		transform: translateY(-50%);
	}
}
/*251117 INDEX
------------------------------------------------------------------------------------*/
.slide251117{
	position: relative;
}
.slideCaption{
	padding: 1em;
	width: 100%;
	background-color: rgba(0,0,0,0.7);
	position: absolute;
	bottom: 0px;
	left: 0px;
}
.slideCaption p{
	color: #FFF;
	text-align: center;
}
.indexLink-the80th{
	margin-left: auto;
	margin-right: auto;
	width: 140px;
	text-align: center;
	font-weight: normal!important;
}
.imgBtn80th{
	padding: 16px;
	border-radius: 3px;
	/*background: #FFF;*/	
	display: block;
	border:1px solid #aaa;
}
.indexLink-the80th img{

}
.indexLink-the80th a:link,
.indexLink-the80th a:visited{
	color:#553d8f!important;
}
.indexLink-the80th a:hover,
.indexLink-the80th a:active{
	text-decoration: underline;
}
@media only screen and (min-width: 768px) {
	.slideCaption p{
		font-size: 150%;
		line-height: 1.8;
	}
	.indexThe80thMessageArea{
		position: relative;
	}
	.indexThe80thMessageArea p{
		font-weight: 600;
	}
	.indexLink-the80th{
		margin-left: auto;
		margin-right: auto;
		width: 160px;
		text-align: center;
		font-weight: normal!important;
		/*position: absolute;
		width: 160px;
		left: calc(50% + 180px);
		bottom: 166px;*/
	}
}
@media only screen and (min-width: 992px) {
	.indexLink-the80th{
		width: 180px;
		left: calc(50% + 285px);
	}
	.indexLink-the80th img:hover{
		opacity: 0.7;
		transition: all 0.2s;
	}
}