@charset "UTF-8";



/* -------------------------------------------

kv

------------------------------------------- */
.top-kv {
	position: relative;
	padding: 0 3rem;
	margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
	.top-kv {
		padding: 0;
		margin-bottom: 6rem;
	}
}
/* ---- deco ---- */
.top-kv .deco {
	position: absolute;
	display: block;
	right: 0;
	bottom: -19rem;
	width: 18rem;
	z-index: 10;
	mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
	.top-kv .deco {
		bottom: -14.5rem;
		width: 12rem;
	}
}
/* ---- wrap ---- */
.top-kv .wrap {
	position: absolute;
	left: 6rem;
	bottom: 8rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	z-index: 10;
}
.top-kv .wrap span {
	background: #fff;
	font-weight: 500;
	font-size: 2.4rem;
	border-radius: 2rem;
	padding: 1.4rem 2.5rem;
	line-height: 1;
	letter-spacing: 0.1em;
}
.top-kv .wrap span:not(:last-of-type) {
	margin-bottom: 1.5rem;
}
.top-kv .wrap span strong {
	font-weight: 500;
}
.top-kv .wrap span:nth-of-type(2) {
	margin-left: 3rem;
}
.top-kv .wrap span:nth-of-type(1) strong {
	color: var(--prime);
}
.top-kv .wrap span:nth-of-type(2) strong {
	color: #DE8328;
}
@media screen and (max-width: 768px) {
	.top-kv .wrap {
		left: 1.5rem;
		bottom: 2rem;
	}
	.top-kv .wrap span {
		font-size: 1.6rem;
		padding: 1.2rem 1.5rem;		
	}
	.top-kv .wrap span:not(:last-of-type) {
		margin-bottom: 0.7rem;
	}	
	.top-kv .wrap span:nth-of-type(2) {
		margin-left: 0;
	}	
}
/* ---- slider ---- */
.top-kv-slider > *:nth-of-type(1) {
	background: url(../img/top-kv-1.jpg) no-repeat center / cover;
}
.top-kv-slider > *:nth-of-type(2) {
	background: url(../img/top-kv-2.jpg) no-repeat center / cover;
}
.top-kv-slider > *:nth-of-type(3) {
	background: url(../img/top-kv-3.jpg) no-repeat center / cover;
}
.top-kv-slider > * {
	border-radius: 2rem;
}
.top-kv-slider > *,
.CMS-NOT-EDITABLE-AREA {
	height: 56rem;
}
@media screen and (max-width: 768px) {
	.top-kv-slider > * {
		border-radius: 0;
	}	
	.top-kv-slider > *,
	.CMS-NOT-EDITABLE-AREA {
		height: 36rem;
	}
}



/* -------------------------------------------

service

------------------------------------------- */
.top-service {
	background: url(../img/top-bg-1.jpg) no-repeat center / cover;
	padding: 6rem 0;
}
@media screen and (max-width: 768px) {
	.top-service {
		padding: 3rem;
	}
}
/* ---- deco ---- */
.top-service .deco {
	position: absolute;
	display: block;
	width: 16rem;
	left: 0;
	bottom: -8rem;
	z-index: 10;
	mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
	.top-service .deco {
		width: 12rem;
		bottom: -6rem;
	}
}
/* ---- wrap ---- */
.top-service .wrap {
	background: #fff;
	border-radius: 3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 8rem 0;
}
.top-service p {
	text-align: center;
	margin-bottom: 4.5rem;
}
@media screen and (max-width: 768px) {
	.top-service .wrap {
		padding: 6rem 3rem;
	}
	.top-service p {
		text-align: left;
	}	
}



/* -------------------------------------------

time

------------------------------------------- */
.top-time {
	padding: 10rem 0;
}
@media screen and (max-width: 768px) {
	.top-time {
		padding: 8rem 3rem;
	}
}
/* ---- deco ---- */
.top-time .deco {
	position: absolute;
	display: block;
	width: 18rem;
	right: 0;
	bottom: -13rem;
	z-index: 10;
	mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
	.top-time .deco {
		width: 12rem;
		bottom: -10rem;
	}
}
/* ---- table ---- */
@media screen and (max-width: 768px) {
	.table-wrap {
		overflow-x: scroll;
		padding-bottom: 1rem;
	}
}
table {
	width: 100%;
	border-collapse: collapse;
}
table th,
table td {
	width: calc(100% - 6);
	border: solid 0.2rem #fff;
	padding: 2rem 0;
	text-align: center;
	font-weight: normal;
	line-height: 1;
}
table th {
	background: var(--orange);
	color: #fff;
	font-size: 1.8rem;
}
table td {
	background: #FFF9E5;
}
@media screen and (max-width: 768px) {
	table th,
	table td {
		white-space: nowrap;
		padding: 1.5rem 1rem;
	}
	table th {
		font-size: 1.6rem;
	}
	table td {
		font-size: 1.3rem;
	}	
}
/* ---- dl ---- */
.top-time dl {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2rem;
}
.top-time dl dt {
	width: 10rem;
	font-weight: bold;
	color: var(--orange);
}
.top-time dl dt::before {
	content: "●";
	margin-right: 0.4rem;
}
.top-time dl dd {
	width: calc(100% - 10rem);
}
.top-time dl dd:not(:last-of-type) {
	margin-bottom: 0.8rem;
}
@media screen and (max-width: 768px) {
	.top-time dl {
		display: block;
	}
	.top-time dl dt {
		width: 100%;
		margin-bottom: 0.3rem;
	}
	.top-time dl dd {
		width: 100%;
	}
	.top-time dl dd:not(:last-of-type) {
		margin-bottom: 1.5rem;
	}	
}



/* -------------------------------------------

concept

------------------------------------------- */
.top-concept {
	padding: 10rem 0;
	background: url(../img/top-bg-2.jpg) no-repeat center / cover;
}
@media screen and (max-width: 768px) {
	.top-concept {
		padding: 8rem 3rem;
	}
}
/* ---- deco ---- */
.top-concept .deco {
	position: absolute;
	display: block;
	width: 22rem;
	left: 0;
	bottom: -12rem;
	z-index: 10;
	mix-blend-mode: multiply;
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	.top-concept .deco {
		width: 12rem;
		bottom: -6rem;
	}
}
/* ---- wrap ---- */
.top-concept .wrap {
	display: flex;
}
.top-concept .wrap > * {
	width: 50%;
}
.top-concept .wrap > div {
	padding-top: 2rem;
	padding-left: 6rem;
}
.top-concept h3 {
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.1em;
}
.top-concept p {
	margin: 3rem 0 5rem 0;
}
@media screen and (max-width: 768px) {
	.top-concept .wrap {
		display: block;
	}
	.top-concept .wrap > * {
		width: 100%;
	}
	.top-concept .wrap > div {
		padding-top: 2rem;
		padding-left: 0;
	}
	.top-concept p {
		margin: 2rem 0 4rem 0;
	}
	.top-concept .more {
		margin: 0 auto
	}	
}



/* -------------------------------------------

news

------------------------------------------- */
.top-news {
    padding: 10rem 0;
}
@media screen and (max-width: 768px) {
    .top-news {
        padding: 8rem 3rem;
    }   
}
/* ---- more ---- */
.top-news .more {
    margin: 4rem auto 0 auto;
}
/* ---- cms ---- */
.top-news .CMS-NEWS-INDEX {
    padding-bottom: 0;
}
.top-news .CMS-NEWS-MORE-READ {
    display: none;
}



/* -------------------------------------------

faq

------------------------------------------- */
.top-faq {
	margin-bottom: 10rem;
}
@media screen and (max-width: 768px) {
	.top-faq {
		margin-bottom: 6rem;
	}
}
/* ---- deco ---- */
.top-faq .deco {
	position: absolute;
	display: block;
	width: 18rem;
	right: 0;
	bottom: -18rem;
	z-index: 10;
	mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
	.top-faq .deco {
		width: 12rem;
		bottom: -11rem;
		pointer-events: none;
	}
}
/* ---- wrap ---- */
.top-faq .wrap {
	background: #FFF9E5;
	border-radius: 2rem;
	padding: 6rem 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.top-faq p {
	text-align: center;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.top-faq .wrap {
		border-radius: 0;
		padding: 6rem 3rem;
	}
	.top-faq p {
		text-align: left;
	}
}



/* -------------------------------------------

info

------------------------------------------- */
.top-info {
	padding: 10rem 0;
	background: url(../img/top-bg-3.jpg) no-repeat center top / cover;
}
@media screen and (max-width: 768px) {
	.top-info {
		padding: 8rem 3rem;
	}
}
/* ---- wrap ---- */
.top-info .wrap {
	display: flex;
	align-items: center;
}
.top-info .wrap > div {
	width: 65%;
}	
.top-info .wrap > figure {
	width: 35%;
}
.top-info h2 {
	align-items: flex-start;
}
.top-info p {
	margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
	.top-info .wrap {
		display: block;
	}
	.top-info .wrap > div {
		width: 100%;
	}	
	.top-info .wrap > figure {
		width: 100%;
	}
	.top-info h2 {
		align-items: center;
	}
	.top-info p {
		margin-bottom: 3.5rem;
	}	
	.top-info .more {
		margin: 0 auto 4rem auto;
	}
}



/* -------------------------------------------

recruit

------------------------------------------- */
.top-recruit {
	padding: 6rem 0;
	background: url(../img/top-bg-4.jpg) no-repeat center / cover;
}
@media screen and (max-width: 768px) {
	.top-recruit {
		padding: 3rem;
	}
}
/* ---- wrap ---- */
.top-recruit .wrap {
	padding: 6rem 0;
	background: rgba(255,249,229,0.85);
	border-radius: 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.top-recruit p {
	text-align: center;
	margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
	.top-recruit .wrap {
		padding: 6rem 3rem;
	}
	.top-recruit p {
		text-align: left;
	}	
}



/* -------------------------------------------

access

------------------------------------------- */
.top-access {
	padding: 20rem 0 12rem 0;
}
@media screen and (max-width: 768px) {
	.top-access {
		padding: 12rem 0 8rem 0;
	}
}
/* ---- deco ---- */
.top-access .deco-1 {
	position: absolute;
	display: block;
	width: 18rem;
	left: 0;
	top: -6.5rem;
	z-index: 10;
	mix-blend-mode: multiply;
}
.top-access .deco-2 {
	position: absolute;
	display: block;
	width: 16rem;
	right: 0;
	bottom: 26rem;
	z-index: 10;
	mix-blend-mode: multiply;
}
@media screen and (max-width: 768px) {
	.top-access .deco-1 {
		width: 12rem;
		top: -4.5rem;
	}
	.top-access .deco-2 {
		width: 13rem;
		bottom: 3rem;
	}
}
/* ---- wrap ---- */
.top-access .wrap {
	margin-top: 10rem;
	display: flex;
	align-items: center;
}
.top-access .wrap > figure {
	width: 40%;
}
.top-access .wrap > dl {
	width: 60%;
	padding-left: 6rem;
}
.top-access .wrap > dl dd:not(:last-of-type) {
	margin-bottom: 2rem;
}
.top-access .wrap > dl dt {
	margin-bottom: 0.4rem;
}
.top-access .wrap > dl dt::before {
	content: "●";
	margin-right: 0.3rem;
}
@media screen and (max-width: 768px) {
	.top-access .wrap {
		margin-top: 3rem;
		display: block;
		padding: 0 3rem;
	}
	.top-access .wrap > figure {
		width: 100%;
		margin-bottom: 3rem;
	}
	.top-access .wrap > dl {
		width: 100%;
		padding-left: 0;
	}
}



/* -------------------------------------------

faq

------------------------------------------- */
.faq-list dt,
.faq-list dd {
	display: flex;
	padding: 1.2rem 2rem 1.3rem 2rem;
}
.faq-list dt {
	align-items: center;
	background: #fff9e5;
	border-left: solid 0.4rem var(--prime);
}
.faq-list dt span:nth-child(1),
.faq-list dd span:nth-child(1) {
	color: var(--prime);
	font-size: 2rem;
	line-height: 1;
	padding-bottom: 0.2rem;
}
.faq-list dt span:nth-child(2),
.faq-list dd span:nth-child(2) {
	padding-left: 1.8rem;
}
.faq-list dt span:nth-child(2) {
	font-size: 1.6rem;
	color: var(--prime);
}
.faq-list dd:not(:last-of-type) {
	margin-bottom: 2rem;
}
.faq-list dd a {
	color: var(--prime);
	text-decoration: none;
	display: flex;
	align-items: center;
	margin-top: 0.5rem;
	font-size: 1.8rem;
}
.faq-list dd a i {
	font-size: 1rem;
	margin-right: 0.3rem;
	margin-top: 0.25rem;
}
@media screen and (max-width: 768px) {
	.faq-list dd a i {
		margin-top: 0.35rem;
	}
}



/* -------------------------------------------

info

------------------------------------------- */
.info-flow ul li {
	font-size: 1.6rem;
}
.info-flow ul li:not(:last-child) {
	margin-bottom: 1.5rem;
}
.info-contact a {
	display: flex;
	align-items: center;
	font-size: 2.4rem;
	color: var(--prime);
	text-decoration: none;
	line-height: 1;
	margin-top: 1.5rem;
}
.info-contact a i {
	font-size: 1.4rem;
	margin-right: 0.4rem;
	margin-top: 0.3rem;
}
@media screen and (max-width: 768px) {
	.info-contact a {
		font-size: 2.8rem;
		justify-content: center;
	}	
	.info-contact a span {
		border-bottom: solid 0.15rem var(--prime);
	}
	.info-contact a i {
		font-size: 1.6rem;
	}	
}

.info_img {
	display: flex;
	margin-top: 3rem;
}

.info_img li {
	margin: 1rem;
}

@media screen and (max-width: 768px) {
	.info_img {
	flex-direction: column;
}
}



/* -------------------------------------------

recruit

------------------------------------------- */
.recruit-contact p {
	text-align: center;
	margin-bottom: 3rem;
	font-size: 1.5rem;
}
.recruit-contact a {
	display: flex;
	align-items: center;
	font-size: 2.4rem;
	color: var(--prime);
	text-decoration: none;
	line-height: 1;
	margin-top: 1.5rem;	
	justify-content: center;
}
.recruit-contact a i {
	font-size: 1.4rem;
	margin-right: 0.4rem;
	margin-top: 0.35rem;
}
@media screen and (max-width: 768px) {
	.recruit-contact p {
		text-align: left;
	}
	.recruit-contact a {
		font-size: 2.8rem;
		justify-content: center;
	}		
	.recruit-contact a span {
		border-bottom: solid 0.15rem var(--prime);
	}	
	.recruit-contact a i {
		font-size: 1.6rem;
	}	
}