

.ptph
{
	top: -360px;
}


#catbox
{
	display: block;
	position: relative;
	width: 960px;
	height: 500px;
	list-style: none;
	padding: 0px;
	margin: 120px auto 0px auto;
	font-size: 0px;
	line-height: 0px;
	text-align: center;
}


#catbox li
{
	display: inline-block;
	width: 324px;
	height: 500px;
	margin: 0px 78px 0px 78px;
	padding: 0px;
	text-align: center;
	vertical-align: top;
}


#catbox li a
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-decoration: none;
}


#catbox li a .clbib
{
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 54px;
	margin: auto;
	width: 324px;
	height: 324px;
	border-radius: 50%;
	/*border: solid 4px #727171;*/
	overflow: hidden;
}


#catbox li a .clbib::after
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	margin: auto;
	width: calc( 100% - 8px );
	height: calc( 100% - 8px );
	border-radius: 50%;
	border: solid 4px #727171;
}


#catbox li a .clbib img, #catbox li a .clbib svg
{
	display: block;
	position: absolute;
	left: -200px;
	top: -200px;
	right: -200px;
	bottom: -200px;
	margin: auto;
	width: 100%;
	border: 0px;
}


#catbox li a .cltt
{
	display: block;
	position: absolute;
	left: -120px;
	right: -100px;
	top: 4px;
	margin: auto;
	width: 120%;
	height: 95px;
	/*font-family: 'Noto Sans JP', sans-serif;*/
	font-size: 95px;
	font-weight: 900;
	line-height: 95px;
	text-align: center;
	vertical-align: top;
	color: #3E3A39;
	-webkit-transform: rotate( -8deg );
	transform: rotate( -8deg );
}


#catbox li a .cltj
{
	display: block;
	position: absolute;
	left: -100px;
	right: -100px;
	bottom: 70px;
	margin: auto;
	width: 100%;
	height: 27px;
	font-size: 27px;
	font-weight: 700;
	line-height: 27px;
	text-align: center;
	vertical-align: top;
	color: #3E3A39;
}


#catbox li a::before, #catbox li a::after
{
	content: '';
	display: block;
	position: absolute;
	bottom: 18px;
	width: 50px;
	height: 0px;
	border-top: solid 15px #3E3A39;
}


#catbox li a::before
{
	left: calc( 50% - 50px );
	-webkit-transform: skewY( 12deg );
	transform: skewY( 12deg );
}


#catbox li a::after
{
	right: calc( 50% - 50px );
	-webkit-transform: skewY( -12deg );
	transform: skewY( -12deg );
}


#clbtn01:hover .clbib::after
{
	border-color: #4593D0;
}


#clbtn01:hover .st0, #clbtn01:hover .st1
{
	fill: #4593D0;
}


#clbtn01:hover .cltt, #clbtn01:hover .cltj
{
	color: #4593D0;
}


#clbtn01:hover::before, #clbtn01:hover::after
{
	border-top-color: #4593D0;
}


#clbtn02:hover .clbib::after
{
	border-color: #E73828;
}


#clbtn02:hover .st0, #clbtn02:hover .st1
{
	fill: #E73828;
}


#clbtn02:hover .cltt, #clbtn02:hover .cltj
{
	color: #E73828;
}


#clbtn02:hover::before, #clbtn02:hover::after
{
	border-top-color: #E73828;
}


.svcont
{
	display: block;
	position: relative;
	width: 960px;
	margin: 80px auto 120px auto;
	padding-bottom: 1px;
}


#svc01
{
	margin-top: 196px;
}


.svmebox
{
	display: block;
	position: relative;
	width: 618px;
	height: 618px;
	margin: 0px auto 0px auto;
}


.svmebox::before
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	border-radius: 50%;
}


.svmebox .mi
{
	display: block;
	position: absolute;
	left: -500px;
	right: -500px;
	margin: auto;
}


#svmeb01 .mi { top: 60px; width: 320px; }
#svmeb02 .mi { top: 10px; width: 405px; }
#svmeb03 .mi { top: 0px; right: -460px; width: 396px; }
#svmeb04 .mi { top: -57px; width: 336px; }


.svmebox .te
{
	display: block;
	position: absolute;
	left: 10px;
	right: 0px;
	top: 304px;
	width: 100%;
	height: 134px;
	margin: auto;
	font-family: 'texgyreadventor', sans-serif;
	font-size: 76px;
	font-weight: 700;
	line-height: 67px;
	text-align: center;
	vertical-align: top;
	-webkit-transform: rotate( -8deg );
	transform: rotate( -8deg );
}


.svmebox .tj
{
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: 100px;
	margin: auto;
	width: 100%;
	height: 20px;
	font-size: 20px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
	vertical-align: top;
}


#svmeb01 .te
{
	font-size: 67px;
}


.svcs
{
	display: block;
	position: relative;
	width: 100%;
	margin: 0px auto 0px auto;
}


.svicn
{
	display: block;
	position: relative;
	width: 310px;
	height: 310px;
	margin: 0px auto -40px auto;
	border-radius: 50%;
}


.svicn img
{
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 36px;
	margin: auto;
}


.svicn_bl
{
	margin-top: 138px;
}


.svicn_bl::before
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: -138px;
	margin: auto;
	width: 0px;
	height: 138px;
	border: solid 1px;
}


.svicn_bl img
{
	width: 146px;
}


.svicn_pr
{
	margin-top: 110px;
}


.svicn_pr::before
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: -112px;
	margin: auto;
	width: 0px;
	height: 110px;
	border: solid 1px;
}


.svicn_pr img
{
	width: 131px;
}


.svicn p
{
	display: block;
	position: absolute;
	left: 5px;
	right: 0px;
	margin: auto;
	width: 100%;
	font-family: 'texgyreadventor', sans-serif;
	font-weight: 700;
	text-align: center;
	vertical-align: top;
	-webkit-transform: rotate( -8deg );
	transform: rotate( -8deg );
}


.svicn_bl p
{
	top: 156px;
	height: 86px;
	font-size: 49px;
	line-height: 49px;
}


.svicn_pr p
{
	top: 194px;
	height: 60px;
	font-size: 60px;
	line-height: 60px;
}


.svinfb
{
	position: relative;
	border-top: solid 2px;
	border-bottom: solid 2px;
}


.svinfb_bl
{
	/*margin-bottom: 110px;*/
	padding-left: 145px;
	padding-right: 145px;
	padding-top: 90px;
	padding-bottom: 90px;
}


.svinfb_pr
{
	padding-left: 59px;
	padding-right: 59px;
	padding-top: 75px;
	padding-bottom: 75px;
}


.svinfb h4
{
	display: block;
	position: relative;
	width: 128px;
	height: 48px;
	margin: 0px auto 10px auto;
	font-size: 20px;
	font-weight: 500;
	line-height: 48px;
	color: #FFFFFF;
	background-color: #E83928;
	text-align: center;
	vertical-align: top;
	border-radius: 24px;
}


.svinfb h4::after
{
	content: '';
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	bottom: -10px;
	margin: auto;
	width: 0px;
	height: 0px;
	border-left: solid 18px transparent;
	border-top: solid 11px #E83928;
	border-right: solid 18px transparent;
}


.svinfb_pr h4
{
	margin-top: 46px;
}


.svinfb_bl p
{
	display: block;
	margin-top: 52px;
	font-size: 15px;
	font-weight: 400;
	line-height: 33px;
	text-align: justify;
	vertical-align: top;
}


.prtbl
{
	margin-top: 57px;
	font-size: 0px;
	line-height: 0px;
}


.prtbl .tbltr
{
	margin-top: 43px;
	margin-bottom: 43px;
	font-size: 0px;
	line-height: 0px;
}


.prtbl .tbltr:first-child
{
	margin-top: 0px;
}


.prtbl .tbltr:last-child
{
	margin-bottom: 0px;
}


.prtbl .tbltd
{
	display: inline-block;
	position: relative;
	width: 226px;
	height: 40px;
	padding: 0px 20px 0px 34px;
	font-size: 15px;
	line-height: 40px;
	vertical-align: top;
}


.prtbl .tbltd::after
{
	content: '';
	display: block;
	position: absolute;
	top: 0px;
	right: -14px;
	width: 0px;
	height: 0px;
	border-left: solid 14px;
	border-top: solid 20px transparent;
	border-bottom: solid 20px transparent;
	z-index: 1;
}


.prtbl .tbltd:first-child
{
	width: 215px;
	padding-left: 45px;
	font-weight: 700;
}


.prtbl .tbltd:nth-child(2)
{
	background-color: #EFEFEF;
}


.prtbl .tbltd:nth-child(2)::after
{
	border-left-color: #EFEFEF;
}


.prtbl .tbltd:last-child
{
	background-color: #DCDDDD;
}


.prtbl .tbltd:last-child::after
{
	border-left-color: #DCDDDD;
}


#svc02 .svinfb_bl p
{
	margin-right: -40px;
}


#svc04 .svinfb_pr p
{
	display: block;
	margin-top: 62px;
	margin-bottom: 24px;
	height: 20px;
	font-size: 20px;
	font-weight: 500;
	line-height: 20px;
	vertical-align: top;
}


#dirbox01
{
	display: block;
	position: relative;
	width: 460px;
	height: 300px;
	margin: 134px auto 120px auto;
}


#korecli
{
	display: inline-block;
	position: absolute;
	left: 60px;
	top: 16px;
	font-size: 15px;
	font-weight: 500;
	line-height: 21px;
	text-align: center;
	vertical-align: top;
	-webkit-transform: rotate( 12deg );
	transform: rotate( 12deg );
}


#illust_click
{
	display: block;
	position: absolute;
	left: 16px;
	top: 70px;
	width: 119px;
}


#dirnrsb
{
	display: block;
	position: absolute;
	left: 210px;
	top: 0px;
	width: 178px;
	height: 178px;
	text-decoration: none;
	background-color: #66AADE;
	border-radius: 50%;
	transition-duration: 150ms;
}


#dirnrsb img
{
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	margin: auto;
	width: 114px;
	border: 0px;
}


#dirnrsb:hover
{
	background-color: #E83928;
}


#dirkuwa
{
	display: inline-block;
	position: absolute;
	right: 28px;
	bottom: 38px;
	width: 260px;
	height: 64px;
	font-size: 17px;
	font-weight: 500;
	line-height: 32px;
	text-align: center;
	vertical-align: top;
}


.phi
{
	display: block;
	position: absolute;
	width: 246px;
	height: 246px;
	/*bottom: 0px;*/
	background-color: #DCDDDD;
	border-radius: 50%;
	overflow: hidden;
}


.phi img
{
	display: block;
	position: absolute;
	left: -100px;
	top: -100px;
	right: -100px;
	bottom: -100px;
	margin: auto;
	width: 100%;
}


.phi01
{
	left: -120px;
	bottom: -40px;
	animation: phiround01 15000ms linear 0ms infinite alternate;
}


.phi02
{
	right: -140px;
	bottom: -80px;
	animation: phiround01 15100ms linear -2500ms infinite alternate;
}


.phi03
{
	right: -210px;
	bottom: 80px;
	animation: phiround01 15040ms linear -7500ms infinite alternate;
}


@-webkit-keyframes phiround01
{
	0% { -webkit-transform: scale( 0.6 ); opacity: 1.0; }
	10% { -webkit-transform: scale( 0.7 ); opacity: 1.0; }
	50% { -webkit-transform: scale( 1.0 ); opacity: 1.0; }
	96% { -webkit-transform: scale( 1.2 ); opacity: 0.0; }
	100% { -webkit-transform: scale( 1.2 ); opacity: 0.0; }
}


@keyframes phiround01
{
	0% { transform: scale( 0.6 ); opacity: 1.0; }
	10% { transform: scale( 0.7 ); opacity: 1.0; }
	50% { transform: scale( 1.0 ); opacity: 1.0; }
	96% { transform: scale( 1.2 ); opacity: 0.0; }
	100% { transform: scale( 1.2 ); opacity: 0.0; }
}


#svmeb01::before, #svc01 .svicn, #svc01 .prtbl .tbltd:first-child
{
	background-color: #82C1EA;
}


#svc01 .svicn_bl::before, #svc01 .svicn_pr::before, #svc01 .svinfb
{
	border-color: #82C1EA;
}


#svc01 .prtbl .tbltd:first-child::after
{
	border-left-color: #82C1EA;
}


#svmeb02::before, #svc02 .svicn
{
	background-color: #FFF100;
}


#svc02 .svicn_bl::before, #svc02 .svicn_pr::before, #svc02 .svinfb
{
	border-color: #FFF100;
}


#svc02 .prtbl .tbltd:first-child
{
	background-color: #FFE200;
}


#svc02 .prtbl .tbltd:first-child::after
{
	border-left-color: #FFE200;
}


#svmeb03::before, #svc03 .svicn, #svc03 .prtbl .tbltd:first-child
{
	background-color: #CFDD4C;
}


#svc03 .svicn_bl::before, #svc03 .svicn_pr::before, #svc03 .svinfb
{
	border-color: #CFDD4C;
}


#svc03 .prtbl .tbltd:first-child::after
{
	border-left-color: #CFDD4C;
}


#svmeb04::before, #svc04 .svicn, #svc04 .prtbl .tbltd:first-child
{
	background-color: #F4B3C2;
}


#svc04 .svicn_bl::before, #svc04 .svicn_pr::before, #svc04 .svinfb
{
	border-color: #F4B3C2;
}


#svc04 .prtbl .tbltd:first-child::after
{
	border-left-color: #F4B3C2;
}


.svibtn
{
	display: none;
}






#dialog
{
	display: none;
}





@media ( max-width: 640px )
{
	.ptph
	{
		top: -25px;
		width: 884px;
	}
	
	
	#ptbox01
	{
		width: 430px;
		height: 64px;
	}
	
	
	#ptbox01 .ptj
	{
		display: block;
		margin-left: 0px;
		margin-top: 4px;
		line-height: 20px;
	}
	
	
	#ptcom01
	{
		width: 430px;
	}
	
	
	#midbase01::before
	{
		border-bottom: solid 4px #FFFFFF;
	}
	
	
	#catbox
	{
		width: 640px;
		height: auto;
	}
	
	
	#catbox li
	{
		margin: 150px auto 180px auto;
	}
	
	
	#catbox li a
	{
		transform: scale( 1.33 );
	}
	
	
	.svcont
	{
		width: 640px;
		margin-top: 60px;
		margin-bottom: 180px;
	}
	
	
	#svc01
	{
		margin-top: 143px;
	}
	
	
	.svmebox
	{
		width: 476px;
		height: 476px;
	}
	
	
	#svmeb01 .mi { top: 41px; width: 246px; }
	#svmeb02 .mi { top: 9px; width: 312px; }
	#svmeb03 .mi { top: 0px; right: -465px; width: 304px; }
	#svmeb04 .mi { top: -45px; width: 258px; }
	
	
	.svmebox .te
	{
		top: 240px;
		height: 102px;
		font-size: 58px;
		line-height: 51px;
	}
	
	
	.svmebox .tj
	{
		bottom: 72px;
		height: 16px;
		font-size: 16px;
		line-height: 16px;
	}
	
	
	#svmeb01 .te
	{
		font-size: 51px;
	}
	
	
	.svcs
	{
		overflow: hidden;
		transition-duration: 600ms;
	}
	
	
	#svcs01 { height: 3809px; }
	#svcs02 { height: 2947px; }
	#svcs03 { height: 2947px; }
	#svcs04 { height: 2341px; }
	
	
	.svicn
	{
		width: 414px;
		height: 414px;
		margin-bottom: -62px;
	}
	
	
	.svicn_bl
	{
		margin-top: 183px;
	}
	
	
	.svicn_bl::before
	{
		top: -183px;
		height: 183px;
		border: solid 2px;
	}
	
	
	.svicn_pr
	{
		margin-top: 148px;
	}
	
	
	.svicn_pr::before
	{
		top: -150px;
		height: 148px;
		border: solid 2px;
	}
	
	
	.svicn img
	{
		top: 45px;
	}
	
	
	.svicn_bl img
	{
		width: 190px;
	}
	
	
	.svicn_pr img
	{
		width: 172px;
	}
	
	
	.svicn p
	{
		left: 8px;
	}
	
	
	.svicn_bl p
	{
		top: 216px;
		height: 114px;
		font-size: 65px;
		line-height: 57px;
	}
	
	
	.svicn_pr p
	{
		top: 256px;
		height: 80px;
		font-size: 80px;
		line-height: 80px;
	}
	
	
	.svinfb
	{
		border-top: solid 4px;
		border-bottom: solid 4px;
	}
	
	
	.svinfb_bl
	{
		padding-left: 78px;
		padding-right: 78px;
		padding-top: 124px;
		padding-bottom: 110px;
	}
	
	
	.svinfb_pr
	{
		padding-left: 58px;
		padding-right: 58px;
		padding-top: 100px;
		padding-bottom: 130px;
	}
	
	
	.svinfb h4
	{
		width: 170px;
		height: 64px;
		margin-top: 100px;
		margin-bottom: 14px;
		font-size: 27px;
		line-height: 64px;
		border-radius: 32px;
	}
	
	
	.svinfb h4::after
	{
		bottom: -14px;
		border-left-width: 24px;
		border-top-width: 15px;
		border-right-width: 24px;
	}
	
	
	.svinfb_bl p
	{
		margin-top: 58px;
		font-size: 20px;
		line-height: 44px;
	}
	
	
	.prtbl
	{
		display: block;
		width: 383px;
		height: auto;
		margin: 82px auto 0px auto;
	}
	
	
	.prtbl .tbltr
	{
		display: block;
		margin: 41px 0px 41px 0px;
		border: 0px;
	}
	
	
	.prtbl .tbltd
	{
		display: block;
		width: 363px;
		height: 54px;
		padding: 0px;
		font-size: 20px;
		line-height: 54px;
		text-align: center;
		vertical-align: top;
	}
	
	
	.prtbl .tbltd:first-child
	{
		width: 363px;
		padding: 0px;
	}
	
	
	.prtbl .tbltd::after
	{
		right: -20px;
		border-left-width: 20px;
		border-top-width: 27px;
		border-bottom-width: 27px;
	}
	
	
	#svc02 .svinfb_bl p
	{
		margin-right: 0px;
	}
	
	
	#svc04 .svinfb_pr p
	{
		margin-bottom: 94px;
		line-height: 44px;
	}
	
	
	#dirbox01
	{
		-webkit-transform: scale( 1.3 );
		transform: scale( 1.3 );
	}
	
	
	#dirnrsb:hover
	{
		background-color: #66AADE;
	}
	
	
	.phi
	{
		display: none;
	}
	
	
	.svibtn
	{
		display: block;
		position: relative;
		width: 72px;
		height: 72px;
		margin: 72px auto 0px auto;
		overflow: hidden;
		transition-duration: 300ms;
		cursor: pointer;
	}
	
	
	.svibtn::before, .svibtn::after
	{
		content: '';
		position: absolute;
		left: 0px;
		right: 0px;
		width: 26px;
		height: 26px;
		margin: auto;
		border-left: solid 8px #000000;
		border-top: solid 8px #000000;
		border-right: solid 8px transparent;
		border-bottom: solid 8px transparent;
		-webkit-transform: scaleX( 1.2 ) rotate( 45deg );
		transform: scaleX( 1.2 ) rotate( 45deg );
	}
	
	
	.svibtn::before
	{
		top: 16px;
	}
	
	
	.svibtn::after
	{
		top: 38px;
	}
	
	
	.svcont.svc_closed
	{
		margin-bottom: 40px !important;
	}
	
	
	.svcont.svc_closed .svcs
	{
		height: 0px !important;
	}
	
	
	.svcont.svc_closed .svibtn
	{
		margin-top: 24px;
		margin-bottom: 0px;
		-webkit-transform: rotateX( 180deg );
		transform: rotateX( 180deg );
	}
	
	
	.rtt_closed
	{
		display: none;
		/*
		margin-top: 0px;
		margin-bottom: 0px;
		opacity: 0.0;
		*/
	}
}


