@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');

.inside{
margin: 0 auto;
width: 970px;
}
object{
	pointer-events: none;
}
img,video{
	pointer-events: none;
	user-select:none;
}

header{
	background-color: rgba(255, 255, 255, .7);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5000;
}
header .inside{
	padding: 10px 0 15px;
	position: relative;
}
header .logo_link{
	display: inline-block;
}
header img{
	float: left;
}
header .logo{
	display: inline-block;
	overflow: hidden;
	padding: 6px 0 0 8px;
}
header .logo_sub01{
	height: 10px;
}
header .logo_sub02{
	margin-left: 5px;
}
header .logo_main{
	display: block;
	margin-top: -12px;
}
/* header #sp{
	display: none;
} */
header #pc{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
header #pc li{
	float: left;
	margin-right: 10px;
}
header li a{
	background-color: #fff;
	border-radius: 6px;
	color: #333 !important;
	font-size: 87%;
	padding: 8px;
	text-decoration: none !important;
	
}
header li:nth-of-type(1) a{
	border: 4px solid #f57968;
	transition: all .3s ease;
}
header li:nth-of-type(2) a{
	border: 4px solid #e4b67f;
	transition: all .3s ease;
}
header li:nth-of-type(3) a{
	border: 4px solid rgb(197, 152, 190);
	transition: all .3s ease;
}
header li:nth-of-type(4) a{
	border: 4px solid rgb(149, 190, 139);
	transition: all .3s ease;
}
header li:nth-of-type(5) a{
	border: 4px solid rgb(138, 167, 190);
	transition: all .3s ease;
}
header #pc li:nth-of-type(1) a:hover{
	background-color:  #f57968;
	border: 4px solid #fff;
	color: #fff !important;
}
header #pc li:nth-of-type(2) a:hover{
	background-color: #e4b67f;
	border: 4px solid #fff;
	color: #fff !important;
}
header #pc li:nth-of-type(3) a:hover{
	background-color: rgb(197, 152, 190);
	border: 4px solid #fff;
	color: #fff !important;
}
header #pc li:nth-of-type(4) a:hover{
	background-color: rgb(149, 190, 139);
	border: 4px solid #fff;
	color: #fff !important;
}
header #pc li:nth-of-type(5) a:hover{
	background-color: rgb(138, 167, 190);
	border: 4px solid #fff;
	color: #fff !important;
}
header #sp li a{
	color: #fff !important;
	font-weight: bold;
}
header #sp li:nth-of-type(1) a{
	background-color: #f57968;
	box-shadow: 4px 4px 0 #ce6153;
}
header #sp li:nth-of-type(2) a{
	background-color: #e4b67f;
	box-shadow: 4px 4px 0 #c09663;
}
header #sp li:nth-of-type(3) a{
	background-color: rgb(197, 152, 190);
	box-shadow: 4px 4px 0 rgb(160, 115, 153);
}
header #sp li:nth-of-type(4) a{
	background-color: rgb(149, 190, 139);
	box-shadow: 4px 4px 0 rgb(117, 156, 107);
}
header #sp li:nth-of-type(6) a{
	background-color: rgb(138, 167, 190);
	box-shadow: 4px 4px 0 rgb(107, 133, 155);
}

#topics{
	background-color: #fff !important; 
	padding: 120px 0;
}
#topics .inside{
	overflow: visible; 
}
#topics ul{
	display: grid;
	grid-gap: 50px;
	grid-template-columns: 1fr 1fr 1fr;
}
#topics li h2{
	border-bottom: 2px solid #333;
	font-size: 100%;
	font-family: Avenir,'Helvetica Neue',Helvetica,Arial,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','BIZ UDPゴシック','BIZ UDPGothic','游ゴシック','Yu Gothic','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-weight: bold;
	padding-bottom: 10px;
	text-align: center;
}
#topics li h2 img{
	margin-right: 14px;
}
#topics li p{
	box-shadow: 4px 4px 0px #999;
	box-sizing: border-box;
	margin-top: 20px;
	transition: all .3s ease;
}
#topics li p:hover{
	box-shadow: 0 0 0 #fff;
	opacity: .7;
}
#topics li a{
	color: #000;
	display: block;
	text-decoration: none;
}
#topics li.p a{
	border: 8px solid rgb(224, 185, 218);
}
#topics li.g a{
	border: 8px solid rgb(188, 224, 180);
}
#topics li.l a{
	border: 8px solid rgb(175, 199, 219);
}
#topics li span{
	border-bottom: 2px dashed rgb(175, 172, 156);
	display: block;
	padding: 10px 0;
	text-align: center;
}

footer{
	border-top: 1px solid #888;
	padding: 40px 0;
}
footer .inside{
	overflow: hidden;
}
footer .logo-outside{
	float: left;
}
footer .logo-outside img{
	margin-right: 10px;
}
footer .logo{
	display: inline-block;
}
footer .logo_sub01{
	margin-right: 10px;
}
footer .logo_main{
	display: block;
}
footer .logo-outside p{
	margin-top: 20px;
}
footer .sitemap{
	float: right;
	width: 50%;
}
footer .sitemap ul{
	float: left;
	width: 50%;
	border-left: 1px solid #555;
	padding: 0 10px;
}
footer .sitemap li{
	padding: 5px 0;
}
footer .sitemap li a{
	font-size: 87%;
}
footer .copy{
	text-align: center;
	margin-top: 40px;
}
footer .footer-tel{
	display: block;
}

#totop{
	background-color: #f57968;
	border-left: 8px solid #bb7b72;
	bottom: 20px;
	color: #fff;
	display: block;
	font-size: 200%;
	font-weight: bold;
	line-height: 80px;
	position: fixed;
	right: 0;
	text-align: center;
	text-decoration: none;
	transform-origin: 50%;
	transform: rotate(-90deg);
	transition: all .3s linear;
	width: 80px;
	z-index: 80000;
}
#totop:hover{
	opacity: .7;
}

#progress{
	background-color: #fff;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999;
}
#loader .flower-loader{
	left: 46%;
	position: absolute;
	top: 46%;
	/* transform: translate(-50%, -50%); */
	z-index: 99999;
}
.flower-loader{
	overflow: hidden;
	position: relative;
	text-indent: -9999px;
	display: inline-block;
	width: 30px;
	height: 30px;
	background: rgb(240, 189, 213);
	border-radius: 100%;
	box-shadow: #fff 0 0 15px 0, rgb(255, 221, 136) -12px -12px 0 4px, rgb(255, 221, 136) 12px -12px 0 4px, rgb(255, 221, 136) 12px 12px 0 4px, rgb(255, 221, 136) -12px 12px 0 4px;
	animation: flower-loader 5s infinite ease-in-out alternate;
	transform-origin: 50% 50%;
}
@keyframes flower-loader {
	0% {
		transform: rotate(0deg);
		box-shadow: #fff 0 0 15px 0, rgb(255, 221, 136) -12px -12px 0 4px, rgb(255, 221, 136) 12px -12px 0 4px, rgb(255, 221, 136) 12px 12px 0 4px, rgb(255, 221, 136) -12px 12px 0 4px;
	}
	50% {
		transform: rotate(1080deg);
		box-shadow: #fff 0 0 15px 0, rgb(255, 221, 136) 12px 12px 0 4px, rgb(255, 221, 136) -12px 12px 0 4px, rgb(255, 221, 136) -12px -12px 0 4px, rgb(255, 221, 136) 12px -12px 0 4px;
	}
}

input[type=checkbox]{
    display: none;
}
.checkbox{
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}
.checkbox::before {
    background: #fff;
    border: 1px solid #231815;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.checkbox::after {
    border-right: 3px solid #ed7a9c;
    border-bottom: 3px solid #ed7a9c;
    content: '';
    display: block;
    height: 10px;
    left: 9px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(40deg);
    width: 8px;
}
input[type=checkbox]:checked + .checkbox::after {
    opacity: 1;
}

@media screen and (max-width: 1024px){
	.inside{
		width: 100%;
	}
	#pc{
		display: none;
	}
	.logo_link{
		transform: translateX(20px);
	}
	#topics{
		padding: 40px 0;
	}
	#topics ul{
		display: block;
	}
	#topics li{
		margin: 0 auto;
		width: 90%;
	}
	#topics li a img{
		display: none;
	}
	#topics li h2{
		margin-top: 40px;
	}
	footer{
		padding: 40px;
	}
	footer .logo-outside{
		float: none;
	}
	footer .sitemap{
		float: none;
		margin-top: 40px;
		width: 100%;
	}
	#totop{
		line-height: 60px;
		width: 60px;
	}
}
@media screen and (max-width: 829px){
	/* footer .logo-outside>img{
		height: auto;
		width: 50px;
	}
	footer .logo{
		width: calc(80% - 70px);
	}
	footer .logo_sub01{
		width: 45%;
	}
	footer .logo_sub02{
		width: 45%;
	}
	footer .logo_main{
		margin-top: -9px;
		width: 100%;
	} */
}
@media screen and (max-width: 539px){
	header .inside{
		padding-bottom: 10px;
	}
	header .logo{
		padding: 0;
		transform: translateY(3px);
		width: 80%;
	}
	header img{
		height: auto;
		width: 40px;
	}
	header .logo_sub01{
		width: 100px;
	}
	header .logo_sub02{
		width: 100px;
	}
	header .logo_main{
		width: 210px;
	}
	footer .logo{
		width: 210px;
	}
	footer .logo_sub01{
		width: 90px;
	}
	footer .logo_sub02{
		width: 90px;
	}
	footer .logo_main{
		margin-top: -10px;
		width: 200px;
	}
	footer .sitemap ul{
		width: 100%;
	}
	footer .logo-outside>img{
		height: 40px;
		width: 40px;
	}
	footer .sitemap ul{
		padding: 0 0 0 20px;
	}
}

