@charset "utf-8";

/* ----- common ----- */
/*body{-webkit-text-size-adjust:100%}.clearfix{*zoom:1}.clearfix:after{
	content:"";
	display:table;
	clear:both;
}
body,
html{
	font-size:13pt
}
body{
	overflow-y:scroll!important
}
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{
	margin:0;
	padding:0;
	border:0;
	font-style:normal;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
	display:block;
}*/

a:hover img {
	opacity: 0.7 ;
}

.lp_content a:hover img {
    opacity: 1 ;
}


#container {
	width: 100%;
	/* width: 750px; */
	margin: 0 auto;
	background-color: #e8f4fe;
    overflow:hidden;
    background: linear-gradient(to bottom, #e8f4fe, #e8f4fe 20%, #FFF 30%);
}
#container2 {
	width: 100%;
	/* width: 750px; */
	margin: 0 auto;
	background-color: #B6E1FF;
    overflow:hidden;
}

#container .line{
	height: 5px;
	background-color: #1075ae;
}

@media screen and (max-width: 750px) {
	#container {
	width: 100%;
	/* width: 750px; */
	margin: 0 auto;
	/* background-color: #e8f4ff; */
}
	
	#container .line{
		display: none;
	}
	
}



#header {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 21px;
    position: relative;
	top: 0;
	left: 0;
	z-index: +1;
}

#header .logo{
	width: 316px;
	margin-bottom: 20px;
    margin-left: 10px;
}
@media screen and (max-width: 750px) {
	#header .logo{
	width: 67%;
	margin: 0 0 19px 19px;
	}
	#header .logo img{
		width: 100%;
	}
}

#header .contact_btn{
	width: 191px;
	right: 0;
	text-align: right;
	position: absolute;
	display: block;
    margin-right: 10px;
}
#header .mypage_btn{
    width: 191px;
	right: 200px;
	text-align: right;
	position: absolute;
	display: block;
    margin-right: 10px;
}
#header .mypage_btn_sp{
    border-top:1px solid #1075ae;
    border-bottom:1px solid #1075ae;
    margin:20px auto 50px;
}
#header .mypage_btn_sp a img{
    width: auto;
    height:100px;
	text-align: center;
	display: block;
    margin:0 auto 50px;
}
#header .mypage_btn_sp p{
    text-align: center;
    color:#1075ae;
    font-size:1.8em;
    margin:40px auto 15px;
}
@media screen and (max-width: 820px) {
    #header .contact_btn{
        width: 200px;
    }
    #header .mypage_btn{
        width: 200px;
        right: 210px;
    }
}
@media screen and (max-width: 750px) {
	#header .contact_btn, #header .mypage_btn{
		display: none;
	}
	#header .contact_btn_sp{
		width: 94%;
	}
}




/* PC gNav
   ========================================================================== */
#gNav-pc {
    width:750px;
    float:right;
	margin: 0px 0px 20px 0px;
}

#gNav-pc ul{
	padding: 0;
	list-style: none;
	margin: 0 auto 0 auto;
	display: flex;
}

#gNav-pc ul li{
	width: 200px;
	font-size: 14px;
	 display: inline;
	color: #333;
}

#gNav-pc .on{
	color: #1075ae;
	border-bottom: solid 1px #1075ae;
	display: inline;
}

#gNav-pc li{
	/*padding: 0 20px 0 20px;*/
	text-align: center;
	display: inline;
}

#gNav-pc li+ li {
  border-left: 0;
  border-right: 0 solid #ddd;
}

#gNav-pc ul li a { 
	text-align: center;
	color: #333;
    text-decoration: none;
	display: inline;	 
} 

#gNav-pc ul li a:hover{ 
	color: #1075ae;
    border-bottom: solid 1px #1075ae;
	display: inline;
}
#gNav{
    display: none;
}
#flg-gNav{
    display: none;
}



/* SP gNav
   ========================================================================== */
@media screen and (max-width: 750px) {
#header {
	width: 100%;
	max-width: 750px;
    position: relative;
	top: 0;
	left: 0;
	z-index: +50;
}
#gNav {
	/*width: 100vw;*/
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	background: rgba(255,255,255,.8);
	line-height: 1;
	opacity: 0;
	transition: .2s;
	transition-property: opacity transform;
	display: none;
    z-index: +50;
    
}
    #gNav-pc {
        display: none;
    }
	
#flg-gNav {
	width: 0;
	height: 0;
}
#flg-gNav:checked ~ #gNav {
	opacity: 1;
	transform: translateX(0);
	display: block;
}
#gNav .wrap {
	min-height: 100vh;
	background: #fff;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
#gNav ul {
	display: block;
	padding: 100px 0 0 calc(100vw * 0 / 850);
	list-style: none;
}
#gNav li + li {
	margin: calc(100vw * 0 / 850) 0 0;
}

	#gNav ul li {
		/* border-bottom: solid 2px #1075ae; */
		font-size: 30px;
	}
	#gNav ul li a {
		text-decoration: none;
		padding: 40px 0 40px 50px;
		display: block;
		color: #1075ae;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#gNav ul li span {
		color: #1075ae;
		font-size: 23px;
    	padding-right: 10px;
	}

#gNav a {
	padding: 0;
	overflow: visible;
}
#gNav a::before {
	content: none;
}
#gNav a span {
	display: inline-block;
}
	
	
	

#flg-gNav {
	display: inline-block;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
    z-index: +50;
}
.btn-gNav {
	display: block;
	padding: 45px 90px 0 0;
	position: absolute;
	top: 35px;
	right: 0;
	line-height: 75px;
	color: #0F75AE;
    z-index: +50;
}
.btn-gNav a {
    position: absolute;
    display: block;
    font-size: 20px;
	width: 70px;
    text-align: center;
}
.btn-gNav a:hover{
	text-decoration: none!important;
	color: #0F75AE;
}
#flg-gNav:checked {
	color: transparent;
}
.btn-gNav::before,
.btn-gNav::after,
.btn-gNav span {
	display: block;
	width: 70px;
    height: 7px;
	position: absolute;
	top: 50%;
	background: #0F75AE;
	transition: .2s;
}
.btn-gNav::before,
.btn-gNav::after {
	content: '';
	transition-property: transform;
}
.btn-gNav::before {
	transform: translateY(-20px);
}
.btn-gNav::after {
	transform: translateY(10px);
}
#flg-gNav:checked ~ .btn-gNav::before {
	background: #0F75AE;
	transform: translateY(-0.40759vw) rotate(135deg);
}
#flg-gNav:checked ~ .btn-gNav::after {
	background: #0F75AE;
	transform: translateY(-0.40759vw) rotate(45deg);
}
.btn-gNav span {
	transform: translateY(-5px);
	transition-property: opacity;
}
#flg-gNav:checked ~ .btn-gNav span {
	opacity: 0;
}
}




/* MV
   ========================================================================== */
#mv{
	max-width: 1600px;
	margin: 0 auto;
	position:relative;
}

@media screen and (max-width: 750px) {
	#mv{
	width: 100%;
	margin: 0 auto;
}
}

#index {
	width: 100%;
	margin: 0 auto;
    background-color:#FFF;
    padding-top:30px;
}
@media screen and (max-width: 750px) {
	#index {
	margin: 0 auto;
    }
}


#bnr {
	margin: 35px 0;
}

#top_label{
	width:145px;
	height:175px;
	position:absolute;
	top:5px;
	right:0px;
    z-index: 20;
}
#top_label img{
	width:100%;
}

/* NEWS
   ========================================================================== */
#news {
	max-width: 1600px;
	margin: 50px auto 30px auto;
	/*font-weight: bold;*/
	text-align: center;
}
#news h2 {
	text-align: center;
	font-size: 22px;
	color: #1075ae;
	font-weight: normal;
	}

/*#news ul {
		max-width: 100%;
		font-size: 12px;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	#news .nbox{
		width: 28.6%;
		margin: 1% 1%;
		border: none;
		padding: 10px;
		text-align: left;
		background-color: #e9f4fe;
	}
	#news .nbox .npic{
		width:100%;
		height:calc(100vw / 7);
		max-height: 180px;
		margin-bottom: 15px;
		border-radius: 10px;
		line-height: 1.5em;
		overflow: hidden;
		position: relative;
	}
.news_wrap{
    max-width: 1000px;
    margin: auto;
}
#news ul {
	max-width: 100%;
	font-size: 14px;
	color: #333;
	margin: 20px  auto 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#news .nbox{
	width: calc(100% / 3 - 2.5% );
	margin: 0.5% 0;
	border: none;
	padding: 10px;
	text-align: left;
	background-color: #e9f4fe;
}
#news .nbox .npic{
	width:100%;
	height:calc(100vw / 9);
	max-height:180px;
	margin-bottom: 15px;
	border-radius: 10px;
	line-height: 1.5em;
	overflow: hidden;
    position: relative;
}
*/
.news_wrap{
    max-width: 1000px;
    margin: 50px auto 0;
}
#news ul {
    max-width: 100%;
    margin-top:20px;
    font-size: 14px;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#news .nbox{
    width: 29.3%;
    margin: 1% auto;
    border: none;
    padding: 10px;
    text-align: left;
    background-color: #e9f4fe;
}
#news .nbox .npic{
    width:100%;
    height:calc(100vw / 9);
    max-height: 180px;
    margin-bottom: 7px;
    border-radius: 10px;
    line-height: 1.5em;
    overflow: hidden;
    position: relative;
}
#news .nbox_1{
    width: 46%;
    margin: 1% auto;
    border: none;
    padding: 10px;
    text-align: left;
    background-color: #e9f4fe;
}
#news .nbox_1 .npic{
    width:100%;
    height:calc(100vw / 9);
    max-height: 180px;
    margin-bottom: 7px;
    border-radius: 10px;
    line-height: 1.5em;
    overflow: hidden;
    position: relative;
}
.npic img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}

#news ul li {
    display: inline;
}
#news a ul li b{
	display: block;
	margin:4px 0 1px;
	font-size: 13px;
}
#news a{
	text-decoration: none;
	display: block;
	color: #333;
}

#news a:hover{ 
	color: #1075ae;
}


#news .waku{
	font-size: 14px;
	color: #1075ae;
	line-height: 2em;
	width: 6em;
	border: none;
	padding: 1px 0px 0px 1px;
	margin-right: 15px;
	margin-bottom: 10px;
	background-color: #FFF;
	text-align: center;
	/*float: left;*/
	}
.pickup {
    position: relative;
    border: solid 2px;
    border-color:#1075ae;
}
.pickup:before{
    border-color: transparent #1075ae transparent transparent;
    border-style: solid;
    border-width: 0 70px 70px 70px;
    content: "";
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    z-index: 10;
}
.pickup:after {
    color: #fff;
    content: "Pick Up!";
    font-size: 14px;
    position: absolute;
    top: 17px;
    right: -2px;
    transform: rotate(45deg);
    z-index: 19;
}
@media screen and (max-width: 970px) {
	#news ul {
		max-width: 100%;
		font-size: 12px;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	#news .nbox{
		width: 29.3%;
		margin: 1% auto;
		/*border: none;*/
		padding: 1%;
		text-align: left;
		background-color: #e9f4fe;
	}
	#news .nbox .npic{
		width:100%;
		height:calc(100vw / 7);
		max-height: 180px;
		margin-bottom: 15px;
		border-radius: 10px;
		line-height: 1.5em;
		overflow: hidden;
		position: relative;
	}
    #news .nbox_1{
		width: 46%;
		margin: 1% auto;
		/*border: none;*/
		padding: 1%;
		text-align: left;
		background-color: #e9f4fe;
	}
	#news .nbox_1 .npic{
		width:100%;
		height:calc(100vw / 7);
		max-height: 180px;
		margin-bottom: 15px;
		border-radius: 10px;
		line-height: 1.5em;
		overflow: hidden;
		position: relative;
	}
}
@media screen and (max-width: 750px) {
	#news {
		width: 100%;
	}
	#news h2 {
		font-size: 42px;
		margin-bottom: 20px;
	}
	#news ul{
		width: 100%;
		font-size: 26px;
		display: flex;
  		flex-wrap: wrap;
		margin: 0 auto;
	}
	#news .nbox{
        position:relative;
		width: 100%;
		/*border: none;*/
		padding: 2%;
		text-align: left;
		background-color: #e9f4fe;
		display: flex;
		display: -moz-box;    /*Firefox21*/
		display: -ms-flexbox; /*IE10*/
		display:-moz-box;
		display:-ms-flexbox;
		display:-moz-flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		overflow: hidden;
		margin: 0 1.5% 20px 1.5%;
		align-items: flex-start;
    }
    #news .nbox_1{
        position:relative;
		width: 100%;
		/*border: none;*/
		padding: 2%;
		text-align: left;
		background-color: #e9f4fe;
		display: flex;
		display: -moz-box;    /*Firefox21*/
		display: -ms-flexbox; /*IE10*/
		display:-moz-box;
		display:-ms-flexbox;
		display:-moz-flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		overflow: hidden;
		margin: 0 1.5% 20px 1.5%;
		align-items: flex-start;
    }

	#news b{
		display: block;
		font-size: 24px;
		margin:3px 0 1px;
	}
	#news .nbox .npic{
		width:200px;
		height:180px;
		margin:0 20px 0 0;
		float: left;
		border-radius: 0;
	}
	#news .nbox .ntxt{
		width:450px;
		float: left;
		font-size: 20px;
	}
	#news .nbox .npic img {
		width: 100%;
		border:solid 1px #FFF;
		position: relative;
	}
    #news .nbox_1 .npic{
		width:200px;
		height:180px;
		margin:0 20px 0 0;
		float: left;
		border-radius: 0;
	}
	#news .nbox_1 .ntxt{
		width:450px;
		float: left;
		font-size: 20px;
	}
	#news .nbox_1 .npic img {
		width: 100%;
		position: relative;
	}
	#news li p.waku{
		display: inline-block;
		width: 6em;
		padding: 0;
		margin-bottom: 10px;
		font-size: 22px!important;
	}
	#news a{
		text-decoration: none;
		display: block;
		margin:0;
		padding:0;
	}
        .pickup {
        position: relative;
        border: solid 3px;
        border-color:#1075ae;
    }
    .pickup:before{
        border-color: transparent #1075ae transparent transparent;
        border-style: solid;
        border-width: 0 100px 100px 100px;
        content: "";
        height: 0;
        position: absolute;
        top: 0;
        right: 0;
        width: 0;
    }
    .pickup:after {
        color: #fff;
        content: "Pick Up!";
        font-size: 20px;
        position: absolute;
        top: 25px;
        right: -3px;
        transform: rotate(45deg);
    }
}

 

#btn {
	/* margin: 40px 0; */
	max-width: 1600px;
	margin: 0 auto;
}
	#btn ul {
	}
	#btn ul li {
		/* margin-bottom: 10px; */
	}
	#btn ul li:last-child {
		margin-bottom: 0;
	}




/* contents
   ========================================================================== */
#top #contents{
	/*width: 100%;*/
	max-width: 1600px;
	background-color: #f0efca;
	margin: 0 auto;
	padding-top:55px;
	padding-bottom: 55px;
}

#contents .ttl{
	font-size: 22px;
	color: #1075ae;
	text-align: center;
	margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
	#contents .ttl{
		font-size: 42px;
	}
}

#contents ul{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
@media screen and (max-width: 750px) {
	#contents ul{
		width: 100%;
	}
}

#contents ul li{
	margin: 0 auto;
	display: inline-block;
}
@media screen and (max-width: 750px) {
#contents ul li{
	margin-bottom: 40px;
}
}

#contents ul li a{
	text-decoration: none;
	display: block;
	color: #333;
}

#contents ul li a:hover{ 
	color: #1075ae;
}

#contents .yj{
	margin-top: 15px;
	float: left;
}

#contents .txt{
	font-size: 14px;
	text-align: left;
	margin: 15px 0 0 10px;
	float: left;
}
@media screen and (max-width: 750px) {
	#contents .yj{
		margin-top: 25px;
	}
	#contents .txt{
		margin-top: 25px;
	}
}


@media screen and (max-width: 750px) {
	#contents .txt{
		font-size: 36px;
	}
}



/* fbnr
   ========================================================================== */
#fbnr {
	/* max-width: 1020px; */
	max-width: 510px;
	margin: 0 auto;
	padding: 30px 0px 10px 0px;
}
@media screen and (max-width: 750px) {
	#fbnr {
		width: 100%;
		padding: 40px 20px 40px 30px;
	}
}
	#fbnr ul {
		display: inline-flex;
	}
@media screen and (max-width: 750px) {
	#fbnr ul {
		display: block;
	}
}
	#fbnr ul li {
		margin: 0 30px 30px 10px;
	}
	#fbnr ul li:last-child {
		margin-bottom: 0;
	}
	#fbnr ul li p {
		font-size: 18px;
		vertical-align: middle;
		display: table-cell;
		/*line-height: 43px;*/
	}
	#fbnr ul li a {
		text-decoration: none;
		color: #333;
		display: block;
		/*padding: 20px 0;*/
	}
	#fbnr ul li p:first-child {
	}
	#fbnr ul li p:last-child {
		padding-left: 20px;
	}
	#fbnr ul li p span {
		display: block;
		margin-bottom: 10px;
		font-size: 14px;
	}
#fbnr ul li .pimg{
	width: 100px;
}
#fbnr ul li .pimg2{
	width: 180px;
}
@media screen and (max-width: 750px) {
	#fbnr ul li .pimg{
		width: 200px;
	}
	#fbnr ul li .pimg2{
		width: 200px;
	}
}


@media screen and (max-width: 750px) {
	#fbnr ul li p span {
		font-size: 30px;
	}
}
	#fbnr ul li p span em {
		font-weight: bold;
		font-size: 14px;
	}
@media screen and (max-width: 750px) {
	#fbnr ul li p span em {
		font-size: 36px;
	}
}


/* footer
   ========================================================================== */
#footer {
	/*wmax-width: 1600px;*/
	width: 100%;
	position: relative;
}
#fnav {
	/*max-width: 1600px;*/
	background-color: #1075ae;
	padding: 30px 0 30px 0;
}

#fnav ul {
	width: 1000px;
	margin: 0 auto 0px auto;
	display: table;
	}
#fnav ul li {
	font-size: 14px;
	display: table-cell;
	text-align: center;
	}
#fnav li .ireko{
	font-size: 12px;
	text-align: left;
	text-indent: 4em;
	line-height: 2em;
}
@media screen and (max-width: 750px) {
	#fnav li .ireko{
		text-align: center;
		text-indent: 1em;
	}
}


#fnav ul li a {
	text-decoration: none;
	color: #fff;
}


#fnav ul li span {
		color: #fff;
}


#page-top {
    position: fixed;
    bottom: 55px;
    right: 20px;
}
#page-top a {
    text-decoration: none;
    color: #fff;
    width: 100%;
    padding: 1px 0;
    text-align: center;
    display: block;
}
#page-top a:hover {
    text-decoration: none;
}

@media screen and (max-width: 750px) {
	#page-top {
	bottom: 30px;
	right: 40px;
	}
	#page-top a {
		width: 130%;
	}
}

@media screen and (max-width: 750px) {
#footer {
	/*border-bottom: solid 10px #77c64e;*/
}
	#fnav {
		width: 100%;
	}

	#fnav ul {
		width: 100%;
		margin-bottom: 40px;
		display: block;
	}
	#fnav ul li {
		font-size: 34px;
		display: block;
	}
	
	#fnav li .ireko{
		font-size: 30px;
		line-height: 1em;
	}
	
	#fnav ul li a {
		padding: 40px 0 10px 60px;
		display: block;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	#fnav ul li span {
		font-size: 23px;
    	padding-right: 10px;
	}
	 #footer .btPagetop {
		 width: 11%;
		 bottom: 50px;
	}
}








/* 下層　共通
   ========================================================================== */
#cont {
	width: 100%;
	text-align: center;
	margin-bottom: 70px;
    background-color:#FFF;
}

#cont .ttl {
	height: 85px;
	font-size: 30px;
	color: #1075ae;
	padding-top: 50px;
	background-color: #e8f4fe;
	border-bottom: solid 2px #1075ae;
	margin-bottom: 70px;
}
#cont .ttl2 {
	height: 85px;
	font-size: 30px;
	color: #1075ae;
	padding-top: 50px;
	background-color: #e8f4fe;
	border-bottom: solid 2px #1075ae;
	margin-bottom: 70px;
}

#cont .ttls {
	font-size: 26px;
	color: #1075ae;
	/* font-weight: bold; */
	margin-bottom: 35px;
}

#cont .ttls2 {
	font-size: 20px;
	color: #1075ae;
	/* font-weight: bold; */
	margin-bottom: 35px;
}

@media screen and (max-width: 750px) {
	#cont img {
		width: 100%;
	}
	#cont .ttl {
		height: 150px;
		font-size: 40px;
	}
    #cont .ttl2 {
		height: 200px;
		font-size: 40px;
	}
	#cont .ttls {
		width: 90%;
		margin: 0 auto 45px auto;
		font-size: 26px;
	}
    #kiyaku #cont .ttls {
        font-size: 34px;
        color: #1075ae;
        margin-bottom: 35px;
    }
	#cont .ttls2 {
		width: 90%;
		margin: 0 auto 50px auto;
		font-size: 26px;
	}
}




/*
#mebyo {
	margin: 0 auto;
	padding: 50px 40px;
	border-top: solid 2px #77c64e;
}
	#mebyo p:first-child,
	#mebyo p:nth-child(2) {
		font-size: 30px;
		line-height: 1.2em;
	}
	#mebyo p:first-child {
		margin-bottom: 25px;
	}
	#mebyo p:nth-child(2) {
		margin-bottom: 35px;
		color: #0074bf;
	}
#logo {
	text-align: center;
	background-color: #fff;
	padding: 60px 0;
	border-top: solid 23px #77c64e;
}
#share{
	display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
	background-color: #77c64e;
	height:auto;
	height:3em;
}
#facebook-wrap{
	display: inline-block;
	margin:0 10px 0;
	padding:0;
	vertical-align: bottom;
}
#twitter-wrap{
	display: inline-block;
	margin:11px 10px 0;
	padding:0;
	vertical-align: baseline;
}
*/

.fadeIn{
animation-name:fadeInAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}