@charset "UTF-8";

/* ===================================
	File Name   : common.css
	Description : Base Layout CSS
	
	Update Description :
	[2017/12/19] Global Navigation 調整
	[2015/03/03] 調整
	[2015/02/27] 調整
	[2015/02/10] 新規作成

====================================== */

/*========== Style Contents ==========

	1. Global Redefinition
	2. Font Redefinition
	3. Box Setting
	4. Common Items Setting
		- Basic Link
	 	- Title Setting
	 	- Header Items
		- Global Navigation
		- Category Navigation
		- Footer Navigation
	 	- Footer Items
		- bredcrumbs
		- Title Items
	5. Media Queries

====================================== */





/*===== ■1. Global Redefinition =====*/
* {
	font-size: 1.4rem;
	box-sizing: border-box;
}

body {
  margin: 0px auto;
	color: #0D152B;
	background: url(../img/common/bg-paper.png);
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
}

img { width: 100%;}




/*===== ■2. Font Redefinition =====*/
html { font-size: 62.5%;}

body {
	font-size: 13px;
	font-size: 1.3rem;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.li { font-family: 'Libre Baskerville', serif;}
.mo { font-family: 'Montserrat', sans-serif;}


/* Icon */
@font-face {
	font-family: 'icomoon';
	src:url('fonts/icomoon.eot?-nhpyp8');
	src:url('fonts/icomoon.eot?#iefix-nhpyp8') format('embedded-opentype'),
		url('fonts/icomoon.woff?-nhpyp8') format('woff'),
		url('fonts/icomoon.ttf?-nhpyp8') format('truetype'),
		url('fonts/icomoon.svg?-nhpyp8#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-arr:before { content: "\e600";}
.icon-close:before { content: "\e601";}
.icon-facebook:before { content: "\e602";}
.icon-must:before { content: "\e604";}
.icon-triangle:before { content: "\e605";}
.icon-twitter:before { content: "\e606";}
.icon-insta:before { content: "\e607";}





/*===== ■3. Box Setting =====*/
#entirety {
	position: relative;
	margin: 0px auto;
}

header {
	position: relative;
	background: #008080;
	text-align: center;
}

main { margin-bottom: 25px;}

article {
	position: relative;
	max-width: 960px;
	margin: 0px auto;
}

section {
	position: relative;
	margin: 0px 3% 15px;
}

footer {
	position: relative;
	max-width: 960px;
	margin: 0 auto 50px;
	border-top: 3px solid #008080;
}

#wrapper {
	margin-bottom: 30px;
	padding: 0 0 20px;
	background: #fff;
	color: #444;
	box-shadow: 0 0 2px rgba(64,64,64,0.15);
}

#wrapper section { margin: 0;}


/* Clear Fix Only Box  */
section:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}





/*===== ■4. Common Items Setting =====*/
/* Basic Link */
a {
	outline: hidden;
	text-decoration: none;
}

a:link { color: #0D152B;}

a:visited { color: #0D152B;}

a:hover { color: #C54634;}


/* Header Items */
header h1 {
	padding: 15px 0;
	line-height: 0;
}

header h1 img {
	width: auto;
	height: 100px;
	max-width: 310px;
	min-width: 231px;
}

header #nav_menu {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 45px;
	height: 45px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

#nav_menu:before,
#nav_menu:after,
#nav_menu span {
	background: #fff;
	content: '';
	display: block;
	width: 20px;
	height: 2px;
	position: absolute;
	left: 13px;
	/*
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
	*/
}
#nav_menu:before { top: 12px;}
#nav_menu span { top: 20px;}
#nav_menu:after { top: 28px;}

/*
#nav_menu:hover:before { top: 9px;}
#nav_menu:hover:after  { top: 31px;}
*/
html.mm-opening #nav_menu:before { top: 10px;}
html.mm-opening #nav_menu:after { top: 30px;}

html.mm-opening #nav_menu:before {
  -webkit-transform: rotate(-45deg) translate(-9px,9px);
  -moz-transform: rotate(-45deg) translate(-9px,9px);
  -ms-transform: rotate(-45deg) translate(-9px,9px);
  -o-transform: rotate(-45deg) translate(-9px,9px);
  transform: rotate(-45deg) translate(-9px,9px);
}
html.mm-opening #nav_menu span { opacity: 0;}
html.mm-opening #nav_menu:after {
  -webkit-transform: rotate(45deg) translate(-5px,-5px);
  -moz-transform: rotate(45deg) translate(-5px,-5px);
  -ms-transform: rotate(45deg) translate(-5px,-5px);
  -o-transform: rotate(45deg) translate(-5px,-5px);
  transform: rotate(45deg) translate(-5px,-5px);
}


/* Global Navigation */
nav#menu b {
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 1.4px;
}

nav#menu a.icon-insta {
	font-size: 20px;
	font-size: 2.0rem;
}

nav#menu a i { display: none;}


/* Category Navigation */
nav#category_top { margin: -10px 0 10px;}
nav#category_bottom { margin: -20px 0 -5px;}

nav.category ul {
	letter-spacing: -0.32em;
	text-align: center;
}

nav.category li {
	display: inline-block;
	position: relative;
	margin: 0 4%;
	letter-spacing: 2px;
}

nav.category li a {
	font-size: 18px;
	font-size: 1.8rem;
	font-family: 'Montserrat', sans-serif;
}

nav.category li.active a { color: #c54634;}

nav#category_top li.active:after {
	position: absolute;
	bottom: -22px;
	left: 35%;
	z-index: 99;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-top: 6px solid #c54634;
	content: '';
}
nav#category_bottom li.active:after {
	position: absolute;
	top: -22px;
	left: 35%;
	z-index: 99;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-bottom: 6px solid #c54634;
	content: '';
}


/* Footer Navigation */
#footer_navi { margin-bottom: 13px;}
#footer_navi li { border-bottom: 1px solid #9F9FA9;}
#footer_navi li a {
	display: block;
	padding: 11px 10px 10px;
	font-size: 14px;
	font-size: 1.4rem;
	font-family: 'Montserrat', sans-serif;
}

#footer_navi a.icon-insta:before {
	margin-right: 3px;
	font-size: 20px;
	font-size: 2.0rem;
	font-family: 'icomoon';
}

#footer_navi a.icon-insta i {
	position: relative;
	top: -3px;
}

#footer_navi li a span {
	float: right;
	margin: 2px 3px 2px 0;
	font-weight: bold;
	font-size: 8px;
	font-size: 0.8rem;
}

#footer_navi li:last-child { text-align: center;}
#footer_navi li:last-child a { padding: 14px 0 13px;}


/* Footer Items */
footer dt {
	display: block;
	margin-bottom: 8px;
	font-weight: bold;
	font-size: 8px;
	font-size: 0.8rem;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 1px;
}

footer dd ul {
	margin: 0 10px 15px 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #9F9FA9;
	text-align: center;
	letter-spacing: -0.32em;
}

footer dd li {
	display: inline-block;
	margin: 0 9px;
	letter-spacing: 1px;
}

footer dd li a {
	font-size: 11px;
	font-size: 1.1rem;
	font-family: 'Montserrat', sans-serif;
}

footer dd li a i {
	margin-left: 5px;
	font-weight: bold !important;
}

footer p { text-align: center;}

footer div p {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 11px;
	font-size: 1.1rem;
	letter-spacing: 1px;
}

footer div p b {
	margin-left: 3px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 100%;
}
footer div p b:after {
	content: '';
	display: block;
}

footer address {
	display: block;
	margin-bottom: 15px;
	font-size: 11px;
	font-size: 1.1rem;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 1px;
}

footer div span {
	display: block;
	margin-bottom: 15px;
	padding-top: 2px;
	text-align: center;
}

footer div span a {
	display: inline-block;
	width: 30%;
	padding: 6px;
	background: #008080;
	color: #fff !important;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 2px;
}

footer div span a:hover {
	background: #C54634;
	color: #0D152B;
}

footer p small {
	display: inline-block;
	font-size: 8px;
	font-size: 0.8rem;
	font-family: 'Montserrat', sans-serif;
	letter-spacing: 1px;
}

/* breadcrumbs */
#breadcrumbs {
	max-width: 960px;
	margin: 0 auto 26px;
	padding: 5px 0;
	border-top: 2px solid #0d152b;
	border-bottom: 1px solid #0d152b;
	text-align: center;
	letter-spacing: -0.32em;
}

#breadcrumbs li {
	display: inline-block;
	letter-spacing: 1px;
	font-size: 10px;
	font-size: 1.0rem;
	font-family: 'Montserrat', sans-serif;
}


/* Title Items */
h2 {
	margin-bottom: 15px;
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 100%;
	text-align: center;
	font-family: 'Libre Baskerville', serif;
	font-style: italic;
	letter-spacing: 5px;
}

h2 b {
	display: block;
	font-size: 10px;
	font-size: 1.0rem;
	text-align: center;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-style: normal;
	letter-spacing: 1px;
}


/*===== ■5. Media Queries =====*/
@media all and (min-width: 981px) {
	
	/* Box Setting */
	body { line-height: 1.5;}
	
	header { margin-bottom: 70px;}
	
	section {
		width: 960px;
		margin: 0px auto 30px;
	}
	
	#wrapper section { width: auto;}
	#wrapper {
		position: relative;
		width: 900px;
		margin: 0 auto 45px;
		padding: 20px 0;
	}
	#wrapper:before {
		position: absolute;
		top: -6px;
		left: -6px;
		width: 912px;
		height: 22px;
		background: url(../img/common/bg-detail_top.png) no-repeat;
		content: '';
	}
	#wrapper:after {
		position: absolute;
		bottom: -6px;
		left: -6px;
		width: 912px;
		height: 22px;
		background: url(../img/common/bg-detail_bottom.png) no-repeat;
		content: '';
	}

	
	/* Header Items */
	header h1 {	padding: 25px 0;}

	header h1 img { height: 80px;}
	
	header #nav_menu { display: none;}
	
	#mm-0 li:last-child { margin: 0 20px 0 8px;}
	#mm-0 li li:last-child { margin: 0;}
	#mm-1 li:last-child { margin-left: 0;}
	.mm-menu li a.icon-insta { padding: 25px 0 !important;}
	.mm-menu li a.icon-insta:hover {
		filter: alpha(opacity=60);
		opacity: 0.6;
		border: none;
	}
	
	
	/* Global Navigation */
	.mm-menu a span {
		position: absolute;
		top: 25px;
		left: 0;
		width: 100%;
		font-weight: bold;
		font-size: 13px;
		font-size: 1.3rem;
		opacity: 0;
	}
	
	#mm-1 a span { top: 7px;}
	#mm-1 li:first-child a span { top: 13px;}
	
	.navEffect li a:hover b {
  	-webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    opacity: 0.1;
	}
	.navEffect li a:hover span {
  	-webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    opacity: 1;
	}
	
	.mm-menu li.active a b {opacity: 1;}
	.mm-menu li.active a span { display: none;}
	

	/* Category Navigation */
	nav#category_top { margin: -10px 0 15px;}
	nav#category_bottom { margin: -30px 0 5px;}
	
	nav.category li { margin: 0 5%;}
	
	nav.category li a {
		font-size: 20px;
		font-size: 2.0rem;
	}
	nav#category_top li.active:after {
		bottom: -33px;
		border: 9px solid transparent;
		border-top: 9px solid #c54634;
	}
	
	nav#category_bottom li.active:after {
		top: -33px;
		border: 9px solid transparent;
		border-bottom: 9px solid #c54634;
	}


	/* Footer Navigation */
	#footer_navi:before {
		display: block;
		margin: 0 10px;
		font-weight: bold;
		font-size: 8px;
		font-size: 0.8rem;
		line-height: 130%;
		font-family: 'Montserrat', sans-serif;
		letter-spacing: 1px;
		content: 'CONTENTS';
	}
	#footer_navi {
		float: left;
		margin-bottom: 0;
		letter-spacing: -0.32em;
	}
	
	#footer_navi li {
		display: inline-block;
		margin: 0 8px;
		border-bottom: 0;
		font-weight: bold;
		letter-spacing: 1.4px;
	}
	
	#footer_navi li a {
		display: inline;
		padding: 0;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	#footer_navi a.icon-insta:before {
		position: relative;
		top: 2px;
		margin-right: 3px;
		font-size: 20px;
		font-size: 2.0rem;
		font-family: 'icomoon';
	}
	
	#footer_navi a.icon-insta i { display: none;}
	
	#footer_navi li a span { display: none;}
	
	
	/* Footer Items */
	footer div {
		clear: both;
		max-width: 960px;
		margin: 18px auto 15px;
	}
	
	footer div+div {
		max-width: inherit;
		margin: 0 auto;
		padding-top: 20px;
		border-top: 1px solid #0D152B;
		text-align: center;
	}
	
	footer div+div div {
		position: relative;
		max-width: 960px;
		margin: 0 auto;
	}
	
	footer div:after {
		visibility: hidden;
		display: block;
		font-size: 0;
		content: " ";
		clear: both;
		height: 0;
	}
	
	#footer_navi ul { white-space: nowrap;}
	
	footer dl {
		float: right;
		line-height: 100%;
		white-space: nowrap;
	}
	footer dt {
		margin: 0 9px 7px;
		font-size: 8px;
		font-size: 0.8rem;
		text-align: left;
	}
	
	footer dd ul {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
	
	footer div p { display: inline;}
	
	footer div p b {
		margin-right: 10px;
		font-size: 11px;
		font-size: 1.1rem;
	}
	footer div p b:after { display: none;}
	
	footer address {
		display: inline;
		margin: 0 0 0 15px;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	footer div span {
		position: absolute;
		top: 0px;
		right: 30px;
		display: block;
		margin-bottom: 0;
	}
	
	footer div span a {
		display: block;
		width: 100%;
		padding: 5px 15px;
		background: #0D152B;
	}
	

	/* Title items */
	h2 {
		margin-bottom: 35px;
		font-size: 34px;
		font-size: 3.4rem;
	}


	/* breadcrumbs */
	#breadcrumbs {
		margin-bottom: 50px;
		padding: 3px 0;
	}
}