@charset "UTF-8";
/*-----------------------------------

	base

-----------------------------------*/
section h3 {
	font-size: 38px;
	font-weight: 700;
	line-height: 1.447;
	margin-bottom: 60px;
	position: relative;
}
section h3 .en {
    display: block;
    font-size: 18px;
    font-weight: 600;
	line-height: 1.167;
    margin-bottom: 10px;
}
section .btn {
	font-size: 18px;
	font-weight: 600;
	color: #ffffff;
	background: #333333;
	width: 254px;
	padding: 14px 0 14px 43px;
	border-radius: 50vw;
	position: relative;
}
section .btn::after {
	content: '';
    display: block;
    background: url(../img/common/icon_arwlong_rt_wh.svg) no-repeat center center / contain;
    width: 21px;
    height: 7px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 37px;
    bottom: 0;
    z-index: 1;
    transition: 0.3s;
}
section .btn:hover::after {
	right: 27px;
}
@media screen and (max-width: 640px) {
	section h3 {
		font-size: 24px;
		margin-bottom: 40px;
	}
	section h3 .en {
		font-size: 14px;
		margin-bottom: 8px;
	}
	section .btn {
		font-size: 16px;
        width: 240px;
        padding: 12px 0 12px 48px;
	}
	section .btn::after {
		width: 19px;
		height: 5px;
		right: 32px;
	}
}
/*-----------------------------------

	mainvisual_block

-----------------------------------*/
#mainvisual_block {
	height: calc(100vh - 80px);
	overflow: hidden;
	position: relative;
}
#mainvisual_block .sp {
	display: none;
}
#mainvisual_block::after {
	content: '';
	display: block;
	background: url(../img/index/img_bg_mv.png) no-repeat center bottom / cover;
	width: 100%;
	height: 100%;
	margin: auto;
	position: absolute;
	inset: 0;
	z-index: -1;
}
#mainvisual_block .contents_inner {
	height: 100%;
}
/*#mainvisual_block h2 {
	display: inline-block;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.434;
	position: absolute;
	width: 460px;
	height: max-content;
	margin: auto;
	left: -620px;
	right: 0;
	bottom: 298px;
	z-index: 1;
}
#mainvisual_block h2 .bg {
	background: #FAFAF6;
	padding: 0 20px;
}
#mainvisual_block h2 .bg:last-of-type {
	padding-bottom: 5px;
}
#mainvisual_block h2 .yw {
	color: #F38200;
	margin-left: -0.5em;
	margin-right: -0.5em;
}
#mainvisual_block h2 .gr {
	color: #47A448;
	margin-left: -0.35em;
	margin-right: -0.35em;
}*/
#mainvisual_block .img {
	width: 90%;
	max-width: 1024px;
	height: min(75.89vh, 683px);
	margin: auto;
	position: absolute;
	top: 89px;
	left: -12px;
	right: 0;
	bottom: 0;
	z-index: 0;
}
#mainvisual_block .img img {
	height: 100%;
	object-fit: contain;
}
#mainvisual_block .scroll {
	writing-mode: vertical-rl;
	font-size: 14px;
	font-weight: 600;
	background: url(../img/index/icon_scroll_mv.svg) no-repeat bottom right 5px / 19px;
	width: 28px;
	height: 131px;
	padding-bottom: 27px;
	position: absolute;
	right: 41px;
	bottom: 81px;
	z-index: 1;
}
#mainvisual_block .scroll .pc {
	display: inline;
}
@media screen and (max-width: 640px) {
	#mainvisual_block {
		height: calc(100vh - 60px);
		height: calc(100svh - 60px);
	}
	#mainvisual_block::after {
		display: none;
	}
	#mainvisual_block .pc {
		display: none;
	}
	#mainvisual_block .sp {
		display: block;
	}
	#mainvisual_block .contents_inner {
		width: 100%;
	}
	#mainvisual_block .img {
		width: 100%;
		max-width: initial;
		height: 100%;
		top: 0;
		left: 0;
	}
	#mainvisual_block .scroll {
		font-size: 10px;
		width: 17.5px;
		height: 61px;
		background: url(../img/index/icon_scroll_mv.svg) no-repeat bottom right 2px / 14px;
		padding-bottom: 17px;
		right: 14px;
		bottom: 9px;
	}
	#mainvisual_block .scroll .pc {
		display: none;
	}
}
@media screen and (max-width: 540px) {
	#mainvisual_block .img {
		width: 110%;
		left: -5%;
	}
}
/*-----------------------------------

	news

-----------------------------------*/
#news {
	background: #E4E4D5;
	padding: 25px 0;
	height: 80px;
}
#news .contents_inner {
	max-width: 536px;
}
#news .news_box {
	align-items: center;
}
#news .news_box h2 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.17;
	width: 94px;
	padding: 4.5px 0;
	border-right: 1px solid #CCCCBC;
}
#news .news_box .news_link {
	display: -webkit-box;             
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1; 
	width: calc(100% - 134px);
	padding-right: 35px;
	position: relative;
}
#news .news_box .none {
	width: calc(100% - 134px);
}
#news .news_box .news_link::after {
	content: '';
	display: block;
	background: url(../img/common/icon_arwlong_rt_bk.svg) no-repeat center center / contain;
	width: 21px;
	height: 6px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: 0.3s;
}
#news .news_box .news_link:hover::after {
	right: 10px;
}
@media screen and (max-width: 640px) {
	#news {
		height: 60px;
		padding: 15px 0;
	}
	#news .news_box h2 {
		font-size: 16px;
		width: 74px;
	}
	#news .news_box .news_link {
		width: calc(100% - 94px);
		padding-right: 24px;
	}
	#news .news_box .none {
		width: calc(100% - 94px);
	}
	#news .news_box .news_link::after {
		width: 19px;
		height: 5px;
	}
}
/*-----------------------------------

	service_block

-----------------------------------*/
#service_block {
	padding: 80px 0 0;
	position: relative;
}
#service_block .service_wrapper {
	margin-bottom: 53px;
	gap: 40px 0;
}
#service_block .service_box {
	width: calc((100% - 80px) / 2);
}
#service_block .ttl {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.423;
	letter-spacing: 0.03em;
	text-align: center;
}
#service_block .btn {
	margin: -11px auto 0;
}
#service_block .bg_txt_container {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    position: absolute;
    left: 0;
    bottom: -81px;
    z-index: -1;
}
#service_block .bg_txt_wrapper {
    transition-timing-function: linear;
}
#service_block .bg_txt {
    font-size: 160px;
    font-weight: 600;
	line-height: 1.175;
    white-space: nowrap;
    width: max-content;
	color: #E4E4D5;
}
@media screen and (max-width: 840px) {
	#service_block .service_wrapper {
		justify-content: center;
	}
	#service_block .service_box {
		width: 55%;
	}
}
@media screen and (max-width: 640px) {
	#service_block {
		padding: 60px 0 0;
	}
	#service_block .service_box {
		width: 100%;
	}
	#service_block .btn {
		margin: -6px auto 0;
	}
	#service_block .ttl {
		font-size: 18px;
	}
	#service_block .bg_txt_container {
		bottom: -30px;
	}
	#service_block .bg_txt {
		font-size: 100px;
	}
}
/*-----------------------------------

	case_block

-----------------------------------*/
#case_block {
	padding: 120px 0 0;
}
#case_block h3 {
	text-align: center;
}
#case_block h3 .en {
	color: #47A448;
}
#case_block .case_container {
	margin-bottom: 40px;
	position: relative;
}
#case_block .swiper {
	width: calc(100% - 70px);
}
#case_block .swiper-wrapper {
	align-items: stretch;
}
#case_block .swiper-slide {
	background: #47A448;
	overflow: hidden;
	border-radius: 20px;
	position: relative;
}
#case_block .swiper-slide::before {
	content: '';
	display: block;
	background: url(../img/index/img_bg_case.png) no-repeat center center / cover;
	width: 100%;
	height: 100%;
	margin: auto;
	position: absolute;
	inset: 0;
	z-index: 0;
}
#case_block .swiper-slide a {
	display: flex;
	align-items: flex-start;
	color: #ffffff;
	padding: 80px 100px;
	min-height: 478px;
	position: relative;
	z-index: 1;
}
#case_block .swiper-slide .text_box {
	width: 50.7%;
}
#case_block .swiper-slide .text_box h4 {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.47;
	letter-spacing: 0.03em;
	background: url(../img/index/icon_line_case.svg) repeat-x left bottom;
	padding-bottom: 26px;
	margin-bottom: 24px;
}
#case_block .swiper-slide .text_box p {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 5;
	font-size: 18px;
}
#case_block .swiper-slide .img {
	width: 45.7%;
	height: 307px;
	overflow: hidden;
	border-radius: 20px;
}
#case_block .swiper-slide .img img {
	height: 100%;
	object-fit: cover;
}
#case_block .swiper-button-next,
#case_block .swiper-button-prev {
	width: 70px;
	height: 70px;
	padding: 0;
	border-radius: 50vw;
	margin: auto;
	top: 0;
	bottom: 0;
}
#case_block .swiper-button-next::after,
#case_block .swiper-button-prev::after {
	font-size: 0px;
	width: 21px;
	height: 7px;
}
#case_block .swiper-button-next {
	background: #333333;
	right: 0;
}
#case_block .swiper-button-next::after {
	background: url(../img/common/icon_arwlong_rt_wh.svg) no-repeat center center / contain;
}
#case_block .swiper-button-prev {
	background: #FAFAF6;
	border: 2px solid #47A448;
	left: 0;
}
#case_block .swiper-button-prev::after {
	background: url(../img/common/icon_arwlong_lt_gr.svg) no-repeat center center / contain;
}
#case_block .btn {
	margin: 0 auto;
}
@media screen and (max-width: 840px) {
	#case_block .swiper-slide a {
		flex-direction: column-reverse;
		justify-content: flex-end;
		gap: 40px 0;
	}
	#case_block .swiper-slide .text_box,
	#case_block .swiper-slide .img {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	#case_block {
		padding: 70px 0 0;
	}
	#case_block .swiper {
		width: calc(100% - 50px);
	}
	#case_block .swiper-slide {
		border-radius: 10px;
	}
	#case_block .swiper-slide a {
		padding: 20px 30px;
		min-height: 449px;
		gap: 20px 0;
	}
	#case_block .swiper-slide .text_box h4 {
		font-size: 18px;
		padding-bottom: 14px;
   		margin-bottom: 16px;
	}
	#case_block .swiper-slide .text_box p {
		font-size: 14px;
	}
	#case_block .swiper-slide .img {
		height: 157px;
		border-radius: 10px;
	}
	#case_block .swiper-button-next,
	#case_block .swiper-button-prev {
		width: 50px;
		height: 50px;
	}
	#case_block .swiper-button-next::after,
	#case_block .swiper-button-prev::after {
		width: 19px;
		height: 5px;
		transform: translateY(-1px);
	}
}
/*-----------------------------------

	seminar_block

-----------------------------------*/
#seminar_block {
	padding: 120px 0;
	position: relative;
}
#seminar_block .sp {
	display: none;
}
#seminar_block::before {
	content: '';
	display: block;
	background: url(../img/index/img_bg_seminar.png) no-repeat center top / cover;
	width: 100%;
	height: 50.94vw;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
#seminar_block h3 .en {
	color: #F38200;
}
#seminar_block .seminar_wrapper {
	align-items: center;
}
#seminar_block .ttl_box {
	width: 350px;
}
#seminar_block .contents_box {
	background: #FAFAF6;
	width: calc(100% - 500px);
	border-radius: 20px;
	transition: 0.3s;
}
#seminar_block .contents_box a {
	padding: 60px 60px 55px;
}
#seminar_block .contents_box a:nth-of-type(n+2) {
	display: none;
}
#seminar_block .contents_box a:hover {
	background: #E4E4D5;
}
#seminar_block .contents_box .tag_box {
	justify-content: flex-start;
	align-items: center;
	gap: 0 9px;
	margin-left: 36px;
	margin-bottom: 10px;
}
#seminar_block .contents_box time {
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1875;
	letter-spacing: 0.03em;
}
#seminar_block .contents_box .category {
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.42;
	letter-spacing: 0.03em;
	color: #ffffff;
	padding: 1.5px 15px 3.5px;
	border-radius: 50vw;
}
#seminar_block .contents_box .category.on {
	background: #47A448;
}
#seminar_block .contents_box .category.off {
	background: #F38200;
}
#seminar_block .contents_box h4 {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.47;
	letter-spacing: 0.03em;
	background: url(../img/index/icon_circle_case.svg) no-repeat left top 10px / 27px,
				url(../img/index/icon_line_seminar.svg) repeat-x left bottom;
	padding-left: 37px;
	padding-bottom: 24px;
	margin-bottom: 20px;
}
#seminar_block .contents_box p {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
	font-size: 18px;
}
#seminar_block .contents_box .none {
	text-align: center;
	padding: 60px 0;
}
@media screen and (min-width: 1601px) {
	#seminar_block::before {
		height: 40.94vw;
	}
}
@media screen and (max-width: 840px) {
	#seminar_block .seminar_wrapper {
		gap: 40px 0;
	}
	#seminar_block .contents_box {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	#seminar_block {
		padding: 70px 0;
	}
	#seminar_block::before {
		height: 62vw;
	}
	#seminar_block .pc {
		display: none;
	}
	#seminar_block .sp {
		display: block;
	}
	#seminar_block h3 {
		margin-bottom: 0;
	}
	#seminar_block .seminar_wrapper {
		gap: 30px 0;
	}
	#seminar_block .contents_box {
    	border-radius: 10px;
	}
	#seminar_block .contents_box a {
		padding: 20px 20px 17px;
	}
	#seminar_block .contents_box .tag_box {
		margin-left: 27px;
	}
	#seminar_block .contents_box time {
		font-size: 13px;
	}
	#seminar_block .contents_box h4 {
		font-size: 18px;
		background: url(../img/index/icon_circle_case.svg) no-repeat left top 6px / 17px,
			url(../img/index/icon_line_seminar.svg) repeat-x left bottom;
		padding-left: 27px;
		padding-bottom: 18px;
		margin-bottom: 16px;
	}
	#seminar_block .contents_box p {
		font-size: 14px;
	}
	#seminar_block .contents_box .none {
		padding: 40px 0;
	}
	#seminar_block .btn {
		margin: 40px auto 0;
	}
}
/*-----------------------------------

	others_block

-----------------------------------*/
#others_block {
	padding: 100px 0;
	position: relative;
}
#others_block .contents_inner {
	width: 85%;
}
#others_block .sp {
	display: none;
}
#others_block::after {
	content: '';
	display: block;
	background: #E4E4D5;
	width: calc(100% - 50px);
	height: 100%;
	border-top-left-radius: 60px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
#others_block .others_box {
	width: calc((100% - 80px) / 2);
	position: relative;
}
#others_block .others_box h3 {
	margin-right: 100px;
	margin-bottom: 40px;
}
#others_block #others_news h3 .en {
	color: #F38200;
}
#others_block #others_blog h3 .en {
	color: #47A448;
}
#others_block .news_box,
#others_block .blog_box {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 24px 0;
	border-bottom: 1px solid #CCCCBC;
	transition: 0.3s;
}
#others_block .news_box:nth-of-type(n+6),
#others_block .blog_box:nth-of-type(n+6) {
	display: none;
}
#others_block .news_box:hover,
#others_block .blog_box:hover {
	background: #EDEDE2;
}
#others_block .news_box:first-of-type,
#others_block .blog_box:first-of-type {
	border-top: 1px solid #CCCCBC;
}
#others_block .news_box time,
#others_block .blog_box time {
	font-weight: 600;
	letter-spacing: 0.03em;
	width: 141px;
}
#others_block .news_box h4,
#others_block .blog_box h4 {
	display: -webkit-box;             
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1; 
	font-size: 18px;
	font-weight: 400;
	width: calc(100% - 141px);
}
#others_block .index_btn {
	background: url(../img/common/icon_arwlong_rt_wh.svg) no-repeat center top 21px / 21px, #333333;
	width: 50px;
	height: 50px;
	border-radius: 50vw;
	position: absolute;
	top: 25px;
	right: 0;
	z-index: 1;
}
@media screen and (max-width: 840px) {
	#others_block .contents_inner {
		width: 80%;
	}
	#others_block .others_wrapper {
		gap: 60px 0;
	}
	#others_block .others_box {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	#others_block {
		padding: 50px 0;
	}
	#others_block::after {
		width: calc(100% - 15px);
		border-top-left-radius: 20px;
	}
	#others_block .pc {
		display: none;
	}
	#others_block .sp {
		display: block;
	}
	#others_block .others_box h3 {
		margin-right: 0;
		margin-bottom: 20px;
	}
	#others_block .news_box,
	#others_block .blog_box {
		padding: 16px 0;	
	}
	#others_block .news_box time,
	#others_block .blog_box time {
		width: 91px;
	}
	#others_block .news_box h4,
	#others_block .blog_box h4 {
		font-size: 14px;
		width: calc(100% - 91px);
	}
	#others_block .btn {
		margin: 40px auto 0;
	}
}
