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

header{
	position:absolute;
	top:33px;
	width:100%;
	margin:0 auto;
	z-index:999999;
}

header h1.logo{
	width:1026px;
	margin:0 auto;
	text-align:left;
	z-index:999999;
}

header .logo span {
    display: block;
    font-size: 12px;
    color: #ec2b43;
    vertical-align: bottom;
	width: 270px;
	text-align: center;
}

/* ---------------------------------------------
　keyvisual
------------------------------------------------ */

.keyvisual {
	position:relative;
	width:100%;
	height:100vh;
	min-width:1280px;
}

.keyvisual:after{
	content:'';
	position:absolute;
	bottom: -2px;
	left:0;
	width:100%;
	height:67px;
	background:url(../images/bg_dotline.png) no-repeat center bottom;
	visibility:visible;
}

/* IE11で区切り模様とページャー、NEXT/PREVが表示されない対策 */
.keyvisual:after, .bx-controls-direction {
  z-index: 100;
}
.bx-default-pager {
  z-index: 110 !important;
}

.keyvisual li{
	background:url(../images/img_keyvisual001.jpg) no-repeat 0 0;
	background-size:cover;
	width:100%;
	height:100vh;
	text-align:center;
}

.keyvisual li.key02{
	background:url(../images/img_keyvisual002.jpg) no-repeat 0 0;
	background-size:cover;
}

.keyvisual li.key03{
	background:url(../images/img_keyvisual003.jpg) no-repeat 0 0;
	background-size:cover;
}

.keyvisual li.key04{
	background:url(../images/img_keyvisual004.jpg) no-repeat 0 0;
	background-size:cover;
}

.keyvisual li.key05{
	background:url(../images/img_keyvisual005.jpg) no-repeat 50% 50%;
	background-size:cover;
}

.keyvisual li span{
	display:block;
	width:380px;
	height:48px;
	line-height:46px;
	margin:0 auto;
	border:2px solid #fff;
	background-color: rgba(47,38,33,0.8);
	border-radius: 50px;
	color:#fff;
	position:relative;
}

.keyvisual li span:hover{
	background-color: rgba(47,38,33,1);
}

.keyvisual li a{
	display:block;
	width:100%;
	height:100vh;
	padding-top:500px;
	text-decoration:none;
	position: relative;
}

.keyvisual li a div{
	position: absolute;
	bottom: 120px;
	left:0;
	width: 100%;
	text-align: center;
}

.keyvisual li span:before,
.keyvisual li span:after{
	content:'';
	position:absolute;
	top:7px;
	width:1px;
	height:30px;
	background-color:#909090;
}

.keyvisual li span:before{
	left:40px;
}

.keyvisual li span:after{
	right:40px;
}

.keyvisual .bx-wrapper .bx-pager{
	position:absolute;
	bottom:45px;
	left:0;
	right:0;
	width:380px;
	height:30px;
	margin:0 auto;
	z-index:3;
}

.keyvisual .bx-wrapper .bx-controls-direction{
	position:absolute;
	bottom:88px;
	left:0;
	right:0;
	margin:auto;
	width:380px;
	height:30px;	
}

.keyvisual .bx-wrapper .bx-prev {
	float:left;
	margin-left:10px;
	margin-top:-43px;
}

.keyvisual .bx-wrapper .bx-next {
	float:right;
	margin-top:-43px;
    margin-right:10px;
}

/* ---------------------------------------------
　content
------------------------------------------------ */

.content{
	width:100%;
	margin:-2px auto 0;
	padding:0;
}

.content .inner{
	width:1026px;
	margin:0 auto;
}


/* twbn-area */
ul.twbn-area{
	width:100%;
	margin:0 auto;
}

.twbn-area li{
	float:left;
	width:50%;
	height:244px;
	position: relative;
    overflow: hidden;
	text-align:center;
}

.twbn-area li:after{
	position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
	background:url(../images/img_2bner_01.jpg) no-repeat 0 bottom;
	background-size: cover;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
}

.twbn-area li:last-child:after{
	background-image:url(../images/img_2bner_02.jpg);
}

.twbn-area li:hover:after{
	-moz-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.twbn-area li a{
	display:block;
	width:100%;
	height:100%;
	padding-top:78px;
	text-decoration:none;
	font-size:20px;
	font-size:2rem;
	font-weight:bold;
	color:#ef0b33;
	z-index:1;
	position:relative;
}

.twbn-area li a span{
	display:block;
	width:350px;
	height:100px;
	line-height:100px;
	margin:0 auto;
	padding-left:50px;
	border:2px solid #ef0b33;
	background-color: rgba(255,255,255,0.85);
	background-image:url(../images/logo_sr.png);
	background-repeat:no-repeat;
	background-position:45px center;
	border-radius: 50px;
	text-align:center;
}

.twbn-area li a:hover span{
	background-color:rgba(239,11,51,0.85);
	background-image:url(../images/logo_sw.png);
	color:#fff;
}

.news-area{
	clear:both;
	padding-top:50px;
	position:relative;
	margin:0 auto;
}

.news-area:before{
	content:'';
	width:98px;
	height:85px;
	position:absolute;
	top:-40px;
	left:0;
	right:0;
	margin:auto;
	background: url(../images/logo_news.png) no-repeat 0 0;
	visibility:visible;
}

.news-area h2 {
	margin-top: 0 !important;
}

.news-area h2 span{
	display:block;
	font-size:14px;
	font-size:1.4rem;
	font-weight:normal;
}

.news-area ul{
	width:1026px;
	margin:0 auto 30px;
}

.news-area li{
	overflow:hidden;
	border-bottom:1px solid #d3d3d3;
}

.news-area li:last-child{
	border:none;
}

.news-area li a{
	display:block;
	width:100%;
	height:100%;
	color:#333;
	text-decoration:none;
}

.news-area li a:hover{
	background:#fcf1f1;
	color:#333;
}

.news-area dl{
	padding:20px;
}

.news-area dt {
  clear: left;
  float: left;
  /*width: 375px;*/
  color:#888;
  font-size:14px;
  font-size:1.4rem;
}

.news-area dt span.date{
  font-size:16px;
  font-size:1.6rem;
  width: 8em;
}

.news-area dt span.category{
	display:inline-block;
	background:#edb291;
	text-align:center;
	width:196px;
	height:36px;
	line-height:36px;
	margin-left:30px;
	color:#fff;
	border-radius: 50px;
}

.news-area li a:hover dt span.category{
	background:#f4a10f;
}

.news-area dd {
  margin-bottom: 0;
  /*padding:0 0 0 375px;*/
  padding:0 0 0 9em;
}
/* media-area */

.media-area{
	padding-bottom:25px;
	background:url(../images/bg_more.png) repeat-x 0 bottom;
}
.media-area .news-list{
	margin:20px auto 0;
	width: 800px;
}
.media-area .media-btn{
	margin-top:20px;
}
/* about-area */
.about-area{
	margin:50px auto 60px;
	position:relative;
	width:100%;
	height:530px;
}

.about-area a{
	display:block;
	width:100%;
	height:100%;
	text-decoration:none;
	padding:40px 0 0 0;
}

.about-area .center{
	font-size:18px;
	font-size:1.8rem;
	color:#ef0b33;
	font-weight: bold;
}

.img-box{
	position:absolute;
	top:0;
	right:0;
	width:757px;
	height:496px;
	overflow:hidden;
	z-index:1;
}
.img-box img{
	-moz-transition: -moz-transform 0.3s linear;
    -webkit-transition: -webkit-transform 0.3s linear;
    -o-transition: -o-transform 0.3s linear;
    -ms-transition: -ms-transform 0.3s linear;
    transition: transform 0.3s linear;
}

.about-area a:hover .img-box img{
	-webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.about-area .txtbox{
	width:533px;
	padding:0 55px 40px;
	background:#fef3f3;
	text-align:center;
	position:relative;
	z-index:2;
}

.about-area a:hover .txtbox{
	background:#fff;
}

.about-area .txtbox h2 img{
	display:block;
	margin:-66px auto 20px;
}

/* service-area */

.service-area{
	width:100%;
	background-image:url(../images/bg_service.png),url(../images/bg_service02.png);
	background-repeat:repeat-x,no-repeat;
	background-size:auto, cover;
	background-position:0 0,0 37px;
	position:relative;
	padding:62px 0 0;
}

.service-area:before{
	content:'';
	width:98px;
	height:85px;
	position:absolute;
	top:-40px;
	left:0;
	right:0;
	margin:auto;
	background: url(../images/logo_news.png) no-repeat 0 0;
	visibility:visible;
}

.service-area .ser01{
	width:495px;
	text-align:center;
	margin:30px auto;
}

.service-area .ser01 .img-a{
	width:495px;
	height:356px;
	overflow:hidden;
}

.service-area .ser01 .img-a img{
	-moz-transition: -moz-transform 0.3s linear;
    -webkit-transition: -webkit-transform 0.3s linear;
    -o-transition: -o-transform 0.3s linear;
    -ms-transition: -ms-transform 0.3s linear;
    transition: transform 0.3s linear;
}

.service-area .ser01 a:hover .img-a img{
	-webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.service-area .ser01 a{
	text-decoration:none;
}

.service-area .ser01 h3{
	font-size:28px;
	font-size:2.8rem;
	padding:0;
	margin:0 auto;
}

.service-area .ser01 h3:after{
	display:none;
}

.service-area .ser01 .txt{
	width:460px;
	margin:-40px auto 0;
	padding:40px;
	background:#fff;
	z-index:5;
	position:relative;
}

.service-area .ser01 a:hover .txt{
	background:#fef3f3;
}

.service-area h2 span{
	display:block;
	font-size:14px;
	font-size:1.4rem;
	font-weight:normal;
}

.service-area .ser01 .txt .center{
	font-size:18px;
	font-size:1.8rem;
	color:#ef0b33;
}

/* support-area */

.support-area{
	clear:both;
	width:1025px;
	margin:0 auto;
	padding:34px 15px 0;
	background:url(../images/img_support.jpg) no-repeat center 0;
}

.support-area .s-txt{
	float:left;
	width:460px;
	background:#fff;
}

.support-area .s-txt a{
	display:block;
	text-decoration:none;
	padding:30px 50px;
}

.support-area .s-txt a:hover{
	background:#fef3f3;
}

.support-area .sns-btn{
	float:right;
	width:460px;
	margin-top:330px;
	background:#ef0b33;
	border-radius: 10px 10px 0 0 / 10px 10px 0 0;
	overflow:hidden;
	position:relative;
}

.support-area .sns-btn:after{
	content:'';
	width:1px;
	height:90px;
	background-color:#fff;
	position:absolute;
	left:50%;
	top:15px;
}

.support-area .sns-btn li{
	float:left;
	width:50%;
	text-align:center;
}

.support-area .sns-btn li a{
	display:block;
	padding:30px 0 26px;
}

.support-area .sns-area{
	width:460px;
	background:#fff;
	margin:36px auto 70px;
	padding:0 10px 10px; 
	cursor:pointer;
}

.support-area .sns-area h3{
	text-align:center;
	font-size:16px;
	font-size:1.6rem;
	margin-bottom:30px;
}

.support-area .sns-area h3 a{
	color:#ef0b33;
}

.support-area .sns-area h3 .insta-link{
	color: #333;
	text-decoration: underline;
	font-weight: normal;
}


.support-area .sns-area h3 span{
	font-size:26px;
	font-size:2.6rem;
	display:inline-block;
	padding:0 5px;
}

.support-area .sns-area h3 img{
	padding-top:12px;
}

.support-area .sns-area a{
	display:block;
	text-decoration:none;
}
.support-area .sns-area h3{
	padding-left: 0;
}
.support-area .sns-area.oyako h3{
	margin: 29px 0;
} 
.support-area .sns-area h3 .fb-txt{
	font-size:16px;
	font-size:1.6rem;
}
span.fb-txt{
	color:#3b579d;
}

span.tw-txt{
	color:#1ea1f3;
}
span.oyako-txt{
	color: #ef0b33;
}

.support-area .sns-area h3:after{
	display:none;
}

.support-area .sns-area.oyako {
	padding: 0 10px 10px;
}
.support-area #insta {
	background-color: #fff;
	position: relative;
	/* overflow: hidden scroll; */
}
.support-area #insta a {
	display: block;
	cursor: pointer;
}
.support-area #insta a img {
	width: 100%;
	max-width: inherit;
	height: 100%;
	object-fit: cover;
}
.support-area #insta a .icon {
	display: none;
}
.support-area #insta a {
	position: relative;
}
.support-area #insta a img {
	width: 440px;
	height: 440px;
}
.support-area #insta a .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
}
.support-area #insta a:hover img {
	opacity: 1;
}
.support-area #insta a:hover .icon {
	display: block;
	width: 90%;
	text-align: center;
}
.support-area #insta a:hover .icon span {
	display: inline-block;
	padding: 0 7px;
	box-sizing: border-box;
	max-width: 50%;
}
.support-area #insta a:hover .icon span.like:before {
	content: url(../images/icon_like.png);
	vertical-align: middle;
	margin-right: 5px;
}
.support-area #insta a:hover .icon span.comme:before {
	content: url(../images/icon_comme.png);
	vertical-align: middle;
	margin-right: 5px;
}
.support-area #insta a:hover:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.5);
}
.support-area #insta iframe {
	border: none !important;
	margin: 0 auto !important;
}

/* blog-area */

.blog-area{
	padding:30px 0;
	position: relative;
	display:flex;
	justify-content: space-between;
	width: 1026px;
	margin: auto;
}
.blog-area h2{
	font-size: 2.4rem;
}
.blog-area .item{
	margin:20px auto 0;
	width: 30%;
}
.blog-area ul li dl {
	clear: both;
}
.blog-area ul li dt {
	float: left;
	width: 100px;
	margin-bottom: 10px;
}
.blog-area ul li dt img {
	width: 100px;
	height: 70px;
	object-fit: cover;
}
.blog-area ul li dd {
	padding-left: 110px;
	font-size: 1.4rem;
	margin-bottom: 10px;
}
.blog-area .media-btn{
	margin-top:20px;
}
/* event */
.event-area {
	position: relative;
	padding-top: 50px;
}
.event-area:after{
	content:'';
	width:100%;
	height:34px;
	position:absolute;
	top:0px;
	left:0;
	background:url(../images/bg_line_blog.png) repeat-x 0 0;
	visibility:visible;
}
/* maps */

.map-area{
	position:relative;
	height:514px;
	overflow:hidden;
}
.map-area:after{
	content:'';
	width:100%;
	height:34px;
	position:absolute;
	top:0;
	left:0;
	background:url(../images/bg_line_map.png) repeat-x 0 0;
	visibility:visible;
}

#maps{
	width:100%;
	height:514px;
	margin-left:48px;
}

.access-txt{
	position:absolute;
	top:0;
	left:0;
	right:0;
	margin:auto;
	width:1026px;
}

.access-txt .bg-w{
	width:477px;
	height:514px;
	padding:40px 30px 30px;
	float:right;
	background:#fff;
}

.access-txt .bg-w h2{
	margin-top:0!important;
	font-size:20px;
	font-size:2rem;
}

.access-txt .ad{
	padding-left:20px;
	margin-top: 15px;
	background: url(../images/icon_pin02.png) no-repeat 0 0;
}

.access-txt .ad a{
	display:inline-block;
	width:110px;
	margin-left:10px;
	font-size:13px;
	font-size:1.3rem;
	text-align:center;
	text-decoration:none;
	color:#ef0b33;
	border:1px solid #ef0b33;
	border-radius: 50px;
	line-height:21px;
	vertical-align:top;
}

.access-txt .ad a:hover{
	color:#fff;
	background:#ef0b33;
}

.ac-menu dt{
	position:relative;
	padding-left:35px;
	cursor:pointer;
	font-size:15px;
	font-size:1.5rem;
	color:#ef0b33;
	background:url(../images/dt_line.png) no-repeat 50px center;
	margin-top:25px;
}

.ac-menu dt span{
	background:#fff;
	display:inline-block;
	padding:0 10px 0 0;
}

.ac-menu dt span span{
	font-weight:bold;
	font-size:18px;
	font-size:1.8rem;
	padding:0;
}
	

.ac-menu dt:before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:28px;
	height:28px;
	border-radius: 100%;
	background:#ffaab1;
}
.ac-menu dt:hover:before{
	background:#f63747;
}

.ac-menu dt:after {
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	left:11px;
	width: 7px;
	height: 7px;
	border-left: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.ac-menu dt.active:after{
	border:none;
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	top:12px;
}

/*.ac-menu .open{ display:block;}*/

.ac-menu dd{
	display:none;
	font-size:15px;
	font-size:1.5rem;
	margin-left:10px;
}

.ac-menu dd li{
	position:relative;
	padding-left:15px;
}

.ac-menu dd li:before {
	content: '';
	display: block;
	width:8px;
	height:8px;
	background: #ec2b43;
	border-radius: 100%;
	position: absolute;
	top: 0.5em;
	left: 0;
}

.access-txt p.ac-btn{
	text-align:center;
	margin-top:30px!important;
}

.access-txt .ac-btn a{
	border:1px solid;
	display:block;
	width:320px;
	height:40px;
	line-height:40px;
	margin:0 auto;
	font-size:14px;
	font-size:1.4rem;
	text-align:center;
	text-decoration:none;
	color:#ef0b33;
	border:1px solid #ef0b33;
	border-radius: 50px;
	background:url(../images/icon_baby.png) no-repeat 20px center;
}

.access-txt .ac-btn a:hover{
	color:#fff;
	background:#ef0b33 url(../images/icon_baby_w.png) no-repeat 20px center;
}

/* btn */

.about-area a:hover .btn,
.service-area a:hover .btn,
.support-area .s-txt a:hover .btn{
	background-color:#fff;
	text-decoration:none!important;
	color:#ef0b33!important;
}

.service-area h2,
.support-area h2 {
	margin-top: 0 !important;
}

.w200{ width:200px; margin:0 auto;}


/* ------------------------------
   loopSlider
------------------------------ */

 
.loopSlider {
    margin: 0 auto;
	padding:40px 0;
    width:100%;
    /* height: 143px; */
    text-align: left;
    position: relative;
    overflow: hidden;
	background:url(../images/bg_bnner.png) repeat 0 0;
}

.loopSlider ul{
	margin:0 auto;
	width:970px;
	/* text-align:center; */
	text-align: left;
}
 
.loopSlider li{
	height:60px;
	margin-left:2px;
	display:inline-block!important;
	vertical-align:middle;
}
.loopSlider li.mini{
	padding-top:12px;
}
.loopSlider h4{
	text-align: center;
	border-bottom:0;
	margin-top: 0;
}
.loopSlider #bnslide{
	margin-bottom: 60px;
}
.loopSlider .supportGroup{
	overflow: hidden;
	width: 1000px;
	margin:20px auto 0;
}
.loopSlider .supportGroup li{
	width: 234px;
	float: left;
}
.loopSlider .supportGroup li+li{
	margin-left: 20px;
}
