/*
黄:ffd359
緑:94c9a2
クリーム:fff0c8
*/

html { scroll-behavior: smooth;}
body {
	margin: 0;
  font-family: "Helvetica Neue", Helvetica, "Roboto", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-family: 'Noto Sans Japanese', sans-serif;
}
main {
	width: 1000px;
	margin: 0 auto;
}
ul, li {
	margin: 0;
	padding: 0;
	list-style: none;
}
a {
	text-decoration: none;
	display:block;
	cursor: pointer;
}
a:hover {
	text-decoration: underline;
}

.img-box img { width:100% }
.flex { display:flex; }
.pos-r { position:relative; }
.pos-a { position:absolute; }
.hide_sp { display:block; }
.hide_pc { display:none; }

/*メニューバー*/
.head_link {
	padding: 10px;
	color: #fff;
	background-color: #94c9a2;
}
.head_link ul {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 1.0rem;
}
.head_link ul a {
	color: #fff;
}


/*main*/
.kv {
	width: 100%;
	height: 600px;
	background-image: url(../../../img/program/yasashiimirai/kv_1800_660.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	justify-content: center;
}

.kv .logo_y {
	width: 640px;
	margin-top: 70px;
}


/*NEWS*/
.news {
	width: 100%;
	margin: 100px auto;
}
.news .border {
	padding: 60px 100px;
	border: 4px solid #91c69f;
	border-radius: 5px;
}
.news .border .title {
	margin: -86px auto 0;
	text-align: center;
}
.news .border .title h2,
.news .border .title p {
	margin: 0;
	padding: 0 20px;
	background-color: #fff;
	display: inline-block;
}
.news .border .title h2 {
	font-size: 2.0rem;
	border: 0;
}
.news .border .title p {
	font-size: 0.9rem;
}
.news .border ul {
	margin-top: 40px;
}
.news .border ul li {
	margin-bottom: 15px;
	font-size: 0.9rem;
	text-align: left;
}
.news .border ul li a {
	color: #000;
}
.news .border .date {
	/*width: calc(30% - 51px);*/
	width: 20%;
}
.news .border .date::after {
	content: "";
	width: 1px;
	height: 14px;
	margin: 0 20px 0 30px;
	background-color: #000;
	display: inline-block;
}
.news .border .item {
	width: 80%;/*70%*/
}


/*ABOUT*/
.about {
	width: 100%;
	margin: 0 auto;
	padding: 100px 0;
	color: #fff;
	background-color: #91c69f;
	border-image: linear-gradient(#94c9a2,#94c9a2) fill 0//0 100vw 0 100vw;}
.about .logo {
	width: 75%;
	margin: 0 auto;
}
.about .date {
	width: 46%;
	margin: 0 auto;
}
.about .message {
	width: 70%;
	margin: 80px auto;
	font-size: 1.0rem;
	text-align: left;
	line-height: 1.8;
}

.about .contents {
	width: 75%;
	margin: 0 auto;
	padding: 60px 0;
	text-align: center;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.about .contents h2 {
	margin: 0 0 30px;
	font-size: 3.0rem;
	font-weight: 300;
}
.about .contents h3 {
	margin: 0;
	font-size: 1.0rem;
	font-weight: 300;
}
.about .contents ul li a {
	color: #fff;
	font-size: 1.1rem;
	line-height: 3;
}
.about .contents ul li a:hover {
}

/*BOOK & ITEM*/
.design50 {
	margin-top: 100px;
}
.title_img {
	width: 33%;
	margin: 0 auto;
}
.title_info {
	font-size: 1.0rem;
	text-align: left;
}
.design50 ul::after {
	content:"";
	width: 32.5%;
	display: block;
}
.design50 ul li {
	width: 32.5%;
	margin-bottom: 40px;
	font-size: 0.7rem;
	text-align: left;
}
.design50 ul li a:hover {
	text-decoration: none;
	cursor: pointer;
}
.design50 ul li .img-box {
	margin-bottom: 10px;
}
.design50 ul li .img-box::before {
	content: "";
	padding-top: 100%;
	display: block;
}
.design50 ul li .img-box img {
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.design50 ul li span {
	margin-right: 10px;
	padding: 4px 8px;
	color: #fff;
	background-color: #94c9a2;
	display: inline-block;
}

.design50 ul li:nth-child(2n) span {
	background-color: #ffd359;
}
.design50 ul li:nth-child(3n) span {
	color: #353535;
	background-color: #fff0c8;
}

.event {
	padding: 1px 0 0;
	background-color: #efefef;
	border-image: linear-gradient(#efefef,#efefef) fill 0//0 100vw 0 100vw;
}
.event h2 span {
	background-color: #efefef;
}


.btn_item {
	height: 40px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 2.5;
	border:2px solid #000;
}
.btn_item::before {
    background: url(../../../../img/icon/icon_arrow_bl_r.png) no-repeat left center;
    content: "";
    width: 7px;
    height: 14px;
    padding-right: 15px;
    display: inline-block;
}


@media screen and (max-width: 768px){
	main {
		width: 96vw;
		margin: 0 auto;
	}
	.hide_sp { display:none; }
	.hide_pc { display:block; }

	.kv {
		height: 500px;
	}

	.kv .logo_y {
		width: 80%;
		margin-top: 100px;
	}

	.slick-track {
		margin-top: -9px;
	}

	.news {
		width: calc(92% - 40px);
		margin: 0 auto;
		padding: 60px 20px 40px;
	}
	.news .border {
		padding: 50px 40px 30px;
	}
	.news .border ul {
		margin-top: 30px;
	}
	.news .border ul li {
		flex-direction: column;
	}
	.news .border .date,
	.news .border .item {
		width: 100%;
	}
	.news .border .date::after {
		display: none;
	}

	.about {
		padding: 60px 0;
	}
	.about .logo {
		width: 80%;
	}
	.about .message {
		width: 80%;
		margin: 50px auto 0;
	}

	.design50 {
		margin-top: 60px;
	}
	.title_img {
		width: 45%;
	}
	.design50 ul li {
		width: 49%;
	}
	.design50 ul li span {
		margin-right: 2px;
		padding: 2px 6px;
		font-size: 0.6rem;
	}
}

@media screen and (max-width: 768px){
	#logo {
		width: 70%;
		margin: 50px auto;
	}

	/*========= ナビゲーションのためのCSS ===============*/
	#g-nav{
	    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
	    position:fixed;
	    z-index: 999;
	    /*ナビのスタート位置と形状*/
		top:0;
	    right: -120%;
		width:70%;
	    height: 100vh;/*ナビの高さ*/
		background:#94c9a2;
	    /*動き*/
		transition: all 0.6s;
	}

	/*アクティブクラスがついたら位置を0に*/
	#g-nav.panelactive{
	    right: 0;
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list{
	    /*ナビの数が増えた場合縦スクロール*/
	    position: fixed;
	    z-index: 999; 
	    width: 70%;
	    height: 100vh;/*表示する高さ*/
	    overflow: auto;
	    -webkit-overflow-scrolling: touch;
	}

	/*ナビゲーション*/
	#g-nav ul {
		width: 75%;
	    /*ナビゲーション天地中央揃え*/
	    position: absolute;
	    z-index: 999;
	    top:42%;
	    left:50%;
	    transform: translate(-50%,-50%);
	}

	/*リストのレイアウト設定*/

	#g-nav li {
		width: 100%;
		list-style: none;
	    text-align: center;
	    border-bottom: 1px solid #fff;
	}

	#g-nav li a {
		color: #fff;
		text-decoration: none;
		padding:15px;
		display: block;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		font-weight: bold;
	}

	/*========= ボタンのためのCSS ===============*/
	.openbtn{
		position:fixed;
	    z-index: 9999;/*ボタンを最前面に*/
		top:10px;
		right: 10px;
		cursor: pointer;
	    width: 50px;
	    height:50px;
	}
		
	/*×に変化*/	
	.openbtn span{
	    display: inline-block;
	    transition: all .4s;
	    position: absolute;
	    left: 14px;
	    height: 3px;
	    border-radius: 2px;
		background-color: #666;
	  	width: 45%;
	  }

	.openbtn span:nth-of-type(1) {
		top:15px;	
	}

	.openbtn span:nth-of-type(2) {
		top:23px;
	}

	.openbtn span:nth-of-type(3) {
		top:31px;
	}

	.openbtn.active span:nth-of-type(1) {
	    top: 18px;
	    left: 18px;
	    transform: translateY(6px) rotate(-45deg);
	    width: 30%;
	}

	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn.active span:nth-of-type(3){
	    top: 30px;
	    left: 18px;
	    transform: translateY(-6px) rotate(45deg);
	    width: 30%;
	}
}







footer {
	margin-top: 150px;
	text-align: center;
	padding-top: 0px;
}
footer .sub_title_bar ul {
	display: inline-block;
	margin-left: -4px;
}
footer .share_menu {
	margin-bottom: 20px;
}
footer .share_menu li {
	display: table-cell;
	vertical-align: middle;
	width: 20px;
	padding: 0 10px;
}
footer .share_menu li.menu_mail_magazine {
	padding-right: 0;
	font-size: 14px;
	white-space: nowrap;
}
footer .footer_menu {
	padding: 30px 0 0px 0;
	margin-top: 40px;
	background: #e5e5e1;
	overflow: hidden;
}
footer .footer_menu .menu_info li {
	display: inline-block;
	font-size: 14px;
	line-height: 2.2;
}
footer .footer_menu .menu_info li:after {
	content: "|";
	display: inline-block;
	width: 17px;
	color: #c1c1c1;
	text-align: center;
}
footer .footer_menu .menu_info li:last-child:after {
	content: none;
}
footer .footer_menu .menu_info li {
	font-size: 12px;
}
footer .footer_menu .menu_info a {
	font-size: 10px;
	letter-spacing: -1px;
	color: #555;
}
footer .footer_menu .menu_sns .fb {
	display: inline-block;
	width: 170px !important;
}
footer .footer_menu .menu_copyright {
	margin-bottom: 20px;
}

@media screen and (min-width: 769px) {
	footer .shop_menu,
	footer .inner_footer_menu {
		display: inline-block;
		width: 1000px;
	}
}
footer .shop_menu li,
footer .footer_menu .menu_info li {
	display: inline-block;
	font-size: 14px;
	line-height: 2.2;
}
footer .shop_menu li:after,
footer .footer_menu .menu_info li:after {
	content: "|";
	display: inline-block;
	width: 30px;
	color: #c1c1c1;
	text-align: center;
}
footer .shop_menu li:last-child:after,
footer .footer_menu .menu_info li:last-child:after {
	content: none;
}
footer .footer_menu .menu_info li {
	font-size: 12px;
}
footer .footer_menu .menu_line {
	width: 42px;
}
footer .footer_menu .menu_mail_magazine {
	padding-top: 1px;
}
footer .footer_menu .menu_sns {
	display: inline-block;
	float: left;
}
footer .footer_menu .menu_info {
	display: inline-block;
	margin: 5px;
}
footer .footer_menu .menu_info a {
	font-size: 10px;
	letter-spacing: -1px;
	color: #555;
	display: inline-block;
}
footer .footer_menu .menu_info li:after {
	width: 17px;
}
footer .footer_menu .menu_info ul {
	display: inline-block;
	margin-right: 0px;
}
footer .footer_menu .menu_sns:after,
footer .footer_menu .menu_info:after {
	content: "";
	clear: both;
}
footer .share_menu ul {
	display: inline-block;
	margin-left: -4px;
}



@media screen and (max-width: 768px) {
	footer {
		margin-top: 0;
		padding-top: 0;
	}
	footer .footer_menu {
		margin-top: 0;
	}
	footer .footer_menu .menu_info ul {
		margin: 10px 0;
		text-align: center;
	}
	footer .share_menu {
		margin-bottom: 15px;
	}
	footer .shop_menu li {
		width: 100%;
		height: 44px;
		line-height: 44px;
		text-align: left;
		border-top: 1px solid #e5e5e1;
		margin: 0;
		padding: 0;
		position: relative;
	}
	footer .shop_menu li:after {
		position: absolute;
		top: 12px;
		right: 15px;
		width: 0;
		height: 0;
		content: "";
		border: 10px solid transparent;
		border-left-color: #a7a79d;
	}
	footer .shop_menu li a {
		padding: 0 16px;
		font-size: 14px;
		display: block;
	}
	.portal_footer_TSUTAYA {
		margin-top: 40px;
		margin-bottom: 12px;
	}
	.portal_footer_TSUTAYA img {
		width: 30%;
	}
}
