@charset "utf-8";
/*==========================================
 共通のスタイル
===========================================*/
body{
	width:100%;/*画面幅いっぱいにWebページを表示させる*/
	font-size:100%;
	/*line-height:1.5;*/
	font-family: ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, MS Pゴシック, MS PGothic, sans-serif;
	/*font-family: "Times New Roman", "Hiragino Mincho ProN", 游明朝 Demibold, 游明朝体 ミディアム, "Yu Mincho Demibold", YuMincho, HGS明朝E, メイリオ, Meiryo, serif;*/
}
h1{
	font-size : 32px;
	line-height : 1.2; 
}
h2{
	font-size : 24px;
	line-height: 180%;	
	/*line-height : 1.2;*/ /* 20px×1.2＝1行の高さ24px */
}
h3{
	font-size : 20px;
	line-height : 1.2; /* 20px×1.2＝1行の高さ24px */
	/*margin-bottom : 24px;*/
}
p{
    font-size: 16px;
    line-height: 1.7em;
}

img{
	width:100%;
}
.inner{
	width:87%;
	margin:0 auto;
	max-width: 960px;
}
/*==========================================
 scss
===========================================*/
.shadow {
    box-shadow:none !important;
}
/*==========================================
 ナビゲーションのスタイル
===========================================*/
#nav{
	position: absolute;
	top: 0;
	z-index: 3;
	display: flex;
	/*justify-content: space-between;*/
	/*margin-top:15px;*/
	width: 90%;
	/*width: 77%;*/
	background-color: white;
	/*padding-top: 15px;*/
	height: 68px;
}
#nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	/*margin-top: -6px;*/
	margin-top: 16px;
	margin-left: 200px;
}

/*メニュー１個ごとの設定*/
#nav ul li {
	/*width: 50%;*/
	margin-right: 40px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
#nav ul li a .nav-s {
	font-size: 12px;
}
/*TOP用後ろにシャドウ付き*/	
#nav .shadow li a{
	display: block;
	/*color: white;*/
	color: #333;
	text-align: center;
	text-decoration: none;
	font-size:16px;
	line-height:48px; /*高さを確保*/
	//text-shadow: 0 0 5px #777;
}
/*その他のページのシャドウなし*/	
#nav ul li a{
	display: block;
	color: white;
	text-align: center;
	text-decoration: none;
	font-size:16px;
	line-height:48px; /*高さを確保*/
}
/**/
#nav ul li a:hover{
	color: #111;
}

/*TOP用後ろにシャドウ付き*/
#nav .nav-btn-s a:before {
	content: '';
	color: white;
	margin-right: 8px;
	display: inline-block;
  	width: 16px;
  	height: 16px;
  	text-align:center;
  	line-height: 16px;
  	border-radius: 50%;
  	border: solid 1.5px white;
	position: relative;	
	background-image:url(../images/white.png);
	background-size: 6px;
	background-repeat: no-repeat;
	background-position: 55% 50%;
	vertical-align: text-bottom;
	filter: drop-shadow(2px 2px 3px #333);
}
#nav .nav-btn-s a:hover:before {
	background-color: white;
	background-image:url(../images/black.png);
}
/*ここまで*/
/*その他シャドウなし*/
#nav .nav-btn a:before {
	content: '';
	color: white;
	margin-right: 8px;
	display: inline-block;
  	width: 16px;
  	height: 16px;
  	text-align:center;
  	line-height: 16px;
  	border-radius: 50%;
  	border: solid 1.5px white;
	position: relative;	
	background-image:url(../images/white.png);
	background-size: 6px;
	background-repeat: no-repeat;
	background-position: 55% 50%;
	vertical-align: text-bottom;
}
#nav .nav-btn a:hover:before {
	background-color: white;
	background-image:url(../images/black.png);
}
/*ここまで*/

/*ロゴ*/
#nav .logo{
	z-index: 3;
	width:160px;
	margin-left: 15px;
	/*margin-top: -6px;*/
	margin-right: 40px;
	top: 50%;
    position: absolute;
    transform: translateY(-50%);
}
/*
.logo img{
	margin-top:20px;
}
*/
/* タブレット向けレイアウト指定：768px～959px */
@media screen and (max-width: 1020px) {
	#nav ul{
		display: none;
	}
	#nav{
		position: fixed;
		margin-top: 0px; 
		width: 100%;
		background-color: white;
		height: 68px;
	}
		#nav .logo{
		/*margin-top: 15px;*//*
		top: 50%;
		position: absolute;
		transform: translateY(-50%);
		margin-top: 0px;*/
	}
}
/* タブレット向けレイアウト指定：768px～959px */
@media screen and (max-width: 1220px) {
	.nav-2list{
		display: none;
	}
	#nav{
		justify-content: stretch;
		z-index: 98;
	}
	#nav ul{
		/*margin-left: 20px;*/
	}
}





/*topスライダー*/
.slick-slider{
  margin: 0;
  padding: 0;
}
.slick-slider img {
  width: 100%;
  height: 90vh;
  object-fit:cover;
  object-position:top;
}
/**/

.slide li{
	height:100vh;
	width: 100%;
    object-fit: cover;
}
/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.home-top{
		margin-top: 80px;
	}
	.slick-slider img {
		height: calc(100vh - 80px);
		width: 100%;
        object-fit: cover;
	  }
	main{
		margin-top: -80px;
	}
}


/*==========================================
 募金
===========================================*/
.bokin{
	display: inline-block;
	position: fixed;
	top: 0;
	right: 70px;
	width: 220px;
	z-index: 99;
}
.bokin-con{
	display: flex;
	flex-wrap: wrap;
	background-color: #ce121b;
	padding: 3px 10px;
	height: 68px;
    box-sizing: border-box;
}
.bokin img{
    width: 24%;
    height: 75%;
    margin: 0;
	margin-top: 7px;
}
.bokin-text{
	font-size: 12px;
	color: white;
	text-align: center;
    display: inline-block;
	line-height: 1.3;
	margin-left: 2px;
}
.bokin-text-500{
	display: none;
}
.bokin-bold{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 2px;
	line-height: 1.5;
	color: #ffff78;
}
/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.bokin{
		top: 68px;
		right: 0px;
		width: 100%;
		z-index: 98;
	}
	.bokin-con{
		height: 35px;
		justify-content: center;
	}
	.bokin img{
		/*width: 5%;*/
		width: 30px;
        margin: 0;
        height: 25px;
        margin-top: 2px;
	}
	.bokin-text{
		display: none;
	}
	.bokin-text-500{
		margin-top: 4px;
		display: block;
		font-size: 12px;
		color: white;
		text-align: center;
		display: inline-block;
		line-height: 1;
	}
	.bokin-bold{
		font-size: 16px;
		margin-bottom: 0px;
		line-height: 1.3;
		color: #ffff78;
		margin-right: 4px;
	}
}
/* PC向けレイアウトの指定：321pxまでは固定レイアウト */
@media screen and (max-width:321px) {
	.bokin-con img{
		display: none;
	}
}
/* PC向けレイアウトの指定：321pxまでは固定レイアウト */
@media screen and (max-width:291px) {
	.bokin-bold{
		font-size: 12px;
	}
}






.home-top{
	/*position: absolute;*/
	top:0;
	left:0;
	width:100%;
	z-index: 2;
	margin-top: 60px;
}
.home-top-m{
	position: absolute;
	bottom: 10%;
	left:10%;
	z-index: 4;
}
.home-top-m h2{
	color:#ce121b;
	font-size: 60px;
	letter-spacing: 0.05em;
	line-height: 1.3em;
	font-weight: 600;
}
.home-top-m p{
	font-size: 16px;
	color: #555;
	font-weight: 550;
}
.home-top-m .m-n{
	margin-left: -25px;
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:768px) {
	.home-top-m h2{
		font-size: 50px;
	}
}
/* PC向けレイアウトの指定：460pxまでは固定レイアウト */
@media screen and (max-width:460px) {
	.home-top-m {
		left: 5%;
		bottom: 3%;
	}
	.home-top-m h2{
		font-size:40px;
		line-height: 1.2em;
	}
	.home-top-m p{
		width:85%;
	}

}







.home1-con{
	background-image: url(../images/r-bk.jpg);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 105%;
	background-size: cover;

}
.home1-box{
	margin-right: 0;
    margin-left: auto;
    display: block;
    width: 94%;
}
.home1-item,
.home1-item2,
.home1-item3,
.home1-item4{
	position: relative;
	background-color: #333;

}	
.home1-item-moji,
.home1-item2-moji,
.home1-item3-moji,
.home1-item4-moji{
	position: absolute;
	bottom: 6%;
	left:6%;
}
.home1-item a:hover,
.home1-item2 a:hover,
.home1-item3 a:hover,
.home1-item4 a:hover{
	background-color: rgba(0, 0, 0, .3);
    opacity: 0.6;
    transition: opacity .4s cubic-bezier(.215,.61,.355,1);
}
.home1-item-moji h4{
	font-size: 14px;
	color: white;
	font-weight: 200;
	padding-bottom: 5px;
	margin-left: 30px;
	text-shadow: 0 0 10px #777;
}
.home1-item-moji h3{
	font-size: 30px;
	color: white;
	padding-bottom: 30px;
	letter-spacing: -0.05em;
	text-shadow: 0 0 10px #777;
	font-weight: bold;
	margin-bottom: 0;
}
.home1-item-moji h3 .m-n{
	margin-left: -10px;
}
.home1-item-moji .exp{
	/*font-size: 12px;*/
	font-size: 14px;
	color: white;
	width:320px;
	padding-bottom: 20px;
	text-shadow: 0 0 10px #777;
	margin-bottom: 0;
}


/* PC向けレイアウトの指定：960pxまでは固定レイアウト */
@media screen and (max-width:960px) {
	.home1-pic img{
		height:450px;
		object-fit: cover;
	}
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:768px) {
}

/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px){
	.home1-box{
		width: 98%;
	}
	.home1-item a:hover,.home1-item2 a:hover,.home1-item3 a:hover,.home1-item4 a:hover{
		pointer-events: none;
	}
	.home1-item,.home1-item2,.home1-item3,.home1-item4{
		background-color: white;
	}
	.home1-item img{
		height:33vh;
	}
	.home1-item-moji,.home1-item2-moji,.home1-item3-moji,.home1-item4-moji{
		position: static;
		background-color: white;
	}
	.home1-item-moji h4{
		font-size: 12px;
		color: #333;
		padding-top: 20px;
		margin-left: 34px;
		text-shadow: none;
		padding-bottom: 0px;
	}
	.home1-item-moji h3{
		font-size: 18px;
		color: #333;
		padding-bottom: 0px;
		margin-left: 20px;
		border-bottom: solid 2px #333;
		display: inline-block;
		text-shadow: none;
	}
	.home1-item-moji h3 .m-n{
		margin-left: -10px;
	}
	.home1-item-moji .exp{
		font-size: 12px;
		color: #555;
		width:100%;
		padding:10px 20px 20px 30px;
		box-sizing: border-box;
		text-shadow: none;
	}
}






.home1-ttl-con{
	padding-top:2.5rem;
	padding-bottom: 2.8rem;
}
.home1-ttl-con .inner span{
	color: white;
	font-family: UD新ゴNT B, sans-serif;	
}
.home1-sub-ttl{
	color: white;
	margin-left:22px;
	font-size: 14px;
}


.yt{
	margin-bottom: 8rem;
	background-color: #f9f9f9;
	padding:8rem 0;
}
.yt h3{
	text-align: center;
	font-size: 31px;
	font-weight: bold;
}
.yt h3 img{
	width:150px;
	margin-right: 2px;
	margin-top: -10px;
}
.yt-box{
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
}
.yt-item{
	position: relative;
	width:45%;
	margin-top: 2rem;
}
.yt-item h4{
	font-size: 20px;
	font-weight: bold;
}
.yt-item p{
	/*font-size: 12px;*/
	color: #555;
}

.yt-main{
	/*width:320px;*/
	opacity: 0.8;
	margin: 12px 0;
}
.yt-main a:hover{
	opacity: 0.6;
}
.yt-sub{
	width:90px;
	position: absolute;
	bottom: 50%;
	left: 50%;
	transform: translate(-50%, 30%);
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:768px) {
	.yt-sub{
		width:65px;
		bottom: calc((100% - 65px) / 2);
		left: 50%;
		transform: translate(-50%, -90%);
	}

}
/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.yt{
		padding:4rem 0;
		margin-bottom: 4rem;
	}
	.yt-box{
		display: block;
	}
	.yt h3{
		font-size: 28px;
		margin-bottom: 2rem;
	}
	.yt-logo-after{
		font-size: 20px;
	}
	.yt-item{
		width:100%;
		margin:0;
		margin-bottom: 2rem;
	}
	.yt-item:nth-child(2){
		margin-bottom: 0;
	}
	.yt-sub{
		width: 70px;
        bottom: calc((100% - 70px) / 2);
		left: 50%;
		transform: translate(-50%, -50%);
	}
}










.couza-b{
	margin-bottom: 14rem;
	position: relative;
}
.couza-b-bk{
	margin-left: 5.4%;
}
.couza-b-box{
	position:absolute;
	/*bottom:-30%;*/
	top:55%;
	right: 0;
	background-color: white;
    width: 49%;
	margin: 0 auto;
	padding: 40px 5% 0 5%;
    border-radius: 10px 0px 0px 10px;
	/*box-sizing: border-box;*/
}
.couza-b-m{
	margin: 0 auto;
	display: block;
}
.couza-b-m h3{
	color: #ce121b;
	font-size: 26px;
	line-height: 1.5em;
}
.couza-b-m h5{
	font-size: 12px;
	color: #9f9f9f;
	margin-bottom: 0.1rem;
}
.couza-b-m h4{
	font-size: 18px;
	color: #111;
	margin-bottom: 0.8rem;
}
.couza-b-m p{
	font-size: 12px;
	color: #555;
}



.couza-b-btn{
	margin: 0 auto;
}
.couza-b-bk-560{
	display:none;
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:768px) {

	.couza-b {
		margin-bottom: 7rem;
	}
	.couza-b-box{
		position:static;
		width:87%;
		padding: 1rem 0 0 0 ;
	}
	.couza-b-m h3{
		font-size: 24px;
	}
}
/* PC向けレイアウトの指定：500pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.couza-b-bk-560{
		display: block;
	}
	.couza-b-bk{
		display: none;
	}
	.couza-b-bk img{
		height: 35vh;
	}
	.couza-b-m h3{
		font-size: 18px;
	}
	.couza-b{
		margin-bottom: 4rem;
	}
}



.couza{
	margin-bottom: 10rem;
}
.ttl-con{
	margin-bottom: 1rem;
}
.couza-pic1{
	margin-bottom: 1rem;
}


.couza-item{
	display: flex;
	flex-direction: column;
	justify-content:space-between ;


}


.couza-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.couza-item h5{
	font-size: 12px;
	color: #9f9f9f;
	/*margin-bottom: 0.1rem;*/
}
.couza-item h4{
	font-size: 18px;
	color: #111;
	margin-bottom: 0.8rem;
	font-weight: bold;
}
.couza-item p{
	/*font-size: 12px;*/
	/*font-size: 16px;*/
	color: #555;
	margin-bottom: -0.1rem;
}
.couza-item{
	width:32%;
}
.couza-box::after{/*5個寄せ*//*
	content:"";
	display: block;
	width:30%;*/
  }
.couza-item:nth-of-type(4n),
.couza-item:nth-of-type(5n),
.couza-item:nth-of-type(6n){
	padding-top: 4rem;
}
.c-sr{
	margin-left: -8px;
}
.c-sl{
	margin-right: -8px;
}
/*.slick-slider{
	margin-right: -8px;
}*/
.couza-btn{
	display: flex;
	justify-content: space-between;
    margin-top: 1.7rem;
	position: relative;
	background-image: linear-gradient(
		90deg, 
		rgba(85, 85, 85, 0.2) 0 90%, 
		#555 90%);
	  background-repeat: no-repeat;
	  background-size: 100% 3%;
	  background-position: bottom;
	  margin-bottom: -0.1rem;
}
.mb40{
	margin-bottom: 40px;
}
.couza-btn-moji{
	color: #888;
	font-size: 13px;
	font-weight: 600;
    line-height: 1.5;
	padding: 10px 0 15px 0;
	margin-bottom: 0;
	/*padding-bottom: 1.2rem*/
}
.couza-btn-btn{
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	right: 4%;
}
.couza-btn:hover{
	background-color: rgba(85, 85, 85, 0.04);
	background-size: 100% 5%;
}
.couza-btn-moji:hover{
	color: #555;
}	
/* PC向けレイアウトの指定：1103pxまでは固定レイアウト */
@media screen and (max-width:1103px) {
	.couza-item{
		width:46%;
	}
	.couza-box::after{/*5個寄せ*//*
		content:"";
		display: block;
		width:30%;*/
	}
	.couza-item:nth-of-type(4n),
	.couza-item:nth-of-type(5n),
	.couza-item:nth-of-type(6n){
		padding-top: 0px;
	}
	.couza-item:nth-of-type(3n),
	.couza-item:nth-of-type(4n),
	.couza-item:nth-of-type(5n),
	.couza-item:nth-of-type(6n){
		padding-top: 6rem;
	}
}
/* PC向けレイアウトの指定：695pxまでは固定レイアウト */
@media screen and (max-width:768px) {
	.mb40{
		margin-bottom: 0px;
	}
}
/* PC向けレイアウトの指定：695pxまでは固定レイアウト */
@media screen and (max-width:695px) {
	.couza-box{
		display:block;
	}
	.couza-item{
		width:100%;
	}
	.couza-box::after{/*5個寄せ*//*
		content:"";
		display: block;
		width:30%;*/
	}
	.couza-item:nth-of-type(2n),
	.couza-item:nth-of-type(3n),
	.couza-item:nth-of-type(4n),
	.couza-item:nth-of-type(5n),
	.couza-item:nth-of-type(6n){
		padding-top: 5rem;
	}
}
/* PC向けレイアウトの指定：500pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.couza{
		margin-bottom: 4rem;
	}
	.couza-btn{
		margin-top: 0;
	}

}

/*==========================================
 SDGs
===========================================*/
.sdgs-con{
	margin-bottom: 10rem;
}
.sdgs-con h4{
	color: #111;
	font-size: 24px;
	text-align: center;
	margin-top: 4rem;
	width: 87%;
	margin: 4rem auto 0 auto;
	font-weight: bold;
}
.sdgs-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1.2rem;
	margin-bottom: 4rem;
}
.sdgs-item{
	width:30%;
	margin: 0 15px;
}

.sdgs-item1{
	width:416px;
	margin: 0 15px;
}
.sdgs-logo{
	width:35%;
	display: block;
	margin: 0 auto;
}
.sdgs-item-r1{
	border: solid 1px #111;
	padding: 1rem 10px;
	margin: 1rem 0;
}
.sdgs-red{
	color: #ce121b;
	font-size: 18px;
	text-align: center;
	font-weight: bold;
}
.sdgs-item-r1 h5{
	font-size: 18px;
	color: #111;
	text-align: center;
	font-weight: bold;
}
.sdgs-m p{
	color: #555;
	/*margin-top: 2rem;*/
}
.sdgs-768{
	display: none;
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:768px) {
	.sdgs-box{
		margin-bottom: -20px;
	}
	.sdgs-item1{
		width:270px;
	}
	.sdgs-item-r1{
		padding: 20px 10px;
		margin-top: 1rem;
	}
	.sdgs-768{
		display: block;
		width:87%;
        margin:4rem auto;	
	}
	.sdgs-m{
		display: none;
	}
}
/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.sdgs-con{
		margin-bottom: 4rem;
	}
	.sdgs-con h4 {
		font-size: 18px;
		margin: 2rem auto 0 auto;
	}
	.sdgs-box {
		display: block;
		margin-bottom: 0px;
	}
	.sdgs-item{
		width: 37%;
		margin:0 auto;
	}
	.sdgs-item img{
		margin-top: 0%;
		transform: translateY(0%);
	}
	.sdgs-item1{
		width:87%;
		margin:20px auto;
	}
	.sdgs-red,
	.sdgs-item-r1 h5{
		font-size: 16px;
	}
	.sdgs-768{
        margin: 10px auto 2rem auto;	
	}
}




.home2{
	/*margin-bottom: 16rem;*/
	position: relative;
	margin-bottom: 20rem;
}
.home2-box{
	position:absolute;
	top:55%;
	background-color: white;
    /*width: 49%;*/
	margin: 0 auto;
	/*padding: 50px 5% 0 5%;*/
	padding:2rem 5% 0px 5%;
    border-radius: 0 10px 10px 0;
	/*box-sizing: border-box;*/
}
.home2-m{
	margin: 0 auto;
	display: block;
}
.h2-s{
	margin-left: -11px;
}
.home2-m h4{
	color: #ce121b;
	font-size: 14px;
	font-weight: bold;
}
.home2-m h3{
	color: #ce121b;
	font-size: 26px;
	line-height: 1.5em;
	font-weight: bold;
}
.home2-m .exp{
	color: #555;
	padding: 20px 0;
	/*font-size: 12px;*/
}
.home2-btn{
	margin: 0 auto;
}
.home2-bk-560{
	display: none;
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:797px) {
	.home2 {
		margin-bottom: 10rem;
	}
	.home2-box{
		position:static;
		width:87%;
		padding: 20px 0 0 0;
	}
	.home2-m h3{
		font-size: 24px;
	}
}
/* PC向けレイアウトの指定：500pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.home2-bk-560{
		display: block;
	}
	.home2-bk{
		display: none;
	}
	.home2-box{
		padding: 20px 20px 0 20px;
		border-radius: 0 10px 10px 0;
		box-sizing: border-box;
	}
	.home2-m h3{
		font-size: 18px;
	}
	.home2 {
		margin-bottom: 4rem;
	}
}







.home3-con{
	background-color: #f9f9f9;
	padding: 8rem 0 ;
}
.home3-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.home3-item{
	display: flex;
	width:48%;
	padding: 1rem 0;
	border-top: solid 1px #dfdfdf;
}
.home3-pic{
	width:30%;
}
.home3-m{
	width:50%;
	margin: 0 5%;
}
.home3-m h4 {
	font-size: 14px;
	border-bottom: solid 1.5px #111;
	display: inline-block;
	color: #555;
	font-weight: bold;
}
.home3-m p{
	font-size: 12px;
	color: #555;
	margin-top: 10px;
}
.home3-btn{
	position: relative;
}
.home3-btn img{
	width:8px;
	position:absolute;
	top: 50%;
    transform:translateY(-50%);
}
.home3-item:hover{
	background-color: white;
	box-shadow: 0px 0.5rem 1.3rem 0px rgba(0, 0, 0, 0.05);
	transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.home3-item:nth-child(3),
.home3-item:nth-child(4){
	border-bottom: solid 1px #dfdfdf;
}
/* PC向けレイアウトの指定：1020pxまでは固定レイアウト */
@media screen and (max-width:1020px) {
	.home3-con{
		padding: 4rem 0 0 0;
	}
	.home3-btn{
		display: none;
	}
	.home3-m {
		width: 70%;
		margin: 0 0 0 5%;
	}
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:768px) {

	.home3-box{
		display:block;
	}
	.home3-item{
		width:100%;
		padding: 2rem 0;
	}
	.home3-item:nth-child(3){
		border-bottom: none;
	}
}




.sns ul{
	display: flex;
	justify-content: center;
	padding: 4rem 0;
}
.sns ul li{
	width:38px;
	margin-right: 24px;
}
.sns ul li:nth-child(5){
	margin-right: 0px;
}
/* PC向けレイアウトの指定：500pxまでは固定レイアウト */
@media screen and (max-width:500px) {
	.sns ul li{
		width:36px;
		margin-right: 12px;
	}

}
/*==========================================
 footerここから
===========================================*/
.ftr-con{
	background-color: #1d1d1d;
	padding:5em 0;
}
.ftr-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.ftr-item{
	width: 21%;
}
.ftr-item ul {
	padding-left: 1rem;
}
.ftr-item:nth-child(2){
	width: 30%;
}
.ftr-ttl{
	display: flex;
	flex-wrap: wrap;
}
.ftr-item h4{
    margin-bottom: 15px;
    color: white;
    font-size: 16px;
    border-bottom: solid 1px #7d7d7d;
    padding-bottom: 15px;
	font-weight: bold;
}
.ftr-item a h4:before {
	content: '';
	color: white;
	margin-right: 8px;
	display: inline-block;
  	width: 18px;
  	height: 18px;
  	text-align:center;
  	line-height: 18px;
  	border-radius: 50%;
  	border: solid 1.5px white;
	position: relative;	
	background-image:url(../images/white.png);
	background-size: 5px;
	background-repeat: no-repeat;
	background-position: 55% 50%;
	vertical-align: text-bottom;
  }
  .ftr-item a h4:hover:before {
	background-color: white;
	background-image:url(../images/black.png);
}
.ftr-item ul li {
	margin-bottom: 0.5rem;
}
.ftr-item ul li a{
	color: #7d7d7d;
	font-size: 14px;
}
.ftr-item ul li a:before {
	content: '-';
	color: gray;
	margin-right: 8px;
}
.ftr-kouza-box{
	display: flex;
	flex-wrap: wrap;
}
.ftr-kouza2{
	margin-left: 10px;
}


.ftr-con2{
	background-color: #111;
	padding:5em 0;
}
.ftr-box2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: solid 1px #7d7d7d;
	align-items:flex-end;
	padding-bottom: 0.3em;
}
.ftr-item2-1,
.ftr-item2-2{
	/*width:50%;*/
	display: inline-block;
}
.ftr-item2-1 p{
	color: #7d7d7d;
	font-size: 12px;
}
.ftr-item2-1 img{
	width:170px;
}
.ftr-item2-2 ul{
	display: flex;
	justify-content:right;
}
.ftr-item2-2 ul li{
	width:30px;
	margin-right: 12px;
}
.ftr-item2-2 ul li:nth-child(5){
	margin-right: 0px;
}


.com{
	text-align: right;
	color: #7d7d7d;
	font-size: 11px;
}
/* PC向けレイアウトの指定：1310pxまでは固定レイアウト */
@media screen and (max-width:1310px) {
	.ftr-kouza-box{
		display:block;
	}
	.ftr-kouza2{
		margin-left: 0;
	}
}
/* PC向けレイアウトの指定：1020pxまでは固定レイアウト */
@media screen and (max-width:1020px) {
	.ftr-con{
        padding: 4em 0 3em 0;
	}

	.ftr-item{
		width: 100%;
		margin-bottom: 20px;
	}
	.ftr-item:nth-child(2){
		width: 100%;
	}
	.ftr-con2 {
		padding: 4em 0;
	}
}
/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.ftr-box2{
		display: block;
		padding-bottom: 2em;
	}
	.ftr-item2-1,
	.ftr-item2-2{
		width:100%;
	}
	.ftr-item2-2 ul{
		justify-content:left;
		margin-top: 0.5rem;
	}
}
/*==========================================
 丸と矢印ボタンはここから
===========================================*/

.btn-big a {
	content: '';
	color: white;
	margin-right: 8px;
	display: inline-block;
  	width: 30px;
  	height: 30px;
  	text-align:center;
  	line-height: 30px;
  	border-radius: 50%;
  	border: solid 1.5px white;
	position: relative;	
	background-image:url(../images/white.png);
	background-size: 9px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	vertical-align: text-bottom;
}
.btn-big a:hover{
	background-color: white;
	background-image:url(../images/black.png);
}
/*
.bbtn-big{
	display: inline-block;
  	width: 30px;
  	height: 30px;
  	text-align:center;
  	line-height: 30px;
  	border-radius: 50%;
  	border: solid 2px white;
	position: relative;	
	background-image:url(../images/white.png);
	background-size: 9px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.bbtn-big:hover{
	background-color: white;
	background-image:url(../images/black.png);

}*/
/*
.btn-small{
	display: inline-block;
  	width: 20px;
  	height: 20px;
  	text-align:center;
  	line-height: 20px;
  	border-radius: 50%;
  	border: solid 2px white;
	position: relative;	
	background-image:url(../images/white.png);
	background-size: 7px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.btn-small:hover{
	background-color: white;
	background-image:url(../images/black.png);

}*/
/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	/*.bbtn-big{
		display: none;
	}*/
	.btn-big{
		display: none;
	}
}





/*流れるタイトル*/
.ttl-box {
  display: flex;
  overflow: hidden;
  color: #111;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 31px;
  font-weight: bold;
}
.ttl-1 img{
	vertical-align: top;
	margin-top: 8px;
}
.ttl-1{
	width:13px;
	padding-right: 9px;
}
.ttl-box span {
  display: block;
  transform: translate(0, 105%);
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s;
}
.ttl-box.-visible span {
  transform: translate(0, 0);
}
.ttl-box span:nth-child(2) {
  transition-delay: 0.06s;
}
.ttl-box span:nth-child(3) {
  transition-delay: 0.12s;
}
.ttl-box span:nth-child(4) {
  transition-delay: 0.18s;
}
.ttl-box span:nth-child(5) {
  transition-delay: 0.24s;
}
.ttl-box span:nth-child(6) {
  transition-delay: 0.30s;
}
.ttl-box span:nth-child(7) {
  transition-delay: 0.36s;
}
.ttl-box span:nth-child(8) {
  transition-delay: 0.42s;
}
.ttl-box span:nth-child(9) {
  transition-delay: 0.48s;
}
.ttl-box span:nth-child(10) {
  transition-delay: 0.54s;
}
.ttl-box span:nth-child(11) {
  transition-delay: 0.6s;
}
.ttl-box span:nth-child(12) {
  transition-delay: 0.66s;
}
.ttl-box span:nth-child(13) {
  transition-delay: 0.72s;
}
.ttl-box span:nth-child(14) {
  transition-delay: 0.78s;
}
.ttl-box span:nth-child(15) {
	transition-delay: 0.84s;
  }
.ttl-box span:nth-child(16) {
	transition-delay: 0.90s;
}
.ttl-box span:nth-child(17) {
	transition-delay: 0.96s;
}
.ttl-box span:nth-child(18) {
	transition-delay: 1.02s;
}
.ttl-box span:nth-child(19) {
	transition-delay: 1.08s;
}

/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px) {
	.home1-ttl-con{
		padding:20px 0;
	}
	.ttl-box {
		font-size: 20px;
	}
	.ttl-1 img{
		width:8px;
		margin-left: 10px;
	}
	.ttl-1{
		width:20px;
	}
	.couza .inner h2 .ttl-1{
		font-size: 24px;
	}
}




/* タブレット向けレイアウト指定：768px～959px */
@media screen and (min-width: 768px) {
}
/* PC向けレイアウトの指定：960px以上では固定レイアウト */
@media screen and (min-width:960px) {
}
/* PC向けレイアウトの指定：768pxまでは固定レイアウト */
@media screen and (max-width:768px) {
}

/* PC向けレイアウトの指定：500pxまでは固定レイアウト */
@media screen and (max-width:500px){
	
}


/*==========================================
 バーガーにする＝グローバルナビゲーションのスタイル
===========================================*/
#gnav  {
	background-color: white;
}
#gnav ul {
	display: flex;
	flex-wrap: wrap;
	/*margin-top: -6px;*/
}

/*メニュー１個ごとの設定*/
#gnav ul li {
	width: 50%;
	border-bottom: 1px solid #E1DEDF;
	box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}

#gnav ul li a{
	display: block;
	color: #222;
	text-align: center;
	text-decoration: none;
	font-size:15px;
	line-height:48px; /*高さを確保*/
}

#gnav ul li a:hover{
	background: #E7EDF4;
}
/*奇数番目のメニューの設定*/
#gnav ul li:nth-child(odd) {
     border-right: 1px solid #E1DEDF;
}


/*==========================================
ページトップへのボタンの指定　common.jsと連動
===========================================*/
#page-top {
    position: fixed;/*右下に固定*/
    bottom: 20px;/*位置調整*/
    right: 20px;/*位置調整*/
	   z-index:9999;
}
#page-top a {
    background: rgb(255 255 255 / 32%);
    text-decoration: none;
    color: #fff;
    width: 50px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 10px;
    opacity: 0.8;/*要素の透明度を指定 0.0（完全に透明）～1.0（完全に不透明）の範囲で指定する（初期値は1）*/
}
#page-top a:hover {
	text-decoration: none;
    background: rgba(0,0,0,.8);/*マウスオーバー時の背景色を指定。このrgbaは、RGBカラーモデルのred・green・blueに、alphaが加わったもの。 alphaは色の透明度を表す。
		それぞれrgbの値をカンマで区切り、最後にalfaの値（透明度）を0（完全に透明）～1（完全に不透明）の数値で指定。*/
}
#page-top a img{
	width:20px;
	opacity: 0.5;
	margin-top: 3px;
}
/*==========================================
バーガーメニュー
===========================================*/
.gnav-con{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    height: 100%;
    width: 93%;
    padding: 90px 3% 90px 3%;
}
.gnav-g1{
	width:25%;
}
.gnav-g2{
	width:40%;
}

.gnav-item h4{
    margin-bottom: 15px;
    color: black;
    font-size: 16px;
    border-bottom: solid 1px #7d7d7d;
    padding-bottom: 15px;
}
.gnav-item a h4:before {
	content: '';
	color: blue;
	margin-right: 8px;
	display: inline-block;
  	width: 18px;
  	height: 18px;
  	text-align:center;
  	line-height: 18px;
  	border-radius: 50%;
  	border: solid 1.5px black;
	position: relative;	
	background-image:url(../images/black.png);
	background-color: white;
	background-size: 6px;
	background-repeat: no-repeat;
	background-position: 55% 50%;
	vertical-align: text-bottom;
}
.gnav-item a h4:hover:before {
	background-color: black;
	background-image:url(../images/white.png);
}
.gnav-item ul li{
	padding-bottom:1rem;
}
.gnav-item ul li a{
	color: #7d7d7d;
	font-size: 14px;
}
.gnav-item ul li a:before {
	content: '-';
	color: gray;
	margin-right: 8px;
}
.gnav-item-tel{
	margin-top: 10px;
	padding-top:20px;
}






#mnav{
	position: fixed;
	top:0px;
	right:0;
	z-index: 99;
}
.m-nav{
  width: 40px;
  height: 36px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  position: relative;
  z-index: 90;
  margin: 0 0 0 auto;
}
.m-nav:hover .m-nav{
	background-color: #111;
}

.span-container,
.checkbox {
  width: 34px;
  height: 32px;
  position: absolute;
  right: 0;
  top: 0;
  /*transform: translateX(-50%);*/
  background-color: #333;
  padding: 18px 18px;
}
.checkbox {
  opacity: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
}

.span-container {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  z-index: 90;
}
.span-container span {
  width: 100%;
  height: 3px;
  background: white;
  transition: all 250ms ease-out;
  transform-origin: 0 0;
}

.checkbox:checked ~ .span-container span:nth-last-child(1) {
    transform: rotate(-45deg) translate(-1px, 0px);
}
.checkbox:checked ~ .span-container span:nth-last-child(2) {
    transform: rotate(0deg) scale(0.2, 0.2);
    opacity: 0;
}
.checkbox:checked ~ .span-container span:nth-last-child(3) {
    transform: rotate(45deg) translate(0px, -1px);
}


.nav-container{
  position: fixed;
  right: 0;
  top: 0;
  width: 70%;
  height: 80%;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  align-items: center;
  z-index: 50;
  background: white;
  transition: all 250ms ease-out;
  transform: translateX(130%);

  a {
    text-decoration: none;
    color: #111;
    font-size: clamp(1.4rem, 2.4vw, 2.2rem);
    margin: 1rem auto;
  }
  
  a:hover {
    color: black;
  }
}

.checkbox:checked ~ .nav-container {
  transform: translateX(0%);
}
/* PC向けレイアウトの指定：1020pxまでは固定レイアウト */
@media screen and (max-width:1020px) {
	.gnav-con{
		width: 99%;
        padding: 90px 9% 90px 9%;
        box-sizing: border-box;
	}
	.gnav-g1,.gnav-g2{
		width:100%;
		margin-bottom: 30px;
	}
	.nav-container{
		position: fixed;
		right: 0;
		top: 0;
		width: 60%;
		height: 100%;
		overflow-x:scroll;
	}
	.m-nav{
  		background: #333
	}
}
/* PC向けレイアウトの指定：560pxまでは固定レイアウト */
@media screen and (max-width:560px){
	.nav-container{
		width: 90%;
	}
}

/*==========================================
 newsとblogはここから
===========================================*/