
/* top-img-area */
.top-img-area {
	position: relative;
	margin-bottom: 70px;
	padding-top: 102px;
}
@media only screen and (min-width: 560px) {
	.top-img-area {
		margin-bottom: 100px;
		padding-top: 150px;
	}
}
@media only screen and (min-width: 960px) {
	.top-img-area {
		margin-bottom: 50px;margin-bottom: 0px;
		padding-top: 240px;
	}
}

.top-img {
	position: relative;
	padding-right: 10%;
}
@media only screen and (min-width: 560px) {
	.top-img {
		padding-right: 60px;
	}
}

.top-img img {
	image-rendering: auto;
}

.top-img picture img {
	border-radius: 0 15px 15px 0;
}

.top-img-copy-jpn {
	position: absolute;
	bottom: 100px;
	height: 250px;
	right: calc(60px - 15px);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 300;
	letter-spacing: 0.14em;
	line-height: 2.5;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	vertical-align: top;
	z-index: 100;
}
@media only screen and (min-width: 560px) {
	.top-img-copy-jpn {
		bottom: 20px;
		height: 300px;
		right: calc(100px - 1.8vw);
	}
}
@media only screen and (min-width: 960px) {
	.top-img-copy-jpn {
		bottom: auto;
		top: 25%;
		right: 100px;
		font-size: 1.8rem;
		letter-spacing: 0.13em;
		line-height: 2.7;
	}
}

.top-img-copy-jpn span {
	display: inline-block;
	transform: translateY(15px);
	opacity: 0;
	transition: all .8s;
}

.top-img-area.fade-in .top-img-copy-jpn span {
	transform: translateY(0);
	opacity: 1;
}

.top-img-copy-jpn span.copy01 {
	transition-delay: .1s;
}

.top-img-copy-jpn span.copy02 {
	transition-delay: .2s;
}

.top-img-copy-jpn span.copy03 {
	transition-delay: .3s;
}

.top-img-copy-jpn span.copy04 {
	transition-delay: .4s;
}

.top-img-copy-eng {
	position: relative;
	margin: -22vw 0 0 0;
	z-index: 10;
	opacity: 0;
	transform: translateY(20px);
	transition: all 1.0s;
	transition-delay: .6s;
}
@media only screen and (min-width: 560px) {
	.top-img-copy-eng {
		margin: -9.3vw 0 0 0;
	}
}
@media only screen and (min-width: 960px) {
	.top-img-copy-eng {
		margin: -9.2vw 0 0 0;
	}
}

.top-img-area.fade-in .top-img-copy-eng {
	transform: translateY(0);
	opacity: 1;
}

/* top-banner */
.top-banner-wrapper {
	margin-bottom: 90px;
	padding: 0 9%;
}
@media only screen and (min-width: 560px) {
	.top-banner-wrapper {
		margin-bottom: 120px;
		padding: 0 5%;
	}
}
@media only screen and (min-width: 960px) {
	.top-banner-wrapper {
		max-width: 1000px;
		margin: 0 auto 30px;
		padding: 0 40px;
	}
}

.top-banner {
	display: block;
	position: relative;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
}

.top-banner.scrollin {
	transform: translateY(0);
	opacity: 1;
}

.top-banner::before {
	content: "";
	position: absolute;
	top: 0;
	width: calc(100% - 0px);
	height: 1px;
	background-color: #333;
	z-index: 10;
}
@media only screen and (min-width: 960px) {
	.top-banner::before {
		transition: all .3s;
	}
}

.top-banner::after {
	content: "";
	position: absolute;
	top: 0px;
	left: 0;
	width: 1px;
	height: calc(100% - 0px);
	background-color: #333;
}
@media only screen and (min-width: 960px) {
	.top-banner::after {
		transition: all .3s;
	}
}

.top-banner-inner {
	position: relative;
}
@media only screen and (min-width: 560px) {
	.top-banner-inner {
		display: flex;
	}
}

.top-banner-inner::before {
	content: "";
	position: absolute;
	right: 0;
	width: 1px;
	height: calc(100% - 0px);
	background-color: #333;
	z-index: 10;
}
@media only screen and (min-width: 960px) {
	.top-banner-inner::before {
		transition: all .3s;
	}
}

.top-banner-inner::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: calc(100% - 0px);
	height: 1px;
	background-color: #333;
}
@media only screen and (min-width: 960px) {
	.top-banner-inner::after {
		transition: all .3s;
	}
}

.top-banner-img-area {
	position: relative;
}
@media only screen and (min-width: 560px) {
	.top-banner-img-area {
		position: static;
		width: 40%;
	}
}
@media only screen and (min-width: 960px) {
	.top-banner-img-area {
		width: 47%;
	}
}

.top-banner-img {
	display: block;
	width: calc(100% + 10px);
	height: 180px;
	transform: translate(-5px, -5px);
	background: url(../img/top/top-banner_img_sp.jpg) center center no-repeat;
	background-size: cover;
}
@media only screen and (min-width: 560px) {
	.top-banner-img {
		height: calc(100% + 10px);
	/*	background: url(../img/top/top-banner_img_pc.jpg) center center no-repeat;*/
	}
}
@media only screen and (min-width: 960px) {
	.top-banner-img {
		width: calc(100% + 16px);
		height: calc(100% + 16px);
		transform: translate(-8px, -8px);
	}
}

/* top-img-area */
@media only screen and (min-width: 560px) {
	.top-banner-typo {
		position: absolute;
		bottom: -9%;
		left: auto;
		right: 10%;
		width: 65%;
	}
}

/* top-banner */
.top-banner-text-area {
	padding: 22px 30px 38px;
}
@media only screen and (min-width: 560px) {
	.top-banner-text-area {
		width: 60%;
		padding: 5% 7% 5%;
		z-index: 10;
	}
}
@media only screen and (min-width: 960px) {
	.top-banner-text-area {
		width: 53%;
		padding: 5% 5% 5% 6.5%;
	}
}

.top-banner-lead {
	margin-bottom: 15px;
	line-height: 1.8;
}
@media only screen and (min-width: 960px) {
	.top-banner-lead {
		margin-bottom: 20px;
		line-height: 1.9;
		font-size: 1.8rem;
	}
}

/* top-img-area */
@media only screen and (min-width: 560px) {
	.top-banner-lead .br {
		display: none;
	}
}

/* top-banner */
.top-banner-lead strong {
	font-weight: 400;
	color: #B13F36;
}

.top-banner-link {
	text-align: right;
}

.top-banner-link span {
	position: relative;
	display: inline-block;
	padding: 9px 70px 0 0;
	font-size: 1.25rem;
}
@media only screen and (min-width: 560px) {
	.top-banner-link span {
		font-size: 1.1rem;
	}
}
@media only screen and (min-width: 960px) {
	.top-banner-link span {
		padding: 12px 80px 0 0;
		font-size: 1.5rem;
	}
}

/* profile-sec */
.profile-sec {
	margin-bottom: 55px;margin-bottom: 0px;
	padding-bottom: 30px;padding-bottom:0px;
	overflow: hidden;
}
@media only screen and (min-width: 960px) {
	.profile-sec {
		position: relative;
		display: flex;
		align-items: flex-start;
		padding-top: 60px;
	}
}

.profile-sec-img-side {
	padding-left: 13.3%;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
}
@media only screen and (min-width: 560px) {
	.profile-sec-img-side {
		padding-left: 18%;
	}
}
@media only screen and (min-width: 960px) {
	.profile-sec-img-side {
		width: 57%;
		padding: 0;
		transform: translateY(0);
	}
}

.profile-sec.scrollin .profile-sec-img-side {
	transform: translateY(0);
	opacity: 1;
}

.profile-sec-text-side {
	position: relative;
	padding-bottom: 10px;
}
@media only screen and (min-width: 960px) {
	.profile-sec-text-side {
		position: static;
		width: 52.8%;
		margin: 15vw 0 0 -10%;
		padding: 6.2vw 3% 10px 0;
		background-color: #F5F5F5;
		background-image: url(../img/common/bg_sakura.jpg);
		z-index: 10;
	}
}

.profile-sec-text-side::before {
	content: "";
	position: absolute;
	top: 60px;
	right: -7px;
	width: 100px;
	height: 205px;
	background-size: 100px 205px;
	z-index: -10;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .8s;
}
@media only screen and (min-width: 960px) {
	.profile-sec-text-side::before {
		top: 0;
		right: -27px;
		width: 208px;
		height: 428px;
		background-size: 208px 428px;
		z-index: 10;
		transition-delay: .5s;
	}
}

@media only screen and (min-width: 960px) {
	.profile-sec.scrollin .profile-sec-text-side::before {
		transform: translateY(0);
		opacity: 1;
	}
}

.profile-sec-text-side.scrollin::before {
	transform: translateY(0);
	opacity: 1;
}

.profile-sec-ttl {
	margin-left: 0;
	position: relative;
	margin-bottom: 30px;
	padding-left: 13.3%;
	padding-top: 30px;
	font-size: 2.0rem;
	line-height: 1.7;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .2s;
}
@media only screen and (min-width: 560px) {
	.profile-sec-ttl {
		padding-left: 18%;
	}
}
@media only screen and (min-width: 960px) {
	.profile-sec-ttl {
		margin-bottom: 40px;
		padding-top: 10px;
		font-size: 2.6rem;
		line-height: 1.6;
		letter-spacing: 0.1em;
		z-index: 100;
		transition-delay: .1s;
	}
}

@media only screen and (min-width: 960px) {
	.profile-sec.scrollin .profile-sec-ttl {
		transform: translateY(0);
		opacity: 1;
	}
}

.profile-sec-text-side.scrollin .profile-sec-ttl {
	transform: translateY(0);
	opacity: 1;
}

.profile-sec-ttl::before {
	content: "";
	position: absolute;
	top: -40px;
	left: 0;
	width: 84%;
	height: 42px;
	background-color: #F5F5F5;
	opacity: 0;
}
@media only screen and (min-width: 560px) {
	.profile-sec-ttl::before {
		background-image: url();
	}
}

.profile-sec-text-side .sec-lead {
	margin-bottom: 30px;
	padding: 0 13.3%;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .4s;
}
@media only screen and (min-width: 560px) {
	.profile-sec-text-side .sec-lead {
		padding: 0 18%;
	}
}
@media only screen and (min-width: 960px) {
	.profile-sec-text-side .sec-lead {
		position: relative;
		margin-bottom: 65px;
		z-index: 100;
		transition-delay: .3s;
	}
}

@media only screen and (min-width: 960px) {
	.profile-sec.scrollin .sec-lead {
		transform: translateY(0);
		opacity: 1;
	}
}

.profile-sec-text-side.scrollin .sec-lead {
	transform: translateY(0);
	opacity: 1;
}

div.link {
	padding-bottom: 5%;
	padding-right: 0%;
	text-align: right;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: 1.0s;
}
@media only screen and (min-width: 960px) {
	div.link {
		transition-delay: .7s;
	}
}

.profile-sec-text-side.scrollin div.link {
	transform: translateY(0);
	opacity: 1;
}

/* blog-sec */
.blog-sec {
	position: relative;
	margin-bottom: 100px;margin-bottom: 30px;
	padding-bottom: 50px;padding-bottom: 30px;
}
@media only screen and (min-width: 560px) {
	.blog-sec {
		margin-bottom: 140px;margin-bottom: 30px;
		padding-bottom: 80px;padding-bottom: 30px;
	}
}
@media only screen and (min-width: 960px) {
	.blog-sec {
		margin-bottom: 100px;margin-bottom: 0px;
		padding-bottom: 100px;padding-bottom: 0px;
	}
}

.blog-sec::before {
	content: "";
	position: absolute;
	top: 30px;
	left: 21%;
	width: 79%;
	height: calc(100% - 30px);
	background-color: #fff;
	background-image: url("../img/common/bg_sakura.jpg");
	z-index: -10;
}
@media only screen and (min-width: 960px) {
	.blog-sec::before {
		top: 40px;
		left: 22.8%;
		width: 77.2%;
	}
}

.blog-sec::after {
	content: "";
	position: absolute;
	top: -120px;
	left: 5%;
	width: 89px;
	height: 175px;
	padding-bottom: 5px;
	background-size: cover;
	z-index: -1;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .8s;
}
@media only screen and (min-width: 560px) {
	.blog-sec::after {
		top: -40px;
	}
}
@media only screen and (min-width: 960px) {
	.blog-sec::after {
		top: -70px;
		left: 0;
		width: 197px;
		height: 388px;
		z-index: 1;
		transition: all 1.5s;
	}
}

.blog-sec.scrollin::after {
	transform: translateY(0);
	opacity: 1;
}

.blog-sec .sec-ttl {
	margin-bottom: 40px;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .2s;
	position: absolute;
	top: 50px;
	left: 10%;
}
@media only screen and (min-width: 560px) {
	.blog-sec .sec-ttl {
		margin-bottom: 60px;
	}
}
@media only screen and (min-width: 960px) {
	.blog-sec .sec-ttl {
		margin-bottom: 115px;
		transition-delay: .01s;
		top: 100px;
	}
}

.blog-sec.scrollin .sec-ttl {
	transform: translateY(0);
	opacity: 1;
}

.blog-sec-slide-btn {
	display: flex;
	position: absolute;
	bottom: 95px;
	left: 10%;
	width: 90px;
	margin: 0;
	text-align: left;
	z-index: 100;
}
@media only screen and (min-width: 560px) {
	.blog-sec-slide-btn {
		bottom: 115px;
	}
}
@media only screen and (min-width: 960px) {
	.blog-sec-slide-btn {
		top: 105px;
		right: 8.5%;
		bottom: auto;
		left: auto;
	}
}

.blog-sec-slide-btn .left-btn,
.blog-sec-slide-btn .right-btn {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #111;
}

.blog-sec-slide-btn .left-btn:focus,
.blog-sec-slide-btn .right-btn:focus {
	outline: 0;
}

.blog-sec-slide-btn .left-btn {
	margin-right: 10px;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .8s;
}
@media only screen and (min-width: 960px) {
	.blog-sec-slide-btn .left-btn {
		transition-delay: .4s;
	}
}

.blog-sec.scrollin .blog-sec-slide-btn .left-btn {
	transform: translateY(0);
	opacity: 1;
}

.blog-sec-slide-btn .right-btn {
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .9s;
}
@media only screen and (min-width: 960px) {
	.blog-sec-slide-btn .right-btn {
		transition-delay: .5s;
	}
}

.blog-sec.scrollin .blog-sec-slide-btn .right-btn {
	transform: translateY(0);
	opacity: 1;
}

.blog-sec-slide-btn .left-btn::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 15px;
	width: 7px;
	height: 6px;
	background: url(../img/common/slide-btn-arrow-left.svg) 0 0 no-repeat;
	background-size: 7px 6px;
}
@media only screen and (min-width: 960px) {
	.blog-sec-slide-btn .left-btn::before {
		transition: left .3s;
	}
}

.blog-sec-slide-btn .right-btn::before {
	content: "";
	position: absolute;
	top: 17px;
	right: 15px;
	width: 7px;
	height: 6px;
	background: url(../img/common/slide-btn-arrow-right.svg) 0 0 no-repeat;
	background-size: 7px 6px;
}
@media only screen and (min-width: 960px) {
	.blog-sec-slide-btn .right-btn::before {
		transition: right .3s;
	}
}

.blog-sec-list-wrap {
	padding-left: 10%;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .6s;
}
@media only screen and (min-width: 960px) {
	.blog-sec-list-wrap {
		padding-left: 10.7%;
		transition-delay: .3s;
	}
}

.blog-sec.scrollin .blog-sec-list-wrap {
	transform: translateY(0);
	opacity: 1;
}

.blog-sec-list {
	margin: 120px 0 70px 0;
}
@media only screen and (min-width: 560px) {
	.blog-sec-list {
		margin: 120px 0 90px 0;
	}
}
@media only screen and (min-width: 960px) {
	.blog-sec-list {
		margin: 240px 0 70px 0;
	}
}

.blog-sec-list li {
	position: relative;
	width: 160px;
	margin-right: 25px;
	vertical-align: top;
}
@media only screen and (min-width: 560px) {
	.blog-sec-list li {
		width: 220px;
	}
}
@media only screen and (min-width: 960px) {
	.blog-sec-list li {
		width: 280px;
		margin-right: 50px;
	}
}

.swiper-slide {
	height: auto;
}

.blog-list-img {
	margin-bottom: 10px;
}
@media only screen and (min-width: 960px) {
	.blog-list-img {
		position: relative;
		border-radius: 10px;
		margin-bottom: 13px;
		overflow: hidden;
		z-index: 1;
	}
}

@media only screen and (min-width: 960px) {
	.blog-list-img span {
		display: inline-block;
	}
}

.blog-list-img span img {
	border-radius: 10px;
}
@media only screen and (min-width: 960px) {
	.blog-list-img span img {
		border-radius: 0;
		transform: scale3d(1,1,1);
		transition: all .4s;
	}
}

@media only screen and (min-width: 960px) {
	.blog-sec-list a:hover .blog-list-img span img {
		transform: scale3d(1.1,1.1,1.1);
	}
}

.blog-list-info {
	position: relative;
}

.blog-list-category {
	display: flex;
	flex-wrap: wrap;
	padding-top: 24px;
}
@media only screen and (min-width: 560px) {
	.blog-list-category {
		padding-top: 28px;
	}
}
@media only screen and (min-width: 960px) {
	.blog-list-category {
		padding-top: 30px;
	}
}

.blog-list-category span {
	margin: 0 4px 4px 0;
	padding: 4px 7px 4px;
	border: 1px solid #111;
	border-radius: 20px;
	background-color: #fff;
	font-size: 1.0rem;
	transform-origin: top left;
	letter-spacing: 0.01em;
	line-height: 1.0;
}
@media only screen and (min-width: 560px) {
	.blog-list-category span {
		border-radius: 10px;
	}
}
@media only screen and (min-width: 960px) {
	.blog-list-category span {
		padding: 4px 8px 4px;
		border-radius: 20px;
		font-size: 1.1rem;
	}
}

.blog-list-date {
	position: absolute;
	top: 0;
	right: 0;
	font-family: "Lato", sans-serif;
	letter-spacing: 0.06em;
	font-size: 1.0rem;
}
@media only screen and (min-width: 960px) {
	.blog-list-date {
		font-size: 1.2rem;
	}
}

.blog-list-ttl {
	margin-top: 5px;
	font-size: 1.3rem;
	line-height: 1.8;
}
@media only screen and (min-width: 960px) {
	.blog-list-ttl {
		margin-top: 8px;
		font-size: 1.8rem;
		line-height: 1.7;
		transition: color .4s;
	}
}

@media only screen and (min-width: 960px) {
	.blog-sec-list a:hover .blog-list-ttl {
		color: #999;
	}
}

.blog-sec.scrollin div.link {
	transform: translateY(0);
	opacity: 1;
}

/* mission-sec */
.mission-sec {
	position: relative;
	margin-bottom: 70px;
	padding-bottom: 30px;padding-bottom:0px;
}
@media only screen and (min-width: 560px) {
	.mission-sec {
		/*margin-bottom: 120px;*/
	}
}
@media only screen and (min-width: 960px) {
	.mission-sec {
		margin-bottom: 220px;margin-bottom:0px;
		padding-top: 50px;
		overflow: hidden;
	}
}

.mission-sec::after {
	content: "";
	position: absolute;
	top: 50px;
	right: 5px;
	width: 93px;
	height: 284px;
	background-size: cover;
	z-index: -1;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .4s;
}
@media only screen and (min-width: 960px) {
	.mission-sec::after {
		top: 0;
		right: -17px;
		width: 198px;
		height: 604px;
		transition-delay: .8s;
	}
}

.mission-sec.scrollin::after {
	transform: translateY(0);
	opacity: 1;
}

.mission-sec .sec-ttl {
	margin-bottom: 40px;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .2s;
}
@media only screen and (min-width: 960px) {
	.mission-sec .sec-ttl {
		position: absolute;
		top: 50px;
		left: calc(11.4% - 40px);
	}
}

.mission-sec.scrollin .sec-ttl {
	transform: translateY(0);
	opacity: 1;
}

@media only screen and (min-width: 960px) {
	.mission-sec .sec-ttl .jpn {
		font-size: 2.6rem;
	}
}

.mission-sec-list {
	position: relative;
	padding-left: 10%;
}
@media only screen and (min-width: 960px) {
	.mission-sec-list {
		width: 57.2%;
		margin-left: 22.8%;
		padding: 0;
	}
}

.mission-sec-list::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10%;
	width: 1px;
	height: 100%;
	background-color: #111;
}
@media only screen and (min-width: 960px) {
	.mission-sec-list::before {
		left: 0;
	}
}

.mission-sec-list li {
	position: relative;
	margin-bottom: 55px;
	padding: 0 11% 50px 13%;
}
@media only screen and (min-width: 960px) {
	.mission-sec-list li {
		margin-bottom: 60px;
		padding: 0 10% 60px 26%;
	}
}

.mission-sec-list li:last-child {
	margin-bottom: 0;
	padding: 0 11% 40px 13%;
}
@media only screen and (min-width: 960px) {
	.mission-sec-list li:last-child {
		padding: 0 10% 20px 26%;
	}
}

.mission-sec-list li::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 89%;
	height: 1px;
	background-color: #111;
}
@media only screen and (min-width: 960px) {
	.mission-sec-list li::after {
		width: 100%;
	}
}

.mission-sec-list li:last-child::after {
	display: none;
}

.mission-list-num {
	display: block;
	width: 40px;
	margin-bottom: 35px;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .01s;
}
@media only screen and (min-width: 960px) {
	.mission-list-num {
		position: absolute;
		top: 5px;
		left: 9%;
		width: 80px;
		margin-bottom: 0;
	}
}

.mission-sec-list li.scrollin .mission-list-num {
	transform: translateY(0);
	opacity: 1;
}

.mission-list-ttl {
	margin-bottom: 22px;
	font-size: 2.0rem;
	line-height: 1.6;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .1s;
}
@media only screen and (min-width: 960px) {
	.mission-list-ttl {
		font-size: 2.6rem;
	}
}

.mission-sec-list li.scrollin .mission-list-ttl {
	transform: translateY(0);
	opacity: 1;
}

.mission-sec .sec-lead {
	margin-bottom: 30px;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .2s;
}
@media only screen and (min-width: 960px) {
	.mission-sec .sec-lead {
		margin-bottom: 35px;
	}
}

.mission-sec-list li.scrollin .sec-lead {
	transform: translateY(0);
	opacity: 1;
}

@media only screen and (min-width: 560px) {
	.service-list-link {
		text-align: right;
		transform: translateY(30px);
		opacity: 0;
		transition: all 1.0s;
		transition-delay: .3s;
	}
}

@media only screen and (min-width: 560px) {
	.mission-sec-list li.scrollin .service-list-link {
		transform: translateY(0);
		opacity: 1;
	}
}

.mission-sec div.link {
	text-align: right;
	transform: translateY(30px);
	opacity: 0;
	transition: all 1.0s;
	transition-delay: .3s;
}

.mission-sec.scrollin div.link {
	transform: translateY(0);
	opacity: 1;
}

/* =========================================================
   Refined redesign 2026-10 / TOP
   ========================================================= */
.top-img picture img {
    border-radius: 0 18px 18px 0;
    box-shadow: 0 20px 55px rgba(40, 51, 61, .07);
}

.top-img-copy-jpn {
    color: #2f3d47;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    letter-spacing: .11em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .85);
}

.top-banner-wrapper {
    position: relative;
}

.top-banner {
    border: 1px solid #d8d7d1;
    background: #fff;
    box-shadow: 0 14px 36px rgba(40, 51, 61, .06);
}

.top-banner::before,
.top-banner::after,
.top-banner-inner::before,
.top-banner-inner::after {
    display: none;
}

.top-banner-img {
    width: 100%;
    transform: none;
    filter: saturate(.82) contrast(.97);
}

.top-banner-text-area {
    background: #fff;
}

.top-banner-lead {
    color: #3c474e;
}

.top-banner-lead strong {
    color: #8b665b;
    font-weight: 500;
}

.profile-sec-img-side img {
    border-radius: 0 10px 10px 0;
}

.profile-sec-ttl {
    color: #2d3a44;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

.blog-sec::before {
    background: #f0eee9;
    background-image: none;
}

.blog-sec-slide-btn .left-btn,
.blog-sec-slide-btn .right-btn {
    border-color: #9aa2a6;
    background: rgba(255, 255, 255, .72);
}

.blog-list-img span img {
    filter: saturate(.88);
}

.blog-list-category span {
    border-color: #b8bdbe;
    color: #58636a;
    background: rgba(255, 255, 255, .8);
}

.blog-list-date {
    color: #80878a;
}

.blog-list-ttl {
    color: #303c45;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

.mission-sec-list li {
    color: #3d484f;
}

.mission-list-ttl {
    color: #314657;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

@media only screen and (min-width: 960px) {
    .top-img {
        padding-right: 7%;
    }

    .top-img-copy-jpn {
        right: 7.5%;
        top: 23%;
        font-size: 1.85rem;
        line-height: 2.9;
    }

    .top-banner {
        border-radius: 7px;
        overflow: hidden;
    }

    .top-banner-img {
        height: 100%;
    }

    .profile-sec-text-side {
        background: rgba(242, 240, 235, .96);
        background-image: none;
        box-shadow: 0 18px 50px rgba(40, 51, 61, .07);
    }

    .profile-sec-ttl {
        letter-spacing: .09em;
    }

    .blog-sec-list li a {
        transition: transform .3s ease;
    }

    .blog-sec-list li a:hover {
        transform: translateY(-3px);
    }

    .mission-sec-list li::after {
        background-color: #c9c8c2;
    }
}

/* 2026-10-02: visual edge and restrained slider controls */
.top-img picture { display:block; overflow:hidden; border-radius:0 18px 18px 0; }
.top-img picture img { display:block; width:100%; max-width:none; border-radius:0; }
/* Crop a few pixels at the pale outer edge, without editing the photograph. */
@media (min-width:960px) {
  .top-img picture img { width:calc(100% + 4px); }
}
.blog-sec-slide-btn { width:auto; gap:10px; }
.blog-sec-slide-btn .left-btn,
.blog-sec-slide-btn .right-btn {
  box-sizing:border-box; width:46px; height:46px; margin:0;
  border:1px solid #a9a097; border-radius:8px;
  background:rgba(255,255,255,.88); box-shadow:0 3px 12px rgba(36,46,54,.07);
}
.blog-sec-slide-btn .left-btn::before,
.blog-sec-slide-btn .right-btn::before {
  content:""; position:absolute; top:17px; left:17px; right:auto;
  width:11px; height:11px; border:solid #42586d; border-width:0 1.8px 1.8px 0;
  background:none; transform:rotate(135deg);
}
.blog-sec-slide-btn .right-btn::before { left:14px; transform:rotate(-45deg); }
@media (hover:hover) {
  .blog-sec-slide-btn .left-btn:hover,
  .blog-sec-slide-btn .right-btn:hover { background:#42586d; border-color:#42586d; }
  .blog-sec-slide-btn .left-btn:hover::before,
  .blog-sec-slide-btn .right-btn:hover::before { border-color:white; }
}
