@charset "UTF-8";
/* CSS Document */
/*---------------------------------------------------------------------------------------------------------------------
	MV
---------------------------------------------------------------------------------------------------------------------*/
/*--------------------------
　扉ページ
--------------------------*/
.c-mv-index {
	position: relative;
	background: url("/common/images/mv_index_pc.png") no-repeat center top;
	padding-top: 135px;
}

.c-mv-index__area {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1520px;
	padding-left: 50px;
	margin: 0 auto;
	height: 100%;
    min-height: 550px;
}

.c-mv-index__titleInner {
	width: 60%;
    padding-bottom: 0;
}

.c-mv-index__title {
	font-size: 4rem;
	color: #2043b4;
	line-height: 1.2;
	letter-spacing: 3%;
}

.c-mv-index__span {
	display: inline-block;
	margin-left: 7px;
	font-size: 2rem;
	color: #333333;
	position: relative;
	padding-left: 35px;
	letter-spacing: 0;
}

.c-mv-index__span::before {
	content: "";
	display: block;
	width: 28px;
	height: 4px;
	position: absolute;
	top: 20px;
	left: 0;
	background-color: #333333;
	transform: rotate(-72deg);
}

.c-mv-index__head {
	font-size: 1.5rem;
	margin-top: 65px;
	font-weight: 500;
}

.c-mv-index__text {
	font-size: 1.12rem;
	margin-top: 30px;
	line-height: 2;
}

@media screen and (max-width: 1500px) {
	
	.c-mv-index {
		background-size: 114%;
		background-position: center;
	}
	
}

@media screen and (max-width: 750px) {
	
	.c-mv-index {
		padding-top: 90px;
	}
	
	.c-mv-index__area {
		display: block;
		padding: 0 20px;
        min-height: 0;
	}
	
	.c-mv-index__titleInner {
		width: 100%;
        padding-bottom: 0;
	}
	
	.c-mv-index__title {
		font-size: 2.68rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding-bottom: 5vw;
	}
	
	.c-mv-index__span {
		margin-left: 0;
		font-size: 1.12rem;
		transform: translateY(0);
        margin-top: 5px;
		padding-left: 20px;
	}
	
	.c-mv-index__span::before {
        height: 2px;
        top: 10px;
        width: 15px;
	}
	
	.c-mv-index__head {
		font-size: 1.25rem;
        line-height: 1.5;
		margin-top: 10px;
	}
	
	.c-mv-index__text {
		font-size: 1rem;
		margin-top: 10px;
	}

}

/*--------------------------
　中面ページ
--------------------------*/
.c-mv-pages {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1540px;
	padding-top: 135px;
	padding-left: 40px;
	padding-right: 40px;
	margin: 0 auto;
	min-height: 475px;
}

.c-mv-pages__area {
	position: relative;
}

.c-mv-pages__icon {
	position: absolute;
	top: calc(50% - 125px);
	left: -140px;
}

.c-mv-pages__title {
	font-size: 4rem;
	color: #00a3e9;
	line-height: 1.2;
	letter-spacing: 2%;
	font-weight: 600;
	position: relative;
	z-index: 1;
	word-break: break-word;
}

.c-mv-pages__span {
	display: inline-block;
	margin-left: 14px;
	font-size: 1.75rem;
	color: #333333;
	position: relative;
	padding-left: 30px;
	letter-spacing: 0;
}

.c-mv-pages__span::before {
	content: "";
	display: block;
	width: 28px;
	position: absolute;
	height: 3px;
	top: 16px;
	left: 0;
	background-color: #333333;
	transform: rotate(-72deg);
}

@media screen and (max-width: 750px) {
	
	.c-mv-pages {
		padding: 90px 20px 15px;
		min-height: 210px;
        background: url("/common/images/pages_mv_bg_sp.png") no-repeat left top / 345px;
        justify-content: flex-start;
	}
	
	.c-mv-pages__title {
		font-size: 2.25rem;
	}
	
	.c-mv-pages__span {
		font-size: 1.12rem;
        margin-top: 10px;
		margin-left: 4px;
		padding-left: 20px;
        display: block;
	}
	
	.c-mv-pages__span::before {
		width: 15px;
        top: 9px;
        height: 2px;
	}
    
    .c-mv-pages__icon {
        display: none;
    }
	
}


/*---------------------------------------------------------------------------------------------------------------------
	お知らせ
---------------------------------------------------------------------------------------------------------------------*/
.c-news__item {
	font-size: 1.12rem;
    line-height: 1.6;
}

.c-news__flex {
	display: flex;
	padding: 20px 0;
	border-bottom: solid 1px #e0e0e0;
	align-items: flex-start;
}

.c-news__date {
	width: 110px;
}

.c-news__icon {
	min-width: 110px;
	text-align: center;
	color: #fff;
	padding: 8px;
	line-height: 1;
	box-sizing: border-box;
	border-radius: 3px;
}

.c-news__icon--news {
	background-color: #2043b4;
}

.c-news__icon--recruit {
	background-color: #00a3e9;
}

.c-news__icon--sdgs {
	background-color: #3ec366;
}

.c-news__icon--blog {
	background-color: #9747ff;
}

.c-news__text {
	flex: 1;
	margin-left: 28px;
}


@media (any-hover: hover) {
	
	a.c-news__flex:hover {
		color: #333333;
	}
	
	a.c-news__text {
		transition: 0.4s;
	}
	
	a.c-news__flex:hover .c-news__text {
		color: #2043b4;
		text-decoration: underline;
	}

}

@media screen and (max-width: 750px) {
	
	.c-news__item {
		font-size: 1rem;
	}
	
	.c-news__flex {
		flex-wrap: wrap;
		align-items: center;
		padding: 15px 0;
	}
	
	.c-news__date {
		width: 95px;
	}
	
	.c-news__icon {
		font-size: 0.9rem;
		padding: 6px;
		min-width: 80px;
	}
	
	.c-news__text {
		flex: auto;
		margin: 5px 0 0;
		width: 100%;
	}
}

/* ページャー */
.pagination {
    margin: 60px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page-numbers {
    margin: 0 5px;
    min-width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    text-align: center;
    border-radius: 5px;
    font-weight: 500;
}

.page-numbers.dots,
.page-numbers.prev,
.page-numbers.next {
    background-color: transparent;
}

.page-numbers.current {
    background-color: #2043b4;
    color: #fff;
}

@media screen and (max-width: 750px) {
    
    .pagination {
        margin-top: 30px;
    }

}

@media (any-hover: hover) {
	
    .page-numbers {
		transition: 0.4s;
    }
    
	.page-numbers:hover {
        background-color: #2043b4;
        color: #fff;
	}
    
    .page-numbers.dots:hover {
        background-color: transparent;
        color: #333333;
    }
    
    .page-numbers.prev:hover,
    .page-numbers.next:hover {
        opacity: 0.7;
        background-color: transparent;
        color: #333333;
	}

}



/*---------------------------------------------------------------------------------------------------------------------
	タイトル
---------------------------------------------------------------------------------------------------------------------*/
.c-common-mainHead {
	font-size: 4rem;
	color: #0093fa;
	text-align: center;
	letter-spacing: 0.12em;
	line-height: 1.3;
}

.c-common-mainHead__sub {
	font-size: 1.12rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}


.c-common__head {
	font-size: 2.25rem;
	font-weight: 400;
	text-align: center;
	position: relative;
	padding-bottom: 15px;
}

.c-common__head::after {
	content: "";
	display: block;
	background-color: #00a0e3;
	width: 88px;
	height: 3px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}

.c-common__head--underline {
	font-size: 1.75rem;
	font-weight: 500;
	border-bottom: solid 2px #cccccc;
	padding-bottom: 2px;
}

.c-common__head--subheading {
    font-size: 1.25rem;
    font-weight: 500;
}

.c-common__head--color {
	color: #00a0e3;
	font-size: 1.375rem;
	font-weight: 500;
}

.c-line__head {
	color: #2043b4;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
	border-bottom: solid 3px #00a3e9;
	padding-bottom: 5px;
}

.c-line__head--center {
	color: #2043b4;
	font-size: 2rem;
	line-height: 1.5;
	font-weight: 500;
	text-align: center;
	max-width: 820px;
	margin: 0 auto;
	border-bottom: solid 3px #00a3e9;
	padding-bottom: 5px;
}

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

	.c-line__head,
	.c-line__head--center {
		font-size: 1.75rem;
	}

}

@media screen and (max-width: 750px) {
	
	.c-common__head {
		font-size: 1.75rem;
		padding-bottom: 5px;
	}
	
	.c-common__head::after {
		width: 50px;
		height: 2px;
	}
	
	.c-common__head--underline {
		font-size: 1.25rem;
		padding-bottom: 7px;
	}
    
    .c-common__head--subheading {
        font-size: 1.12rem;
    }
    
	.c-line__head,
	.c-line__head--center {
		font-size: 1.5rem;
	}
	
}

/*---------------------------------------------------------------------------------------------------------------------
	テキスト
---------------------------------------------------------------------------------------------------------------------*/
/*----------------------
	sub
-----------------------*/
.c-common__sub {
	font-size: 0.5em;
}

.c-common__sup {
	font-size: 0.5em;
}

/*----------------------
	リード文
-----------------------*/
.c-common__read {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2;
	text-align: center;
}

@media screen and (max-width: 750px) {
	.c-common__read {
		font-size: 1.25rem;
	}
}


/*----------------------
	アイコン
-----------------------*/
.c-common-icon__pdf {
	background: url("/common/images/icon_pdf.png") no-repeat left 0.14em;
	padding-left: 30px;
	min-height: 25px;
	display: inline-block;
}

/*---------------------------------------------------------------------------------------------------------------------
	リスト
---------------------------------------------------------------------------------------------------------------------*/
/*----------------------
	扉ページリスト
-----------------------*/
.c-index__list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 60px;
}

.c-index__item {
	width: 48%;
	margin-left: 4%;
}

.c-index__item:nth-child(2n+1) {
	margin-left: 0;
}

.c-index__item:nth-child(n+3) {
	margin-top: 63px;
}

.c-index__img {
	border-radius: 25px;
	overflow: hidden;
}

.c-index__caption {
	display: block;
	margin-top: 17px;
	padding-left: 60px;
	font-size: 1.25rem;
	position: relative;
}

.c-index__caption::before,
.c-index__caption::after {
	content: "";
	display: block;
	position: absolute;
}

.c-index__caption::before {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: #2043b4;
	left: 0;
	top: 0;
}

.c-index__caption::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 0.65em;
	width: 12px;
	height: 12px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
}

@media screen and (max-width: 750px) {
	
	.c-index__list {
		margin-top: 30px;
		justify-content: space-between;
	}

	.c-index__item {
		width: 100%;
		margin-left: 0;
	}

	.c-index__item:nth-child(2),
	.c-index__item:nth-child(n+3) {
		margin: 20px 0 0;
	}
	
	.c-index__img {
		border-radius: 15px;
	}

	.c-index__caption {
		font-size: 1.12rem;
		margin-top: 12px;
		padding-left: 40px;
	}

	.c-index__caption::before {
		width: 30px;
		height: 30px;
		left: 0;
	}
	
	.c-index__caption::after {
		top: 0.55em;
		left: 8px;
		width: 8px;
		height: 8px;
	}

}

/*----------------------
	扉ページリスト
-----------------------*/
.c-achievements__item {
	width: 22.5%;
	margin-left: calc(10% / 3);
}

.c-achievements__item:nth-child(4n+1) {
	margin-left: 0;
}

.c-achievements__item:nth-child(n+5) {
	margin-top: 55px;
}

.c-achievements__info {
	padding: 15px 10px;
}

.c-achievements__data {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	line-height: 1.5;
}

.c-achievements__icon {
	width: 70px;
	text-align: center;
	color: #fff;
	border-radius: 5px;
	padding-bottom: 1px;
	margin-right: 10px;
}

.c-achievements__icon--osaka {
	background-color: #00a3e9;
}

.c-achievements__icon--tokyo {
	background-color: #2043b4;
}

.c-achievements__data + .c-achievements__facility {
	margin-top: 5px;
}

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

	.c-achievements__list {
		display: block;
	}
	
	.c-achievements__item {
		width: 100%;
	}
	
	.c-achievements__item:nth-child(n+2) {
		margin-top: 20px;
	}

}

/*----------------------
	影ありリスト
-----------------------*/
.c-shadow__list {
	display: flex;
	flex-wrap: wrap;
}

.c-shadow__item {
	border-radius: 20px;
	overflow: hidden;
	background-color: #fff;
	box-shadow: 2px 4px 5px rgba(0,0,0,0.1);
}

.c-shadow__img {
	width: 100%;
}

/*----------------------
	インデント
-----------------------*/
.c-item-indent {
	text-indent: -1em;
	margin-left: 1em;
}

/*----------------------
	数字付きリスト
-----------------------*/
.c-common-number__list {
	border-top: solid 1px #d9d9d9;
	margin-top: 60px;
}

.c-common-number__item {
	border-bottom: solid 1px #d9d9d9;
	display: flex;
	align-items: center;
	padding: 20px 0 18px;
}

.c-common-number__number {
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-style: italic;
	background-color: #00a0e3;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
}

.c-common-number__text {
	font-size: 1.125rem;
	margin-left: 25px;
	flex: 1;
}

@media screen and (max-width: 750px) {
	
	.c-common-number__list {
		margin-top: 30px;
	}
	
	.c-common-number__number {
		font-size: 1.5rem;
		width: 40px;
		height: 40px;
	}
	
	.c-common-number__text {
		margin-left: 15px;
	}
	
}

/*----------------------
	ドットリスト
-----------------------*/
.c-common-dotted__item {
	position: relative;
	padding-left: 23px;
}

.c-common-dotted__item:nth-child(n+2) {
	margin-top: 3px;
}

.c-common-dotted__item::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 0.85em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #333333;
}

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

	.c-common-dotted__item {
		padding-left: 20px;
	}

}

/*----------------------
	黒丸リスト
-----------------------*/
.c-common-circle__item {
	position: relative;
	padding-left: 23px;
}

.c-common-circle__item:nth-child(n+2) {
	margin-top: 3px;
}

.c-common-circle__item::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.45em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #000000;
}

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

	.c-common-circle__item {
		padding-left: 20px;
	}

}

/*----------------------
	二重丸リスト
-----------------------*/
.c-common-double__item {
	position: relative;
	padding-left: 23px;
}

.c-common-double__item:nth-child(n+2) {
	margin-top: 3px;
}

.c-common-double__item::before,
.c-common-double__item::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	border: solid 1px #000;
}

.c-common-double__item::before {
	left: 2px;
	top: 9px;
	width: 16px;
	height: 16px;
}

.c-common-double__item::after {
	left: 5px;
	width: 10px;
	height: 10px;
	top: 12px;
}

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

	.c-common-double__item {
		padding-left: 20px;
	}

}

/*----------------------
	画像リスト
-----------------------*/
/* リスト3 */
.c-imgList-three {
	display: flex;
	flex-wrap: wrap;
}

.c-imgList-three__item {
	width: 31%;
	margin-left: 3.5%;
}

.c-imgList-three__item:nth-child(3n+1) {
	margin-left: 0;
}

.c-imgList-three__item:nth-child(n+4) {
	margin-top: 70px;
}

.c-imgList-three__img {
	width: 100%;
}

.c-imgList-three__img--scale {
	border-radius: 20px;
}

.c-imgList-three__caption {
	display: block;
	font-size: 1.125rem;
	margin-top: 10px;
}

/* リスト4 */
.c-imgList-four {
	display: flex;
	flex-wrap: wrap;
}

.c-imgList-four__item {
	width: 23.3%;
	margin-left: 2.25%;
}

.c-imgList-four__item:nth-child(4n+1) {
	margin-left: 0;
}

.c-imgList-four__item:nth-child(n+5) {
	margin-top: 50px;
}

.c-imgList-four__img {
	width: 100%;
}

.c-imgList-four__caption {
	display: block;
	margin-top: 10px;
}

@media screen and (max-width: 750px) {
	
	.c-imgList-four {
		justify-content: space-around;
	}
	
	.c-imgList-four__item {
		width: 47.5%;
		margin-left: 0;
	}
	
	.c-imgList-four__item:nth-child(n+3) {
		margin-top: 10px;
	}
	
}

/* ジャンプリスト */
.c-jump__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 73px;
}

.c-jump__item {
	margin: 0 2%;
}

.c-jump__link {
	display: block;
	font-weight: 500;
	padding-left: 53px;
	position: relative;
	font-size: 1.75rem;
}

.c-jump__link::before,
.c-jump__link::after {
	content: "";
	display: block;
	position: absolute;
}

.c-jump__link::before {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: #2043b4;
	left: 0;
	top: 0.15em;
}

.c-jump__item:nth-child(2n) .c-jump__link::before {
	background-color: #00a3e9;
}

.c-jump__link::after {
  left: 13px;
  top: 0.5em;
  width: 10px;
  height: 10px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(135deg);
}

@media screen and (max-width: 750px) {
	
	.c-jump__list {
		margin-top: 40px;
		display: block;
	}
	
	.c-jump__item {
		margin: 0;
	}
	
	.c-jump__item:nth-child(n+2) {
		margin-top: 5px;
	}
	
	.c-jump__link {
		font-size: 1.25rem;
		padding-left: 40px;
	}
	
	.c-jump__link::before {
		width: 28px;
		height: 28px;
		top: 0.25em;
	}
	
	.c-jump__link::after {
		left: 10px;
		top: 0.6em;
		width: 8px;
		height: 8px;
	}
}

/* 開閉リスト */
.c-open__list {
	margin-top: 70px;
}

.c-open__item + .c-open__item {
	margin-top: 80px;
}

.c-open__link {
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	position: relative;
}

.c-open__link::before,
.c-open__link::after {
	content: "";
	display: block;
	position: absolute;
	width: 35px;
	height: 5px;
	background-color: #2043b4;
	top: calc(50% - 2px);
	right: 10px;
	border-radius: 5px;
}

.c-open__link::after {
	transition: 0.4s;
	transform: rotate(90deg);
}

.c-open__wrap {
	padding: 25px 60px 0;
	font-size: 1.25rem;
	display: none;
}

.is-open::after {
	transform: rotate(180deg);
}


@media screen and (max-width: 750px) {
	
	/* リスト3 */
	.c-imgList-three {
		justify-content: space-between;
	}
	
	.c-imgList-three__item {
		width: 48%;
		margin-left: 0;
	}
	
	.c-imgList-three__item:nth-child(n+3),
	.c-imgList-three__item:nth-child(n+4) {
		margin-top: 20px;
	}
	
	.c-imgList-three__caption {
		font-size: 1rem;
		margin-top: 5px;
	}
	
	/* 開閉リスト */
	.c-open__list {
		margin-top: 40px;
	}

	.c-open__item + .c-open__item {
		margin-top: 30px;
	}
	
	.c-open__link {
		font-size: 1.12rem;
	}
	
	.c-open__link::before,
	.c-open__link::after {
		width: 25px;
		height: 3px;
		right: 5px;
	}
	
	.c-open__wrap {
		font-size: 1rem;
		padding-top: 15px;
	}

}

/* 矢印 */
.c-arrow__list {
    display: flex;
    flex-wrap: wrap;
}

.c-arrow__item {
    width: 22%;
    margin-left: 4%;
}

.c-arrow__item:nth-child(4n+1) {
    margin-left: 0;
}

.c-arrow__item:nth-child(n+5) {
    margin-top: 75px;
}

.c-arrow__link--index {
	display: block;
	padding-left: 55px;
	font-size: 1.5rem;
    font-weight: 500;
	position: relative;
}

.c-arrow__link--index + .c-arrow__link--index {
    margin-top: 35px;
}

.c-arrow__link--index::before,
.c-arrow__link--index::after {
	content: "";
	display: block;
	position: absolute;
}

.c-arrow__link--index::before {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background-color: #2043b4;
	left: 0;
	top: 0.15em;
}

.c-arrow__link--index::after {
	left: 11px;
	top: 0.7em;
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
}

.c-arrow__list--pages {
    margin-top: 17px;
    margin-left: 58px;
    font-size: 1.06rem;
}

.c-arrow__item--pages:nth-child(n+2) {
    margin-top: 10px;
}

.c-arrow__link--pages::after {
	content: "";
	display: inline-block;
    margin-left: 15px;
	width: 8px;
	height: 8px;
	border-top: solid 2px #333333;
	border-right: solid 2px #333333;
	transform: rotate(45deg) translateY(-2px);
}

@media screen and (max-width: 1220px) {
    
    .c-arrow__item {
        width: 32%;
        margin-left: 2%;
    }
    
    .c-arrow__item:nth-child(4n+1) {
        margin-left: 2%;
    }
    
    .c-arrow__item:nth-child(3n+1) {
        margin-left: 0;
    }
    
    .c-arrow__item:nth-child(n+4),
    .c-arrow__item:nth-child(n+5) {
        margin-top: 50px;
    }
}

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

    .c-arrow__list {
        display: block;
    }
    
    .c-arrow__item {
        width: 100%;
        margin-left: 0;
    }
    
    .c-arrow__item:nth-child(4n+1) {
        margin-left: 0;
    }
    
    .c-arrow__item:nth-child(n+2),
    .c-arrow__item:nth-child(n+4),
    .c-arrow__item:nth-child(n+5) {
        margin-top: 20px;
    }
    
	.c-arrow__link--index {
		font-size: 1.25rem;
		padding-left: 40px;
	}
    
    .c-arrow__link--index + .c-arrow__link--index {
        margin-top: 20px;
    }

	.c-arrow__link--index::before {
		width: 30px;
		height: 30px;
		left: 0;
	}
	
	.c-arrow__link--index::after {
		top: 0.65em;
		left: 8px;
		width: 8px;
		height: 8px;
	}
    
    .c-arrow__list--pages {
        margin-top: 10px;
        margin-left: 40px;
        font-size: 1rem;
    }
    
    .c-arrow__link--pages::after {
        margin-left: 5px;
        width: 6px;
        height: 6px;
    }
    
    .c-arrow__item--pages:nth-child(n+2) {
        margin-top: 5px;
    }

}

/*---------------------------------------------------------------------------------------------------------------------
	リンク
---------------------------------------------------------------------------------------------------------------------*/
/* 矢印 */
.c-link__arrow {
	position: relative;
	display: block;
}

.c-link__arrow::before,
.c-link__arrow::after {
	content: "";
	position: absolute;
	right: 0;
	background-color: #00a0e3;
}

.c-link__arrow::before {
	top: calc(50% + 4px);
	width: 38px;
	height: 1px;
}

.c-link__arrow::after {
	top: calc(50% - 3px);
	width: 13px;
	height: 7px;
	clip-path: polygon(0 0, 0 100%, 100% 100%);
}

.c-link__arrow--white::before,
.c-link__arrow--white::after {
	background-color: #fff;
}

@media (any-hover: hover) {
	
	.c-link__arrow::before,
	.c-link__arrow::after {
		transition: 0.4s;
	}
	
	.c-link__arrow:hover::before,
	.c-link__arrow:hover::after {
		right: -10px;
	}
	
}

@media screen and (max-width: 980px) {
	.c-link__arrow::before {
		width: 28px;
	}
	
	.c-link__arrow::after {
		width: 10px;
	}
}

/* 文中下線のみ */
.c-link__text {
	color: #00a3e9;
    text-decoration: underline;
}

@media (any-hover: hover) {
	
	.c-link__text {
		transition: 0.4s;
	}
	
	.c-link__text:hover {
		text-decoration: none;
	}
	
}

/* アイコン */
.c-icon__pdf {
	background: url("/common/images/icon_pdf.png") no-repeat left 0.2em;
    padding-left: 32px;
    min-height: 25px;
    display: inline-block;
}

/* 画像 */
.c-mynavi__img {
    max-width: 195px;
    width: 100%;
}

/*---------------------------------------------------------------------------------------------------------------------
	ボタン
---------------------------------------------------------------------------------------------------------------------*/
/* 矢印 */
.c-btn__arrow {
	display: block;
	max-width: 255px;
	text-align: center;
	border-radius: 30px;
	position: relative;
	color: #fff;
	font-size: 1.125rem;
	background-image: linear-gradient(90deg, #2043B4, #2975CB);
	padding: 14px;
    overflow: hidden;
}

.c-btn__arrow::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 0;
	height: 100%;
	background-color: #fff;
}

.c-btn__arrow::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	border: solid 2px #2043B4;
    width: calc(100% - 4px);
	height: calc(100% - 4px);
	border-radius: 40px;
    opacity: 0;
}


.c-btn__span {
	display: inline-block;
	position: relative;
	z-index: 1;
	padding-right: 33px;
}

.c-btn__span::before {
	content: "";
	position: absolute;
	right: 3px;
	top: calc(50% - 3px);
	width: 7px;
	height: 7px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
}


.c-btn__arrow--white {
	background-image: none;
	background-color: #fff;
	color: #2043B4;
	border: solid 2px #2043B4;
	padding: 12px;
}

.c-btn__arrow--white::before {
	background-image: linear-gradient(90deg, #2043B4, #2975CB);
}

.c-btn__span--white::before {
	border-top-color: #2043b4;
	border-right-color: #2043B4;
}

.c-btn__arrow--pdf {
    min-width: 300px;
}

.c-btn__span--pdf {
    background: url("/common/images/icon_pdf.png") no-repeat left center;
    padding-left: 40px;
}

.c-btn__span--xlsx {
    background: url("/common/images/icon_xlsx.png") no-repeat left center;
    padding-left: 40px;
}

.c-btn__span--window {
    background: url("/common/images/icon_window_white.png") no-repeat right center;
}

.c-btn__span--window::before {
    display: none;
}

.c-btn__arrow--lines {
    line-height: 1.3;
    padding: 6px 14px 8px;
}

.c-index__caption--btn {
    margin: 17px auto 0;
    min-width: 0;
    max-width: 300px;
}

@media (any-hover: hover) {
	
	.c-btn__arrow::before {
		transition: 0.3s;
	}
    
    .c-btn__arrow::after {
		transition: 1s;
    }
	
	.c-btn__arrow:hover {
		color: #2043B4;
	}
	
	.c-btn__arrow:hover::before {
        width: 100%;
	}
	
	.c-btn__arrow:hover::after {
        opacity: 1;
	}
	
	.c-btn__arrow:hover .c-btn__span::before {
		border-top-color: #2043B4;
		border-right-color: #2043B4;		
	}
	
	.c-btn__arrow--white:hover {
		color: #fff;
	}
    
    .c-btn__arrow--white:hover::after {
        opacity: 0;
    }
	
	.c-btn__arrow--white:hover .c-btn__span--white::before {
		border-top-color: #fff;
		border-right-color: #fff;		
	}

    .c-btn__arrow--window:hover .c-btn__span--window {
        background-image: url("/common/images/icon_window_blue.png");
    }

}

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

	.c-btn__arrow {
		font-size: 1rem;
		margin: 0 auto;
		padding: 10px;
	}
    
    .c-index__caption--btn {
		margin-top: 12px;
    }

}


/*---------------------------------------------------------------------------------------------------------------------
	テーブル
---------------------------------------------------------------------------------------------------------------------*/
.c-common__table {
	width: 100%;
	font-size: 1.12rem;
	max-width: 1480px;
	margin-left: auto;
	margin-right: auto;
}

.c-common__th {
	border-bottom: solid 1px #e5e5e5;
	padding: 32px 0;
	font-weight: 500;
	vertical-align: top;
}

.c-common__tr:first-child .c-common__th {
	border-top: solid 1px #e5e5e5;
}

.c-common__th--sub {
	border-bottom: solid 1px #d3d4d5;
	padding: 32px 0;
	font-weight: 400;
	line-height: 1.7;
	vertical-align: middle;
}

.c-common__td {
	border-bottom: solid 1px #e5e5e5;
	padding: 27px 0;
	line-height: 1.7;
	vertical-align: middle;
}

.c-common__tr:first-child .c-common__th + td {
	border-top: solid 1px #e5e5e5;
}

.c-common__td__text + .c-common__td__text,
.c-common__td__list + .c-common__td__text {
	margin-top: 30px;
}

@media screen and (max-width: 750px) {
	
	.c-common__table {
		font-size: 1rem;
	}
	
	.c-common__th,
	.c-common__td {
		padding: 16px 0;
	}
}


/* スクロール */
.c-common__scroll {
	width: 100%;
	overflow-x: auto;
}

.c-common__scroll .c-common__table {
	min-width: 1000px;
}


/*---------------------------------------------------------------------------------------------------------------------
	エリア
---------------------------------------------------------------------------------------------------------------------*/
.c-bg__area--color01 {
	background-image: linear-gradient(60deg, #F0F9FF, #FEFFF6);
}

.c-bg-area01 {
	background-color: #f5f5f5;
	border-radius: 30px;
	padding: 35px 2.5% 55px;
}

.c-bg-area01 + .c-bg-area01 {
	margin-top: 80px;
}

.c-bg-area01__head {
	font-size: 2rem;
	font-weight: 500;
	border-bottom: solid 3px #fff;
	padding-bottom: 10px;
}

.c-bg-area01__head {
	font-size: 2rem;
	font-weight: 500;
	border-bottom: solid 2px #fff;
	padding-bottom: 10px;
}

.c-bg-area01__inner {
	margin-top: 30px;
	font-size: 1.12rem;
}

/* flexエリア（背景あり） */
.c-bg-flexArea__inner {
	display: flex;
	margin-top: 30px;
	width: 100%;
}

.c-bg-flexArea__kv {
	width: 48%;
	border-radius: 8px;
	overflow: hidden;
	margin-top: 10px;
}

.c-bg-flexArea__info {
	width: 48%;
	margin-left: 4%;
}

.c-bg-flexArea__info--hasBtn {
	position: relative;
	padding-bottom: 91px;
}

.c-bg-flexArea__head {
	font-size: 1.75rem;
	font-weight: 500;
}

.c-bg-flexArea__text {
	margin-top: 10px;
	font-size: 1.12rem;
	line-height: 1.6;
}

.c-bg-flexArea__text--bold {
	font-size: 1.25rem;
	font-weight: bold;
	margin-top: 50px;
}

.c-bg-flexArea__text--bold + .c-bg-flexArea__text,
.c-bg-flexArea__text + .c-bg-flexArea__text {
	margin-top: 30px;
}

.c-bg-flexArea__head + .c-bg-flexArea__text {
	margin-top: 40px;
}

.c-bg-flexArea__list + .c-bg-flexArea__text {
	margin-top: 20px;
}

.c-bg-flexArea__list {
	margin-top: 17px;
}

.c-bg-flexArea__btn {
	position: absolute;
	bottom: 0;
	right: 0;
}

.c-bg-flexArea__arrow {
	width: 230px;
}


@media screen and (max-width: 750px) {
    .c-bg__area--color01 {
        background-image: linear-gradient(130deg, #F0F9FF, #FEFFF6);
    }
    
	.c-bg-area01 {
		padding: 20px 20px 30px;
		border-radius: 20px;
	}
	
	.c-bg-area01 + .c-bg-area01 {
		margin-top: 40px;
	}
	
	.c-bg-area01__head {
		font-size: 1.3rem;
        line-height: 1.5;
	}
	
	.c-bg-area01__inner {
		margin-top: 10px;
		font-size: 1rem;
	}
	
	/* flexエリア */
	.c-bg-flexArea__inner {
		display: block;
		margin-top: 20px;
	}
	
	.c-bg-flexArea__kv {
		width: 100%;
	}
	
	.c-bg-flexArea__info {
		width: 100%;
		margin: 15px 0 0;
	}
	
	.c-bg-flexArea__info--hasBtn {
		padding-bottom: 0;
	}
	
	.c-bg-flexArea__head {
		font-size: 1.25rem;
	}
	
	.c-bg-flexArea__text {
		font-size: 1rem;
	}
	
	.c-bg-flexArea__text--bold {
		font-size: 1.12rem;
		margin-top: 30px;
	}
	
	.c-bg-flexArea__list {
		margin-top: 10px;
	}
	
	.c-bg-flexArea__btn {
		position: static;
		margin-top: 20px;
	}
	
}

/* flexエリア（背景なし） */
.c-flex-contents__area {
	display: flex;
	justify-content: space-between;
}

.c-flex-contents__area--reverse {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.c-flex-contents__info {
	width: 45%;
}

.c-flex-contents__kv {
	width: 48.7%;
	max-width: 760px;
	margin-top: 15px;
}

.c-flex-contents__img {
	border-radius: 30px;
}


@media screen and (max-width: 750px) {
	
	.c-flex-contents__area,
	.c-flex-contents__area--reverse {
		display: block;
	}
	
	.c-flex-contents__info,
	.c-flex-contents__kv {
		width: 100%;
	}
	
	.c-flex-contents__img {
		border-radius: 15px;
	}

}

/*---------------------------------------------------------------------------------------------------------------------
	コンテンツ
---------------------------------------------------------------------------------------------------------------------*/
.c-common-contents__shadow {
	box-shadow: 0 0 12px #ddd;
	background-color: #fff;
}

/*---------------------------------------------------------------------------------------------------------------------
	フォーム
---------------------------------------------------------------------------------------------------------------------*/
/*------------------------------
  input,button
-------------------------------*/
input,
button,
textarea {
	appearance: none;
	outline: none;
	background-color: transparent;
	background-image: none;
	border-radius: 0;
	border: none;
	font-family: inherit;
}

select {
	appearance: none;
	-webkit-appearance: none;
}

input[type="text"],
input[type="email"],
textarea,
select {
	border: solid 1px #c2c2c2;
	background-color: #fff;
	border-radius: 10px;
	padding: 12px 14px;
	line-height: 1;
	width: 100%;
	box-sizing: border-box;
}

input[type="text"],
input[type="email"] {
	max-width: 800px;
}

input[type="text"].c-form-input__text--m {
	max-width: 400px;
}

input[type="text"].c-form-input__text--postFirst {
	max-width: 115px;
}

input[type="text"].c-form-input__text--postSecond {
	max-width: 135px;
}

input[type="text"].c-form-input__text--tell {
	max-width: 100px;
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
input[type="number"]::placeholder,
input[type="date"]::placeholder,
input[type="time"]::placeholder {
	color: #cccccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
	border: solid 1px #2043b4;
}

/* テキストエリア */
textarea {
	width: 100%;
	max-width: 1035px;
	resize: vertical;
	position: relative;
}

/* チェックボックス */
input[type="checkbox"] {
	opacity:0;
	position: absolute;
}

input[type="checkbox"] + label {
	position: relative;
	padding-left: 35px;
	cursor: pointer;
}

input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after {
	position: absolute;
	content: "";
	display: block;
	top: 50%;
}

input[type="checkbox"] + label::before {
	left: 6px;
	width: 6px;
	height: 9px;
	border-right: solid 3px #fff;
	border-bottom: solid 3px #fff;
	transform: translateY(-63%) rotate(45deg);
	opacity: 0;
	z-index: 1;
}

input[type="checkbox"] + label::after {
	left: 0;
	width: 18px;
	height: 18px;
	border: solid 1px #c4c4c4;
	border-radius: 4px;
	background-color: #fff;
	transform: translateY(-50%);
}

input[type="checkbox"]:checked + label::before {
	opacity: 1;
}

input[type="checkbox"]:checked + label::after {
	background-color: #2043b4;
	border-color: #2043b4;
}

/* ラジオボタン */
input[type="radio"] {
	opacity:0;
	position: absolute;
}

input[type="radio"] + label {
	position: relative;
	padding-left: 35px;
	cursor: pointer;
	display: inline-block;
	min-height: 28px;
}

input[type="radio"] + label::before,
input[type="radio"] + label::after {
	position: absolute;
	content: "";
	display: block;
}

input[type="radio"] + label::before {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #2043b4;
	opacity: 0;
	z-index: 1;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
}

input[type="radio"] + label::after {
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: solid 1px #c4c4c4;
	background-color: #fff;
	transform: translateY(-50%);
}

input[type="radio"]:checked + label::before {
	opacity: 1;
}

input[type="radio"]:checked + label::after {
	border: solid 2px #2043b4;
	width: 16px;
	height: 16px;
}

/* select */
.c-form-select__wrap {
	position: relative;
	cursor: pointer;
	max-width: 210px;
}

.c-form-select__wrap select {
	position: relative;
	padding-right: 40px;
	appearance: none;
	cursor: pointer;
	line-height: 1.5;
}

.c-form-select__wrap::after {
	content: '';
	position: absolute;
	right: 25px;
	top: 45%;
	width: 7px;
	height: 7px;
	transform: rotate(45deg) translateY(-50%);
	background-color: transparent;
	z-index: 1;
	border-right: solid 2px #2043b4;
	border-bottom: solid 2px #2043b4;
}

.c-form-select__wrap option {
	font-size: 1rem;
	border-top: solid 1px #ccc;
}

.c-form-select__wrap option:checked {
	background-color: #e5eff8;
}

/* チェックボックス・ラジオボタンリスト */
.c-form-mark__list {
	display: flex;
	flex-wrap: wrap;
}

.c-form-mark__item {
	margin-right: 50px;
}

.c-form-mark__item:last-child {
	margin-right: 0;
}


/* 郵便番号・TEL */
.c-form-input__multiple {
	display: flex;
	align-items: center;
}

.c-form__postFirst::before {
	content: "〒";
	padding-right: 15px;
	padding-left: 5px;
}

.c-form__secondInput::before {
	content: "-";
	padding-right: 12px;
	padding-left: 12px;
}

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

    input[type="text"],
    input[type="email"],
    textarea,
    select {
        padding: 8px 14px;
    }
    
	input[type="text"].c-form-input__text--postFirst {
		max-width: 90px;
	}
	
	input[type="text"].c-form-input__text--postSecond {
		max-width: 120px;
	}
	
	input[type="text"].c-form-input__text--tell {
		max-width: 75px;
	}

}

/* フォームデザイン */
.c-form__required {
    color: #f00;
}

.c-form__attention {
	font-size: 1.12rem;
	margin: 80px auto 0;
	max-width: 1480px;
}

.c-form__area {
	margin: 20px auto 0;
	max-width: 1480px;
	padding: 25px 3.8% 55px;
}

.c-form__table .c-common__th,
.c-form__table .c-common__td {
	border-top-color: #d5d5d5;
	vertical-align: middle;
}

.c-form__table .c-common__tr:first-child .c-common__th,
.c-form__table .c-common__tr:first-child .c-common__th + td {
	border-top: none;
}

.c-form__table .c-common__tr:last-child .c-common__th,
.c-form__table .c-common__tr:last-child .c-common__th + td {
	border-bottom: none;
}

.c-form__col--01 {
	width: 225px;
}

.c-form__table .c-form__required {
	margin-left: 8px;
}

.c-form-email__confirmation {
	display: flex;
}

.c-form-tel__text {
	margin-top: 10px;
	font-size: 0.87rem;
}

.c-form__btn {
	margin-top: 55px;
}

.c-form__link {
	width: 195px;
	margin: 0 auto;
}


@media screen and (max-width: 750px) {
	
	.c-form__attention {
		margin-top: 40px;
		font-size: 1rem;
	}
    
	.c-form__area {
		margin-top: 10px;
		padding: 10px 20px 30px;
	}
	
	.c-form__col--01 {
		width: 100%;
	}
	
	.c-form__table .c-common__th,
	.c-form__table .c-common__td {
		display: block;
	}
	
	.c-form__table .c-common__th {
		border: none;
		padding-bottom: 0;
	}
    
	.c-form__btn {
		margin-top: 10px;
	}

}

/*---------------------------------------------------------------------------------------------------------------------
	モーダル
---------------------------------------------------------------------------------------------------------------------*/
.modaal-outer-wrapper {
    display: flex;
    justify-content: center;
}

.modaal-inner-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

.modaal-container {
    max-width: 1560px;
    border-radius: 30px;
}

.modaal-content-container {
    padding: 85px 0;
}

.c-modal__wrap {
    display: none;
    width: 100%;
}

.js-modal__close {
    position: absolute;
    right: 25px;
    top: 38px;
    width: 28px;
    height: 28px;
    cursor: pointer;
}

.js-modal__close::before,
.js-modal__close::after {
    content: "";
    display: inline-block;
    height: 5px;
    width: 100%;
    background-color: #2043b4;
    transition: all 0.4s;
    position: absolute;
    left: 0;
    right: 0;
}

.js-modal__close::before {
    transform: rotate(-45deg);
}

.js-modal__close::after {
    transform: rotate(45deg);
}


@media screen and (max-width: 750px) {
    
    .modaal-container {
        border-radius: 20px;
    }
    
    .modaal-content-container {
        padding: 55px 0;
    }
    
    .js-modal__close {
        right: 18px;
        top: 23px;
    }
    
    .p-slide--interior .slick-arrow {
        width: 9.5%;
        height: 16.5%;
        top: 38%;
    }
    
    .p-slide--interior .slick-arrow::before {
        width: 25%;
        height: 25%;
        top: 32%;
    }
    
    .p-slide--interior .js-slick-prev {
        left: -12%;
    }
    
    .p-slide--interior .js-slick-prev::before {
        left: 40%;
    }
    
    .p-slide--interior .js-slick-next {
        right: -12%;
    }
    
    .p-slide--interior .js-slick-next::before {
        right: 40%;
    }
    
}

@media (any-hover: hover) {

    .js-modal__close {
        transition: 0.4s;
    }

    .js-modal__close:hover {
        opacity: 0.7;
    }

}

/*---------------------------------------------------------------------------------------------------------------------
	スライダー
---------------------------------------------------------------------------------------------------------------------*/
.slick-arrow {
	position: absolute;
	z-index: 1;
	width: 40px;
	height: 40px;
	background: #2043b4;
	border-radius: 50%;
	display: block;
	top: 33%;
	border: solid 2px #2043b4;
}

.slick-arrow::before {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	top: 12px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}

.js-slick-prev {
	left: -55px;
}

.js-slick-next {
	right: -55px;
}

.js-slick-prev::before {
	transform: rotate(225deg);
	left: 15px;
}

.js-slick-next::before {
	transform: rotate(45deg);
	right: 15px;
}

@media screen and (max-width: 750px) {
    
	.slick-arrow {
		width: 30px;
		height: 30px;
		top: calc(50% - 30px);
	}
	
	.slick-arrow::before {
		width: 8px;
		height: 8px;
		top: 8px;
	}
	
	.js-slick-prev {
		left: -30px;
	}
	
	.js-slick-prev::before {
		left: 11px;
	}
	
	.js-slick-next {
		right: -30px;
	}
	
	.js-slick-next::before {
		right: 9px;
	}
    
}


/*---------------------------------------------------------------------------------------------------------------------
	hoverアクション
---------------------------------------------------------------------------------------------------------------------*/
@media (any-hover: hover) {

	/*----------------------
		画像拡大
	-----------------------*/
	.c-hover-scale {
		overflow: hidden;
	}
	
	.c-hover-scale__img {
		transition: 0.4s;
	}
	
	a:hover .c-hover-scale__img {
		transform:scale(1.1,1.1);
	}

}


/*---------------------------------------------------------------------------------------------------------------------
	JS
---------------------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------
	アニメーション
----------------------------------------------------------------------------------*/
/*----------------------
	共通
-----------------------*/
/* 単体 */
.js-animation {
	opacity: 0;
}

/* セクションごとに */
.js-animation-element {
	opacity: 0;
}

/*----------------------
	一文字ずつ
-----------------------*/
.js-fadeTxt {
	display: block;
}
.js-fadeTxt span {
	opacity: 0;
	transition: .4s ease-in-out;
	transform: translate(-10px, -10px);
	display: inline-block;
}

.js-fadeTxt .is-fadeAction {
	opacity: 1;
	transform: translate(0, 0);
}

.js-fadeTxt__line::before {
	width: 0;
	transition: .4s ease-in-out;
	transition-delay: 1s;
}

.js-fadeTxt__line.is-fadeTxt::before {
	width: 32px;
	top: 21px;
}

/*----------------------
	中央から
-----------------------*/
.js-mainHead {
	width: fit-content;
	overflow: hidden;
	margin: 0 auto;
	opacity: 1;
	position: relative;
}

.js-mainHead::before,
.js-mainHead::after {
	content: "";
	display: block;
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	background-color: #fff;
	transition: 1s;
}

.js-mainHead::before {
	left: 0;
}

.js-mainHead::after {
	right: 0;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-mainHead::before,
.js-mainHead.is-animation__action::before {
	transform: translateX(-100%);
}

.js-animation-trigger.is-animation__action .js-animation-element.js-mainHead::after,
.js-mainHead.is-animation__action::after {
	transform: translateX(100%);
}

.c-common-mainHead__sub::before,
.c-common-mainHead__sub::after {
	transition-delay: 0.5s;
}

/*----------------------
	各種
-----------------------*/
.js-animation--fadeUp {
	transform: translateY(35px);
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--fadeUp,
.js-animation--fadeUp.is-animation__action {
	animation-name: fadeUp;
	animation-duration: .8s;
	animation-fill-mode: both;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--fadeIn,
.js-animation--fadeIn.is-animation__action {
	animation-name: fadeIn;
	animation-duration: .8s;
	animation-fill-mode: both;
}

.js-animation--centerIn {
	width: 0;
	overflow: hidden;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--centerIn,
.js-animation--centerIn.is-animation__action {
	animation-name: centerIn;
	animation-duration: 3s;
	animation-fill-mode: both;
}

.js-animation--circleIn {
	border-radius: 50%;
	overflow: hidden;
	transform-origin: center;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--circleIn,
.js-animation--circleIn.is-animation__action {
	animation-name: circleIn;
	animation-duration: 0.3s;
	animation-fill-mode: both;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--circleScaleIn,
.js-animation--circleScaleIn.is-animation__action {
	animation-name: circleScaleIn;
	animation-duration: 0.3s;
	animation-fill-mode: both;
}

.js-animation--leftIn,
.js-animation--rightIn {
	position: relative;
}

.js-animation--leftIn::after,
.js-animation--rightIn::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #31b3eb;
	position: absolute;
	left: 0;
	top: 0;
}

.js-animation--rightIn::after {
	transform-origin: right;
}

.js-animation-trigger .js-animation-element.js-animation--leftIn,
.js-animation-trigger .js-animation-element.js-animation--rightIn,
.js-animation--leftIn,
.js-animation--rightIn {
	opacity: 1 !important;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--leftIn::after,
.js-animation-trigger.is-animation__action .js-animation-element.js-animation--rightIn::after,
.js-animation--leftIn.is-animation__action::after,
.js-animation--rightIn.is-animation__action::after {
	animation-duration: 0.7s;
	animation-fill-mode: both;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--rightIn::after,
.js-animation--rightIn.is-animation__action::after {
	animation-name: rightIn;
}

.js-animation--leftIn::after {
	transform-origin: left;
}

.js-animation-trigger.is-animation__action .js-animation-element.js-animation--leftIn::after,
.js-animation--leftIn.is-animation__action::after {
	animation-name: leftIn;
}

.js-animation--list {
	opacity: 1;
}

.js-animation--list > li {
	opacity: 0;
}

/*-----------------------------------------
	keyframes
------------------------------------------*/
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

@keyframes fadeUp {
	0% { opacity: 0; transform: translateY(35px); }
	100% { opacity: 1; transform: translateY(0); }
}

@keyframes centerIn {
	0% { opacity: 0; width: 0; }
	100% { opacity: 1; width: 100%; }
}

@keyframes circleIn {
	0% { opacity: 0; border-radius: 50%; }
	100% { opacity: 1; border-radius: 0; }
}

@keyframes circleScaleIn {
	0% { opacity: 0; border-radius: 50%; transform: scale(0.5); }
	100% { opacity: 1; border-radius: 0; transform: scale(1); }
}

@keyframes rightIn {
	0% { width: 100%; }
	100% { width: 0; }
}

@keyframes leftIn {
	0% { width: 100%; }
	100% { width: 0; }
}



/* mw wp form用設定 */
.horizontal-item {
	margin-right: 46px;
    display: inline-block;
}

.horizontal-item:last-child {
	margin-right: 0;
}

.mwform-radio-field-text {
    position: relative;
    padding-left: 35px;
    cursor: pointer;
    display: inline-block;
    min-height: 28px;
}

input[type="radio"] + .mwform-radio-field-text::before,
input[type="radio"] + .mwform-radio-field-text::after {
    position: absolute;
    content: "";
    display: block;
}

.mwform-radio-field-text::before {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #2043b4;
  opacity: 0;
  z-index: 1;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
}

.mwform-radio-field-text::after {
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: solid 1px #c4c4c4;
  background-color: #fff;
  transform: translateY(-50%);
}

input[type="radio"]:checked + .mwform-radio-field-text::before {
  opacity: 1;
}

input[type="radio"]:checked + .mwform-radio-field-text::after {
  border: solid 2px #2043b4;
  width: 16px;
  height: 16px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0 !important;
}

.mwform-checkbox-field-text {
    position: relative;
    padding-left: 35px;
    cursor: pointer;
}

input[type="checkbox"] + .mwform-checkbox-field-text::before,
input[type="checkbox"] + .mwform-checkbox-field-text::after {
    position: absolute;
    content: "";
    display: block;
    top: 50%;
}

input[type="checkbox"] + .mwform-checkbox-field-text::before {
    left: 6px;
    width: 6px;
    height: 9px;
    border-right: solid 3px #fff;
    border-bottom: solid 3px #fff;
    transform: translateY(-63%) rotate(45deg);
    opacity: 0;
    z-index: 1;
}

input[type="checkbox"]:checked + .mwform-checkbox-field-text::before {
    opacity: 1;
}

input[type="checkbox"] + .mwform-checkbox-field-text::after {
    left: 0;
    width: 18px;
    height: 18px;
    border: solid 1px #c4c4c4;
    border-radius: 4px;
    background-color: #fff;
    transform: translateY(-50%);
}

input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
    background-color: #2043b4;
    border-color: #2043b4;
}

.c-form-input__text--m {
    max-width: 400px;
}


.mwform-zip-field {
    display: flex;
    align-items: center;
    padding-left: 5px;
}

.mwform-zip-field .text15:first-child {
    margin-left: 15px;
    margin-right: 12px;
    max-width: 115px;
}

.mwform-zip-field .text15:last-child {
    margin-left: 12px;
    max-width: 135px;
}

.mwform-tel-field input[type="text"] {
    max-width: 100px;
    margin: 0 8px;
}

.mwform-tel-field input[type="text"]:first-child {
    margin-left: 0;
}

.c-form__btn {
    display: flex;
    justify-content: center;
}

.c-form__btn input[type="submit"],
.c-form__btn #botan .botan {
    width: 195px;
    text-align: center;
    border-radius: 30px;
    position: relative;
    color: #fff;
    font-size: 1.125rem;
    background-image: linear-gradient(90deg, #2043B4, #2975CB);
    padding: 16px;
    display: block;
}

.mw_wp_form_confirm .c-form__btn input[type="submit"] {
    margin: 0 20px;
}

.mw_wp_form_error .contact-error {
    color: #B70000;
}

.c-form-thanks__wrap {
    margin: 30px 0 70px;
}

.c-form-thanks__text {
    text-align: center;
    font-size: 1.25rem;
}

@media (any-hover: hover) {

    .c-form__btn input[type="submit"],
    .c-form__btn #botan .botan {
        transition: 0.4s;
    }
    
    .c-form__btn input[type="submit"]:hover,
    .c-form__btn #botan .botan:hover {
        opacity: 0.7;
    }

}

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

    .mwform-zip-field .text15:first-child {
        max-width: 90px;
    }
    
    .mwform-zip-field .text15:last-child {
        max-width: 120px;
    }
    
    .mwform-tel-field input[type="text"] {
        max-width: 75px;
    }
    
    .c-form-thanks__wrap {
        margin: 50px 0 0;
    }
    
    .c-form-thanks__text {
        font-size: 1.12rem;
    }
    
    .c-form-thanks__wrap .c-form__btn {
        margin-top: 55px;
    }

}







