@charset "UTF-8";
/**
 * anneal.css
 */


/*-------------------------------------------------
// Gutenberg elements
//------------------------------------------------*/
.wp-block h1,.wp-block h2,.wp-block h3,.wp-block h4,.wp-block h5,.wp-block h6 {
	margin-bottom: 0.8em;
}
.wp-block h1 { font-size: 1.6rem; }
.wp-block h2 { font-size: 1.5rem; }
.wp-block h3 { font-size: 1.4rem; }
.wp-block h4 { font-size: 1.3rem; }
.wp-block h5 { font-size: 1.2rem; }
.wp-block h6 { font-size: 1.1rem; }

.wp-block h2 {
	padding-top: 30px;
}
.wp-block h2 span {
	position: relative;
	padding: 15px 0;
	display: block;
}
.wp-block h2 span::before,
.wp-block h2 span::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	height: 11px;
}
.wp-block h2 span::before {
	background: url(../images/common_line_top.png) repeat-x 0 0;
	top: 0;
}
.wp-block h2 span::after {
	background: url(../images/common_line_bottom.png) repeat-x 0 0;
	bottom: 0;
}
.wp-block figure {
	max-width: 100%;
}











.wp-block-media-text {
	margin-bottom: 1.3em;
}


/*-------------------------------------------------
// Title Obi
//------------------------------------------------*/
#heroimage.mselection,
#heroimage.mselection::after,
#heroimage.mselection .inner,
#heroimage.mselection .inner > div {
	position: relative;
	overflow: hidden;
}
#heroimage.mselection { z-index: 1; }
#heroimage.mselection::after { z-index: 2; }
#heroimage.mselection .inner { z-index: 5; }
#heroimage.mselection .inner > div {
	z-index: 10;
	width: 100%; /* MTL Matsuo 2019.11 added for IE */
 }
#heroimage.mselection::after {
	content: "";
	background: inherit;
	background-size: cover;
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
}
#heroimage.mselection .inner {
	background: inherit;
	background-size: cover;
}
@media (min-width: 1200px){
	#heroimage.mselection .inner {
		width: 1200px;
	}
}
@media (max-width: 1199px){
	#heroimage.mselection .inner {
		width: 100%;
	}
}
#heroimage.mselection {
	height: auto;
}
#heroimage.mselection .inner {
	min-height: 300px;	
	height: 350px;
	height: 45vh;
	display: flex;
	align-items: center;
	justify-content: center;
}


#heroimage.mselection h1.titlelabel {/* MTL Matsuo 2019.11 added .mselection (below all) */
	border: 3px solid #fff;
	display: flex;
	margin: 0 40px;
}
#heroimage.mselection h1.titlelabel > i {
	background: url(../images/cs_selection_label_main.png) no-repeat 50% 50%;
	background-size: contain;
	position: relative;
}
#heroimage.mselection h1.titlelabel span {
	flex: 1;
	background-color: #fff;
	color: #111;
	padding: 10px;
	display: flex;
	align-items: center;
	text-align: left;
	font-size: 26px;
}
#heroimage.mselection h1.titlelabel > i::before,
#heroimage.mselection h1.titlelabel > i::after {
	content: "";
	display: block;
	width: 65px;
	height: 65px;
	position: absolute;
}
#heroimage.mselection h1.titlelabel > i::before {
	top: 0;
	right: 0;
	background: url(../images/cs_selection_label_tr.png) no-repeat top right;
	background-size: contain;
}
#heroimage.mselection h1.titlelabel > i::after {
	bottom: 0;
	left: 0;
	background: url(../images/cs_selection_label_bl.png) no-repeat bottom left;
	background-size: contain;
}
@media (min-width: 870px) {
	#heroimage.mselection h1.titlelabel > i {
		width: 390px;
		flex-basis: 390px;
		height: 200px;
	}
}
@media (max-width: 869px) {
	#heroimage.mselection h1.titlelabel {
		margin-left: 10px;
		margin-right: 10px;
	}
	#heroimage.mselection h1.titlelabel > i {
		width: 273px;
		flex-basis: 273px;
		height: 140px;
	}
	#heroimage.mselection h1.titlelabel > i::before,
	#heroimage.mselection h1.titlelabel > i::after {
		width: 45px;
		height: 45px;
	}
}
@media (max-width: 567px) {
	#heroimage.mselection h1.titlelabel {
		margin-left: 5px;
		margin-right: 5px;
	}
	#heroimage.mselection h1.titlelabel > i {
		width: 40%;
		flex-basis: 40%;
		height: auto;
	}
	#heroimage.mselection h1.titlelabel span {
		font-size: 18px;
		line-height: 1.3;
	}
}



/*-------------------------------------------------
// Simple banners
//------------------------------------------------*/
.simple_banners {
	padding-bottom: 20vh;
}
.simple_banners li a {
	display: block;
	margin: 0 10px 20px;
	padding: 15px;
	color: #000;
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
.simple_banners li a > div {
	display: flex;
	border: 2px solid #fff;
	position: relative;
	z-index: 10;
}
.simple_banners li a div div {
	flex: 1;
	display: flex;
	align-items: center;
	background-color: #fff;
	padding: 5px 10px;
}
.simple_banners li a > div::before {
	content: "";
	display: block;
	background: url(../images/cs_selection_obi_label_alt.png) no-repeat 0 0;
	background-size: contain;
}
.simple_banners li h3 {
	font-size: 20px;
	line-height: 1.3;
}
.simple_banners li h3 i {
	font-family: Arial, sans-serif;
	display: block;
	font-size: 23px;
}
.simple_banners li a::after {
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
  background: inherit;
  z-index: 1;
}
.simple_banners li a > span,
.simple_banners li a > span::before {
	width: 230px;
}
.simple_banners li a > span {
	display: block;
	position: absolute;
	z-index: 5;
	top: 0;
	left: 0;
	bottom: 0;
	background: inherit;
	background-size: cover;
}
.simple_banners li a > span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.5);
	z-index: 6;
}
@media (min-width: 900px) {
	.simple_banners ul {
		display: flex;
		flex-wrap: wrap;
	}	
	.simple_banners li {
		width: 50%;
		flex-basis: 50%;
	}
	.simple_banners li a > div::before {
		width: 179px;
		min-height: 91px;
	}
}
@media (max-width: 899px) and (min-width: 568px) {
	.simple_banners li a > div::before {
		width: 179px;
		min-height: 91px;
	}	
}
@media (max-width: 567px) {
	.simple_banners li a {
		margin: 0 5px 5px;
		padding: 5px;
	}
	.simple_banners li a div div {
		padding: 10px;
	}
	.simple_banners li h3 {
		font-size: 15px;
	}
	.simple_banners li h3 i {
		font-size: 13px;
		font-weight: bold;
	}
	.simple_banners li a > div::before {
		width: 128px;
	}
	.simple_banners li a > span,
	.simple_banners li a > span::before {
		width: 140px;
	}
}


/*-------------------------------------------------
// Matsumoto selection banners
//------------------------------------------------*/
.ms_banners {
	padding-bottom: 20vh;
}
.ms_banners li a {
	display: flex;
	margin: 0 10px 20px;
	padding: 15px;
	color: #000;
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	height: 130px;/* MTL Matsuo added */
}
.ms_banners li a::after {
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	-webkit-filter: blur(5px);
	-moz-filter: blur(5px);
	-o-filter: blur(5px);
	-ms-filter: blur(5px);
	filter: blur(5px);
	background: inherit;
	z-index: 1;
}
.ms_banners li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 32%;
	background: inherit;
	z-index: 2;
}
.ms_banners li a span,
.ms_banners li a div {
	position: relative;
	z-index: 10;
	border: 3px solid #fff;
	overflow: hidden;
}
.ms_banners li a span {
	display: block;
	width: 27%;
	flex-basis: 27%;
	background: url(../images/cs_selection_label_main.png) no-repeat 50% 50%;
	background-size: contain;
}
.ms_banners li a div {
	flex: 1;
	background-color: #fff;
	color: #000;
	padding: 10px;
}
.ms_banners li a span::before,
.ms_banners li a span::after {
	content: "";
	display: block;
	width: 60px;
	height: 25px;
	position: absolute;
}
.ms_banners li a span::before {
	border-top: 3px solid #fff;
	bottom: 0;
	left: -3px;
	transform: rotate(45deg);
	transform-origin: top left;
}
.ms_banners li a span::after {
	border-bottom: 3px solid #fff;
	top: 0;
	right: -3px;
	transform: rotate(45deg);
	transform-origin: bottom right;
}

.ms_banners li h3 i {
	display: block;
}
@media (min-width: 768px) {
	.ms_banners ul {
		display: flex;
		flex-wrap: wrap;
	}
	.ms_banners li {
		width: 50%;
		flex-basis: 50%;
	}
	.ms_banners li a {
		margin: 0 10px 20px;
	}
	.ms_banners li h3 {
		font-size: 20px;
		line-height: 1.3;
	}
	.ms_banners li a span {
		width: 35%;
		flex-basis: 35%;
	}
	.ms_banners li a::before {
		width: 38%;
	}
}
@media (max-width: 767px) {
	.ms_banners li a span {
		width: 27%;
		flex-basis: 27%;
	}
}

