@charset "UTF-8";

/* kv */
.kv-img {
	padding: 0 5px;
}

/* About Section */
.top-about {
	position: relative;
	padding: 85px 0 100px;
}

.top-about__bg .bg-circle__item--01 {
    -webkit-transform: translate(-44.75%, 1.5%);
            transform: translate(-44.75%, 1.5%);
}

.top-about__bg .bg-circle__item--02 {
    -webkit-transform: translate(47.27%, 44.36%);
            transform: translate(47.27%, 44.36%);
}

.top-about__entxt {
	font-size: 119px;
	letter-spacing: .115em;
	line-height: 1.1;
	opacity: .1;
}

.top-about__entxt > span {
	display: block;
}

.top-about__entxt > span:nth-child(even) {
	text-align: right;
}

.top-about__cont {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	margin-top: 50px;
}

.top-about__l {
	width: 47.28%;
}

.top-about__r {
	width: 52.72%;
}

.top-about__ttl {
	color: #F38201;
	font-size: 40px;
	letter-spacing: .115em;
	line-height: 1.75;
}

.top-about__txt {
	line-height: 2.688;
}

.top-about__link {
	margin-top: 35px;
	text-align: center;
}

/* Services Section */
.top-service {
	padding: 100px 0;
	border-radius: 200px 0 0 0;
	background: #FFF8F2;
}

.service-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.service-list__item {
	min-width: 0;
}

.top-service__movie {
	margin-top: 60px;
	text-align: center;
}

/* Blog Section */
.top-blog {
	position: relative;
	padding: 100px 0;
}

.top-blog .m-inner_s {
	position: relative;
}

.top-blog__bg .bg-circle__item--01 {
    -webkit-transform: translate(-61.54%, -46.54%);
            transform: translate(-61.54%, -46.54%);
}

.top-blog__bg .bg-circle__item--02 {
    -webkit-transform: translate(55%, 46.91%);
            transform: translate(55%, 46.91%);
}

.blog-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 26px;
}

.blog-list__item {
	min-width: 0;
}

.blog-list a {
	color: inherit;
	text-decoration: none;
}

.blog-list__img {
	position: relative;
	margin-bottom: 15px;
}

.blog-list__thumb {
	position: relative;
	height: 0;
	padding-top: 57.14%;
	border-radius: 10px;
	overflow: hidden;
}

.blog-list__thumb img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.blog-list__cat {
	position: absolute;
	left: 14px;
	top: 13px;
}

.blog-list__date {
	margin-bottom: 12px;
	color: #B4B4B4;
}

.blog-list__ttl {
	margin-bottom: 10px;
	font-size: 1em;
	line-height: 1.75;
}

.blog-list__txt {
	font-size: .875em;
	line-height: 2;
}

.top-blog__link {
	position: absolute;
	right: 0;
	top: 33px;
}

/* News Section */
.top-news {
	padding: 100px 0 110px;
	border-radius: 0 200px 0 0;
	background: #F3F8E5;
}

.top-news__cont {
	position: relative;
	padding-left: 36.6%;
}

.top-news__ttl {
	position: absolute;
	left: 4.16%;
	top: 0;
}

.news-list {
	position: relative;
	top: -30px;
}

.news-list .no-post {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	min-height: 260px;
}

.news-list a {
	color: inherit;
	text-decoration: none;
}

.news-list a:hover {
	opacity: 1;
}

.news-list__item {
	border-bottom: 1px solid #B4B4B4;
}

.news-list__itemInner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	position: relative;
	padding: 30px 90px 30px 0;
}

.news-list__arrow {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: absolute;
	right: 0;
	top: 50%;
	width: 51px;
	height: 51px;
	margin-top: -25px;
	border-radius: 50%;
	border: solid 1px #F38201;
	background: #fff;
	overflow: hidden;
}

@-webkit-keyframes icon-arrow {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  37% {
    -webkit-transform: translateX(3rem);
            transform: translateX(3rem);
    opacity: 1;
  }
  38% {
    -webkit-transform: translateX(3rem);
            transform: translateX(3rem);
    opacity: 0;
  }
  39% {
    -webkit-transform: translateX(-3rem);
            transform: translateX(-3rem);
    opacity: 0;
  }
  40% {
    -webkit-transform: translateX(-3rem);
            transform: translateX(-3rem);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

@keyframes icon-arrow {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  37% {
    -webkit-transform: translateX(3rem);
            transform: translateX(3rem);
    opacity: 1;
  }
  38% {
    -webkit-transform: translateX(3rem);
            transform: translateX(3rem);
    opacity: 0;
  }
  39% {
    -webkit-transform: translateX(-3rem);
            transform: translateX(-3rem);
    opacity: 0;
  }
  40% {
    -webkit-transform: translateX(-3rem);
            transform: translateX(-3rem);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

a:hover .news-list__arrow img {
	-webkit-animation: icon-arrow 0.4s cubic-bezier(0.29, 0.65, 0.62, 1) forwards;
	        animation: icon-arrow 0.4s cubic-bezier(0.29, 0.65, 0.62, 1) forwards;
}

.news-list__img {
	width: 29.27%;
}

.news-list__thumb {
	position: relative;
	height: 0;
	padding-top: 57.14%;
	border-radius: 10px;
	overflow: hidden;
}

.news-list__thumb img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.news-list__cont {
	width: 66.7%;
	margin: -.2em 0;
}

.news-list__date {
	margin-bottom: 5px;
	color: #B4B4B4;
}

.news-list__ttl {
	margin-bottom: 2px;
	font-size: 1em;
	line-height: 1.75;
}

.news-list__txt {
	font-size: .875em;
	line-height: 2;
}

.top-news__link {
	position: absolute;
	left: 4.16%;
	top: 190px;
}

.top-news__link a {
	background: #FFF;
}

/* Contact Section */
.top-contact {
	padding: 100px 0;
}

.contact-bnr {
	display: block;
	border-radius: 10px;
	background: url("../image/top/bg_contact.jpg") 50% 50% no-repeat;
	background-size: cover;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
}

.contact-bnr__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 55px 100px;
}

.contact-bnr__r {
	padding: 0 30px;
}

.top-contact__ttl {
	margin-bottom: 25px;
}

.contact-bnr:hover {
	opacity: 1;
}

.contact-bnr:hover .m-link01 {
    background: #F38201;
    color: #fff;
    opacity: 1;
}

.contact-bnr:hover .m-link01::after {
    background-image: url("../image/icon/icon_arrow1_r_w.svg");
}


@media screen and (max-width: 899px) {

	/* kv */
	.kv-img {
		padding: 17px 3.733% 0;
	}

	/* About Section */
	.top-about {
		padding: 35px 0 50px;
	}

	.top-about__entxt {
		margin: 0 -4%;
		font-size: 9.2vw;
		line-height: 1.3;
	}

	.top-about__cont {
		display: block;
		margin-top: 22px;
	}

	.top-about__l {
		width: 100%;
	}

	.top-about__r {
		width: 100%;
	}

	.top-about__ttl {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
		font-size: 26px;
		font-size: min(6.93vw, 34px);
		line-height: 1.6;
	}

	.top-about__txt {
		line-height: 2.3;
	}

	.top-about__link {
		margin-top: 25px;
	}

	/* Services Section */
	.top-service {
		padding: 50px 0;
		border-radius: 60px 0 0 0;
	}

	.service-list {
		display: block;
		text-align: center;
	}

	.service-list__item + .service-list__item {
		margin-top: 15px;
	}

	.top-service__movie {
		margin-top: 30px;
	}

	/* Blog Section */
	.top-blog {
		padding: 50px 0;
	}

	.blog-list {
		display: block;
		font-size: min(3.73vw, 16px);
	}

	.blog-list__item + .blog-list__item {
		margin-top: 45px;
	}

	.blog-list__img {
		margin-bottom: 10px;
	}

	.blog-list__thumb {
		border-radius: 7px;
	}

	.blog-list__cat {
		left: 3%;
		top: 10px;
	}

	.blog-list__date {
		margin-bottom: 8px;
	}

	.blog-list__ttl {
		margin-bottom: 7px;
	}

	.top-blog__link {
		position: static;
		margin-top: 40px;
		text-align: center;
	}

	/* News Section */
	.top-news {
		padding: 50px 0;
		border-radius: 0 60px 0 0;
	}

	.top-news__cont {
		padding-left: 0;
	}

	.top-news__ttl {
		position: static;
	}

	.news-list {
		top: -20px;
		font-size: min(3.73vw, 16px);
	}

	.news-list__itemInner {
		padding: 20px 36px 20px 0;
	}

	.news-list__arrow {
		width: 30px;
		height: 30px;
		margin-top: -15px;
	}

	.news-list__arrow img {
		width: 14px;
	}

	.news-list__img {
		width: 34%;
	}

	.news-list__thumb {
		padding-top: 80%;
		border-radius: 7px;
	}

	.news-list__cont {
		width: 60%;
	}

	.news-list__date {
		margin-bottom: 3px;
	}

	.news-list__ttl {
		margin-bottom: 5px;
	}

	.top-news__link {
		position: static;
		margin-top: 40px;
		text-align: center;
	}

	/* Contact Section */
	.top-contact {
		padding: 50px 0;
	}

	.contact-bnr {
		border-radius: 7px;
		background-image: url("../image/top/bg_contact__sp.jpg");
		text-align: center;
	}

	.contact-bnr__inner {
		display: block;
		padding: 35px 8% 28px;
	}

	.contact-bnr__r {
		padding: 0;
		margin-top: 25px;
	}

	.top-contact__ttl {
		margin-bottom: 20px;
	}

}