@charset "UTF-8";
body {
  color: #333;
  background-color: #ccc;
}

.inner {
  position: relative;
  margin: 0 auto;
  padding: 0 20px;
  width: 1000px;
  box-sizing: border-box;
}

.page-header {
  padding: 15px 0;
  background-color: #fff;
}

.page-header .mark {
  margin: 0 15px;
}

.feature {
  min-width: 1000px;
}

.cv {
  text-align: center;
  background-color: #0d1483;
}

.cv .inner {
  padding: 40px 0;
}

.cv .cv-eyecatch {
  position: absolute;
  top: -265px;
  left: 0;
}

.cv .cv-eyecatch .mark {
  margin: -26px;
}

.cv .cv-head {
  margin-bottom: 10px;
}

.cv .cv-btn {
  margin: 0 auto;
  padding: 28px;
  width: 960px;
  border: solid 10px #fff;
}

.cv .cv-btn.min {
  border: 0;
}

.cv .cv-btn .bnr {
  margin-bottom: 30px;
}

.cv .cv-btn a {
  display: block;
  margin: 0 auto;
  width: 774px;
  height: 114px;
  background: center no-repeat url(../img/cv-btn_on.png);
}

.cv .cv-btn a img {
  transition-duration: 0.25s;
}

.cv .cv-btn a:hover img {
  opacity: 0;
}

.eyecatch {
  padding: 36px 0 60px;
  background-color: #fff;
}

.eyecatch figure {
  text-align: center;
}

.sec04 + .eyecatch {
  padding-bottom: 30px;
  min-width: 1000px;
}

.heading00 {
  padding-top: 50px;
  text-align: center;
}

.heading01 {
  display: table;
  margin: 0 auto;
  padding: 50px 0 0;
  font-size: 32px;
  line-height: 42px;
  font-weight: normal;
  color: #09356b;
}

.heading01 i {
  display: table-cell;
  vertical-align: middle;
}

.heading01 em {
  display: table-cell;
}

.heading01 + .desc {
  margin: 30px 0;
  font-size: 18px;
  line-height: 30px;
  text-align: center;
  color: #4d4d4d;
}

.heading02 {
  margin-bottom: 15px;
  font-size: 26px;
  font-weight: normal;
  color: #09356b;
}

.text {
  font-size: 18px;
  line-height: 34px;
}

.f_image {
  margin-bottom: 50px;
}

.f_image figure {
  float: right;
}

.table table {
  margin: 0 auto;
  width: 960px;
}

.table th, .table td {
  padding: 15px 0;
  text-align: center;
  vertical-align: middle;
  background-color: #fff;
  border: solid 1px #bebdbe;
}

.table th {
  font-weight: bold;
}

.table caption {
  margin-bottom: 25px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.table.nutrition th, .table.nutrition td {
  width: 16.5%;
}

.table.area {
  margin-top: 50px;
}

.table.area th, .table.area td {
  width: 25%;
}

.table.area em {
  color: red;
}

.mv {
  height: 777px;
  background: center center no-repeat url(../img/mv-bg.jpg);
  background-size: cover;
}

.mv .front {
  text-align: center;
  padding: 30px 0 0;
}

.mv .date {
  position: absolute;
  top: 375px;
  left: 330px;
  display: table;
  width: 572px;
  height: 69px;
  font-size: 24px;
  line-height: 69px;
  font-weight: bold;
  text-align: center;
  border: solid 4px #f67a35;
}

.mv .date dt {
  display: table-cell;
  color: #fff;
  background-color: #f67a35;
}

.mv .date dd {
  display: table-cell;
  font-size: 20px;
  background-color: #fff;
}

.sec01 {
  padding: 30px;
  background-color: #e0e9f7;
}

.sec02 .para01 {
  height: 854px;
  background: center bottom no-repeat url(../img/02-bg01.jpg) #fff;
  background-size: contain;
}

.sec02 .para01 figure {
  padding-top: 30px;
}

.sec02 .para02 {
  height: 580px;
  text-shadow: 1px 1px 5px #fff, 1px 1px 5px #fff, 1px 1px 5px #fff;
  background: center bottom no-repeat url(../img/02-bg02.jpg);
  background-size: cover;
}

.sec02 .para02 .inner {
  padding: 70px 20px;
  height: 580px;
}

.sec02 .para02 .inner::after {
  content: '北アルプス工場';
  position: absolute;
  left: 0;
  bottom: -20px;
  font-size: 14px;
}

.sec02 .para02 .text {
  font-size: 14px;
  line-height: 32px;
}

.sec02 .para03 {
  padding: 30px;
  background-color: #fff;
}

.sec02 .para03 .inner {
  padding: 70px 20px 0;
}

.sec02 .para03 .text {
  font-size: 14px;
  line-height: 32px;
}

.sec03 {
  background-color: #e0e9f7;
  padding-bottom: 30px;
}

.sec03 .para01 .inner {
  border: 4px solid #003366;
  width: 960px;
  margin: auto;
  padding: 0;
}

.sec03 .para01 .heading03 {
  font-weight: normal;
  background: #003366;
  color: #fff;
  padding: 20px;
  text-align: center;
  font-size: 20px;
}

.sec03 .para02 .inner {
  border: 4px solid #3959a6;
  width: 960px;
  margin: auto;
  padding: 0;
}

.sec03 .para02 .heading03 {
  font-weight: normal;
  background: #3959a6;
  color: #fff;
  padding: 20px;
  text-align: center;
  font-size: 20px;
}

.sec03 .para03 .inner {
  border: 4px solid #5b7ece;
  width: 960px;
  margin: auto;
  padding: 0;
}

.sec03 .para03 .heading03 {
  font-weight: normal;
  background: #5b7ece;
  color: #fff;
  padding: 20px;
  text-align: center;
  font-size: 20px;
}
.sec03 .detail {
	width: 540px;
	margin: auto;
	padding: 30px 0;
}

.sec03 .detail p {
	font-size: 24px;
	line-height: 1.6;
	margin-bottom: 10px;
}

.sec03 .detail-left {
	float: left;
	width: 440px;
}

.sec03 .detail-right {
	float: right;
	width: 80px;
}

.sec03 .detail-right img {
	height: 300px;
	width: auto;
}

.sec03 .detail table{
	width: 100%;
}

.sec03 .detail table th{
	text-align: left;
	white-space: nowrap;
	border-bottom: 1px solid #ccc;
	height: 80px;
	vertical-align: middle;
	font-size: 20px;
	padding-right: 10px;
}

.sec03 .detail table td{
	text-align: left;
	border-bottom: 1px solid #ccc;
	height: 80px;
	vertical-align: middle;
}

.sec03 .detail table tr:last-child td {
	border-bottom: none;
	height: 40px;
	vertical-align: middle;
}

.sec03 .detail table small{
	font-size: 12px;
}

.sec03 .detail table strong {
	color: red;
	font-weight: bold;
	font-size: 60px;
}

.sec03 .detail table strong small{
	font-size: 12px;
	color: #000;
}

.sec03 .outer {
  padding: 15px 0;
  font-size: 14px;
  line-height: 20px;
}

.sec03 .outer .body {
  margin-bottom: 10px;
  padding: 0 10px;
}

.sec03 .outer .body img {
  width: 100%;
}

/*
.sec03 .outer:nth-of-type(2) {
  background-color: #d2dae9;
}
*/

.sec03 .cap {
	padding: 0 20px 20px;
}

.sec04 {
  height: 660px;
  background: center top no-repeat url(../img/04-bg.jpg);
  background-size: cover;
}

.sec04 figure {
  text-align: center;
}

.sec05 {
  background-color: #ededed;
}

.sec05 .inner {
  padding: 40px 0 60px;
}

.sec05 .info {
  margin: 0 20px;
  padding: 0 30px 20px;
  background-color: #fff;
  border: solid 1px #09356b;
}

.sec05 .info .heading02 {
  font-size: 24px;
  line-height: 60px;
  text-align: center;
  border-bottom: solid 1px #09356b;
}

.sec05 .info .text {
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 20px;
}

.sec05 .info .text em {
  font-weight: bold;
}

.sec05 .info .text small {
  font-size: 13px;
}

.faq {
	background: #fff;
	padding-bottom: 40px;
}

.faq h2 {
	margin-bottom: 40px;
}

.faq li  {
	width: 47%;
	float: left;
	height: 260px;
	padding-bottom: 30px;
}

.faq li:nth-child(2n)  {
	float: right;
}

.faq li h3 {
	font-size: 20px;
	font-weight: normal;
	vertical-align: middle;
	border-bottom: 1px solid #ccc;
	padding-bottom: 5px;
	margin-bottom: 10px;
}

.faq li h3:before {
	font-weight: normal;
	content: "Q";
	color: #d42626;
	font-size: 30px;
	padding-right: 10px;
	vertical-align: middle;
}

.faq li p:before {
	font-weight: normal;
	position: absolute;
	content: "A";
	color: #4582d5;
	font-size: 30px;
	vertical-align: middle;
	left: 0;
}

.faq li p {
	padding-left: 32px;
	position: relative;
}

.page-footer {
  font-size: 12px;
  text-align: center;
  color: #fff;
  background-color: #0d1483;
}

.page-footer .inner {
  padding: 45px 0;
}

.page-footer .body {
  margin-bottom: 30px;
}
.inner .note li{
	font-size: 14px;
}