@charset "utf-8";
/* all
-------------------------------------------------------------------*/
html,
body{
	background: #FFFFFF;
	color: #282828;
	font-family:'Noto Sans JP',"游ゴシック","Yu Gothic Medium" ,"游ゴシック体", "Yu Gothic", YuGothic , 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size:16px;
	line-height:1.4;
	font-weight: 400;
}
html .hira{
  font-family: "Hina Mincho", serif;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
	min-width:1200px;
}
main{
	width:100%;
}
.sitewrap {
	width: 1200px;
	min-width: 1200px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
@media screen and (max-width:1240px) {
	body,
	.sitewrap {
		width: 100%;
		min-width:0;
	}	
	.sitewrap > *{
		padding-left:2%;
		padding-right:2%;
	}
}
@media screen and (max-width:767px) {
	html {
		font-size:14px;
	}
	main{
		margin-top: 0;
	}
	.sitewrap > *{
		padding-left:15px;
		padding-right:15px;
	}
}
/* header
-------------------------------------------------------------------*/
header#fix_menu{
	position: fixed;
	height: 0;
	z-index:999;
	inset: 0 0 auto;
	transition:filter .3s , background 0.3s;
	width: fit-content;
}
header#fix_menu.fixedMenu{
	filter: drop-shadow(3px 5px 5px rgba(0, 0, 0, 0.05));
	background: #fff;
}
.menu_top {
   	position:relative;
   	display: flex;
   	justify-content: space-between;
}
.menu_top .menu_fix{
	max-width: calc(100% - 236px);
}
header .fix:after{
	content: none;
}
.menu_top #site_ttl{
	padding: 1em 1.5em;
	filter: brightness(0) invert(1);
	transition: 0.3s;
}
header#fix_menu.fixedMenu .menu_top #site_ttl{
	filter: drop-shadow(0px 0px 3px rgba(256,256,256,1));
}
.drop_menu #NavWrap {
	display: flex;
}
#fix_menu #switch {
	position: absolute;
	display: none;
	opacity: 0;
}
@media screen and (max-width:767px) {
	.menu_top #site_ttl{
		padding: 0.75em 0 0.75em 10px;
	}
	.menu_top #site_ttl a img{
		max-height: 32px;
		width: auto;
	}
}
/* content
-------------------------------------------------------------------*/
.common_btn{
	margin: 2em auto 3em;
}
.common_btn a{
	display:flex;
	width: 100%;
	max-width: 380px;
	color: #FFF;
	background: #e86655;
	font-size: 1.125rem;
	padding: 1em 2em;
	min-height: 80px;
	align-items:center;
	justify-content:center;
	position:relative;
	z-index: 0;
	text-decoration:none;
	border-radius: 0.5em;
	margin:auto;
	transition: filter 0.3s , transform 0.3s;
	filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.18));
}
.common_btn a::after{
	content: "";
	display: block;
	position: absolute;
	z-index: 10;
	inset: 0 25px 0 auto;
	margin:auto;
	background-image: url(../img/common/icon_blank.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
}
.common_btn a img{
	display: inline-block;
	margin-right: 0.5em;
	filter: brightness(0) invert(1);
}
@media (any-hover: hover) {
	.common_btn a:hover{
		filter: none;
		transform: translateY(3px) translateX(3px);
	}
}
@media screen and (max-width:767px) {
	.common_btn{
		margin: 1em auto 1em;
	}
	.common_btn a{
		max-width: 300px;
		font-size: 1.125rem;
		padding: 0.5em 2em;
		min-height: 50px;
		margin-inline: auto;
	}
	.common_btn a span{
		padding-right: 0;
	}
}
/* fixed_menu
-------------------------------------------------------------------*/
.sp_fixed_menu{
	display:none;
}
@media screen and (max-width:767px) {
	.sp_fixed_menu{
		position:fixed;
		inset: auto 0 0;
		display:flex;
		z-index:100;
		width: 100%;
		height: 60px;
	}
	.sp_fixed_menu a{
		display:flex;
		width: 100%;
		color: #FFF;
		background: #e86655;
		font-size: 1.125rem;
		padding: 1em 2em;
		align-items:center;
		justify-content:center;
		position:relative;
		z-index: 0;
		text-decoration:none;
		border-radius: 0.5em 0.5em 0 0;
		margin:auto;
		transition: filter 0.3s , transform 0.3s;
		filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.18));
	}
	.sp_fixed_menu a img{
		display: inline-block;
		margin-right: 0.5em;
		filter: brightness(0) invert(1);
	}
	.sp_fixed_menu a::after{
		content: "";
		display: block;
		position: absolute;
		z-index: 10;
		inset: 0 25px 0 auto;
		margin:auto;
		background-image: url(../img/common/icon_blank.svg);
		background-size: contain;
		background-repeat: no-repeat;
		width: 16px;
		height: 16px;
	}
}
/* footer
-------------------------------------------------------------------*/
#pageTop {
	position: fixed;
	z-index: 100;
	bottom: 2em;
	right: 2%;
	width: 80px;
	border-radius: 50%;
}
@media (any-hover: hover) {
	#pageTop:hover{
		opacity: .7;
	}
}
footer{
	padding-block: 2em 4em;
}
footer > *{
	text-align: center;
}
footer a{
	text-decoration:none;
}
footer .foot_logo{
	border: 1px solid;
	width: fit-content;
	margin: 0 auto 2em;
	padding: .875em 2.25em;
	transition: opacity 0.3s;
}
footer .foot_logo img{
	max-width: 139px;
}
footer .foot_privacy{
	display: block;
	width: fit-content;
	margin: 0 auto 2em;
	color: #666666;
	border-bottom: 1px solid;
	text-decoration: none;
	padding: 0 0 4px;
}
footer small{
	text-align: center;
	display: block;
}
@media (any-hover: hover) {
	footer .foot_logo:hover{
		opacity: .7;
	}
	footer .foot_privacy:hover{
		border-bottom: 1px solid #fff;
	}
}
@media screen and (max-width:767px) {
	#pageTop {
		bottom: 1em;
		right: 1em;
		width: 60px;
	}
	footer{
		padding-block: 2em 6em;
	}
	footer .foot_logo img{
		max-width: 100px;
	}
}
