@charset "UTF-8";
#header + * {
	padding-bottom: 20px;
}
.a-heading::before {
	height: 100%;
}
.a-heading__inner {
	padding: 0;
	transform: translateX(-40px);
}
.a-heading .stamp {
	bottom: 10px;
}
.a-heading .heading__txt {
	color: #FFF;
	font-size: 1.8rem;
}
/*テキストのカラー指定*/
span[class$="txt-green"]{
	color: var(--dept-g);
}
span[class$="txt-blue"]{
	color: var(--dept-b);
}
span[class$="txt-orange"]{
	color: var(--dept-o);
}
span[class$="txt-purple"]{
	color: var(--dept-p);
}

/*種別の装飾*/
div[class^="type__name-"] {
	border-radius: 4px;
	color: #FFF;
	display: inline-block;
	font-size: 1.4rem;
	padding: 3px 10px;
	text-align: center;
	min-width: 60px;
}
.type__name-green {
	background-color: var(--dept-g);
}
.type__name-blue {
	background-color: var(--dept-b);
}
.type__name-orange {
	background-color: var(--dept-o);
}
.type__name-purple {
	background-color: var(--dept-p);
}
.type__name-all {
	background-color: var(--red);
}
/*
.h-flowArea
-----------------------------------------------------------------------------------------------*/
.bg-lightbrown {
	background-color: rgba(var(--blue-rgb),.06);
	border-radius: 0 0 60px 0;
}
.h-flowArea {
	display: flex;
	gap: 0 35px;
	justify-content: center;
	padding: 75px 30px 70px;
	max-width: 1315px;
	margin: 0 auto;
}
.h-flow__list {
	border: solid 1px #000;
	border-radius: var(--bdrs);
	padding: 0 0 30px 0;
	position: relative;
	text-align: center;
	width: calc((100% - 35px) / 6);
}
.h-flow__list:not(:last-of-type)::before,
.h-flow__list:not(:last-of-type)::after {
	border-right: 2px solid #000;
	border-top: 2px solid #000;
	content: '';
	height: 13px;
	position: absolute;
	transform: rotate(45deg) translate(0, -50%);
	right: -12px;
	top: 50%;
	transition: right .3s;
	width: 13px;
}
.h-flow__list:not(:last-of-type)::after {
	right: -20px;
}
.h-flow__step {
	background: url("../images/hit_flow_bg01.png") no-repeat center/contain;
	font-size: 1.8rem;
	left: 50%;padding: 0 20px;
	position: absolute;
	top: -17px;
	transform: translateX(-50%);
}
.h-flow__txt {
	 align-items: center;
	border-bottom: solid 1px #000;
	display: flex;
	font-size: 2rem;
	justify-content: center;
	line-height: 140%;
	margin-bottom: 20px;
	height: 90px;
}

.h-flow__typeArea {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap:10px 0;
	justify-content: center;
}
.h-flowArea div[class^="type__name-"] {
	padding: 5px 0;
	width: 115px;
}
/*
.stepArea
-----------------------------------------------------------------------------------------------*/
.ctsArea.stepArea {
	padding: 140px 30px 100px;
	position: relative;
	text-align: justify;
}
.hit-wrapper .ctsArea:nth-of-type(8) {
	padding: 140px 30px 140px;
}
.hit-wrapper .ctsArea:nth-of-type(8)::before {
	content: none;
}
.ctsArea.stepArea::before {
	bottom: -48px;
	background: url(../images/bg_paper01.png) repeat;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	content: "";
	height: 50px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100px;
}
.ctsArea.stepArea:nth-of-type(odd)::before {
	bottom: -50px;
	background: rgba(103, 52, 0, .15);
}
.step__inner {
	display: flex;
	justify-content: space-between;
}
.step__titBox {
	border-radius: var(--bdrs);
	box-shadow: var(--shadow);
	height: fit-content;
	max-width: 295px;
	position: relative;
}
.step__titBox__num {
	color: var(--blue);
	font-size: 2.5rem;
	font-weight: var(--bold);
	left: 0;
	position: absolute;
	top: -45px;
}
.step__titBox_title {
	border-radius: 10px 10px 0 0;
	background: var(--blue);
	color: #FFF;
	font-size: 2.8rem;
	font-weight: var(--bold);
	padding: 20px 20px 20px 25px;
}
.step__titBox__txt {
	background: #FFF;
	border-radius: 0 0 10px 10px;
	font-size: 1.8rem;
	font-weight: var(--bold);
	line-height: 180%;
	padding: 30px;
}
.step__imgArea {
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-top: 30px;
}
.step__imgBox {
	max-width: 381px;
}
.step__img__titleArea {
	align-items: center;
	display: flex;
	gap:0 20px;
	margin-bottom: 15px;
}
.step__img__title {
	font-size: 2.6rem;
	padding-bottom: 2px;
}
.step__img {
	border-radius: var(--bdrs);
	height: auto;
	margin-bottom: 15px;
	width: 380px;
}
.step__img__txt {
	line-height: 200%;
	letter-spacing: 0.001rem;
}
/*stepArea__txt__only*/
.ctsArea.stepArea__txt__only {
	padding: 145px 30px 130px;
	text-align: center;
}
.txt__only {
	color: var(--blue);
	font-size: 4rem;
	font-weight: var(--bold);
	
}
/*.bannerArea
-----------------------------------------------------------------------------------------------*/
.bannerArea.ctsArea {
	padding: 0 50px 70px 35px;
}
.bannerArea {
	position: relative;
}
a.banner__box {
	border-radius: 60px 10px 10px;
	display: flex;
	overflow: hidden;
	max-height: 360px;
	transition: box-shadow .4s;
}
a.banner__box:hover {
	box-shadow: 0 0 15px rgb(0 0 0 / 25%);
}
a.banner__box:hover .ico-circle__red {
	background: #FFF;
	right: 15px;
	
}
a.banner__box:hover [class^="ico-circle"]::before,
a.banner__box:hover [class^="ico-circle"]::after {
	border-top: 2px solid var(--red);
	border-right: 2px solid var(--red);
}
.banner__txtArea {
	border-radius: 60px 0 0 10px;
	background: #000;
	color: #FFF;
	position: relative;
	transition: .4s;
	width: 506px;
}
a.banner__box:hover .banner__txtArea {
	background: var(--red);
}
.banner__under-red {
	display: block;
	border-bottom: 1px solid var(--red);
	font-size: 2.2rem;
	padding: 70px 0 10px 80px;
	transition: border .3s;
}
a.banner__box:hover .banner__under-red {
	border-bottom: 1px solid #FFF;
}
.banner__txt {
	display: block;
	font-size: 3.3rem;
	line-height: 170%;
	padding: 50px 0 0 80px;
}
.banner__img {
	border-radius: 0 10px 10px 0;
	overflow: hidden;
	width: 694px;
}
a.banner__box img,
.ico-circle__red {
	transition: .4s;
}
a.banner__box:hover img {
	transform: scale(1.05);
}
.bannerArea .stamp.work {
	top: -50px;
	right: 10px;
}
.bannerArea .stamp {
	padding: 0 15px 0 0;
}
@media screen and (max-width: 1120px){
	.bannerArea.ctsArea {
		padding: 0 60px 70px 30px;
	}
	.bannerArea .stamp.work {
		right: 30px;
	}
}
@media screen and (max-width:812px){
	.a-heading .heading__head {
		white-space: nowrap;
	}
	.a-heading__inner {
		padding: 0 15px;
		transform: translateX(0);
	}
	.a-heading .heading__txt{
		font-size: 1.4rem;
	}
	/*種別の装飾*/
	div[class^="type__name-"] {
		font-size: 1.2rem;
		padding: 2px 10px;
		min-width: 30px;
	}
	/*
	.h-flowArea
	-----------------------------------------------------------------------------------------------*/
	
	.bg-lightbrown {
		border-radius: 0 0 30px 0;
		position: relative;
	}
	.scroll__ico {
		position: absolute;
		top: 50%;
		left: 50%;
		max-width: 180px;
		transform: translate(-50%,-50%);
		width: 40%;
		height: auto;
		z-index: 20;
	}
	.anmScroll.jsAnmStart{
		animation: anmScroll 2s ease 0.9s forwards;
	}
	.h-flowArea {
		justify-content: flex-start;
		padding: 55px 15px 50px;
		overflow: scroll;
	}
	.h-flow__typeArea {
		gap: 6px 0;
	}
	.h-flow__list {
		padding: 7px 10px 15px;
		min-width: 155px;
	}
	.h-flow__txt {
		font-size: 1.4rem;
		height: 55px;
		margin-bottom: 10px;
	}

	.h-flowArea div[class^="type__name-"] {
		padding: 2px 0;
		width: 100px;
	}
	/*
	.stepArea
	-----------------------------------------------------------------------------------------------*/
	.ctsArea.stepArea {
		padding: 90px 15px 55px;
	}

	.hit-wrapper .ctsArea:nth-of-type(8) {
		padding: 70px 15px 80px;
	}
	.ctsArea.stepArea::before {
		bottom: -24px;
		height: 25px;
		width: 50px;
	}
	.ctsArea.stepArea:nth-of-type(odd)::before {
		bottom: -25px;
	}
	.step__inner {
		display: block;
	}
	.step__titBox {
		max-width: none;
		position: relative;
	}
	.step__titBox__num {
		font-size: 2rem;
		top: -32px;
	}
	.step__titBox_title {
		font-size: 2.2rem;
		padding: 10px 0 10px 20px;
	}
	.step__titBox__txt {
		font-size: 1.5rem;
		line-height: 170%;
		padding: 25px 15px 25px;
	}
	.step__imgArea {
		display: block;
		gap: 20px;
		margin-top: 35px;
	}
	.step__imgBox {
		max-width: none;
	}
	.step__imgBox:not(:last-of-type) {
		margin-bottom: 40px;
	}
	.step__img__titleArea {
		gap:0 10px;
		margin-bottom: 8px;
	}
	.step__img__title {
		font-size: 2rem;
		padding-bottom: 2px;
	}
	.step__img {
		margin-bottom: 5px;
		width: 100%;
	}
	.step__img__txt {
		line-height: 170%;
		font-size: 1.4rem;
	}
	/*stepArea__txt__only*/
	.ctsArea.stepArea__txt__only {
		padding: 60px 15px 50px;
		text-align: center;
	}
	.txt__only {
		font-size: 2.5rem;
	}
	/*.bannerArea
	-----------------------------------------------------------------------------------------------*/
	.bannerArea.ctsArea {
		max-width: 600px;
		padding: 0 15px 0;
	}
	a.banner__box {
		border-radius: 30px 6px 6px;
		flex-direction: column;
		max-height: 379px;
		transform: translateX(0px);
	}
	.banner__txtArea {
		border-radius: 20px 0 0 0;
		width:100%;
	}
	.banner__under-red {
		font-size: 1.4rem;
		padding: 10px 0 5px 25px;
	}
	.banner__txt {
		font-size: 2rem;
		line-height: 150%;
		padding: 5px 25px;
	}
	.banner__img {
		align-items: flex-start;
		border-radius: 0 0 10px 10px;
		display: flex;
		height: 150px;
		overflow: hidden;
		width: 100%;
		z-index: -1;
	}
	.bannerArea .stamp.work {
		padding: 0 9px 0;
		top: -61px;
		right: 10px;
	}
	.bannerArea [class^="ico-circle"] {
		bottom: -130px;
	}
	.bannerArea a.banner__box:hover .ico-circle__red {
		background: var(--red);
		right: 15px;
	}
	.bannerArea a.banner__box:hover [class^="ico-circle"]::before,
	.bannerArea a.banner__box:hover [class^="ico-circle"]::after {
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
}
/*ipad mini記述*/
@media screen and (min-width: 768px) and (max-width: 819px){
	.a-heading .stamp {
		bottom: 43px;
	}
	.banner__img {
		height: 200px;
	}
	.bannerArea [class^="ico-circle"] {
		bottom: -180px;
	}
}
@keyframes anmScroll{
	0%{
		opacity: 0;
	}
	30%{
		opacity: 1;
	}
	70%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}
/* iPhone SE用 */
@media screen and (max-width:375px){
	.banner__img {
		height: 130px;
	}
	.bannerArea [class^="ico-circle"] {
		bottom: -110px;
	}
}
/* デバイスが横向きの場合の記述 */
@media (orientation: landscape) and (max-width:812px){
	.banner__img {
		height: 200px;
	}
	.bannerArea [class^="ico-circle"] {
		bottom: -180px;
	}
}
/* デバイスが横向き＋XR 場合の記述 */
@media (orientation: landscape) and (min-width: 667px) and (max-width: 896px){
	.a-heading .stamp {
		bottom: 55px;
	}
}