@charset "utf-8";

/*----------------------------------------------------
 全体
----------------------------------------------------*/
body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
	font-size: var(--18px);
	line-height: 1.65;
	color: var(--text-color);
	letter-spacing: 0.05em;
	background-color: var(--bg-color-whiter);
}

a {
	transition: 0.3s;
	text-decoration: none;
	color: var(--link-color);
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
}

ul,
dl,
ol {
  text-indent: 0;
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

small {
	font-size: 75%;
}

strong {
	font-weight: 700;
}

/*----------------------------------------------------
 common
----------------------------------------------------*/
.sp {
	display: block;
}

.pc {
	display: none !important;
}

.mincyo {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.txtLink {
	text-decoration: underline;
	text-decoration-color: var(--link-color);
	text-underline-offset:var(--03px);
}

.txtCenter {
	text-align: center;
}

.txtRight {
	text-align: right;
}

.dots {
	-webkit-text-emphasis: filled;
	text-emphasis: filled;
}

.red {
	color: var(--color-red);
}

.green {
	color: var(--main-color);
}

.darkGreen {
	color: var(--color-purple);
}

.font80 {
	font-size: 80%;
}

.font110 {
	font-size: 110%;
}

.font120 {
	font-size: 120%;
}

.font140 {
	font-size: 140%;
}

.font200 {
	font-size: 200%;
}

.photo100 {
	width: 100%;
}

.photoShadow {
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
}

.photoFrame {
	border: 5px solid #FFF;
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
}

.photoCaption {
	border-radius: 10px;
	background-color: var(--bg-color-glay);
	font-size: var(--12px);
	line-height: 1.2;
	padding: var(--08px) var(--10px);
}

.photoCenter {
	margin-left: auto;
	margin-right: auto;
}

.flex {
	display: flex;
}

.dli-plus {
	display: inline-block;
	vertical-align: middle;
	color: var(--color-dark-glay);
	line-height: 1;
	width: 1.5em;
	height: 0.3em;
	background: currentColor;
	border-radius: 0.1em;
	position: relative;
}
	.dli-plus::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: inherit;
		border-radius: inherit;
		transform: rotate(90deg);
	}

/*----------------------------------------------------
 margin
----------------------------------------------------*/
.mb3 {
	margin-bottom: var(--03px);
}
.mb5 {
	margin-bottom: var(--05px);
}
.mb10 {
	margin-bottom: var(--10px);
}
.mb15 {
	margin-bottom: var(--15px);
}
.mb20 {
	margin-bottom: var(--20px);
}
.mb30 {
	margin-bottom: var(--30px);
}
.mb40 {
	margin-bottom: var(--40px);
}
.mb50 {
	margin-bottom: var(--50px);
}

.mt3 {
	margin-top: var(--03px);
}
.mt5 {
	margin-top: var(--05px);
}
.mt10 {
	margin-top: var(--10px);
}
.mt20 {
	margin-top: var(--20px);
}
.mt30 {
	margin-top: var(--30px);
}
.mt40 {
	margin-top: var(--40px);
}
.mt50 {
	margin-top: var(--50px);
}

/*----------------------------------------------------
 noScrollX
----------------------------------------------------*/
.noScrollX {
	overflow-x: hidden;
	position: relative;
}

/*----------------------------------------------------
 開閉アコーディオン
----------------------------------------------------*/
/* アコーディオンボタン */
.accordion__title {
	position: relative;
	cursor: pointer;
	user-select: none;
}

/* アコーディオン展開時のアイコン */
.accordion__title::after {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	transition: all 0.2s ease-in-out;
	display: block;
	width: 10px;
	height: 10px;
	border-top: solid 3px var(--main-color);
	border-right: solid 3px var(--main-color);
	transform: translateY(-50%) rotate(135deg);
}
	.accordion__title.is-active::after {
		transform: translateY(-50%) rotate(315deg);
	}

/* アコーディオンの中身 */
.accordion__content {
	padding: 0 var(--15px);
	line-height: 0;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition-duration: .3s;
}
	.accordion__content.is-open {
		padding: var(--15px);
		line-height: normal; /* numberに書き換える*/
		height: auto;
		opacity: 1;
	}


/* 注釈アコーディオン */
.attAccordion {
	border-radius: 10px;
	border: 1px solid var(--color-glay);
	background-color: var(--bg-color-white);
}
	.attAccordion .accordion__title {
		padding: var(--10px) var(--22px) var(--10px) 0;
		text-align: center;
	}
	/* アコーディオン展開時のアイコン */
	.attAccordion .accordion__title::after {
		right: 16px;
		top:50%;
		width: 8px;
		height: 8px;
		border-top: solid 2px #FFF;
		border-right: solid 2px #FFF;
		margin-top: -1px;
	}
		.attAccordion .accordion__title.is-active::after {
			margin-top: 2px;
		}
	.attAccordion .accordion__title::before {
		content: '';
		width: 20px;
		height: 20px;
		background-color: var(--main-color);
		border-radius: 50%;
		position: absolute;
		top: 50%;
		right: 10px;
		margin-top: -9px;
	}

/*----------------------------------------------------
 モーダル
----------------------------------------------------*/
.modalListTitle {
	border-top: 2px solid var(--main-color);
	border-bottom: 2px solid var(--main-color);
	padding: var(--03px) var(--15px) var(--05px);
	color: var(--color-purple);
	background-color: #FFF;
	line-height: 1.3;
}
.modalList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	.modalList .item {
		width: 48%;
		margin-bottom: var(--15px);
		background-color: var(--bg-color-white);
		border-radius: 10px;
		overflow: hidden;
		box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.2);
	}
		.modalList .item.mb0 {
			margin-bottom: 0;
		}
		.modalList .info {
			display: none;
		}
		.modalList figure img {
			width: 100%;
			height: auto;
		}
		.modalList figure figcaption {
			padding: var(--10px);
			padding-top: 0;
		}
		.modalList .item p {
			position: relative;
		}
			.modalList .item p::after {
				position: absolute;
				right: 10px;
				bottom: 14px;
				content: url(../img/common/icon_search.svg);
				width: 16px;
				height: 16px;
				opacity: 0.7;
			}
			.modalList .item p::before {
				position: absolute;
				bottom: 4px;
				right: 4px;
				content: '';
				width: 28px;
				height: 28px;
				border-radius: 50%;
				background-color: var(--main-color);
				opacity: 0.7;
			}

.modaal-content-container {
	padding: var(--20px) !important;
}

/*----------------------------------------------------
 wrapper & background
----------------------------------------------------*/
.wrapper {
	padding: 0 var(--15px);
}
.pdTopBottom {
	padding-top: var(--20px);
	padding-bottom: var(--20px);
}

.bgGlay {
	background-color: var(--bg-color-glay);
}

.bgYellow {
	background-color: var(--bg-color-yellow);
}

.bgWhite {
	background-color: var(--bg-color-white);
}

.bgGreen {
	background-color: var(--bg-color-green);
}

/*----------------------------------------------------
 タイトル
----------------------------------------------------*/
.borderBtmTitle {
	border-bottom: 1px solid var(--color-glay);
	padding-bottom: var(--05px);
	margin-bottom: var(--10px);
	color: var(--color-purple);
}

.borderBtmNum {
	color: var(--main-color);
	font-size: var(--14px);
	line-height: 1;
	border-bottom: 2px solid var(--main-color);
	display: inline-block;
	margin-bottom: var(--10px);
}
	.borderBtmNum .num {
		font-size: 150%;
	}

.greenBgTitle {
	background-color: var(--main-color);
	font-size: var(--22px);
	font-weight: 700;
	color: #FFF;
	padding: var(--12px) var(--24px);
}

.borderTitle {
	border-top: 2px solid var(--main-color);
	border-bottom: 2px solid var(--main-color);
	padding: var(--05px) var(--15px) var(--08px);
	color: var(--color-purple);
	line-height: 1.2;
	background-color: #FFF;
}

/*----------------------------------------------------
 table
----------------------------------------------------*/
.nomalTable {
	width: 100%;
}
	.nomalTable,.nomalTable td,.nomalTable th {
		border-collapse: collapse;
		border: 1px solid var(--color-glay);
		background-color: var(--bg-color-white);
	}
	.nomalTable td,.nomalTable th {
		padding: var(--10px) var(--15px);
	}
	.nomalTable th {
		background-color: var(--bg-color-glay);
		vertical-align: top;
		width: 35%;
		text-align: left;
	}
	.nomalTable .bgGreen {
		background-color: var(--bg-color-green);
	}
	.nomalTable .w65 {
		width: 65% !important;
	}

/*----------------------------------------------------
 ul & ol
----------------------------------------------------*/
.normalUl {
}
	.normalUl > li {
		list-style: disc;
		margin-left: var(--20px);
	}

.normalOl {
}
	.normalOl > li {
		list-style: decimal;
		margin-left: var(--30px);
	}

.boldOl {
}
	.boldOl > li {
		list-style: decimal;
		margin-left: var(--26px);
	}
		.boldOl > li::marker {
			font-weight: 700;
		}

.attentionUl {
	margin-left:var(--20px);
}
	.attentionUl > li {
		list-style-type: none;
		font-size: var(--14px);
		line-height: 1.2;
		margin-bottom: var(--10px);
	}
		.attentionUl > li:before {
			content: '※';
			margin-left:calc(-1 * var(--14px));
			width: var(--14px);
		}

.bracketsOl {
	margin-left: var(--35px);
}
	.bracketsOl > li {
		list-style-type: none;
		counter-increment: cnt;
		position: relative;
		margin-bottom: var(--10px);
	}
		.bracketsOl > li::before {
			position: absolute;
			top: 0;
			left: calc(-1 * var(--40px));
			content: "（" counter(cnt) "）";
		}

/*----------------------------------------------------
 box
----------------------------------------------------*/
.sectionBox {
	border-radius: 20px;
	overflow: hidden;
}
	.sectionBox .sectionTitle {
		font-size: var(--22px);
		font-weight: 700;
		color: var(--color-purple);
		padding: var(--12px) var(--24px);
		border-bottom: 1px solid var(--color-glay);
	}
	.sectionBox .sectionInner {
		padding: var(--18px);
	}
		.sectionBox .sectionInner .sectionSubTitle {
			color: var(--main-color);
		}

.shadowWhiteBox {
	background-color: var(--bg-color-white);
	border-radius: 10px;
	border: 1px solid var(--color-glay);
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
}

.borderRadiusBox {
	border-radius: 10px;
	padding: var(--15px) var(--20px);
}

/*----------------------------------------------------
 button
----------------------------------------------------*/
.borderBtn {
	display: inline-block;
	color: var(--text-color);
	font-weight: 700;
	border: 2px solid var(--main-color);
	border-radius: 30px;
	background-color: var(--bg-color-white);
	padding: var(--08px) var(--40px) var(--08px) var(--20px);
	position: relative;
	min-width: 90%;
}
	.borderBtn::before {
		content: '';
		width: 20px;
		height: 20px;
		background-color: var(--main-color);
		border-radius: 50%;
		position: absolute;
		top: 50%;
		right: 15px;
		margin-top: -10px;
	}
	.borderBtn::after {
		content: '';
		width: 8px;
		height: 8px;
		border: 0;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		position: absolute;
		top: 50%;
		right: 23px;
		margin-top: -4px;
		transform: rotate(45deg);
	}

.borderPdfBtn {
	display: inline-block;
	color: var(--text-color);
	font-weight: 700;
	border: 2px solid var(--main-color);
	border-radius: 30px;
	background-color: var(--bg-color-white);
	padding: var(--08px) var(--15px) var(--08px) var(--40px);
	position: relative;
	min-width: 90%;
}
	.borderPdfBtn::before {
		content: url(../img/common/icon_pdf.svg);
		width: 24px;
		height: 24px;
		position: absolute;
		top: 50%;
		left: 12px;
		margin-top: -12px;
	}

.borderInstagramBtn {
	display: inline-block;
	color: var(--text-color);
	font-weight: 700;
	border: 2px solid var(--main-color);
	border-radius: 30px;
	background-color: var(--bg-color-white);
	padding: var(--08px) var(--15px) var(--08px) var(--40px);
	position: relative;
	min-width: 90%;
}
	.borderInstagramBtn::before {
		content: url(../img/common/icon_instagram.svg);
		width: 24px;
		height: 24px;
		position: absolute;
		top: 50%;
		left: 12px;
		margin-top: -12px;
	}

.greenBtn {
	display: block;
	padding: 2vw 0 2vw 22px;
	font-size: 5.5vw;
	font-weight: 700;
	color: #FFF;
	text-align: center;
	background-color: var(--main-color);
	box-shadow: 0px 3px 0px 0px #2e1140;
	position: relative;
	border-radius: 30px;
}
	.greenBtn::before {
		content: '';
		width: 24px;
		height: 24px;
		background-color: var(--bg-color-white);
		border-radius: 50%;
		position: absolute;
		top: 50%;
		left: 15px;
		margin-top: -12px;
	}
	.greenBtn::after {
		content: '';
		width: 10px;
		height: 10px;
		border: 0;
		border-top: solid 3px var(--main-color);
		border-right: solid 3px var(--main-color);
		position: absolute;
		top: 50%;
		left: 20px;
		margin-top: -5px;
		transform: rotate(45deg);
	}

/*----------------------------------------------------
 arrow
----------------------------------------------------*/
.arrowDown {
	display: inline-block;
	vertical-align: middle;
	color: var(--color-glay);
	line-height: 1;
	position: relative;
	width: 0.2em;
	height: 2.5em;
	background: currentColor;
}
	.arrowDown::before {
		content: '';
		width: 2em;
		height: 2em;
		border: 0.2em solid currentColor;
		border-top: 0;
		border-right: 0;
		transform: rotate(-45deg);
		transform-origin: bottom left;
		position: absolute;
		left: 50%;
		bottom: -0.05em;
		box-sizing: border-box;
	}

.arrowGreen {
	padding-left: var(--18px);
	display: inline-block;
	position: relative;
}
	.arrowGreen::after {
		content: '';
		width: 8px;
		height: 8px;
		border: 0;
		border-top: solid 2px var(--main-color);
		border-right: solid 2px var(--main-color);
		position: absolute;
		top: 50%;
		left: 0;
		margin-top: -4px;
		transform: rotate(45deg);
	}

.arrowPDF {
	padding-left: var(--28px);
	display: inline-block;
	position: relative;
}
	.arrowPDF::after {
		content: url(../img/common/icon_pdf.svg);
		width: 20px;
		height: 20px;
		position: absolute;
		top: 0;
		left: 0;
	}

/*----------------------------------------------------
 header
----------------------------------------------------*/
#head {
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: space-between;
}

#head .logo {
	padding: 12px 0 0 2%;
	width: 40%;
}
	#head .logo h1 img {
		width: auto;
		max-height: 40px;
	}

#head .subBtn li a {
	display: block;
	border: 1px solid var(--color-glay);
	border-radius: 20px;
	padding: 2px 10px 2px 30px;
	font-size: var(--12px);
	line-height: 1.5;
	color: var(--text-color);
	background-position: left 10px center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
}
	#head .subBtn li a.item01 {
		background-image: url("../img/common/icon_company.svg");
	}
	#head .subBtn li a.item02 {
		background-image: url("../img/common/icon_mail.svg");
	}

#head .mainBtn {
	display: flex;
}
	#head .mainBtn li.harry a {
		display: block;
		width: 60px;
		height: 60px;
		padding-top: 40px;
		background-color: var(--color-red);
		background-image: url("../img/common/icon_exclamation.svg");
		background-position: center top 7px;
		background-repeat: no-repeat;
		background-size: 30px 30px;
		font-size: var(--10px);
		letter-spacing: 0;
		color: #FFF;
		text-align: center;
	}

/* ハンバーガーボタン */
#head .hamburgerBtn {
	position: relative;
	width: 60px;
	height: 60px;
	border: none;
	background: var(--main-color);
	cursor: pointer;
	z-index: 100;
	text-align: center;
}

  #head .hamburgerBtn span {
	display: block;
	position: relative;
	left: 50%;
	width: 32px;
	height: 2px;
	transform: translateX(-50%);
	background: #fff;
	transition: all 0.4s;
  }

  #head .hamburgerBtn span:nth-of-type(1) {
	top: -12px;
  }
  #head .hamburgerBtn span:nth-of-type(2) {
	top: -5px;
  }
  #head .hamburgerBtn span:nth-of-type(3) {
	top: 2px;
  }

  #head .hamburgerBtn .hamburgerBtnText {
	display: block;
	color: #fff;
	font-size: var(--10px);
	letter-spacing: 0;
	font-style: normal;
	white-space: nowrap;
	position: absolute;
	bottom: 3px;
	left: 0;
	right: 0;
	margin: 0 auto;
  }

  #head .hamburgerBtn.is-active span:nth-of-type(1) {
	top: -2px;
	transform: translateX(-50%) rotate(225deg);
  }
  #head .hamburgerBtn.is-active span:nth-of-type(2) {
	opacity: 0;
  }
  #head .hamburgerBtn.is-active span:nth-of-type(3) {
	top: -6px;
	transform: translateX(-50%) rotate(-225deg);
  }

/* ハンバーガーメニューのスタイル */
#head .hamburgerNav {
	display: flex;
	z-index: 90;
	position: absolute;
	top: 0;
	right: -100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	background: var(--bg-color-green);
	opacity: 0;
	transition: 0.6s;
  }
  #head .hamburgerNav.is-active {
	position: fixed;
	top: 0;
	right: 0;
	opacity: 1;
	transition: 0.6s;
  }
  #head .hamburgerNav .item a {
	display: block;
	font-size: 20px;
	color: var(--text-color);
	padding: 20px 0;
  }

/* ハンバーガーメニュー展開時の背景固定 */
.is-fixed {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
}

/* ハンバーガー内のメニュー */
.bl_accordion {
	width: 100%;
	overflow-y: scroll;
	border-top: 1px solid var(--color-glay);
}
	.bl_accordion::-webkit-scrollbar {
		display: none;
	}
	.bl_accordionTitle {
		background-color: var(--bg-color-green);
		border-top: 1px solid var(--color-glay);
		border-bottom: 1px solid var(--color-glay);
		font-size: var(--16px);
		padding: var(--12px) var(--20px) var(--12px) var(--50px);
		margin-top: -1px;
		background-position: left var(--10px) center;
		background-repeat: no-repeat;
		background-size: var(--30px);
		position: relative;
	}
		.bl_accordionTitle::after {
			content: '';
			width: var(--30px);
			height: var(--30px);
			background-repeat: no-repeat;
			position: absolute;
			left: var(--10px);
			top: 50%;
			margin-top: -15px;
		}
			.bl_accordionTitle.item01::after {
				background-image: url("../img/common/footer_nav_icon01.svg");
			}
			.bl_accordionTitle.item02::after {
				background-image: url("../img/common/footer_nav_icon02.svg");
			}
			.bl_accordionTitle.item03::after {
				background-image: url("../img/common/footer_nav_icon03.svg");
			}
			.bl_accordionTitle.item04::after {
				background-image: url("../img/common/footer_nav_icon04.svg");
			}
			.bl_accordionTitle.item05::after {
				background-image: url("../img/common/footer_nav_icon05.svg");
			}
			.bl_accordionTitle.item06::after {
				background-image: url("../img/common/footer_nav_icon06.svg");
			}
			.bl_accordionTitle.item07::after {
				background-image: url("../img/common/footer_nav_icon07.svg");
			}
			.bl_accordionTitle.item08::after {
				background-image: url("../img/common/footer_nav_icon09.svg");
			}
			.bl_accordionTitle.active::after {
				filter: brightness(0) invert(1);
			}
		.bl_accordionTitle::before {
			content: "";
			position: absolute;
			right: 25px;
			top: 50%;
			transition: all 0.2s ease-in-out;
			display: block;
			width: 10px;
			height: 10px;
			border-top: solid 3px var(--main-color);
			border-right: solid 3px var(--main-color);
			transform: translateY(-50%) rotate(135deg);
		}
			.bl_accordionTitle.active::before {
				transform: translateY(-50%) rotate(315deg);
			}
			.bl_accordionTitle.active::before {
				border-top: solid 3px #FFF;
				border-right: solid 3px #FFF;
			}
			.bl_accordionTitle.active {
				background-color: var(--color-purple);
				color: #fff;
			}

  .bl_accordionContent {
	padding: 0 20px;
	opacity: 0;
	height: 0;
	line-height: 0;
	transition: 0.3s;
  }
	.bl_accordionContent > * + * {
		margin-top: 0;
	}
	.bl_accordionContent img {
		height: 0;
	}
	.bl_accordionTitle:not(:first-of-type) {
			border-top: 1px solid var(--color-glay);
	}

	.bl_accordionContent.open {
		padding: 20px;
		opacity: 1;
		line-height: normal;
		height: auto;
	}
	.bl_accordionContent.open > * + * {
		margin-top: 10px;
	}

/* アコーディオン内メニュー */
.bl_accordionContent .list {
	background-color: var(--bg-color-white);
	border-radius: 10px;
	border: 1px solid var(--color-glay);
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
}
	.bl_accordionContent .list li {
		border-bottom: 1px solid var(--color-glay);
	}
		.bl_accordionContent .list li:last-child {
			border-bottom: none;
		}
		.bl_accordionContent .list.area li:nth-last-child(2) {
			border-bottom: none;
		}
	.bl_accordionContent .list li a {
		padding: var(--08px) var(--20px);
		display: block;
		color: var(--text-color);
		position: relative;
		font-size: var(--14px);
		font-weight: 700;
	}
		.bl_accordionContent .list li a::before {
			content: '';
			width: 18px;
			height: 18px;
			background-color: var(--main-color);
			border-radius: 50%;
			position: absolute;
			top: 50%;
			right: 10px;
			margin-top: -9px;
		}
		.bl_accordionContent .list li a::after {
			content: '';
			width: 6px;
			height: 6px;
			border: 0;
			border-top: solid 2px #fff;
			border-right: solid 2px #fff;
			position: absolute;
			top: 50%;
			right: 16.5px;
			margin-top: -3px;
			transform: rotate(45deg);
		}
.bl_accordionContent .list.area {
	display: flex;
	flex-wrap: wrap;
}
	.bl_accordionContent .list.area li {
		width: calc(100% / 3);
		border-right: 1px solid var(--color-glay);
	}
		.bl_accordionContent .list.area li a {
			padding: var(--10px) var(--20px) var(--08px) var(--10px);
		}
		.bl_accordionContent .list.area li:nth-child(3n) {
			border-right: none;
		}

/*----------------------------------------------------
 main
----------------------------------------------------*/
main {
	background-color: var(--bg-color-white);
}

/*----------------------------------------------------
 パンくず
----------------------------------------------------*/
.breadcrumb {
	padding: var(--05px) 0;
	background-color: var(--bg-color-glay);
	overflow-x: scroll;
	white-space: nowrap;
}
	.breadcrumb .list {
		display: flex;
		padding: 0 var(--05px);
	}
		.breadcrumb .list li {
			display: block;
			font-size: var(--12px);
			padding-left: var(--20px);
			position: relative;
		}
			.breadcrumb .list li a {
				color: var(--text-color);
			}
				.breadcrumb .list li::after {
					content: '';
					width: 6px;
					height: 6px;
					border: 0;
					border-top: solid 1px var(--text-color);
					border-right: solid 1px var(--text-color);
					position: absolute;
					top: 50%;
					left: var(--05px);
					margin-top: -3px;
					transform: rotate(45deg);
				}
			.breadcrumb .list li.home {
				background-image: url("../img/common/icon_home.svg");
				background-position: left 1px top 0;
				background-repeat: no-repeat;
				background-size: 16px 16px;
			}
				.breadcrumb .list li.home::after {
					border: none;
				}

/*----------------------------------------------------
 ページタイトル
----------------------------------------------------*/
.pageMainTitle {
	padding: var(--15px);
	border-bottom: 2px solid var(--main-color);
}
	.pageMainTitle h1 {
		font-size: var(--28px);
		line-height: 1.2;
		color: var(--color-purple);
	}

/*----------------------------------------------------
 mainCV
----------------------------------------------------*/
.mainCV {
	padding: var(--20px) 0;
}
.mainCV.bottom0 {
	padding: var(--20px) 0 0 0;
}
	/* ボタン */
	.mainCV .btn a {
		color: #FFF;
		font-weight: 700;
		border-radius: 10px;
		background-position: left var(--10px) center;
		background-repeat: no-repeat;
	}
		.mainCV .telBox .btn a {
			display: flex;
			justify-content: center;
			align-items: center;
			padding: 2vw 0;
			font-size: 7.5vw;
			background-color: var(--color-red);
			box-shadow: 0px 3px 0px 0px #720902;
			margin-bottom: 3vw;
		}
			.mainCV .telBox .btn a .icon img {
				width: 10vw;
				margin-right: var(--08px);
				transform-origin: center center;
    			animation: yurayura 2s linear infinite;
			}
			@keyframes yurayura {
				0%, 40%, 60%, 80%, 100% {
				  transform: rotate(10deg);
			  }
			  50%, 70% {
				  transform: rotate(-15deg);
			  }
			}
		.mainCV .mailBox .btn a {
			display: block;
			padding: 2vw 0 2vw 4vw;
			font-size: 5.5vw;
			background-color: var(--color-green);
			box-shadow: 0px 3px 0px 0px #003918;
			position: relative;
		}
			.mainCV .mailBox .btn a::before {
				content: '';
				width: 22px;
				height: 22px;
				background-color: var(--bg-color-white);
				border-radius: 50%;
				position: absolute;
				top: 50%;
				right: 5%;
				margin-top: -11px;
			}
			.mainCV .mailBox .btn a::after {
				content: '';
				width: 10px;
				height: 10px;
				border: 0;
				border-top: solid 3px var(--color-green);
				border-right: solid 3px var(--color-green);
				position: absolute;
				top: 50%;
				right: 9%;
				margin-top: -5px;
				transform: rotate(45deg);
			}

.mainCV .telBox {
	padding: 0 var(--15px) 0 var(--10px);
	display: flex;
	justify-content: space-between;
	background-image: url("../img/common/cv_staff.png");
	background-repeat: no-repeat;
	background-position: left 8px bottom;
	background-size: auto 100%;
}
	.mainCV .telBox .staff {
		width: 28%;
	}

	.mainCV .telBox .rightBox {
		width: 72%;
	}
		.mainCV .telBox .rightBox h2 {
			font-size: 3.8vw;
			font-weight: 700;
			color: #FFF;
			background-color: var(--color-orange);
			text-align: center;
			border-radius: 20px;
			padding: var(--05px) 0;
		}
		/* 吹き出し */
		.mainCV .telBox .rightBox .fukidashi {
			display: inline-block;
			position: relative;
			font-weight: bold;
			text-align: center;
			line-height: 1.4;
			width: 100%;
			height: 60px;
		}
			.mainCV .telBox .rightBox .fukidashi .main {
				font-size: 5vw;
				padding-top: var(--10px);
			}
			.mainCV .telBox .rightBox .fukidashi .sub {
				font-size: 3.5vw;
			}
				.mainCV .telBox .rightBox .fukidashi::before,
				.mainCV .telBox .rightBox .fukidashi::after {
					background-color: var(--text-color);
					content: "";
					height: 1px;
					width: 50px;
					position: absolute;
				}
				.mainCV .telBox .rightBox .fukidashi::before {
					transform: rotate(75deg);
					top: 30px;
					left: -20px;
				}
				.mainCV .telBox .rightBox .fukidashi::after {
					transform: rotate(-75deg);
					top: 30px;
					right: -25px;
				}

.mainCV .mailBox {
	display: flex;
}
	.mainCV .mailBox .pamphlet {
		width: 37%;
		padding: var(--10px);
		background-color: var(--color-glay);
	}
		.mainCV .mailBox .pamphlet img {
			filter: drop-shadow(2px 2px 4px #aaa);
		}

	.mainCV .mailBox .rightBox {
		width: 63%;
		padding: var(--15px);
		background-color: var(--bg-color-glay);
	}
		.mainCV .mailBox .rightBox .text {
			font-weight: 700;
			line-height: 1.4;
			font-size: 4vw;
			margin-left: var(--10px);
			margin-bottom: 2vw;
		}
			.mainCV .mailBox .rightBox .text span {
				color: var(--color-red);
			}

/*----------------------------------------------------
 otherLink
----------------------------------------------------*/
.otherLink {
	padding: 0 var(--15px);
	margin-bottom: var(--03px);
}
	.otherLink ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.otherLink ul li {
		width: calc(50% - 6px);
		margin-bottom: var(--12px);
	}
		.otherLink ul li img {
			width: 100%;
		}

/*----------------------------------------------------
 footer
----------------------------------------------------*/
#foot {
	background-color: var(--bg-color-glay);
}

/* アコーディオンボタン */
#foot .mainNav .accordion__title {
	background-color: var(--bg-color-green);
	border-top: 1px solid var(--color-glay);
	border-bottom: 1px solid var(--color-glay);
	font-size: var(--18px);
	padding: var(--15px) var(--20px) var(--15px) var(--50px);
	margin-top: -1px;
	background-position: left var(--10px) center;
	background-repeat: no-repeat;
	background-size: var(--30px);
}
	#foot .mainNav .accordion__title.item01 {
		background-image: url("../img/common/footer_nav_icon01.svg");
	}
	#foot .mainNav .accordion__title.item02 {
		background-image: url("../img/common/footer_nav_icon02.svg");
	}
	#foot .mainNav .accordion__title.item03 {
		background-image: url("../img/common/footer_nav_icon03.svg");
	}
	#foot .mainNav .accordion__title.item04 {
		background-image: url("../img/common/footer_nav_icon04.svg");
	}
	#foot .mainNav .accordion__title.item05 {
		background-image: url("../img/common/footer_nav_icon05.svg");
	}
	#foot .mainNav .accordion__title.item06 {
		background-image: url("../img/common/footer_nav_icon06.svg");
	}
	#foot .mainNav .accordion__title.item07 {
		background-image: url("../img/common/footer_nav_icon07.svg");
	}

/* アコーディオン展開時のアイコン */
#foot .mainNav .accordion__title::after {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	transition: all 0.2s ease-in-out;
	display: block;
	width: 10px;
	height: 10px;
	border-top: solid 3px var(--main-color);
	border-right: solid 3px var(--main-color);
	transform: translateY(-50%) rotate(135deg);
}
	#foot .mainNav .accordion__title.is-active::after {
		transform: translateY(-50%) rotate(315deg);
	}

/* アコーディオンの中身 */
#foot .mainNav .accordion__content {
	padding: 0 var(--20px);
}
	#foot .mainNav .accordion__content.is-open {
		padding: var(--20px);
	}

/* アコーディオン内メニュー */
#foot .mainNav .accordion__content .list {
	background-color: var(--bg-color-white);
	border-radius: 10px;
	border: 1px solid var(--color-glay);
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
}
	#foot .mainNav .accordion__content .list li {
		border-bottom: 1px solid var(--color-glay);
	}
		#foot .mainNav .accordion__content .list li:last-child {
			border-bottom: none;
		}
	#foot .mainNav .accordion__content .list li a {
		padding: var(--12px) var(--20px);
		display: block;
		color: var(--text-color);
		position: relative;
		font-size: var(--14px);
		font-weight: 700;
	}
		#foot .mainNav .accordion__content .list li a::before {
			content: '';
			width: 18px;
			height: 18px;
			background-color: var(--main-color);
			border-radius: 50%;
			position: absolute;
			top: 50%;
			right: 10px;
			margin-top: -9px;
		}
		#foot .mainNav .accordion__content .list li a::after {
			content: '';
			width: 6px;
			height: 6px;
			border: 0;
			border-top: solid 2px #fff;
			border-right: solid 2px #fff;
			position: absolute;
			top: 50%;
			right: 16.5px;
			margin-top: -3px;
			transform: rotate(45deg);
		}
#foot .mainNav .accordion__content .list.area {
	display: flex;
	flex-wrap: wrap;
}
	#foot .mainNav .accordion__content .list.area li {
		width: 50%;
	}
		#foot .mainNav .accordion__content .list.area li:nth-child(odd) {
			border-right: 1px solid var(--color-glay);
		}

/* サブメニュー */
#foot .subNav {
	padding: var(--20px);
}
	#foot .subNav .list {
		display: flex;
		flex-wrap: wrap;
	}
		#foot .subNav .list li {
			width: 60%;
		}
			#foot .subNav .list li:nth-child(odd) {
				width: 40%;
			}
		#foot .subNav .list li a {
			font-size: var(--14px);
			color: var(--text-color);
			text-decoration: underline;
			text-underline-offset:var(--03px);
			padding: var(--05px) 0 var(--05px) var(--15px);
			position: relative;
		}
			#foot .subNav .list li a::after {
				content: '';
				width: 6px;
				height: 6px;
				border: 0;
				border-top: solid 2px var(--text-color);
				border-right: solid 2px var(--text-color);
				position: absolute;
				top: 50%;
				left: 0;
				margin-top: -3px;
				transform: rotate(45deg);
			}

#foot .copy {
	text-align: center;
	font-size: var(--12px);
	padding-bottom: 150px;
}

/* トップへ戻るボタン */
.backTop {
    position: fixed;
    z-index: 70;
    bottom: 148px;
    right: 2%;
	/* フェードイン用 */
	opacity: 0;
	transition-duration: 0.5s;
}
	.backTop a {
		display: block;
		border-radius: 10px;
		background-color: var(--main-color);
		width: 50px;
		height: 50px;
		padding: 10px;
		opacity: 0.5;
	}

/*----------------------------------------------------
 固定フッター
----------------------------------------------------*/
.fixFooter {
    position: fixed;
    z-index: 70;
    bottom: 0;
    left: 0;
    width: 100%;
	/* フェードイン用 */
	opacity: 0;
	transition-duration: 0.5s;
}

/* cv */
.fixFooter .footerCV {
	background-color: rgba(92, 40, 125, 0.8);
	color: #FFF;
	font-weight: 700;
	padding: var(--03px) 0 var(--10px);
}
	.fixFooter .footerCV .title {
		text-align: center;
		font-size: var(--14px);
		margin-bottom: 2px;
		text-shadow: 0 1px 2px var(--color-purple);
	}
	.fixFooter .footerCV .btn {
		display: flex;
		justify-content: space-between;
		padding: 0 var(--10px);
	}
		.fixFooter .footerCV .btn a {
			display: block;
			color: #FFF;
			height: 42px;
			font-size: var(--20px);
			border-radius: 10px;
			padding: var(--03px) 0;
			background-position: left 6% center;
			background-repeat: no-repeat;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		.fixFooter .footerCV .btn .telBtn {
			width: 55.5%;
		}
			.fixFooter .footerCV .btn .telBtn a {
				background-color: var(--color-red);
				text-shadow: 0 1px 2px #720902;
				box-shadow: 0px 3px 0px 0px #720902;
				border: 2px solid #aa1308;
			}
				.fixFooter .footerCV .btn .telBtn a .icon {
					width: 32px;
					margin-right: var(--08px);
					transform-origin: center center;
					animation: yurayura 2s linear infinite;
				}
		.fixFooter .footerCV .btn .mailBtn {
			width: 41.5%;
		}
			.fixFooter .footerCV .btn .mailBtn a {
				color: var(--color-green);
				background-color: #FFF;
				text-shadow: 0 1px 2px #ddd;
				box-shadow: 0px 3px 0px 0px #003918;
				border: 2px solid var(--color-green);
			}
				.fixFooter .footerCV .btn .mailBtn a .icon {
					width: var(--28px);
					margin-right: var(--08px);
				}

/* メニュー */
.fixNav {
	background-color: var(--bg-color-glay);
}
	.fixNav .btn {
		display: flex;
	}
		.fixNav .btn li {
			width: 25%;
			background-position: center top var(--05px);
			background-repeat: no-repeat;
			background-size: var(--30px);
		}
			.fixNav .btn li.item01 {
				background-image: url("../img/common/footer_nav_icon08.svg");
			}
			.fixNav .btn li.item02 {
				background-image: url("../img/common/footer_nav_icon02.svg");
			}
			.fixNav .btn li.item03 {
				background-image: url("../img/common/footer_nav_icon01.svg");
			}
			.fixNav .btn li.item04 {
				background-image: url("../img/common/footer_nav_icon06.svg");
			}
		.fixNav .btn li a {
			display: block;
			font-size: var(--12px);
			font-weight: 700;
			text-align: center;
			color: var(--text-color);
			padding: var(--35px) 0 0;
		}
