@charset "utf-8";
/*基準画面幅1366px*/
body#index {
			margin:0;
			padding:0;
			font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
			background:#000;

}
h1,h2,h3,p {
			margin:0;
			padding:0;
}
img {
			margin:0;
			padding:0;
}
a {
			text-decoration:none;
}
/*loading時の表示画面設定*/
#loading_wrap {
			width:100%;
			height:100vh;
			background:#000;
			position:fixed;
			top:0;
			left:0;
}
span.loading_anime {
			width:50%;
			
}


/*	h1とnavをくるんだdiv	*/

div.container{
		padding:20px;
		position:fixed;
		margin:0;
		width:100%;
		background-color:rgba(0,0,0,0);
		
		display:flex;
		justify-content:space-between;		/*flexで横並びにしたh1とnavを両端に配置*/

		align-items:center;
		
}





header{
		padding:0; margin:0 auto;
/*	一番上のレイヤーにして、かつpositionを設定しないと上位表示されない*/
		z-index:100;
		position:relative;

}
#header a{
		color:#fff;
}



/*	 左上に固定する「Caltagirone」	*/
h1#caltagirone{
		padding:0;
		margin:0;
		font-size:20px;

		
}
h1#caltagirone a{
		text-decoration:none;
		font-family: 'Lora', serif;
		font-weight:600; 	/*Medium*/
		color:#fff;
}


/*　↓ここからグローバルナビバーの設定↓　*/
nav{
		position:fixed;
		right:20px;
}


/*	ナビバー メニュー リンク一覧	*/
div#menu-wrap{
		margin:0;
		padding:0;
		display:flex;
		flex-direction:row;
}

ul#menu-web{
		padding:0 10px 0 0;
		margin:0;
		display:flex;
		list-style:none;

}
ul#menu-web li{
		margin-left:48px;

}

ul#menu-web li a{
		color:#fff;		
		text-decoration:none;
		font-size:14px;
		font-family: 'EB Garamond', serif;
		font-weight:500;
		display:block;
		line-height:22px;

}

@media screen and (max-width:960px){
ul#menu-web li a {
			font-size: calc(12px + 2 * (100vw - 768px)/192);
			
}
ul#menu-sns li{
			margin-left:calc(24px + 16 * (100vw - 768px)/192)!important;
}
ul#menu-web li{
			margin-left: calc(24px + 16 * (100vw - 768px)/192);

}
}

ul#menu-web li a::after {
		border-bottom:2px solid #fff;
		bottom:0;
		content:"";
		display:block;
		transition:all 0.6s ease;
		width:0;
}
ul#menu-web li a:hover::after {
		width:100%;
}
#index ul#menu-web li.m-welcome a::after,
#concept ul#menu-web li.m-about a::after,
#menu ul#menu-web li.m-menu a::after,
#blog ul#menu-web li.m-instagram a::after,
#access ul#menu-web li.m-access a::after {
		border-bottom:2px solid #fff;
		bottom:0;
		content:"";
		display:block;
		transition:all 0.6s ease;
		width:100%;
}
/* SNSアイコン */
ul#menu-sns{
		margin:0;
		padding:0;
		list-style:none;
		display:flex;
}
ul#menu-sns li{
		margin-left:40px;
}



/* 【リリース時削除】SNSアイコン仮止め */

div.sns-kari1{
		width:14px; height:14px; background-color:#fff;
		margin-top:2px;
}
div.sns-kari2{
		width:14px; height:14px; background-color:#fff;
		margin-top:2px;
}
/*--ここまでメニューバー ここからハンバーガーメニュー768px以上は非表示*/
.burger {
		display:none;

}
ul.burger_list {
		display:none;
		
}
div.burger_icon {
		display:none;
}
h1.sub_logo {
		display:none;
}

/*	 ここからトップイメージのスタイル	*/
#slideshow {
		width:100%;
		height:100vh;
		position:relative;
}
ul.imgbox2,li.imgcontent2{
/*		display:none;*/
		margin:0;
		padding:0;
		list-style:none;
		overflow:hidden;
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		width:100%;
		height:100%;
		
}
li.imgcontent2 {
		width:100%;
		height:100%;
		background-size:cover;
		background-position:center;
		color:rgba(0,0,0,0);


}
ul.imgbox,li.imgcontent{
		margin:0;
		padding:0;
		list-style:none;
		overflow:hidden;
		position:absolute;
		top:0;
		left:0;
		right:0;
		bottom:0;
		width:100%;
		height:100%;
}
.imgcontent {
		width:100%;
		height:100%;
		background-size:cover;
		background-position:center;
		color:rgba(0,0,0,0);
	

}
#slideshow #topimage_h3,#slideshow #topimage_h2,#slideshow #topimage_p {
			color:#fff;
			font-weight:normal;
}
#slideshow .slideshow_mask {
			width:100%;
			height:100vh;
			background-color:rgba(0,0,0,0.3);
			display:flex;
			flex-direction:column;
			justify-content:center;
			align-items:center;		
			z-index:20;
			position:absolute;
			top:0;
			left:0;
			}
#slideshow #topimage_h3{
			font-size:30px;
			font-weight:500;
			line-height:30px;
			font-family:YuMincho,'Yu Mincho',serif;
			text-align:center;
			margin-top:12px;
			margin-bottom:-2px;
			opacity:0;
			transition:all 0.8s ease;
}
#slideshow #topimage_h2{
			font-size:156px;
			/* 最大900pxのときFont130pxで最小画面幅500pxの時font100px*/
			/*font-size:calc(100px + 30 * (100vw - 500px)/400);*/
			line-height:156px;
			/*font-family:Vladimir Script,Snell Roundhand;*/
			font-family: 'Pinyon Script', cursive;
			transform: scale(1,1) skewX(-8deg);
			font-weight:400;
			text-align:center;
			transition:all 0.1s ease;
}
/*ここから筆記体アニメーション*/
			 .maskbox {
			 		position: relative;
			 		width:95vw;
	
			 }
			 .mask {
			 		width:100%;
			      position: relative;
			      top: 0;
			      left: -1%;
			      transition:all 0.8s ease;
			 }
			 .cls-1 {
					fill:none;
					stroke:#fff;
					stroke-width:12px;
					stroke-linecap:round;
					stroke-linejoin:round;
					stroke-miterlimit:10;
			 }
			 .cls-2  {
					fill:none;
					stroke:#fff;
					stroke-width:7px;
					stroke-linecap:round;
					stroke-linejoin:round;
					stroke-miterlimit:10;
			 }
			 .cls-3  {
					fill:none;
					stroke:#fff;
					stroke-width:3px;
					stroke-linecap:round;
					stroke-linejoin:round;
					stroke-miterlimit:10;
			 }
			 .cls-4  {
					fill:none;
					stroke:#fff;
					stroke-width:50px;
					stroke-linecap:round;
					stroke-linejoin:round;
					stroke-miterlimit:10;
			 }

#topimage_p {
			text-align:center;
			position:relative;
			top:20px;
			font-size:18px;
			font-family: 'EB Garamond', serif;
			font-weight:400;
			margin-bottom:4px;
			opacity:0;
			transition:all 0.8s ease ;
}

/*	ここからコンセプトスタイル　*/
#t_concept{
			width:100%;
			/*height:515px;*/
			height:auto;
			background:#000;
			color:#fff;
			display:flex;
			flex-direction:column;
			align-items:center;
			border-bottom:1px solid #444;


}
.t_inner {
/*			margin-top:80px;
			box-sizing:border-box;
			text-align:center;
			margin-bottom:88px;*/
			margin-top:5.857vw;
			box-sizing:border-box;
			text-align:center;
			margin-bottom:6.442vw;
}
.t_section {
			color:#bc9d51;
			font-size:24px;
			font-weight:500;
			margin-bottom:10px;
			font-family: 'EB Garamond', serif;

}
.t_icon {
			margin-bottom:20px;

}
.t_title {
			font-family:YuMincho,'Yu Mincho',serif;
			font-size:25px;
			margin-bottom:22px;
			line-height:28px;			
}
.t_topic {
			font-size:14px;
			line-height:28px;
			margin-bottom:18px;
}
.br_in {
			display:none;
}

/*	↑コンセプトセクションここまで　*/

/*ここからsnsセクション*/
#t_sns {
			width:100%;
			height:auto;
			background:#000;
			color:#fff;
/*基本marginはt_innerと同じ*/
			text-align:center;
			padding-top:5.857vw;
			text-align:center;
			padding-bottom:1.928vw;
}
#t_sns .t_section2 {
			margin-bottom:8px;
}
.t_caption {
			font-size:12px;
			line-height:12px;
			color:#fff;
			margin-bottom:40px;
			fill:#fff;
}
.t_caption img {
			margin-right:8px;
			margin-left:8px;

}
#t_sns .sns_box {
			display:flex;
			flex-wrap:nowrap;
			width:100%
			height:37vw;
			/*justify-content:center;*/

}

#t_sns .sns_item {
			width:25vw;
			height:37vw;
			overflow:hidden;

}

#t_sns .sns-image {
			width:25%;
			height:24vw;
}
#t_sns a.sns_link {

			height:24vw;
			width:25%;
			background:none;
			text-decoration:none;

}

#t_sns .sns_box img {
			width:25vw;
			height:24vw;
			transition:0.5s all;

}
#t_sns img.insta_title {
			width:200px;
			height:31px;
}
#t_sns .sns_box img:hover {
			background-color:#000;
			opacity:0.5;
			transition:0.5s all;
/*ズームインしたいが拡大時にoverflowが効かない
			transform:scale(1.2,1.2);*/
}
#t_sns .sns_articlebox {
			padding:8px 20px 24px 20px;
			width:25vw;
			height:12vw;
			box-sizing:border-box;
			/*overflow:hidden;*/
			
}
#t_sns p.sns_article {
			width:100%;
			height:100%;
			font-size:14px;
			line-height:28px;
			text-align:left;
			position:relative;
			overflow:hidden;
			background:#000;					
	
}
#t_sns p.sns_article::after,#t_sns p.sns_article::before{
			position:absolute;
			background:#000;

}
#t_sns p.sns_article::before {
			content:"...";
			bottom:0;
			right:0;
}
#t_sns p.sns_article::after {
			content:"";
			height:100%;
			width:100%;
}
/*ここまでSNSのスタイル↑*/

/*	↓ここからお知らせセクション　*/
#t_feeds  {
			width:100%;
			/*height:496px;*/
			height:auto;
			background-image:url(../images/blog_grass.jpg);
			background-size:cover;
			background-position:top right;
			z-index:10;
}

.t_content1 {
			width:50%;
			height:auto;
			background-color:rgba(0,0,0,0.8);
			/*opacity:0.8;*/
			color:#fff;
			display:flex;
			flex-direction:column;
			align-items:center;
			/*padding-left:98px;
			padding-right:98px;*/
			padding-left:7.174vw;
			padding-right:7.174vw;
			box-sizing:border-box;
			margin-right:50%;
}
.t_section2 {
			color:#bc9d51;
			font-size:24px;
			font-weight:500;
			margin-bottom:8px;
			font-family: 'EB Garamond', serif;

}
#t_feeds .t_inner {
			width:100%;
			
}
.t_link {
			width:100%;
			display:block;
			text-decoration:none;
			height:48px;
			border:1px solid #bc9d51;
			color:#bc9d51;
			font-size:14px;
			line-height:48px;
			transition:all 0.5s;
			margin-bottom:8px;
}
a.t_link:hover {
			background-color:#bc9d51;
			color:#fff;
			
}

#t_feeds ul,#t_feeds li {
			width:100%;
			margin:0;
			padding:0;
			list-style:none;
			font-size:14px;
			color:#fff;
}
#t_feeds ul {
			height:232px;
			margin-bottom:62px;

} 
#t_feeds li {
			width:100%;
			height:48px;
			line-height:48px;
			border-bottom:1px solid #434343;
			text-align:left;

}
#t_feeds .news_link {
			color:#fff;
			position:relative;
			display:flex;
}
#t_feeds .news_date {
			display:flex;
			padding-right:20px;
			box-sizing:border-box;
			width:100%;

}
#t_feeds time {
			margin-right:24px;
}
#t_feeds p.news_article {
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;

}
#t_feeds p.news_article:hover {
			color:#bc9d51;
}
/*feedsの矢印*/
#t_feeds .news_date::after {
			content:"";
			left: 3px;
   		width: 7px;
			height:7px;
			border-top: 2px solid #fff;
			border-right: 2px solid #fff;
    		transform: rotate(45deg);
    		position:absolute;
    		top:20px;
    		left:95%;
    		transition:all 0.4s;
    		  
}
#t_feeds .news_date:hover::after {
			left:98%;
			transition:all 0.4s;
}
/*	↑ここまで最新情報セクション*/

/*	↓ここからページ共通フッターの設定です↓	*/

footer#footer{
		margin:0 auto;
		padding:0;
		background-color:#000;
		text-align:center;
		color:#fff;
		clear:both;
}

div.flex-box-f{
		padding-top:50px;
		margin:0;
		display:flex;
		justify-content:space-evenly;
		item-align:center;
}



div.item-left,div.item-right{
		margin:0 auto;
		padding:0;
		width:50%;
}

footer ul{
		margin:0;
		padding:0;

		display:flex;
		list-style:none;
		justify-content:center;		/*	中央寄せ設定*/
}


footer li.circle1,footer li.circle2,footer li.circle3,footer li.circle4{
/*		background-color:#fff;*/
		width:50px;
		height:50px;
/*		border-radius:50%;*/		

		margin-left:20px;
}
footer li.circle1 {
		background-color:#000;
		border-radius:50%;
		margin-left:0;
		border-radius:50%;

}
footer li.circle2 {
		background-color:#fff;
		border-radius:50%;
		padding-top:8px;
		box-sizing:border-box;
}
footer li.circle4 {
		background-color:#fff;
		border-radius:50%;		
		margin-left:20px;
		padding-top:6px;
		box-sizing:border-box;
}
p.f-tel{
		margin:0;
		padding:0;
		height:33px;
}

p a#f-tel{
		margin:0;
		padding:0;
		font-family: 'Lato', sans-serif;
		font-weight:600;
		line-height:1.8rem;
		letter-spacing:2px;
		text-decoration:none;
		color:#fff;
		font-size:36px;
}


/*	トップページへ戻るボタン	*/
div#page-top{		/*	親三角	*/
		height:60px;
		overflow:hidden;
		
}
a.page-scroll{
		margin:0 auto;
		margin-top:-15px;
		padding-top:25px;

		width:0px;
		height:0px;
		border-style:solid;
		border-width:0 50px 50px 50px;
		border-color:transparent transparent #1e1e1e transparent;
		position:relative;
		bottom:-10px;

		display:flex;
		justify-content:center;	
		item-align:center;

		transition: all .5s;
}

div.arrow{		/*	子三角	*/
		position:absolute;
		top:57px;
		width: 22px;
		height: 22px;
		border-top:2px solid #000;
		border-right:2px solid #000;

		transform:rotate(-45deg);
}

/*	トップページへ戻るボタン　ホバー時の設定	*/
a.page-scroll:hover{
		margin:0 auto;
		margin-top:-25px;

		width:0px;
		height:0px;
		border-style:solid;
		border-width:0 50px 50px 50px;
		border-color:transparent transparent #bc9d51 transparent;
		position:relative;
		bottom:-10px;

		display:flex;
		justify-content:center;	
		item-align:center;
}




div.address{
		margin:0;
		padding:22px;
		display:flex;
		justify-content:center;	/*横方向揃え*/
		item-align:center;		/*縦方向揃え*/

		border-top:0.5px solid #151515;			/*	水平線上	*/
		border-bottom:0.5px solid #151515;		/*	水平線下	*/
		background-color:#000;
}


h2#footer,h3#footer{
		margin:0;
		padding:0;
		font-size:0.7rem;
		font-weight:500;
		letter-spacing:1px;
}
h3#footer {
		margin-left:8px;
}
h4#footer{
		margin:0 0 15px 0;
		padding:0;
		font-size:11px;
		font-family: 'Lato', sans-serif;
		font-weight:400;
		color:#676561;
		letter-spacing:1px;
}

div.copy{
		padding:19px 0;
}

small{
		padding:0;
		margin:0 auto;
		color:#676561;
		letter-spacing:1px;
		font-family: 'Lato', sans-serif;


}
small.copy{
		font-weight:lighter;
		font-size:3px;
}

/*	↑ここまでページ共通フッターの設定です↑	*/
