/* @charset "utf-8";

/*---------------------------------
news event blog 記事パーツ
---------------------------------*/
.main_content {
	color: #433F3F;
	line-height: 1.7;
	font-feature-settings: "palt" 1;
}
.main_content p {
	font-size: 14px;
}

/* コンテンツ幅 */
.event_content {
	padding:0 20px;
}
@media print, screen and (min-width:768px) {
	.event_content,
	.blog_content {
		padding:50px;
	}
}
@media print, screen and (min-width:992px) {
	.event_content,
	.blog_content {
		padding:50px 150px;
	}
}

/* テキストリンク */
.entry-text {
	/* margin-top: 15px; */
	margin-bottom: 20px;
}
.entry-text + .entry-text {
	margin-top: 25px;
}
.main_content p.caption {
	font-size: 12px;
	margin-bottom: 40px;
}
.entry-text a {
	font-weight: 700;
	background: linear-gradient(transparent 80%, #54C3F1 80%);
}
.entry-text a:hover {
	opacity: 0.6;
}

/* 画像 */
.column-image-left.nocaption,
.column-image-center.nocaption,
.column-image-right.nocaption {
	margin-bottom: 40px;
}

/* clearHidden */
.main_content .clearHidden,
.main_content .clearHidden {
	margin-bottom: 0;
}
.blogcard-body + .clearHidden {
	margin-bottom: 40px;
}
.overview-head .clearHidden,
.overview-body .clearHidden {
  margin-bottom: 0;
}

/*  見出し
---------------------------------*/
h2.entry-title__h2 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	margin: 60px 0 15px;
}
h3.entry-title__h3 {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	padding: 4px 10px;
	margin:20px 0 15px;
	background: #8D929A;
}
h4.entry-title__h4 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	padding-bottom: 6px;
	margin:20px 0 15px;
	border-bottom: 1px solid #433F3F;
}
h5.entry-title__h5 {
	font-size: 14px;
	font-weight: 700;
	margin:20px 0 10px;
	position: relative;
	padding-left: 1.5em;
}
.entry-title__h5::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 6.75px;
	left: 0;
	background-color: #433F3F;
}
@media print, screen and (min-width:768px) {
	h2.entry-title__h2 {
		font-size: 20px;
		margin: 60px 0 20px;
	}
	h3.entry-title__h3 {
		font-size: 18px;
		margin:20px 0 15px;
	}
	h4.entry-title__h4 {
		margin:15px 0 10px;
	}
	h5.entry-title__h5 {
		margin:10px 0;
	}
}


/*  カード
---------------------------------*/
/* ブログカード（関連記事） */
.blogcard-head {
	color: #717781;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	position: relative;
	margin-top: 30px;
	padding: 15px 26px;
	background: #EAEBEC;
}
.blogcard-head::after {
	content: "";
	display: block;
	width: calc(100% - 50px);
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image : linear-gradient(to right, #433F3F, #433F3F 1px, transparent 1px, transparent 5px);  /* 幅2の線を作る */
	background-size: 5px 1px;          /* グラデーションの幅・高さを指定 */
	background-position: left bottom;  /* 背景の開始位置を指定 */
	background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
h2.blogcard-title {
	font-size: 16px;
	display: inline-block;
	padding: 0 10px;
	background: #EAEBEC;
	position: relative;
	z-index: 10;
}
.blogcard-body {
	padding: 0 25px 30px;
	background: #EAEBEC;
}
.blogcard-body .column-quote-auto {
  margin: 0;
}
.blogcard-body blockquote {
	padding: 0;
}
.blogcard-body .quoteSiteName {
	display: none;
}
@media print, screen and (max-width:767px) {
	.blogcard-body .quoteImageContainer {
		max-width: 272px;
		margin-right: 0;
		float: none;
		width: 80%;
		margin: 0 auto 20px;
	}
	.blogcard-body .quoteImageContainer img {
		width: 100%;
	}
	.blogcard-body .quoteTitle {
		font-size: 14px;
		line-height: 1.5;
		color: #036EB8;
	}
}
@media print, screen and (min-width:560px) {
	.blogcard-body .js-biggerlink:hover .quoteTitleLink {
		opacity: 0.6;
	}
}
@media print, screen and (min-width:768px) {
	.blogcard-body .quoteTitle {
		margin-bottom: 10px;
	}
}
@media print, screen and (min-width:992px) {

}

/* コラムカード（おすすめ記事） */
.column-head {
	position: relative;
	margin-top: 40px;
	padding: 10px 30px;
	border: 4px solid #5A9EB0;
	border-bottom: none;
	background: #fff;
}
.column-head::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 36px 0 0 36px;
	border-color: #fff #fff #fff #5a9db0;
	position: absolute;
	top: -4px;
	right: -4px;
	z-index: 10;
}
.column-head::after {
    width: calc(100% - 30px);
    height: 1px;
    content: "";
    display: block;
    position: absolute;
    top: 33%;
    right: 0;
    transform: translateY(-50%);
    box-shadow: 0px 1px #5A9EB0, 0px 3px #fff,
                0px 4px #5A9EB0, 0px 6px #fff,
                0px 7px #5A9EB0, 0px 9px #fff,
                0px 10px #5A9EB0, 0px 12px #fff,
                0px 13px #5A9EB0, 0px 15px #fff;
}
@media print, screen and (min-width:768px) {
	.column-head::after {
		width: calc(100% - 90px);
		right: 40px;
	}
}
@media print, screen and (min-width:992px) {
}
.column-title {
	display: inline-block;
	font-size: 17px;
	color: #5a9db0;
	padding-right: 10px;
	background: #fff;
	position: relative;
	z-index: 10;
}
.column-body {
	padding: 5px 33px 40px;
	border:  4px solid #5A9EB0;
	border-top: none;
	background: #fff;
	position: relative;
	margin-bottom: 40px;
}
.column-body strong {
	display: inline-block;
	color: #000;
}
@media print, screen and (min-width:768px) {
	.column-body strong {
		margin-bottom: 10px;
	}
}

/* Link */
.column-body a {
	color: #433F3F;
	display: block;
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	vertical-align: middle;
	text-decoration: none;
}
.column-body a:hover {
	opacity: 0.5;
}
.column-body a::before{
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #433F3F;
}
.column-body a::before,
.column-body a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.column-body a::after{
	left: 5px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 3px solid #fff;
}

/*  引用
---------------------------------*/
.entry-container .entry-quote {
	padding: 25px 20px 25px 70px;
	border: 9px solid #EAEBEC;
	background: #fff;
	position: relative;
	margin-bottom: 50px;
}
.entry-container .entry-quote::before {
	width: 30px;
	height: 24px;
	display: block;
	content: url(/themes/shimano/common/img/icon_quote.svg);
	position: absolute;
	top: 18px;
	left: 20px;
}
@media print, screen and (min-width:768px) {
	.entry-container .entry-quote {
    padding: 25px 35px 25px 80px;
    border-width: 12px;
		margin-bottom: 35px;
}
.entry-container .entry-quote::before {
    width: 35px;
    height: 28px;
    top: 15px;
    left: 25px;
}
}
@media print, screen and (min-width:992px) {}


/*  イベント概要
---------------------------------*/
.overview-head {
	text-align: center;
	padding: 30px 10px 0;
	background: #E8DAC7;
	width: calc(100% + 40px);
	margin: 40px -20px 0;
	box-sizing: border-box;
}
.overview-head + .overview-head {
	margin-top: 0;
	padding-top: 20px;
}
.overview-head .entry-title__h2 {
  margin-top: 0;
	margin-bottom: 0;
}
.overview-head .entry-title__h3 {
	margin: 0;
}
.overview-body {
	width: auto;
	margin: 0 -20px 40px;
  border-width: 0 10px 40px;
	border-style: solid;
	border-color: #E8DAC7;
	padding: 30px 16px 6px;
	background: #fff;
	box-sizing: border-box;
}
.overview-body table {
	width: 100%;
}
.overview-body table th {
	width: 6em;
	padding: 5px 0;
	border-width: 1px 0;
	border-style: solid;
	border-color: #C9A063;
	color: #433F3F;
	text-align: left;
	background: none;
}
.overview-body table td {
	line-height: 1.5;
	padding: 5px 0 5px 5px;
	border-width: 1px 0;
	border-style: solid;
	border-color: #C9A063;
	color: #433F3F;
	text-align: left;
	background: none;
}
@media print, screen and (min-width:768px) {
	.overview-head {
		padding: 40px 40px 0;
		width: 100%;
		margin: 40px 0 0;
	}
	.overview-head .entry-title__h3 {
		padding: 9px 30px;
	}
	.overview-body {
		width: 100%;
		margin: 0 0 40px 0;
		border-width: 0 40px 40px 40px;
		padding: 35px 30px 40px;
	}
	.overview-body table th {
		width: 8em;
		padding: 5px 15px;
	}
	.overview-body table td {
		padding: 5px 15px;
	}
}
@media print, screen and (min-width:992px) {}



 /* 余白調整 */
.blogcard-body + .entry-text {
	margin-top: 40px;
}