@charset "utf-8";
/* CSS Document */

/*-----------------------------------------------
#EB5564 235,85,100
-----------------------------------------------*/

/*-----------------------------------------------
  font
-----------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');

/*-----------------------------------------------
  text
-----------------------------------------------*/
body,
input,
textarea {
font-size: 16px;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
line-height: 1.5;
color: #333;
}
a {
color: #333;
text-decoration: none;
transition: 0.2s ease;
}
a img {
transition: 0.2s ease;
}
a:hover {
text-decoration: none;
}
img {
display: block;
max-width: 100%;
}

/*-----------------------------------------------
  body
-----------------------------------------------*/
body {
border-top: 40px solid #EB5564;
}
@media screen and (max-width: 800px) {
	body {
	border-top: 0;
	}
}

/*-----------------------------------------------
  header
-----------------------------------------------*/
header {
position: absolute;
top: 20px;
z-index: 100;
width: 100%;
padding: 0 4%;
}
header .inner {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 100%;
max-width: 1020px;
margin: 0 auto;
padding: 15px;
background-color: #FFF;
border-radius: 50px;
box-shadow: 3px 3px 8px rgba(0,0,0,0.1);
}
header .logo {
width: 40%;
max-width: 180px;
margin: 0 2%;
}
/* fix */
header.fix {
position: fixed;
top: 0;
background-color: rgba(255,255,255,1);
box-shadow: 3px 3px 8px rgba(0,0,0,0.1);
}
header.fix .inner {
padding: 10px 15px;
background: none;
border-radius: 0;
box-shadow: none;
}
@media screen and (max-width: 800px) {
	header,
	header.fix {
	position: fixed;
	top: 0;
	padding: 0;
	box-shadow: 3px 3px 8px rgba(0,0,0,0.1);
	}
	header .inner,
	header.fix .inner {
	padding: 2.5% 4%;
	border-radius: 0;
	}
	header .logo {
	margin: 0;
	}
}
/* burger */
header .menu {
display: none;
}
@media screen and (max-width: 800px) {
	header .menu {
	display: block;
	}
	header .burger {
	position: relative;
	width: 30px;
	height: 35px;
	}
	header .burger:before,
	header .burger:after,
	header .burger span {
	display: block;
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	transition: 0.2s;
	}
	header .burger span {
	height: 2px;
	background-color: #EB5564;
	top: calc(50% - 1.5px);
	}
	header .burger:before {
	content: "";
	top: calc(25% - 3px);
	border-top: 2px solid #EB5564;
	}
	header .burger:after {
	content: "";
	bottom: calc(25% - 3px);
	border-bottom: 2px solid #EB5564;
	}
	header .burger.on span {
	display: none;
	}
	header .burger.on:before {
	top: calc(50% - 1.5px);
	transform: rotate(315deg);
	}
	header .burger.on:after {
	bottom: calc(50% - 1.5px);
	transform: rotate(-315deg);
	}
}

/*-----------------------------------------------
  gnavi
-----------------------------------------------*/
/* pc */
#gnavi-pc {
width: calc(94% - 180px);
position: relative;
}
#gnavi-pc ul {
display: flex;
justify-content: flex-start;
align-items: center;
}
#gnavi-pc li {
margin-right: 4%;
}
#gnavi-pc li img {
max-height: 20px;
}
#gnavi-pc li.contact {
text-indent: -9999px;
margin-left: auto;
margin-right: 0;
}
#gnavi-pc li a:hover img {
opacity: 0.6;
}
#gnavi-pc li.contact a {
display: block;
width: 180px;
height: 48px;
background-color: #EB5564;
background-image: url("../img/header/nav_contact.png");
background-position: center center;
background-repeat: no-repeat;
background-size: 82%;
border: 1px solid #EB5564;
border-radius: 24px;
}
#gnavi-pc li.contact a:hover {
background-color: #FFF;
background-image: url("../img/header/nav_contact_on.png");
opacity: 1;
}
/* pulldown */
#gnavi-pc .balloon {
display: none;
position: absolute;
margin-left: -150px;
padding-top: 40px;
background-image: url("../img/header/nav_balloon.png");
background-position: left 200px top 10px;
background-repeat: no-repeat;
background-size: 24px;
}
#gnavi-pc li ul {
flex-wrap: wrap;
width: 650px;
padding: 12px 30px;
background-color: #EB5564;
border-radius: 50px;
}
#gnavi-pc li li {
margin: 6px 10px;
}
/* sp */
#gnavi-sp {
display: none;
}
@media screen and (max-width: 1000px) {
	#gnavi-pc li.contact a {
	width: 48px;
	background-image: url("../img/header/ico_mail_w.png");
	background-size: 60%;
	}
	#gnavi-pc li.contact a:hover {
	background-image: url("../img/header/ico_mail.png");
	}
}
@media screen and (max-width: 800px) {
	/* pc */
	#gnavi-pc {
	display: none;
	}
	/* sp */
	#gnavi-sp {
	padding: 0 4%;
	background-color: #FFF;
	}
	#gnavi-sp li {
	border-top: 1px solid #EB5564;
	}
	#gnavi-sp li li {
	margin-left: 2em;
	}
	#gnavi-sp li ul {
	display: none;
	}
	#gnavi-sp a {
	display: block;
	padding: 0.8em 0;
	}
	#gnavi-sp a:before {
	content: "●";
	position: relative;
	top: -0.25em;
	margin: 0 0.5em;
	font-size: 0.65em;
	color: rgba(235,85,100,0.65);
	}
	#gnavi-sp li li a:before {
	color: #999;
	}
}

/*-----------------------------------------------
  footer
-----------------------------------------------*/
footer {
padding-bottom: 20px;
background-color: #EB5564;
border-top: 2px solid #EB5564;
}
@media screen and (max-width: 800px) {
	footer {
	padding-bottom: 4%;
	}
}
/* group */
footer .group {
padding: 30px 4%;
background-color: #F3F1E9;
}
footer .group h2 {
max-width: 200px;
margin: 0 auto;
}
footer .group ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
max-width: 800px;
margin: 0 auto;
margin-top: 20px;
}
footer .group li {
width: 140px;
margin: 2px;
font-size: 0.9em;
font-weight: 700;
text-align: center;
color: #EB5564;
}
footer .group li a {
color: #EB5564;
}
footer .group li img {
margin-bottom: 0.2em;
transition: 0.2s;
}
footer .group li small {
font-size: 0.85em;
}
footer .group li a:hover img {
opacity: 0.7;
}
@media screen and (max-width: 800px) {
	footer .group {
	padding: 8% 2%;
	}
	footer .group ul {
	justify-content: center;
	}
	footer .group li {
	width: 29.333%;
	margin: 2%;
	}
}
@media screen and (max-width: 480px) {
	footer .group li {
	width: 46%;
	}
}
/* sitemap */
footer .sitemap {
padding: 40px 4%;
}
footer .sitemap h2 {
max-width: 400px;
margin: 0 auto;
}
footer .sitemap h2 a:hover img {
opacity: 0.6;
}
footer .sitemap nav {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
max-width: 800px;
margin: 0 auto;
margin-top: 20px;
padding-top: 10px;
border-top: 1px solid #FFF;
}
footer .sitemap dl {
margin: 5px;
}
footer .sitemap dt {
font-weight: 700;
}
footer .sitemap dd {
font-size: 0.8em;
line-height: 1.8;
}
footer .sitemap small {
font-size: 0.8em
}
footer .sitemap a {
color: #FFF;
}
footer .sitemap a:hover {
text-decoration: underline;
}
/* お知らせ削除 */
footer .sitemap dl:nth-child(2) dd:nth-of-type(1),
footer .sitemap dl:nth-child(4) dd:nth-of-type(1) {
display: none;
}
@media screen and (max-width: 800px) {
	footer .sitemap {
	padding: 8% 4%;
	}
	footer .sitemap dl {
	width: 48%;
	margin: 4% 0;
	}
}
@media screen and (max-width: 480px) {
	footer .sitemap h2 {
	width: 90%;
	}
	footer .sitemap dl {
	width: 100%;
	font-size: 1.1em;
	text-align: center;
	}
	footer .sitemap dt {
	padding: 0.25em 0;
	}
	footer .sitemap dd {
	padding: 0.25em 0;
	}
}
/* copyright */
footer .copyright {
padding: 0 4%;
font-size: 0.65em;
letter-spacing: 0.1em;
text-align: center;
color: #FFF;
}
footer .copyright a {
color: #FFF;
}
@media screen and (max-width: 640px) {
	footer .copyright {
	letter-spacing: 0;
	}
}





