@charset "utf-8";

/* common 
*****************************************/
body {
	position: relative;
	background: url(../images/bg01.gif) repeat top left;
	border-top: #003300 solid 3px; 
	color: #333333;
	line-height: 1.7;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 75%;
}

#wrapper {
	min-width: 1000px;
	position: relative;
	background: url(../images/bg02.png) repeat-x top left;
	overflow: hidden;
}

.right {
	text-align: right !important;
}
.center {
	text-align: center !important;
}

.mt00 {
	margin-top: 0 !important;
}
.mt05 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt75 {
	margin-top: 75px !important;
}
.mt110 {
	margin-top: 110px !important;
}

.color01 {
	color: #cc0000 !important;
}

/* Link 
*****************************************/
a:link,
a:visited {
	color: #333333;
	text-decoration: underline;
}
 
a:hover,
a:active {
	color: #333333;
	text-decoration: none;
}

/* header 
*****************************************/
#header {
	position: relative;
	margin: 0 auto;
	padding-top: 48px;
	width: 1000px;
	height: 435px;
}

#hgroup01 {
	position: relative;
	padding: 0 0 19px 25px;
	border-bottom: #ebebeb solid 1px;
}

#hgroup01 .btn {
	position: absolute;
	top: 13px;
	left: 256px;
}

#headNavi {
	margin-top: 5px;
	padding-bottom: 5px;
	border-bottom: #ebebeb solid 1px;
}

#headNavi li {
	float: left;
	padding-left: 6px;
	margin-left: 5px;
	font-size: 0;
	background: url(../../images/bg03.png) no-repeat left top;
}

#headNavi li:first-child {
	padding-left: 0;
	background: none;
}

#catchArea {
	margin: 53px 0 0 169px;
	width: 331px;
}

#catchArea p {
	float: right;
}

#catchArea ul {
	float: left;
	margin-top: 68px;
}

#catchArea ul li {
	float: left;
	margin-left: 34px;
}

#catchArea ul li:first-child {
	margin-left: 0;
}

.bx-wrapper {
	position: absolute;
	top: 8px;
	right: -32px;
	width: 479px;
	height: 475px;
}
/* main 
*****************************************/
#contentsWrap {
	position: relative;
	margin: 0 auto;
	width: 1000px;
}

#contentsWrapInner {
	position: relative;
	background: url(../images/aside_bg01.png) no-repeat left bottom;
	z-index: 2;
}

#contents {
	position: relative;
	float: right;
	padding-top: 20px;
	width: 740px;
	background: url(../images/bg03.png) no-repeat left top;
	z-index: 2;
}

#contents h1 {
	margin-top: 59px;
}

/* butterfly */
#butterfly01 {
	position: absolute;
	top: 108px;
	left: -118px;
	width: 250px;
	height: 250px;
	background: url(../images/butterfly01.png) no-repeat 0 0;
	z-index: 1;
}

#butterfly02 {
	position: absolute;
	top: 1100px;
	right: -221px;
	width: 300px;
	height: 300px;
	background: url(../images/butterfly02.png) no-repeat 0 0;
	z-index: 1;
}

#butterfly03 {
	position: absolute;
	top: 2000px;
	left: 125px;
	width: 300px;
	height: 300px;
	background: url(../images/butterfly03.png) no-repeat 0 0;
	z-index: 1;
}

#butterfly04 {
	position: absolute;
	top: 4000px;
	right: -150px;
	width: 300px;
	height: 300px;
	background: url(../images/butterfly04.png) no-repeat 0 0;
	z-index: 1;
}

/* top */
#topContents {
	height: 429px;
	background: url(../../images/bg01.gif) repeat-x 0 80px;
}

#topContents .inner {
	height: 429px;
	background: url(../../images/bg02.png) no-repeat center top;
}

#topMain {
	margin: 0 auto;
	padding: 16px 25px 0;
	width: 950px;
}

#topMain .addressList {
	float: left;
}

#topMain .addressList li {
	margin-top: 3px;
	font-size: 0;
}

#topMain .addressList li:first-child {
	margin-top: 0;
}

#topMain .text01 {
	float: right;
	margin: 16px 2px 0 0;
}

#topMain .textArea01 {
	float: left;
	margin-top: 46px;
	width: 300px;
}

#topMain .textArea01 .text01 {
	margin: 20px 11px 0 0;
	text-align: right;
}

#topMain .imgArea01 {
	float: right;
	margin-top: 34px;
	width: 475px;
}

/* flow */
.section01 {
	position: relative;
	margin: 57px 25px 0;
	padding-bottom: 67px;
}

#img01 {
	position: absolute;
	top: 573px;
	right: 0;
}

.list01 dt {
	margin-top: 30px;
	padding-top: 29px;
	background: url(../../flow/images/bg01.png) no-repeat left top;
	font-size: 0;
}

.list01 dt:first-child {
	margin-top: 0;
	padding-top: 0;
	background: none;
}

.list01 dd {
	margin-top: 20px;
	font-size: 0;
}

.list01 dd.text04 img {
	margin-left: 30px;
	vertical-align: top;
}

.list01 dd.text04 img:first-child {
	margin-left: 0;
}

.list02 {
	margin: 21px 0 0 3px;
}

.list02 li {
	margin-top: 9px;
}

.frameArea01 {
	margin-top: 19px;
	padding: 19px 19px 19px 18px;
	border: #acc8ac solid 1px;
	background-color: #ffffff;
}

.frameArea01 .text01 {
	float: left;
	margin-top: 8px;
}

.frameArea01 .text02 {
	float: right;
}

/* company */
.tableArea01 {
	position: relative;
	margin-top: 28px;
}

#img02 {
	position: absolute;
	top: 31px;
	right: 63px;
}

.table01 {
	width: 100%;
}

.table01 th {
	padding: 12px 0 12px 25px;
	width: 85px;
	border-top: #ebebeb solid 1px;
	vertical-align: top;
}

.table01 tr:first-child th,
.table01 tr:first-child td {
	border-top: none;
}

.table01 td {
	padding: 10px 0 7px 17px;
	border-top: #ebebeb solid 1px;
}

.list03 dt {
	float: left;
	width: 110px;
	margin-bottom: 5px;
}

.list03 dd {
	float: left;
	width: 500px;
	margin-bottom: 5px;
}

.textArea02 {
	float: right;
	width: 351px;
	margin: 84px 17px 0 0;
}

.imgArea02 {
	float: left;
	width: 346px;
	margin-top: 35px;
}

/* contact */
.frameArea03 {
	margin-top: 10px;
	padding-bottom: 30px;
	background-color: #ffffff;
	border: #ebebeb solid 2px;
}

.table02 {
	width: 100%;
	border-bottom: #ebebeb solid 1px;
}

.table02 th {
	padding: 11px 23px 9px;
	background-color: #f7f7f7;
	border-top: #ebebeb solid 1px;
	color: #000000;
	font-weight: bold;
	vertical-align: top;
}

.table02 th img {
	margin-left: 10px;
	vertical-align: middle;
}

.table02 td {
	padding: 8px 20px;
	border-top: #ebebeb solid 1px;
}

.table02 td p {
	margin-top: 20px;
}

.table02 td p:first-child {
	margin-top: 0;
}

.table02 td .notes {
	font-size: 84%;
	color: #666666;
}

.table02 tr:first-child th,
.table02 tr:first-child td {
	border-top: none;
}

.window01 {
	padding: 5px;
	width: 428px;
	font-size: inherit;
	border: #c6cfc6 solid 1px;
}

.window02 {
	margin-right: 10px;
	padding: 5px;
	width: 88px;
	font-size: inherit;
	border: #c6cfc6 solid 1px;
}

.window03 {
	margin-right: 10px;
	padding: 5px;
	width: 450px;
	height: 108px;
	font-family : inherit;
	font-size   : 100%;
	border: #c6cfc6 solid 1px;
}

.select01 {
	padding: 5px 0;
	border: #7f9db9 solid 1px;
}

.list04 dt {
	float: left;
	margin-top: 2px;
	width: 80px;
	color: #000000;
	font-weight: bold;
}

.list04 dd {
	float: left;
	width: 390px;
}

.list04 dd input {
	vertical-align: middle;
}

.btnArea01 {
	position: relative;
	margin-top: 30px;
}

.btn01 {
	margin: 0 auto;
	width: 250px;
}

.btn02 {
	position: absolute;
	top: 0;
	left: 30px;
}

.btn03 {
	margin: 40px auto 0;
	width: 190px;
}

.catch01 {
	margin-top: 60px;
	color: #003300;
	font-size: 134%;
	font-weight: bold;
	text-align: center;
}

/* item */
#itemSection01 {
	position: relative;
	margin-top: 25px;
	height: 450px;
}

#itemSection01 h2 {
	position: absolute;
	top: 0;
	left: 25px;
}

#itemSection01 .text {
	position: absolute;
	top: 341px;
	right: 25px;
}

#itemSection01 .img {
	position: absolute;
	top: 75px;
	left: 99px;
}

#itemSection02 {
	position: relative;
	margin-top: 100px;
	padding-top: 100px;
	height: 450px;
}

#itemSection02 h2 {
	position: absolute;
	top: 0;
	right: 23px;
}

#itemSection02 .text {
	position: absolute;
	top: 321px;
	left: 25px;
}

#itemSection02 .img {
	position: absolute;
	top: 26px;
	left: 193px;
}

#itemSection03 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 450px;
}

#itemSection03 h2 {
	position: absolute;
	top: 0;
	left: 24px;
}

#itemSection03 .text {
	position: absolute;
	top: 369px;
	right: 27px;
}

#itemSection03 .img {
	position: absolute;
	top: 17px;
	left: 79px;
}

#itemSection04 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 550px;
}

#itemSection04 h2 {
	position: absolute;
	top: 2px;
	right: 25px;
}

#itemSection04 .text {
	position: absolute;
	top: 505px;
	left: 25px;
}

#itemSection04 .img {
	position: absolute;
	top: 0;
	left: 351px;
}

#itemSection05 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 550px;
}

#itemSection05 h2 {
	position: absolute;
	top: 0;
	left: 23px;
}

#itemSection05 .text {
	position: absolute;
	top: 490px;
	right: 26px;
}

#itemSection05 .img {
	position: absolute;
	top: 1px;
	left: 50px;
}

#itemSection06 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 550px;
}

#itemSection06 h2 {
	position: absolute;
	top: 0;
	right: 25px;
}

#itemSection06 .text {
	position: absolute;
	top: 507px;
	left: 28px;
}

#itemSection06 .img {
	position: absolute;
	top: 1px;
	left: 350px;
}

#itemSection07 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 450px;
}

#itemSection07 h2 {
	position: absolute;
	top: 10px;
	left: 24px;
}

#itemSection07 .text {
	position: absolute;
	top: 377px;
	right: 26px;
}

#itemSection07 .img {
	position: absolute;
	top: 1px;
	left: 60px;
}

#itemSection08 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 450px;
}

#itemSection08 h2 {
	position: absolute;
	top: 0;
	right: 24px;
}

#itemSection08 .text {
	position: absolute;
	top: 410px;
	left: 1px;
}

#itemSection08 .img {
	position: absolute;
	top: 0;
	left: 290px;
}

#itemSection09 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 450px;
}

#itemSection09 h2 {
	position: absolute;
	top: 11px;
	left: 25px;
}

#itemSection09 .text {
	position: absolute;
	top: 391px;
	right: 26px;
}

#itemSection09 .img {
	position: absolute;
	top: 0;
	left: 81px;
}

#itemSection10 {
	position: relative;
	margin-top: 50px;
	padding-top: 100px;
	height: 500px;
}

#itemSection10 h2 {
	position: absolute;
	top: 1px;
	right: 25px;
}

#itemSection10 .text {
	position: absolute;
	top: 373px;
	left: 25px;
}

#itemSection10 .img {
	position: absolute;
	top: 0;
	right: 44px;
}

.catchArea {
	margin-top: 113px;
	padding: 0 0 104px 66px;
	background: url(../../item/images/bg01.png) no-repeat left top;
}

.text03 {
	margin: 30px 0 0 107px;
}

/* aside 
*****************************************/
#aside {
	position: relative;
	float: left;
	padding: 0 31px;
	width: 138px;
	z-index: 2;
}

#logo {
	margin: 47px 0 0 53px;
}

#asideNavi {
	margin-top: 30px;
	padding: 25px 0 0 16px;
	background: url(../images/aside_bg02.png) no-repeat left top;
}

#asideNavi li {
	float: left;
	margin-right: 16px;
}

/* footer 
*****************************************/
.frameArea02 {
	position: relative;
	margin: 50px auto 0;
	padding: 15px 24px 15px 30px;
	width: 946px;
	background: url(../images/bg04.png) no-repeat left top;
	font-size: 0;
	z-index: 2;
}

.frameArea02 .addressList {
	float: left;
}

.frameArea02 .addressList li {
	margin-top: 3px;
}

.frameArea02 .addressList li:first-child {
	margin-top: 0;
}

.frameArea02 .text {
	float: right;
	margin-top: 15px;
}

#footer {
	position: relative;
	margin: 0 auto;
	padding: 18px 0 40px;
	width: 1000px;
	z-index: 2;
}

#footer .inquiryArea {
	float: left;
	width: 729px;
}

#footer .inquiryArea .textArea {
	float: right;
	width: 606px;
	margin-top: 22px;
}

#footer .inquiryArea .imgArea {
	float: left;
	width: 107px;
	margin-left: 6px;
}

#footer .img01 {
	margin-right: 14px;
}

#footer .text01 {
	margin-top: 15px;
}

#footer .text01 img{
	margin-left: 15px;
	vertical-align: top;
}

#footer .text01 img:first-child {
	margin-left: 0;
}

#footer .text02 {
	margin-top: 11px;
}

#footer .addressArea {
	float: right;
	width: 257px;
	margin-top: 20px;
	color: #000000;
	text-align: right;
}

#footer .addressArea strong {
	font-size: 117%;
}

#copyright {
	margin-top: 40px;
}

/* Clearfix
*****************************************/
#headNavi:after,
#catchArea:after,
#catchArea ul:after,
#footer:after,
#contentsWrap:after,
#contentsWrapInner:after,
#asideNavi:after,
.inquiryArea:after,
.wrap:after,
.frameArea01:after,
.frameArea02:after,
.list03:after,
.list04:after {
	content: ".";
    display: block; 
    height: 0; 
    font-size: 0;
    clear: both; 
    visibility: hidden;
}

#headNavi,
#catchArea,
#catchArea ul,
#footer,
#contentsWrap,
#contentsWrapInner,
#asideNavi,
.inquiryArea,
.wrap,
.frameArea01,
.frameArea02,
.list03,
.list04 {
	*display: inline-table;
	*zoom: 1;
}


/*sp*/
.ham-menu, .sp-contact, .text01-sp, .text02-sp {
	display: none;
}
#header .sp-menu {
  font-family: serif;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: .15em;
  position: fixed;
  top: 0;
  left: 0;
  background: url(../images/bg02.png) repeat-x top left,url(../images/bg01.gif) repeat top left;
  z-index: 61;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
#header .sp-menu .sp-link {
  padding: 80px 0 0;
  display: grid;
  grid-template-columns: 38% 62%;
  justify-items: flex-start;
  margin-bottom: 50px;
}
#header .sp-menu .sp-link h2 {
  justify-self: flex-end;
  padding: 0 50px;
}
#header .sp-menu .sp-link ul {
  padding: 18px 22px 0;
}
#header .sp-menu .sp-link ul li:not(:last-of-type) {
  margin-bottom: 20px;
} 
#header .sp-menu a {
  text-decoration: none;
}
#header .sp-menu .sp-tels {
  letter-spacing: .1em;
  line-height: 1.8;
  font-weight: bold;
  margin: 0 15px 16px;
  padding: 6% 7% 5%;
}
#header .sp-menu .sp-tels div {
  width: fit-content;
  margin: 24px auto 0;
}
#header .sp-menu .sp-tels span {
  font-size: 13px;
  background: #333333;
  color: #fff;
  display: inline-block;
  padding: 2px 10px;
  margin-bottom: 2px;
  outline : 1px solid #FFFFFF;
  outline-offset : -3px;
  letter-spacing: .01em;
}
#header .sp-menu .sp-tels a {
  text-decoration: none;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  padding: 2px 20px 0 42px;
  display: block;
  background: url(../images/free.svg) no-repeat left top 14px/32px;
}
#header .sp-menu .sp-tels p {
	color: #555;
	font-size: 13px;
	letter-spacing: .01em;
	margin-top: 8px;
}
#header .sp-menu.is-active {
  pointer-events: auto;
  opacity: 1;
}
.flow #header,.company #header,.items #header,.contact #header,#footer .copy,.sp-only {
	display: none;
}