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

/*googlefonts*/

/*Adobefonts*/
@import url("https://use.typekit.net/riv8luj.css");
/*
~P22 FLW Exhibition Regular~
font-family: p22-flw-exhibition,sans-serif;
font-weight: 400;
font-style: normal;

~P22 FLW Exhibition Bold~
font-family: p22-flw-exhibition,sans-serif;
font-weight: 700;
font-style: normal;
*/

/*================================
目次
================================

■FSの設定打消し
■PC版とSP版での表示切替設定（見出しや改行などPCとSPの表示を分けたい場合に使用）

1.全体
2.共通フォーマット（ボタンデザインなど）
3.メインビジュアル
4.イントロダクション
5.アイテム
6.プロフィール
7.フッター

*/

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
■FSの設定打消し
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.fs-l-main *{
	min-width: initial;
    min-width: auto;
    min-height: initial;
    min-height: auto;
}

/*メインエリアの横幅制限解除ここから*/
.fs-l-pageMain {
	max-width: 100%;
}

.fs-l-main{
	max-width: 100%;
	padding:0;
	margin:0;
}
/*メインエリアの横幅制限解除ここまで*/


.fs-c-breadcrumb{
	padding-top:80px;
}
@media screen and (max-width:768px) {
	.fs-c-breadcrumb{
		padding-top:80px;
	}
}

/* 「現在登録されている商品はありません。」を非表示 */
.fs-c-noResultMessage { display: none }

/* 文字サイズ調整 */
.fs-l-main{
	font-size:1.1em;
}

/*共通フッターのマージン調整*/
.footer-sp{
	margin-top: 0 !important;
}

/*自動生成商品エリアのマージンゼロ/余白が発生するため*/
.fs-c-productList{
	margin:0;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
■PC版とSP版での表示切替設定（見出しや改行などPCとSPの表示を分けたい場合に使用）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*例：brタグにclassを追加
PCのみで改行→pc <br class="pc">
SPのみで改行→sp <br class="sp">
※両方共通の改行の場合は<br>のみでOK

他、PCとSPで表示を分けたい部分にも使用可能
*/

@media screen and (min-width: 768px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 768px){   
  .pc { display:none; }
  .sp { display:block; }
}



/*================================
1.全体
================================*/

body{
/*背景色*/
	background-color: #f2efec;
}

/*全体の設定/フォントなど*/
.js-main{
	text-align: center;
	/*font-size:1.3rem;*/
	line-height: 1.5;
	letter-spacing: 0.07em;
	font-family:'Noto Sans JP','Helvetica Neue', Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans', Meiryo, sans-serif;
	font-weight: 400;
	color:#413a3a;
}
@media screen and (max-width:768px) {
	.js-main{
		padding-top:0;
	}
}

/*リンクの設定*/
.js-main a{
	text-decoration:none;
	color:#413a3a;
}
.js-main a:hover,a:hover img{
	opacity:0.6;
    -moz-opacity:0.6;
    filter:alpha(opacity = 60);
}


/*widthなどの適応範囲をborder基準に変更*/
.js-main *, .js-main *:before, .js-main *:after{
	-webkit-box-sizing: border-box; /* Webkit */
	-moz-box-sizing: border-box; /* Firefox */
	box-sizing: border-box; /* 標準 */
}


/*SP版画像サイズ制御*/
@media screen and (max-width:768px) {
    /*　画面サイズが768px以下の時はここを読み込む　*/
	.js-main img{
	width:100%;
	height: auto;
	}
}

/*PC1200px、SP100%*/
.js-container{
	width:1200px;
	margin:auto;
}
@media screen and (max-width: 768px){   
	.js-container{
		width:100%;
	}
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
2.共通フォーマット（ボタンデザインなど）
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*ボタン*/
.btn01{
  width: 90%;
  padding: 0.8em 0 0.3em 0;
  font-size: 1em;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: block;
  margin: 1em auto;
  color: #fff;
  background: #242424;
  line-height: 1;
  border-radius: 50px;
  transition: all .2s;
	
  border: 2px solid #242424;
}
.btn01:hover {
  background-color: #fff;
  border-color: #242424;
  color: #242424;
}

/*小さいver*/
.btn-small{
	font-size:0.8em;
	padding: 0.5em 3em;
	margin-top:1em;
}
@media screen and (max-width: 768px){
	.btn01{
		 padding: 1em 1em 0.5em;
	}
	.btn-small{
		 padding: 0.1em 2em;
	}
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
3.メインビジュアル
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*ビジュアル用背景画像の設定/iPhone対応版*/
body:before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url("../img/main_back_pc.jpg") center no-repeat;
  background-size:cover;
}
@media screen and (max-width: 768px){
	body:before{
		width:100%;
  		height:100vh;
		background:url("../img/main_back_sp.jpg") center no-repeat;
		background-size:cover;
	}
}
/*要素上下左右中央寄せ*/
.main-visual{
	display: flex;
  	justify-content: center;
  	align-items: center;
	min-height: 100vh;
	
	margin-top:-100px;
	
	text-align: center;
}

.main-title{
	padding-top: 10em;
}
@media screen and (max-width: 768px){
	.main-title{
		padding-top: 1.5em;
	}
	.main-title .title-text{
		font-size: 1.5em;
	}
}
.main-title .title-logo img{
	width:400px;
	margin:2em auto;
	/*filter: drop-shadow(1px 1px 1px #000);*/
}
@media screen and (max-width: 768px){   
	.main-title .title-logo img{
		width:60%;
	}
}
.scroll img{
	width:65px;
	margin:auto;
}
@media screen and (max-width: 768px){   
	.scroll img{
		width:15%;
	}
}




/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
4.イントロダクション
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.main-intro{
	padding:80px;
	
	background-color: #fff;
}

.main-intro_box{
	margin:auto;
	width:500px;
	/*padding:2em 0;*/
	/*border-top:solid 2px #000;
	border-bottom:solid 2px #000;*/
	
	font-size:0.8em;
}
@media screen and (max-width: 768px){   
	.main-intro_box{
		width:80%;
	}
}

.profile_box{
	/*フレックスボックスの設定*/
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	/*フレックスボックスの要素を中央寄せ*/
	justify-content: center;
	
	width:100%;
	margin:auto;
	text-align: left;
}
@media screen and (max-width: 768px){   
	.profile_box{
		display: block;
		width:100%;
	}
}

.profile_box img{
	width:100%;
}
.profile_image{
	width:30%;
}
@media screen and (max-width: 768px){   
	.profile_image{
		margin:auto;
		width:50%;
	}
}
.profile_text{
	width:70%;
	padding-left:20px;
}
@media screen and (max-width: 768px){   
	.profile_text{
		margin:2em auto;
		width:100%;
		padding-left:0;
	}
}
.profile_text_innner{
	
}
.intro_name_box{
	vertical-align:bottom;
}

.intro_name{
	font-size:2em;
}
.intro_name2{
	
}
.intro_link img{
	width:20px;
}

.intro_text{
	margin-top:2em;
	text-align:left;
}
@media screen and (max-width: 768px){   
	.intro_text{
		text-align:left;
	}
}

/*～～～下部～～～*/

#main-intro＿under .main-intro_box{
	padding:2em;
	border:solid 2px #000;
}

@media screen and (max-width: 768px){   
	#main-intro＿under .main-intro_box{
		width:100%;
		padding:8vw;
	}
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
5.アイテム
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.main-item{
	margin:0px auto;
	/*padding:80px 0;*/
	background-color: #fff;
}

.main-item_container{
	padding:80px 0;
}


/*テキスト*/
.main-item_text{
	margin:80px auto 30px;
}
.catch{
	font-family: p22-flw-exhibition,sans-serif;
	font-weight: 700;
	font-style: normal;
}
.catch01{
	font-size: 42px;
}
.catch02{
	font-size: 76px;
	color:#fff;
}
.catch-color{
	display: inline-block;
	padding:0.1em 1em 0;
	margin-bottom:0.5em;
	background-color: #fff;
	color:#a5af8c;
	
	font-family: p22-flw-exhibition,sans-serif;
	font-weight: 400;
	font-style: normal;
}
.item_text{
	margin:auto;
	width:450px;
	font-size:14px;
	line-height: 2;
	text-align: left;
	font-weight: 600;
}
.item_text:first-letter{
	font-size:200%;
}
/*テキスト SP*/
@media (max-width: 768px) {
	.main-item_text{
		margin:3em auto 1em;
		width:80%;
	}
	.catch{
		font-size:0.8em;
	}
	.item_text{
		font-size:0.8em;
		width:80%;
	}
}

/*アイテム*/
.main-item_list{
	/*フレックスボックスの設定*/
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	/*フレックスボックスの要素を左寄せ*/
	justify-content: center;
	
	width:450px;
	margin: 0 auto 100px ;
}
.item_in{
	width:25%;
	padding:1%;
}
.item_in img{
	width:100%;
}
/*ボタン*/
.item_btn{
	margin: 15px auto 0;
	background-color: #413939;
	color:#fff;
	
	font-family: p22-flw-exhibition,sans-serif;
	font-weight: 400;
	font-style: normal;
	
	width:80%;
	font-size:0.8em;
}
/*アイテム SP*/
@media (max-width: 768px) {
	.main-item_list{
		width:85%;
	}
}

/*～～～画像～～～*/

/*1カラム 100%*/
.container_1cl{
	margin:auto;
	width:100%;
}
.container_1cl img{
	width:100%;
}

/*1カラム 90%*/
.container_1cl-90{
	margin:auto;
	width:90%;
}
.container_1cl-90 img{
	width:100%;
}

/*1カラム 80%*/
.container_1cl-80{
	margin:auto;
	width:80%;
}
.container_1cl-80 img{
	width:100%;
}

/*2カラム*/
.container_2cl{
	margin:auto;
}
.container_2cl_box{
	/*フレックスボックスの設定*/
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	/*フレックスボックスの要素を左寄せ*/
	justify-content: center;
}
.container_2cl_box .inbox{
	width:50%;
	padding:10px;
}
.container_2cl_box .inbox img{
	width:100%;
}

/*2カラム　ずらし*/
.container_2cl-mix{
	margin:auto;
	
	width:80%;
}
.container_2cl_box-mix{
	/*フレックスボックスの設定*/
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	/*フレックスボックスの要素を左寄せ*/
	justify-content: center;
}
.container_2cl_box-mix .inbox-l{
	width:50%;
	padding:10px;
}
.container_2cl_box-mix .inbox-r{
	width:50%;
	padding: 30vw 10px 0;
}
.container_2cl_box-mix img{
	width:100%;
}
@media (max-width: 768px) {
	.container_2cl-mix{
		width:90%;
	}
}


/*～～～間～～～*/
.interval{
	margin-right:20vw;
	
	font-family: p22-flw-exhibition,sans-serif;
	font-weight: 400;
	font-style: normal;
	
	font-size:0.5em;
	color:#fff;
	
	display: flex;
    align-items: center;
}
.interval::before{
  content: '';
  height: 1px;
  background-color: #fff;
  flex-grow: 1;
}
.interval::before {
  margin-right: 1rem;
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
7.フッター
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.contents-footer{
	margin:0 auto;
	padding:4em 0;
	background-color: #fff;
}
.contents_brand_top{
	margin:3em auto;
}
.brand_under-text{
	margin-top:1em;
}

/*SP*/
@media (max-width: 768px) {
	.contents_brand_top{
		width:50%;
	}
}

/*タイトル画像部分*/
.footer-title{
	margin:0 auto;
	padding:2em;
}
.footer-title img{
	width:300px;
}
@media (max-width: 768px) {
	.footer-title img{
		width:60%;
	}
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
9.リンクエリア
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.contents-link{
	padding-top:50px;
	padding-bottom:50px;
	width:100%;
	background-color: #ECECEC;
}

.contents-link_t{
	margin-bottom: 2em;
}
.contents-link_t .t01{
	display: inline-block;
	padding: 0 1em;
	background-color: #242424;
	color:white;
	
	font-family: futura-pt,sans-serif;
	font-weight: 500;
	font-style: normal;
}
.contents-link_t .t02{
	padding-top:0.2em;
	font-size:1.2em;
}


/*リンクエリア：フレックスボックス*/
.contents-link_box{
	/*フレックスボックスの設定*/
	display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	/*フレックスボックスの要素を左寄せ*/
	justify-content: left;
	
	text-align: left;
	margin-bottom: 2em;
}
.contents-link_box > div {
	/*列数と間の余白の設定*/
	width: calc( ( 100% - 90px ) / 4 );
	margin-right: 30px;
}
/*右端のマージンをゼロ設定*/
.contents-link_box > div:nth-child( 4n ) {
	margin-right: 0;
}
.contents-link_boxitem{
	padding-bottom:30px;
}
.contents-link_boxitem img{
	width:100%;
}
@media (max-width: 768px) {
	.contents-link_box{
		padding:0 4vw;
	}
	.contents-link_box > div {
		/*列数と間の余白の設定*/
		width: calc( ( 100% - 1vw ) / 2 );
		margin-right: 1vw;
	}
	.contents-link_box > div:nth-child( 2n ) {
		margin-right: 0;
	}
}




/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ex.フェードインエフェクト
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

.fadein-top {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}



/*下から*/
.fadein {
	opacity : 0;
	transform: translateY(50px);
	transition: all 1s;
	-moz-transform: translateY(50px);
	-webkit-transform: translateY(50px);
	-o-transform: translateY(50px);
	-ms-transform: translateY(50px);
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
ex.背景色が変わる
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

/*ふわっと変わる設定*/
.block-bg {
  transition: all .7s ease;
}
