@charset "UTF-8";

/*----------------------------------------------------*/
/* WebFont
-----------------------------------------------------*/

@import url("https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c");
.wf-roundedmplus1c { font-family: "M PLUS Rounded 1c"; }

/*----------------------------------------------------*/
/* Reset style
-----------------------------------------------------*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

li {
  list-style: none; }

img {
  vertical-align: bottom;
  font-size: 0;
  line-height: 0;
  max-width: 100%;
  height: auto; }

/*----------------------------------------------------*/
/* Base style
-----------------------------------------------------*/
html {
  font-size: 62.5%;
  /* sets the base font to 10px for easier math */ }

body {
  background: #FFF;
  color: #333333;
  font-size: 1.4rem;
  font-family: "Hiragino Maru Gothic Pro", "Hiragino Maru Gothic ProN", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  line-height: 1.3;
}

body, html {  min-width: 1000px; }

@media only screen and (max-width: 767px) {
  body, html {
    min-width: auto; } }

a:link {
  color: #25AC7A;
  text-decoration: none; }

a:visited {
  color: #25AC7A;
  text-decoration: none; }

a:hover {
  color: #25AC7A;
  text-decoration: underline; }

a:active {
  color: #25AC7A;
  text-decoration: none; }

a img:hover {
  opacity: 0.7;
}

p {  margin-bottom: 20px; }

#header p, #footer p {
  margin-bottom: 0; }

.sp {  display: none; }
.pc {  display: block; }


@media only screen and (max-width: 767px) {
  body {
    font-size: 1.4rem; }
  .sp {    display: block; }
  .pc {    display: none; }
	
	img { max-width: 100%;}

}

/*----------------------------------------------------*/
/* header
-----------------------------------------------------*/

#header {
  padding: 0;
	border-top:4px solid #319b42;
}

#header .logoline {
	max-width:1000px;
	margin: 0 auto;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
  padding: 20px 0 30px;
}

#header .logoline .logo {
	width: 40%;
}

#header .logoline ul {
  padding: 0 0 0px;
	color: #319b42;
	width: 60%;
	text-align: right;
}

#header .logoline ul li {
	font-size: 1.6rem;
	margin-left: 10px;
	display: inline-block;
}

#header .logoline ul li.place:before {
	background: url(/agefree/lib/img/cmn/icon_place.png) no-repeat 0 0;
	content: "";
	display: inline-block;
	width: 25px;
	height: 30px;
	vertical-align: middle;
}

#header .logoline ul li.tel {
	font-size: 2.8rem;
	font-weight: bold;
}

#header .logoline ul li.tel:before {
	background: url(/agefree/lib/img/cmn/icon_tel.png) no-repeat 0 0;
	content: "";
	display: inline-block;
	width: 35px;
	height: 35px;
	vertical-align: middle;
}

#header .number {
	clear: both;
	width: 100%;
	text-align: right;
	color: #319b42;
	padding-right: 1rem;
}


@media only screen and (max-width: 767px) {

#header {
	position:relative;
	z-index: 10;
	padding: 5px 0 15px;
}


#header .logoline .logo {
  text-align: none;
  padding: 10px 0px 10px 10px;
	float: none;
}
	
#header .logoline .logo img {
	max-width: 100%;
	width: 300px;
}
	
#header .logoline ul {
	float: none;
  padding: 15px 10px 5px;
	color: #FFF;
	margin: 20px 0;
	width: 100%;
	box-sizing: border-box;
	background: #319b42;
	text-align: center;
}

#header .logoline ul li {
	display:block;
	font-size: 1.6rem;
	margin: 0px;
}

#header .logoline ul li.place:before {
	background: url(/agefree/lib/img/cmn/icon_place_sp.png) no-repeat 0 0;
	content: "";
	display: inline-block;
	width: 25px;
	height: 30px;
	vertical-align: middle;
}

#header .logoline ul li.tel {
	font-size: 2.8rem;
	font-weight: bold;
}

#header .logoline ul li.tel:before {
	background: url(/agefree/lib/img/cmn/icon_tel_sp.png) no-repeat 0 0;
	background-size: 25px auto;
	content: "";
	display: inline-block;
	width: 30px;
	height: 35px;
	vertical-align: middle;
}

}

#header .sp-menu {
	display:none;
}

@media only screen and (max-width: 767px) {
	
#header .sp-menu {
	display:block;
	width: 64px;
	height: 64px;
	background: url(/agefree/lib/img/cmn/icon_spmenu.png) no-repeat;
	background-size: 100% auto;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
	z-index:10;
}

#header .gnav {
	display: none;
}

#header nav {
	width:100%;
	box-sizing:border-box;
	padding-bottom:5px;
}	
	
}

/*----------------------------------------------------*/
/* gnavi
-----------------------------------------------------*/

#header .gnav {
  text-align: center;
	width: 1000px;
	margin: 0 auto;
	z-index: 10;
}

#header .gnav > ul {
	display: table;
	width: 100%;
	justify-content: space-around;
	position: relative;
}

#header .gnav > ul:before {
	content: "";
	width: 1px;
	height: 1.4rem;
	background: #CCC;
	display: block;
	vertical-align: middle;
	position: absolute;
	top: 1.8rem;
	left: 0;
}

#header .gnav > ul > li {
  display: table-cell;
  padding: 0 0;
	font-weight: bold;
	font-size: 1.6rem;
	position: relative;
}

#header .gnav > ul > li:after {
	content: "";
	width: 1px;
	height: 1.4rem;
	background: #CCC;
	display: block;
	vertical-align: middle;
	position: absolute;
	top: 1.8rem;
	right: 0;
}

#header .gnav > ul > li > a,
#header .gnav > ul > li > span{
  display: block;
  padding: 1em 1em;
	color: #444;
}
#header .gnav > ul > li a.current,
#header .gnav > ul > li a:hover {
}

#header .gnav > ul > li > .drop {
	display:block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	margin:;
	padding-top:10px;
}

#header .gnav > ul > li > .drop:before {
	content: "";
	display: block;
	width:16px;
	height: 10px;
	background: url(/agefree/lib/img/cmn/drop_arrow.png) no-repeat;
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
}

#header .gnav > ul > li > .drop > ul {
	background: #319b42;
	padding: .5em 1em;
	border-radius: 10px;
}

#header .gnav > ul > li > .drop > ul > li {
	border-bottom: 1px dashed #FFF;
	white-space: nowrap;
	padding: .5em 0;
}

#header .gnav > ul > li ul li:last-child {
	border-bottom: none;
}

#header .gnav > ul > li ul li a {
	font-size: 1.4rem;
	color: #FFF;
}

#header .drowerMenu {
	display:none;
}

@media only screen and (max-width: 767px) {


#header .drowerMenu {
	display:none;
	position:fixed;
	top:0;
	right:0;
	width:100%;
	height:100%;
	padding: 75px 30px 30px 30px;
	box-sizing:border-box;
	z-index: 20;
}
	
#header .drowerMenu::before {	
  content: '';
	background: #FFF;
  opacity: 0.5;
  filter: blur(15px);
  position: absolute;
  top: -15px;
  left: -15px;
  right: -15px;
  bottom: -15px;
  z-index: -2;
}

#header .drowerMenu::after {	
  content: '';
	background: #f7f2dd;
  opacity: 0.8;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: -1;
}
	
	
#header .drowerMenu .dmBox {
	height:100%;
}

#header .drowerMenu ul{
	position: relative;
	padding: 0 0 0 0;
	font-size: 1.8rem;
}
	
#header .drowerMenu li {
	margin-bottom: 1em;
	text-align: center;
}
	
#header .drowerMenu li a,
#header .drowerMenu li span {
	display:block;
	color: #319b42;
	font-size: 1.8rem;
	font-weight: bold;
}

#header .drowerMenu li ul {
	margin:15px 0 0 0;
	border-top: 1px dashed #319b42;
	border-bottom: 1px dashed #319b42;
	padding: 15px 0 5px;
}

#header .drowerMenu li ul li {
	font-size: 1.2rem;
}
#header .drowerMenu li ul li a,
#header .drowerMenu li ul li span {
	display:block;
	color: #319b42;
	font-size: 1.4rem;
	font-weight: bold;
}
	
#header .drowerMenu .closebtn {
	display:block;
	position: absolute;
	top: 0;
	right: 0;
}


}


/*----------------------------------------------------*/
/* pageHeader
-----------------------------------------------------*/
#pageHeader {
	background:#f7f2dd url(/agefree/lib/img/cmn/vi.png) repeat-x top center;
	padding: 210px 0 20px 0;
}

#pageHeader h1 {
	font-size: 30px;
	text-align: center;
}
@media only screen and (max-width: 767px) {
	

#pageHeader h1 {
	font-size: 24px;
	margin-bottom: 20px;
}

}

/*----------------------------------------------------*/
/* main
-----------------------------------------------------*/

#container {
	background: #f7f2dd;
	padding: 0 0 40px 0;
}

#contents {
	background: #f7f2dd;
	line-height: 1.6;
}

#container #contents {
	background: #FFF;
	border-radius: 10px;
	width: 1000px;
	margin: 0 auto;
	padding: 50px 80px;
	box-sizing: border-box;
	border-radius: 15px;
	position: relative;
}

#container #contents:after {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 
	  inset 0 0 5px #f7f2dd /* 背景色と同じ色 */,
	  inset 0 0 5px #f7f2dd,
	  inset 0 0 5px #f7f2dd,
	  inset 0 0 5px #f7f2dd;
	z-index: 0;
	pointer-events: none;
}


.section {
	width: 964px;
	margin: 0 auto;
	padding: 40px 0 60px;
}


@media only screen and (max-width: 767px) {


#container #contents {
	background: #FFF;
	border-radius: 10px;
	width: calc( 100% - 20px);
	margin: 0 10px;
	padding: 20px 20px;
	box-sizing: border-box;
	border-radius: 15px;
	position: relative;
}

#container #contents:before {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 
	  inset 0 0 5px #f7f2dd /* 背景色と同じ色 */,
	  inset 0 0 5px #f7f2dd,
	  inset 0 0 5px #f7f2dd,
	  inset 0 0 5px #f7f2dd;
	z-index: 1;
}
	
.section {
	width: 100%;
	margin: 0 auto;
	padding: 40px 30px 40px;
	box-sizing: border-box;
}

}


/*----------------------------------------------------*/ 
/* otherLink
------------------------------------------------------*/ 

#otherLink {
 background: url("/lib/img/bg_otherlink.png") repeat;
 padding: 40px 10px;
}

#otherLink ul {
 display: flex;
 justify-content: center;
 gap:0 10px;
}
#otherLink li span.standby {
	display: block;
	position: relative;
	&:after {
		content: "準備中";
		display: block;
		font-size: 13px;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: rotate(10deg) translate(-50%,-50%);
		z-index: 2;
		background: rgba(0, 0, 0, 0.5);
		color: #FFF;
		padding: 5px 10px;
		white-space: nowrap;
	}
}
@media only screen and (max-width: 767px) {

#otherLink ul {
 display: flex;
 justify-content: center;
 gap:0 15px;
 flex-wrap: wrap;
}

 #otherLink ul li{
  margin-bottom: 10px;
 }
 
}
/*----------------------------------------------------*/
/* #banner
-----------------------------------------------------*/

#banner {
	background: #f7f2dd;
	padding: 10px 0 30px;
}

#banner ul {
	text-align: center;
}

#banner ul li {
	display: inline-block;
}

@media only screen and (max-width: 768px) {

#banner ul li {
	display: block;
	padding: 0 10px;
	margin: 0 0 5px 0;
}

#banner ul li img {
	width: 100%;
}
	
}


/*----------------------------------------------------*/
/* pagetop
-----------------------------------------------------*/
.pagetop {
  position: fixed;
  display: none;
  right: 20px;
  bottom: 20px;
  z-index: 100;
}

#footer .pagetop.btm {
  right: 20px;
  bottom: 60px;
}

@media only screen and (max-width: 767px) {
#footer .pagetop {
    position: absolute;
    right: 50%;
    bottom: auto;
    top: -20px;
    text-align: center;
    z-index: 10;
    margin: 0 -20px 0 0;
}

#footer .pagetop img {
	width: 40px;
	}

}

/*----------------------------------------------------*/
/* footer
-----------------------------------------------------*/
#footer {
  padding: 60px 0 0;
  position: relative;
	max-width: 1000px;
	margin: 0 auto 20px;
	color: #319b42;
}

#footer p { font-size: 16px; margin: 20px 0 0 ;}
#footer p.managedcompany { font-size: 14px; margin: 5px 0 0 ;}

#footer ul { 
	position: absolute;
	right: 0;
	bottom: 0;
}
#footer li { 
	font-size: 24px; 
	display: inline-block;
	padding: 0 0 0 15px;
}

#copy {
	background:#319b42;
	color: #FFF;
	padding: 15px 0;
	text-align: center;
}

@media only screen and (max-width: 767px) {
#footer {
  padding: 30px 10px 0 10px;
	box-sizing: border-box;
}

#footer .logo img { max-width:100%;}
#footer p { font-size: 14px; margin: 20px 0 0 ;}

#footer ul { 
	position: relative;
	right: auto;
	bottom: bottom;
}
#footer ul li { 
	font-size: 14px;
	display: block;
	padding: 0;
	text-align: center;
}
	
}


