@-webkit-viewport   { width: device-width; }
@-moz-viewport      { width: device-width; }
@-ms-viewport       { width: device-width; }
@-o-viewport        { width: device-width; }
@viewport           { width: device-width; }

::selection {
	background: #777;
	color:#fff;
}
::-moz-selection {
	background: #777;
	color:#fff;
}
.row::before {
	/* for Safari */
	display: none;
}

body {
	background-color: #f1f0ec;
}

body, div, span,
h1, h2, h3, h4, h5, h6, p{
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  color: #3d3f43;
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

a, a span {
	color: #3d3f43;
	text-decoration: none !important;
}
a.link-button{
	padding: 0.5rem 0.75rem;
	border: 1px solid #333;	
}
a:hover, a:hover span {
	color: #888;
	text-decoration: underline !important;
}
a.link-button:hover {
	color: #fff;
	background-color: #3d3f43;
	text-decoration: none !important;
}
a:focus, a:focus span, a:active, a:active span {
	color: #888;
	outline: none;
	text-decoration: underline !important;
}
a.link-button:focus {
	color: #fff;
	background-color: #3d3f43;
	text-decoration: none !important;
}


input[type="submit"], button#submit, a.submit {
  vertical-align: middle !important;
  display: inline-block;
  background: transparent;
  color: #3d3f43;
  padding: 0.4rem 3.0rem 0.4rem;
  border: 1px solid #3d3f43;
  font-weight: 700;
}
button#submit, a.submit {
	height: 3.8rem !important;
}
button#submit:hover, a.submit:hover {
  background: #323236;
  color: #fff; 
}



/* ============================================================== 
  Bootstrap 5 extend
============================================================== */

.fs-7 {
	font-size: 0.9rem;
}
.fs-8 {
	font-size: 0.8rem;
}
.fs-9 {
	font-size: 0.7rem;
}

.pt-6 {
	padding-top: 4.5rem;
}
.pt-7 {
	padding-top: 6rem;
}
.pb-6 {
	padding-bottom: 4.5rem;
}
.pb-7 {
	padding-bottom: 6rem;
}

.ls-0 {
	letter-spacing: 0rem;
}
.ls-1 {
	letter-spacing: -0.01rem;
}
.ls-2 {
	letter-spacing: -0.02rem;
}
.ls-3 {
	letter-spacing: -0.05rem;
}
.ls-4 {
	letter-spacing: -0.07rem;
}
.ls-5 {
	letter-spacing: -0.1rem;
}

.thumbnail-image-full {
	position: relative;
	padding-bottom: 100%;
	height: 0;
	overflow: hidden;
	background-size: cover  !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}
.thumbnail-image-16x9 {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background-size: cover  !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}
.thumbnail-image-4x3 {
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
	background-size: cover  !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}

.bg-cover-image {
	background-size: cover  !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}
.bg-contain-image {
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
}
.bg-white-box {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
}

.section-header {
	font-size: 20px;
	line-height: 1;
	font-weight: bold;

	margin: 0 0 0 -12px !important;
	padding: 0 0 0 9px! important;
	border-left: 2px solid #cec153;
}

@media (min-width: 576px) {
	.section-header {
    	margin-left: calc(-3rem - 12px)!important;
		padding-left: calc(3rem + 9px)!important;
	}
}

.timeline-header-yahoocomments {
	border-left: 3px solid #9cc8c6;
}
.timeline-header-articles {
	border-left: 3px solid #6667ab;

}

.social-icon path  {
  fill:#3d3f43;
}
.social-icon-twitter a:hover path {
  fill:#1d9bf0; 
}
.social-icon-facebook a:hover path {
  fill:#1877f2; 
}
.social-icon-instagram a:hover path {
  fill: url(#instagram-color);
}
