@charset "UTF-8";
/*------------------------------------------------------------

 トップページ

------------------------------------------------------------*/
/*------------------------------------------------------------
 グローバルナビ
-------------------------------------------------------------*/
#global-nav-placeholder{
	display: none;
}
#global-nav.fixed{
  position: fixed;
}
@media screen and (min-width: 950px) {
	#global-nav{
		position: static;
	}
}	

/*------------------------------------------------------------
 トップスライド
-------------------------------------------------------------*/
.topSlide{
	padding-top: 100px;
}
.topSlide-item a{
	display: block;
}
.topSlide-item img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Slick */
.slick-list {
  overflow: hidden;
}
.slick-dotted.slick-slider{
	margin-bottom: 35px;
}
.slick-dots{
	bottom: -31px;
	z-index: 100;
}
.slick-dots li{
	margin: 0 2px;
}
.slick-dots li button::before,
.slick-dots li.slick-active button:before{
	content: "";
	width: 6px;
	height: 6px;
	opacity: 1;
	border-radius: 50%;
}
.slick-dots li button::before{
	border: 2px solid var(--color-gray);
	background: #fff;
}
.slick-dots li.slick-active button:before{
	background: var(--color-gray);
}
@media screen and (max-width: 559px) {
	.topSlide{
		padding-top: 80px;
	}
	.slick-dots li button::before,
	.slick-dots li.slick-active button:before{
		content: "";
		width: 6px;
		height: 6px;
	}
	.slick-dots li button::before{
		border-width: 1px;
	}
}

/*------------------------------------------------------------
 メイン
-------------------------------------------------------------*/
.main{
	margin-top: 0;
}
.main .fbox{
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.section{
	padding: 0;
	margin-bottom: 2.5em;
}

/*------------------------------------------------------------
 リード
-------------------------------------------------------------*/
.lead{
	line-height: 2;
	padding-top: 4em;
	padding-bottom: 4em;
}
.lead .title{
	color: var(--color-black);
	font-size: 1.875em;
	letter-spacing: 1px;
	line-height: 1.5;
	margin-bottom: 0.5em;
}
.lead .title br{
	display: none;
}
@media screen and (max-width: 559px) {
	.lead{
		line-height: 1.8;
		padding-top: 2em;
		margin-bottom: 1.5em;
	}
	.lead br{
		display: none;
	}
	.lead .title{
		font-size: 1.5em;
	}
	.lead .title br{
		display: inline;
	}
}

/*------------------------------------------------------------
 サービス
-------------------------------------------------------------*/
.service{
	padding-top: 3em;
	padding-bottom: 3em;
}
.service-head{
	padding-bottom: 1.25em;
	position: relative;
}
.service-head .title{
	color: var(--color-sub);
	font-size: 1.75em;
	position: relative;
	z-index: 100;
}
.service-head .title br{
	display: none;
}
.service-head img{
	width: 248px;
	object-fit: cover;
	position: absolute;
	right: 65px;
	bottom: 0;
	transition: var(--trans-05);
}
.serviceNav{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.875em;
	position: relative;
	z-index: 1;
	transition: var(--trans-05);
}
.serviceNav-item,
.service-img,
.service-cont,
.service-cont .btn{
	transition: all .2s;
}
.serviceNav-item{
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 560px;
	color: var(--color-text);
	border-radius:10px
}
.serviceNav-item:hover{
	color: var(--color-text);
	text-decoration: none!important;
	transform: translate(-1px, -1px);
	box-shadow: 3px 4px 6px rgba(0,0,0,0.2);
}
.serviceNav-item:hover .service-img img{
	opacity: 1;
}
.serviceNav-item:hover .service-cont{
	opacity: 0.8;
}
.service-img{
	width: 40%;
	height: 100%;
	border-radius: 10px 0 0 10px;
	overflow: hidden;
}
.service-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.service-cont{
	display: flex;
	flex-direction: column;
	width: 60%;
	height: 100%;
	text-align: center;
	padding: 1.25em;
	border-radius: 0 10px 10px 0;
	background-color: var(--color-white);
}
.service-cont .title{
	font-size: 1.188em;
	margin: 0.5em 0;
}
.service-cont .btn-area{
	margin-top: auto;
}
.service-cont .btn-area > p{
	color: var(--color-pink);
	font-size: 0.875em;
	margin-bottom: 0.25em;
}
.service-cont .btn{
	color: var(--color-white);
	font-weight: bold;
	padding: 7px;
	background-color: var(--color-pink);
	background-size: cover;
	border-radius: 3px;
}
.service-cont .btn::after{
	display: inline-block;
	content: "";
	width: 13px;
	height: 13px;
	margin-left: 5px;
	background: url(../images/icon_arrow.svg) no-repeat;
}
@media screen and (max-width: 949px) {
	.serviceNav{
		gap: 1em 2em;
	}
	.service-head img{
		right: 0;
	}
}
@media screen and (max-width: 759px) {
	.service-head .title br{
		display: inline;
	}
	.service-head img{
		bottom: 70px;
	}
}
@media screen and (max-width: 559px) {
	.service{
		padding-top: 2em;
		padding-bottom: 2em;
	}
	.service-head .title{
		font-size: 1.5em;
	}
	.service-head img{
		width: 50%;
		max-width: 180px;
		bottom: 50px;
	}
	.serviceNav-item{
		width: 95%;
		flex-direction: column;
	}
	.service-img{
		width: 100%;
		height: 120px;
		border-radius: 10px 10px 0 0;
	}
	.service-cont{
		width: 100%;
		height: auto;
		padding-top: 0.5em;
		border-radius: 0 0 10px 10px;
	}
	.service-cont .btn-area > p{
		font-size: 1em;
	}
}

/*------------------------------------------------------------
 お知らせ・新着情報
-------------------------------------------------------------*/
.news{
	width: 68.5%;
	padding-bottom: 1.875em;
}
.news .title{
	color: var(--color-white);
	font-size: 1.125em;
	padding: 6px 1em;
	border-radius: 2px;
	background: var(--color-main);	
}
.news-area{
	/*height: 260px;*/
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
.news-item{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	font-size: 1.4rem;
	line-height: 1.5;
	padding-bottom: 1em;
	margin: 1em 0;
	border-bottom: dashed 1px #58595b;
}
.news-item dt{
	width: 9em;
}
.news-item dd{
	width: calc(100% - 9.5em);
}
.news-item dd a{
	color: var(--color-black);
	text-decoration: underline;
}
.news-item a:hover{
	color: var(--color-black);
	font-weight: bold;
	text-decoration: none;
}
.news-item img{
	max-width: 100%;
}
.news-item dd a.pdf::after{
	display: inline-block;
	content: "";
	width: 14px;
	height: 14px;
	margin-left: 3px;
	margin-bottom: -2px;
	background: url(../images/icon_pdf.svg) no-repeat center;
	background-size: cover;
}
@media screen and (max-width: 949px) {
	.news{
		width: 65%;
	}
	.news-item dt,
	.news-item dd{
		width: 100%;
	}
	.news-item dt{
		margin-bottom: 0.75em;
	}
	.news-item dd{
		padding-top: 0;
	}
}
@media screen and (max-width: 759px) {
	.news{
		width: 100%;
	}
	.news-cont{
		height: 40dvh;
	}
	.news-item{
		font-size: 1.2rem;
	}	
}

/*------------------------------------------------------------
 バナー
-------------------------------------------------------------*/
.banner{
	width: 30%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.banner-item{
	display: block;
	border: 1px solid #aaa;
}
.banner-item img{
	width: 240px;
	height: 75px;
	object-fit: cover;
}
@media screen and (max-width: 759px) {
	.banner{
		width: 100%;
		margin-top: 1em;
	}
}
@media screen and (max-width: 559px) {
	.banner{
		margin-top: 2em;
	}
}