/*------------------------------------*\
 # menu.css
\*------------------------------------*/


/**
 * メニューの構造
 * 
 * - 1. 左上のメニューアイコンボタン
 * <div class="toggle headnavi">
 *  <div class="toggle-head">...</div>
 *  <div class="toggle-body">...</div>
 * </div>
 * ※ mause-clickで制御クリック後,HTMLタグにclass="toggled"が付加され
 * 表示/非表示をCSSで制御
 * 
 * - 2. 実際に表示されるメニュー
 * <div class="menu">
 *  <div class="menu-body">...</div>
 *  <div class="sp_menu-body">...</div>
 *  <div class="menu-bg>...</div>
 * </div>
 * ※ windowサイズにより、表示/非表示をCSSで@mediaで制御
 * Mobile:400以下;
 * PC: 400以上;
 */


/**
 *  Media Queries
 *
 * Larger than mobile 
   @media (min-width: 400px) {}
 * Larger than phablet (also point when grid becomes active)
   @media (min-width: 550px) {}
 * Larger than tablet 
   @media (min-width: 750px) {}
 * Larger than desktop
   @media (min-width: 1000px) {}
 * Larger than Desktop HD
   @media (min-width: 1200px) {}

*/


/*------------------------------------*\
 #COMMON-SECTION
\*------------------------------------*/

.in {
    position: relative;
    width: 100%;
    height: 100%;
}

.table {
    display: table;
}

.cell {
    display: table-cell;
    vertical-align: middle;
}

/*------------------------------------*\
 #TOGGLE-MENU-SECTION
\*------------------------------------*/

/**
 * 画面左上のメニューに関するCSSです。
 * ユーザクリックにより.toggleｄクラスが付加されます。
 */

.headnavi {
    /*起動時にはでは表示されない, JAVASCRIPT上で初期表示をアニメーション制御*/
    display: none;
}


/**
 * toggleメニューの親クラス
 */

.toggle {
    position: fixed;
    top: 20px;
    left: 20px;
    cursor: pointer;
    z-index: 999;
    transform: scale(1);
}


/* toggle の位置設定 */

@media (min-width: 700px) {
    .toggle {
        top: 40px;
        left: 40px;
    }
}


/**
 * ヘッドメニュートグル用クラス
 * $(document).on('click', '.toggle', function(event) {
 *  event.preventDefault();
 *  $('html').toggleClass('toggled');
 * });
 */

.toggled {}


/*------------------------------------*\
 #TOGGLE-HEAD-SECTION
\*------------------------------------*/


/**
 * .toggle-head
 * トグルメニューの4つの◆アイコン
 */


/** 
 * 使い方
 * <div class="toggle-head cell">
 *  <div class="in">
 *   <span class="t t1"></span>
 *   <span class="t t2"></span>
 *   <span class="t t3"></span>
 *   <span class="t t4"></span>
 *  </div>
 * </div>
*/

.toggle-head {
    overflow: hidden;
    height: 18px;
    width: 18px;
    padding-right: 20px;
}

.toggle-head span {
    position: absolute;
    display: block;
    transition: all .3s;
}

.toggle-head span.t {
    height: 4px;
    width: 4px;
    border: 1px solid #000;
}

.toggle-head span.t1 {
    top: 0;
    left: 0;
}

.toggle-head span.t2 {
    top: 0;
    right: 0;
}

.toggle-head span.t3 {
    bottom: 0;
    left: 0;
}

.toggle-head span.t4 {
    bottom: 0;
    right: 0;
}

.toggled .toggle-head span.t1 {
    transform: translate(6px, 6px)
}

.toggled .toggle-head span.t2 {
    transform: translate(-6px, 6px)
}

.toggled .toggle-head span.t3 {
    transform: translate(6px, -6px)
}

.toggled .toggle-head span.t4 {
    transform: translate(-6px, -6px)
}

/*.toggledのときの色 は 白*/
.toggled .toggle-head span.t { border: 1px solid #AAA;}
/*------------------------------------*\
 #TOGGLE-BODY-SECTION
\*------------------------------------*/


/**
 * .toggle-body
 *
 *   <div class="toggle-body cell">
 *     <div class="in"> 
 *		<span class="m1">menu</span>
 * 		<span class="m2">close</span>
 *	   </div>
 *   </div>
 * 
 *	.toggledの有無で.m1, m2の表示/非表示かが切り替わる
 *
 */


.toggle-body {letter-spacing: 2px;}

.toggle-body .in {
    overflow: hidden;
    height: 15px;
    width: 60px;
}

.toggle-body .in span {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    height: 15px;
    width: 15px;
    line-height: 15px;
    transition: all .3s;
}

.toggle-body .in span.m1 {
    top: 0;
    left: 0;
}

.toggle-body .in span.m2 {
    top: 15px;
    left: 0;
}

.toggled .toggle-body .in span.m1 {
    transform: translate(0px, -15px);
}

.toggled .toggle-body .in span.m2 {
    transform: translate(0px, -15px);
}
/*フォント 色 (.toggledのときは白文字)*/
.toggled .toggle-body .in span.m2 {color:white;}

/*------------------------------------*\
 #TOGGLE-MENU-SNS
\*------------------------------------*/

.share {
    position: fixed;
    top: 20px;
    right: 25px;
    cursor: pointer;
    z-index: 999;
    transition: all .5s;
    /*color: #ccc;*/
}


/* SNSシェアメニューの位置設定 */

@media (min-width: 700px) {
    .share {
        top: 36px;
        right: 40px;
    }
}


/* 表示設定: モバイル */

.share {
    opacity: 1;
}

.toggled .share {
    opacity: 1;
}


/* Larger than mobile */

@media (min-width: 400px) {
    .share {
        display: block;
        opacity: 1;
    }
}

.share-head {
    letter-spacing: 2px;
    /*font-size: 12px;*/
}

.share-head span {
    display: inline-block;
    vertical-align: middle;
}

.share-head span.bd {
    background-color: #666;
    height: 1px;
    width: 10px;
    margin: 1px 5px 0 15px;
}


.share-body ul {
    margin: 0;
}

.share-body ul li {
    display: inline-block;
    vertical-align: middle;
    list-style: none;
    margin: 0;
}

.share-body ul li a {
    display: block;
    width: 24px;
    height: 24px;
    margin-left: 10px;
    transition: all .3s;
    text-decoration: none;
    /*color: #ccc;*/
}


/* Larger than mobile */

.share-head,
.share-body {
    display: block;
    margin-bottom: 10px;
    text-align: right;
}

.share-head {
    /* モバイルの場合はheadを非表示*/
    display: none;
}

@media (min-width: 700px) {
    /* PCの場合は一列で表示 */
    .share-head {
        display: inline-block;
    }
    .share-body {
        display: inline-block;
    }
}

.openshare_fb {
    background: url(../../img/sns/icon_sns_f.png) center no-repeat;
    background-size: 24px;
}

.openshare_tw {
    background: url(../../img/sns/icon_sns_t.png) center no-repeat;
    background-size: 24px;
}


.openshare_insta{
    background: url(../../img/sns/icon_sns_i.png) center no-repeat;
    background-size: 16px;
}


/*------------------------------------*\
 # MENU
\*------------------------------------*/


/**
 * .menuクラスは、画面サイズは100%x100%に指定
 * div.menuはtop:-100%上に初期位置=>toggledでtop:0で画面内に配置
 */

.menu {
    position: fixed;
    width: 100%;
    height: 100%;
    top: -100%;
    left: 0;
    z-index: 998;
    background-clip: rgba(23, 23, 23, 0.8);
    opacity: 0;
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transition: opacity 0.4s, -webkit-transform 0.4s, top 0s 0.4s;
    transition: opacity 0.4s, transform 0.4s, top 0s 0.4s;
}


/* メニュー画面の親要素の表示 */


/* スマホ版、PC版の選択は、子供要素が画面サイズを自分で判定して表示/非表示を制御 */

.toggled .menu {
    transform: scale(1);
    -webkit-transform: scale(1);
    top: 0;
    opacity: 1;
    transition: opacity 0.4s, -webkit-transform 0.4s, top 0s;
    transition: opacity 0.4s, transform 0.4s, top 0s;
}


/* 子供要素が入る、wrapper , メニュータイルのwrapperのサイズを調整*/

.menu > .in {
    /*親子関係*/
    /*font-size: 0;*/
    text-align: center;
    box-sizing: border-box;
    padding: 30% 0;
}

@media (min-width: 450px) {
    .menu > .in {
        padding: 0 0;
    }
}


/*------------------------------------*\
 # pc画面のメニュー画面
\*------------------------------------*/

.menu-body {
    position: relative;
    width: 100%;
    height: 100%;
    top: 15%;
    margin: 0 auto;
    z-index: 2;
    display: none;
    max-height: 50%;
}


/* 550px以上で表示 */

@media (min-width:550px) {
    .menu-body {
        display: block;
        width: 550px;
        height: 250px;
        top: 25%;
    }
}

@media (min-width:750px) {
    .menu-body {
        width: 650px;
        height: 250px;
    }
}

@media (min-width:1000px) {
    .menu-body {
        width: 800px;
        height: 300px;
        max-height: 50%;

    }
}

@media (min-width:1200px) {
    .menu-body {
        /*width: 1200px;*/
		width: 800px;
        height: 300px;
        max-height: 50%;

		
    }
}


/*------------------------------------*\
 # pc画面のメニュー画面
\*------------------------------------*/

.menu-panel {
    padding: 5px;
    width: 32%;
    height: 50%;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    transition: all .4s;
    /*debug*/
}


/*表示/非表示*/

.menu-panel {
    /*非表示*/
    opacity: 0;
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
	
}

.toggled .menu-panel {
    /*表示*/
    opacity: 1;
    transform: scale(1.0);
    -webkit-transform: scale(1.0);
}

.menu-panel .in {
    overflow: hidden;
    /*メニューパネルの枠線*/
    outline: thin solid #FFF;
}


/* 各メニューパネル内に表示するテキスト */

.menu-txt {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: table;
    overflow: hidden;
    box-sizing: border-box;
}


/* メニューパネルの黒透過背景の設定 */

.menu-txt .cell {
    background-color: rgba(23, 23, 23, 0.8);
    transition: all 0.3s;}

.menu-txt .cell:hover {
    background-color: rgba(23, 23, 23, 0.0);
}



/* メニューパネルの文字の設定 */

.menu-txt .cell span {
	/*モバイルなので表示されない*/
    color: #FFF;
    text-transform: uppercase;
	font-size: small;
    letter-spacing: 6px;
}




/* 各メニューパネルの背景画像 */

.cover {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    top: 0;
    left: 0;
    transition: all .3s;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}


/*------------------------------------*\
 # モバイルのメニュー画面 
\*------------------------------------*/

.sp_menu-body {
    /* 表示/非表示の切り替え */
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}

@media (min-width:550px) {
    /*非表示*/
    .sp_menu-body {
        display: none;
    }
}

.sp_menu-body .in {
    font-size: 25px;
    line-height: 1.8;
    font-weight: bold;
    display: table;
}

.cf {
    zoom: 1;
}

.sp_menu-body ul {
    /*スマホ用メニューの文字リストをセンター配置*/
    display: table-cell;
    vertical-align: middle;
}

.sp_menu-body li {
    /*スマホ用メニューの文字の調整*/
    -webkit-text-size-adjust: 100%;
    /*リストの・を非表示*/
    list-style: none;
}

.sp_menu-body li a {
    /*文字色の指定*/
    color: #FFF;
    text-transform: uppercase;
    /*アンダーラインの非表示*/
    text-decoration: none;
    cursor: auto;
    transition: all 0.2s;
    letter-spacing: 5px;
    font-size: medium;
}

.sp_menu-body li a:hover {
    color: #AAA;
}


/*------------------------------------*\
 # メニューの背景
\*------------------------------------*/

.menu-bg {
    background-color: rgba(45, 45, 45, 0.7);
	/*background-color:rgba(128,128,128,0.30);*/
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
}

.menu-bg .in {
    /*background-color: rgba(23, 23, 23, 0.7);*/
}


/*------------------------------------*\
 # EOF
\*------------------------------------*/
