@charset "UTF-8";

/* ####################### 共通 ####################### */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}

body { margin: 0; padding: 0; color: #222; font-size : 14px; font-family: sans-serif; }
body {
	background-image: url("../images/background.png");
}
img {
	vertical-align: bottom;
}
header { width: 100%; max-width: 960px; margin: 0 auto; padding: 0; }
h1 { margin: 0; padding: 8px 3.1% 8px; }
h1 img {
	width: 30%;
	height: auto;
	max-width: 120px;
}
h2 {
	margin-bottom: 1.5em;
	clear: both;
	text-align: center;
	background-image: url("../images/image_back.png")
}
h2 img {
	width: 90%;
	height: auto;
	max-width: 960px;
	border-bottom: solid 25px #B28500;
}
h3 {
	vertical-align: middle;
	margin-bottom: 2em;
}
h3 img {
	width: 30%;
	height: auto;
	max-width: 100px;
	vertical-align: middle;
}
h3 span {
	display: inline-block;
	vertical-align: middle;
	font-size: 1.9em;
	color: #C1AA57;
	margin-left: 0.5em;
	text-shadow: 0 -2px 2px #FFF,
    	-2px 0 2px #FFF,
    	2px 0 2px #FFF,
    	0 2px 2px #FFF,
    	1px 1px 1px #8C6900,
    	2px 2px 2px #8C6900,
    	3px 3px 3px #8C6900;
	font-weight: bold;
	letter-spacing: 0.1em;
}
h4.birth {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 0.5em;
	color: #196600;
}
h4.privacy {
	border: solid 1px #196600;
	color: #196600;
	padding: 0.5em;
	margin-bottom: 0.6em;
	background-color: #FEFBEE;
	font-weight: bold;
   -moz-border-radius: 6px;
   -webkit-border-radius: 6px;
   border-radius: 6px;
   overflow: hidden;
}
h4.component_title {
	padding-bottom: 0.5em;
	border-bottom: solid 15px;
	margin-top: 1.8em;
}
#no1 {
	border-color: #F00;
}
#no2 {
	border-color: #000;
}
#no3 {
	border-color: #930;
}
time {
	display: block;
	float: right;
	margin-right: 1em;
	color: #666;
}
article {
	margin: 0;
}
section {
	background-color: #FFF;
	width: 90%;
	margin: 0 auto;
	padding: 0;
	max-width: 960px;
}
#menu{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 0;
}
#menu li{
	display: block;
	float: left;
	width: 12.5%;
	margin: 0;
	padding: 0;
	font-size: 13px;
}
#menu li a {
	display: block;
	padding: 16px 0 14px;
	background: #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
#menu li a:hover {
	background: #444;
}
#toggle{
    display: none;
}
.contents {
   margin: 0 auto;
   padding: 25px 0 5px;
   width: 92%;
   box-sizing: border-box;
   /*border: solid 1px #F00;*/
   -moz-column-count: 3;
   -webkit-column-count: 3;
   column-count: 3;
	-moz-column-gap: 20px;
	-webkit-column-gap: 20px;
	column-gap: 20px;
}
.contents li {
	border: solid 1px #666;
	margin-bottom: 20px;
	padding: 1em;
   -moz-border-radius: 6px;
   -webkit-border-radius: 6px;
   border-radius: 6px;
   text-align: center;
}
.contents li img {
	width: 40%;
	height: auto;
	max-width: 100px;
	margin-bottom: 1em;
}
.contents li a {
	display: block;
	text-decoration: none;
	/*font-weight: bold;*/
	font-size: 1.6em;
	color: #C1AA57;
	/*text-shadow: 2px 2px 2px #B28500;*/
}
.sample {
	width: 100%;
	margin: 0 auto;
}
.sample img {
	width: 100%;
}
.contents_box {
    box-sizing: border-box;
	padding: 2em 3em;
	line-height: 1.5;
	overflow:hidden;
}
.contents_box p {
	width: 100%;
	margin-bottom: 1em;
}
.contents_box p.last {
	margin-bottom: 0;
}
.contents_img {
	float: left;
	margin-right: 1.5em;
}
table.outline {
	border-collapse: collapse;
	text-align: left;
	line-height: 1.2;
	border-left: 1px solid #ccc;
	width: 95%;
	margin: 0 auto;
	margin-bottom: 2em;
}
table.last {
	margin-bottom: 0;
}
table.outline thead th {
	padding: 10px;
	/*font-weight: bold;*/
	font-size: 15px;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 3px solid #c00;
	background: #dcdcd1;
	color: #333;
	text-align: left;
}
table.outline tbody th {
	width: 30%;
	padding: 10px;
	/*font-weight: bold;*/
	vertical-align: top;
	border-right: 1px solid #dcdcd1;
	border-bottom: 1px solid #dcdcd1;
	background: #ececec;
	text-align: left;
	color: #333;
	vertical-align: middle;
	text-align: right;
}
table.outline td {
	padding: 10px;
	vertical-align: top;
	border-right: 1px solid #dcdcd1;
	border-bottom: 1px solid #dcdcd1;
	background: #FEFBEE;
}
table.outline td.company {
    width: 20%;
}
table.component_table {
	table-layout: auto;
	border-collapse: collapse;
	width: 360px;
	margin: 0 auto;
    box-sizing: border-box;
	border-left: 1px solid #ccc;
	line-height: 1.1;
}
table.component_table th {
    padding: 0.4em 0.4em;
	vertical-align: middle;
}
table.component_table td {
    padding: 0.4em 0.4em;
	background: #FEFBEE;
}
table.component_table td.allergen {
	/*background: #FEFBEE;*/
}
table.component_table thead th {
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #dcdcd1;
}
table.component_table thead td {
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #dcdcd1;
}
table.component_table tbody th {
	border-right: 1px solid #dcdcd1;
	border-bottom: 1px solid #dcdcd1;
	background: #ececec;
	color: #333;
	text-align: right;
	padding-right: 1em;
}
table.component_table thead th.title_back {
	background: #ececec;
}
table.component_table tbody td {
	border-right: 1px solid #dcdcd1;
	border-bottom: 1px solid #dcdcd1;
}
table.component_table caption {
	font-weight: bold;
	margin-top: 0.7em;
	margin-bottom: 0.3em;
}
table.component_table caption span {
	margin-left: 1em;
	font-weight: normal;
}
table.no1 thead th {
	border-bottom: 2px solid #C00;
}
table.no2 thead th {
	border-bottom: 2px solid #000;
}
table.no3 thead th {
	border-bottom: 2px solid #930;
}
table.tbl2 {
	table-layout: auto;
	clear: both;
	width: 100%;
}
table.tbl2 tbody th {
	background: #FEFBEE;
	/*width: 20%;*/
}
table.tbl2 tbody td {
	text-align: center;
	vertical-align: middle;
}
table.tbl2 tbody th.allergen {
	background: #FBEEB9;
}
table.tbl2 tbody td.allergen {
	background: #FBEEB9;
}
.location dt {
	font-weight: bold;
}
.location dd {
	margin-bottom: 1em;
	margin-left: 1em;
}
.location dd.last {
	margin-bottom: 0;
}
.component {
	margin-left: 1em;
	list-style-type: disc;
}
.component li {
	margin-bottom: 0.5em;
}
.back_img {
	float: left;
}
footer {
	box-sizing: border-box;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding: 0;
	background-color: #666;
	color: #fff;
}
footer ul {
	box-sizing: border-box;
	width: 100%;
	padding: 1em 2em 0.5em;
}
footer li {
	display: inline-block;
	margin-bottom: 0.5em;
	padding-left: 0.5em;
	padding-right: 0.3em;
	line-height: 1.2;
	border-left: solid 1px #FFF;
}
footer li.last {
	border-right: solid 1px #FFF;
	padding-right: 0.5em;
}
footer li a {
	text-decoration: none;
	color: #FFF;
}
address {
	text-align: center;
	background-color: #333;
	padding-top: 1.5em;
	padding-bottom: 2em;
}
#pagetop {
    position: fixed;
    bottom: 30px;
    right: 30px;
}
#pagetop a {
    background: #C1AA57;
    /*text-decoration: none;*/
    /*color: #fff;*/
    width: 50px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#pagetop a:hover {
    text-decoration: none;
    background: #B28500;
}
@media only screen and (max-width: 830px) {
	#menu li{
		width: 25%;
		border-bottom: 1px solid #444;
	}
	.contents {
	   -moz-column-count: 2;
	   -webkit-column-count: 2;
	   column-count: 2;
	}
	.contents li img {
		width: 30%;
	}
	table.outline {
		width: 100%;
	}
	table.component_table {
		width: 100%;
	}
}
@media only screen and (max-width: 480px) {
	body {
		font-size: 16px;
	}
	#menu{
		display: none;
	}
	#menu li{
		width: 100%;
	}
	#toggle{
		display: block;
		position: relative;
		width: 100%;
		background: #222;
	}
	#toggle a{
		display: block;
		position: relative;
		padding: 12px 0 10px;
		border-bottom: 1px solid #444;
		color: #fff;
		text-align: center;
		text-decoration: none;
	}
	#toggle:before{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 10px;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		background: #fff;
	}
	#toggle a:before, #toggle a:after{
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 10px;
		width: 20px;
		height: 4px;
		background: #222;
	}
	#toggle a:before{
		margin-top: -6px;
	}
	#toggle a:after{
		margin-top: 2px;
	}
	h3 span {
		font-size: 1.6em;
		margin-left: 0.2em;
	}
	.contents {
	   -moz-column-count: 1;
	   -webkit-column-count: 1;
	   column-count: 1;
	}
	.contents li img {
		width: 25%;
	}
	.contents_box {
		padding: 2em 2em;
	}
	.contents_img {
		width:100%;
		height:auto;
		margin-bottom: 1em;
	}
	table.outline {
		width: 100%;
	}
	.component_title img {
		width: 100%;
	}
	table.component_table {
		width: 100%;
		height:auto;
	}
	.back_img {
		float: none;
		width: 100%;
		height:auto;
	}
}

