@charset "UTF-8";
/* [ variable ]
-------------------------------------------------*/
/* element */
/* font */
/* [ font style ]
-------------------------------------------------*/
/* [ add element ]
-------------------------------------------------*/
/* [ position center ]
-------------------------------------------------*/
/* [ opacity ]
-------------------------------------------------*/
/* [ display style ]
-------------------------------------------------*/
/* [ easing style ]
-------------------------------------------------*/
/* [ Hover Motion style ]
-------------------------------------------------*/
/* [ icon style ]
-------------------------------------------------*/
/* [ form parts ]
-------------------------------------------------*/
/* -----------------------------------------------
common css [Scalable and Modular Architecture for CSS]
0. Normalize(ノーマライズ)
1. Reset(リセット) + Base(ベース)
2. Module(モジュール)
3. Layout(レイアウト)
-------------------------------------------------- */
/* -----------------------------------------------
 [0. Normalize(ノーマライズ)]
-------------------------------------------------- */
/* /common/css/normalize.css */
/* -----------------------------------------------
 [1. Reset(リセット) + Base(ベース)]
-------------------------------------------------- */
@font-face {
		font-family: 'Din-Light';
    src: url('../../fonts/din/din-light-webfont.eot');
    src: url('../../fonts/din/din-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('../../fonts/din/din-light-webfont.woff2') format('woff2'),
         url('../../fonts/din/din-light-webfont.woff') format('woff'),
         url('../../fonts/din/din-light-webfont.ttf') format('truetype'),
         url('../../fonts/din/din-light-webfont.svg#Din-Light') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
		font-family: 'Din-Medium';
    src: url('../../fonts/din/din-medium-webfont.eot');
    src: url('../../fonts/din/din-medium-webfont.eot?#iefix') format('embedded-opentype'),
         url('../../fonts/din/din-medium-webfont.woff2') format('woff2'),
         url('../../fonts/din/din-medium-webfont.woff') format('woff'),
         url('../../fonts/din/din-medium-webfont.ttf') format('truetype'),
         url('../../fonts/din/din-medium-webfont.svg#Din-Medium') format('svg');
    font-weight: normal;
    font-style: normal;
}


html * {
  /*-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;*/
  -webkit-font-smoothing: antialiased;
  -webkit-appearance: none;
  outline: none;
  -moz-osx-font-smoothing: grayscale;
}

html {
  -webkit-tap-highlight-color: transparent;
}

body {
  /* ゴシック */
  font-family: "Helvetica","游ゴシック",YuGothic,"a-otf-midashi-go-mb31-pr6n","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  /* 明朝 */
  /*font-family: "Times New Roman","Hiragino Mincho ProN","ヒラギノ明朝 Pro W3","HGS明朝B","ＭＳ Ｐ明朝",serif,"Meiryo","メイリオ","ＭＳ Ｐゴシック",sans-serif;*/
  font-size: 14px;
  color: #3F3C37;
  -webkit-text-size-adjust: 100%;
  /*line-height: 1;*/
  /* I found a bug in iOS 7. */
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  body {
    font-family: "メイリオ", sans-serif;
  }
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code, del, em, img, strong,
dl, dt, dd, ol, ul, li,
fieldset, form, label,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  font-style: normal;
  font-weight: normal;
}

article, aside, figure, footer, header, hgroup, menu, nav, section {
  margin: 0;
  padding: 0;
  border: none;
  display: block;
  /*vertical-align: baseline;
	list-style: none;
	background-color: transparent;
	@include size(10);*/
  outline: none;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.47;
}

p {
  line-height: 1.67;
}

dt, dd, li, th, td, input, textarea {
  line-height: 1.67;
  text-align: justify;
  text-justify: inter-ideograph;
}

ul, ol {
  list-style-type: none;
}

img {
  vertical-align: top;
}

a {
  text-decoration: none;
  color: #3F3C37;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
}

a:hover {
  text-decoration: none;
}

img {
  _width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}

::-moz-selection {
  background-color: #666;
}

::selection {
  background-color: #666;
}

/* [1. Reset(リセット) + Base(ベース)] --> End */
/* -----------------------------------------------
 [2. Module(モジュール)]
-------------------------------------------------- */
/* Clearfix [ModernType]
-------------------------------------------------- */
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* Tel Module
-------------------------------------------------- */
a.tel, a.mail {
    cursor: default;
    pointer-events: none;
}
@media only screen and (max-width: 750px) {
    a.tel, a.mail {
        pointer-events: auto;
		text-decoration: underline;
    }
}

/* Layout Module
-------------------------------------------------- */
.fll {
  float: left;
}

.flr {
  float: right;
}

/* Loader Module
-------------------------------------------------- */
#loader_cover {
  position: fixed;
  background-color: #2A2625;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 500;
}

#loader {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 501;
  background-color: #fff;

}

#loader span {
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  position: fixed;
  display: block;
  width: 0;
  height: 1px;
  background-color: #2A2625;
}

/* Text Module
-------------------------------------------------- */
.superscript {
  font-size: 10px;
  position: relative;
  top: -3px;
}

.notes {
  font-size: 83.3%;
  /* 10px */
}

.red {
  color: #d70505;
}

.u_line {
  text-decoration: underline;
}

.u_line:hover {
  text-decoration: none;
}

.center {
  text-align: center;
}

.bold {
  font-weight: bold;
}

/* Link Module
-------------------------------------------------- */
.ex_link {
  display: inline-block;
  padding-right: 20px;
  background: url("../../common/images/icon_blank_blue.svg") no-repeat right center;
  background-size: 14px 10px;
}

.r_over:hover {
  -ms-filter: "alpha(opacity=80)";
  /* IE8 */
  opacity: 0.8;
  display: inline-block\9;
}

/* List Module
-------------------------------------------------- */
/* Button Module
-------------------------------------------------- */
.btn {
  position: relative;
  overflow: hidden;
  display: block;
  line-height: 2;
  padding: 0;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
}

.btn > * {
  _height: 40px;
  _line-height: 40px;
  line-height: 2;
  padding: 0.5em 1em;
	font-family: 'Din-Medium';
	font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
  border: 2px solid #f7f7f7;
  box-sizing: border-box;
  font-size: 14px;
}
.btn_list .btn a {
  color: #fff;
}

.btn span:hover {
  color: #fff;
  _background-color: #000;
}

.btn span a {
  color: #fff;
}


.btn.arrow::after {
    background: rgba(0, 0, 0, 0) url("../../common/images/icon_arrow_right_white.svg") no-repeat scroll left center / 12px 7px;
    bottom: 0;
    height: 7px;
    margin: auto;
    position: absolute;
    right: 10px;
    top: 0;
    width: 12px;
}
.btn.black {
    border-color: #302e2a;
}
.btn.black > * {
    color: #063156;
}
.btn.black > *::before {
    border-left: 1px solid #302e2a;
    border-top: 1px solid #302e2a;
}
.btn.black > *::after {
    border-bottom: 1px solid #302e2a;
    border-right: 1px solid #302e2a;
}
.btn.black.arrow::after {
    background: rgba(0, 0, 0, 0) url("../../common/images/icon_arrow_right_blue.svg") no-repeat scroll left center / 12px 7px;
}
.btn.black:after {
    content: "";
    display: block;
}
.btn.black.blank::after {
    background: rgba(0, 0, 0, 0) url("../../common/images/icon_blank_blue.svg") no-repeat scroll right center / 13px 9px;
    bottom: 0;
    height: 9px;
    margin: auto;
    position: absolute;
    right: 10px;
    top: 0;
    width: 13px;
}
.btn.gray {
    background-color: #eeeeee;
    border-color: #eeeeee;
}
.btn.gray > * {
    border-color: #eeeeee;
    color: #3F3C37;
}
.btn.gray > *::before {
    border-left: 1px solid #eeeeee;
    border-top: 1px solid #eeeeee;
}
.btn.gray > *::after {
    border-bottom: 1px solid #eeeeee;
    border-right: 1px solid #eeeeee;
}
.btn.gray.arrow::after {
    display: none;
}
.btn.black_inverse {
    background-color: #302e2a;
    border-color: #302e2a;
}
.btn.black_inverse:hover {
    background-color: #666;
    border-color: #666;
}
.btn.black_inverse > * {
    border-color: #302e2a;
    color: #fff;
}
.btn.black_inverse:hover > * {
	opacity: 0.8;
}
.btn.black_inverse > *::before {
    border-left: 1px solid #302e2a;
    border-top: 1px solid #302e2a;
}
.btn.black_inverse > *::after {
    border-bottom: 1px solid #302e2a;
    border-right: 1px solid #302e2a;
}
.btn.black_inverse.arrow::after {
    background: rgba(0, 0, 0, 0) url("../../common/images/icon_arrow_right_white.svg") no-repeat scroll left center / 12px 7px;
}
.btn.arrow.reverse::after {
    left: 10px;
    right: auto;
    transform: rotate(180deg);
}

.btn.w118 {
  width: 118px;
}

.btn.w148 {
  width: 148px;
}

.btn.w156 {
  width: 156px;
}

.btn.w218 {
  width: 218px;
}

.btn.center {
  margin-left: auto;
  margin-right: auto;
}

.hover_cover_inner .btn:hover > * {
  _border-color: transparent;
  color: #222;
  background-color: #f7f7f7;
}

_.btn:hover > *:before,
_.btn:hover > *:after {
  opacity: 1;
  width: 98%;
  /* IE8以下とAndroid4.3以下用フォールバック */
  width: -webkit-calc(100% + 1px);
  width: calc(100% + 1px);
  height: 98%;
  /* IE8以下とAndroid4.3以下用フォールバック */
  height: -webkit-calc(100% + 1px);
  height: calc(100% + 1px);
}


@-webkit-keyframes movebtnArrow {
  from {
    opacity: 0;
    right: 30px;
  }
  to {
    opacity: 1;
    right: 10px;
  }
}

@-moz-keyframes movebtnArrow {
  from {
    opacity: 0;
    right: 30px;
  }
  to {
    opacity: 1;
    right: 10px;
  }
}

@-ms-keyframes movebtnArrow {
  from {
    opacity: 0;
    right: 30px;
  }
  to {
    opacity: 1;
    right: 10px;
  }
}

@-webkit-keyframes movebtnArrowReverse {
  from {
    opacity: 0;
    left: 30px;
  }
  to {
    opacity: 1;
    left: 10px;
  }
}

@-moz-keyframes movebtnArrowReverse {
  from {
    opacity: 0;
    left: 30px;
  }
  to {
    opacity: 1;
    left: 10px;
  }
}

@-ms-keyframes movebtnArrowReverse {
  from {
    opacity: 0;
    left: 30px;
  }
  to {
    opacity: 1;
    left: 10px;
  }
}

@media only screen and (max-width: 750px) {
  .btn > * {
    letter-spacing: 0.2em;
  }
}

/* Bread List
-------------------------------------------------- */
.bread_list {
  padding-top: 12px;
  padding-bottom: 12px;
}

.bread_list li, .bread_list a {
  font-size: 10px;
}

.bread_list li {
  display: inline-block;
  margin-right: 2px;
}

.bread_list li a:after {
  content: ">";
  display: inline-block;
  padding-left: 4px;
}

/* table
-------------------------------------------------- */
.main table {
	width: 100%;
	margin-bottom: 1em;
	border-bottom: 1px solid #ccc;
}
@media only screen and (min-width: 751px) {
.main table th {
	padding: .5em;
	line-height: 1.6;
	font-size: 16px;
	text-align: center;
	border-top: 1px solid #ccc;
	background-color: #f7f7f7
}
.main table td {
	padding: .5em;
	line-height: 1.6;
	font-size: 16px;
	text-align: center;
	border-top: 1px solid #ccc;}
}

@media only screen and (max-width: 750px) {
.main table th {
	padding: .5em 0;
	line-height: 1.4;
	font-size: 11px;
	text-align: center;
	border-top: 1px solid #ccc;
	background-color: #f7f7f7
}
.main table td {
	padding: .5em 0;
	line-height: 1.4;
	font-size: 11px;
	text-align: center;
	border-top: 1px solid #ccc;}
}

/* -----------------------------------------------
 [3. Layout(レイアウト)]
-------------------------------------------------- */
/* #document
-------------------------------------------------- */
.inner {
  position: relative;
}

#document {
  opacity: 0;
}

@media only screen and (min-width: 751px) {
  .sp {
    display: none !important;
  }
  .inner {
    width: 1080px;
    margin-left: auto;
    margin-right: auto;
  }
  .inner_min {
    width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (max-width: 750px) {
  .pc {
    display: none !important;
  }
  #document {
    min-width: 320px;
  }
  .inner,
  .inner_min {
    margin-left: 20px;
    margin-right: 20px;
  }
  #main_wrap {
    overflow-x: hidden;
  }
  #main_wrap p,
  #main_wrap dd {
    text-align: justify;
  }
}



/* #header
-------------------------------------------------- */
#header {
  position: relative;
  _border-top: 3px solid #333;
}

#next_btn {
	background-color: #333;
	position: absolute;
	right: 8%;
	bottom: 5%;
}
#next_btn .arrow {
	display: block;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: 0.3s;
	_background: #fff;
	position: absolute;
	z-index: 51;
	margin: 3px 0 0 -15px;
	line-height: 1;
}
#next_btn a {
	position: absolute;
  	font-family: 'Din-Medium';
	font-size: 1.1em;
	line-height: 1;
	color: #fff;
}

#navi_btn {
  background-color: #333;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
}

#navi_btn span {
  display: block;
  height: 1px;
  width: 20px;
  transition: 0.3s;
  background: #fff;
  position: absolute;
  z-index: 51;
}

#navi_btn span:before,
#navi_btn span:after {
  transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  -ms-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  height: 1px;
  width: 20px;
  transition: 0.3s;
  background: #fff;
  content: '';
  position: absolute;
  left: 0;
  -webkit-transform-origin: 2.85714px center;
  transform-origin: 2.85714px center;
  width: 100%;
  box-sizing: border-box;
}

#navi_btn span:before {
  top: 6px;
}

#navi_btn span:after {
  top: -6px;
}

#navi_btn.open {
  border: none;
  color: #fff;
  background-color: #000;
}

#navi_btn.open span {
  transform: scale3d(0.8, 0.8, 0.8);
  background: transparent;
}

#navi_btn.open span:before,
#navi_btn.open span:after {
  left: 2px;
  background-color: #fff;
}

#navi_btn.open span:before {
  top: 5px;
  -webkit-transform: rotate3d(0, 0, 1, -45deg);
  -moz-transform: rotate3d(0, 0, 1, -45deg);
  -o-transform: rotate3d(0, 0, 1, -45deg);
  -ms-transform: rotate3d(0, 0, 1, -45deg);
}

#navi_btn.open span:after {
  top: -5px;
  -webkit-transform: rotate3d(0, 0, 1, 45deg);
  -moz-transform: rotate3d(0, 0, 1, 45deg);
  -o-transform: rotate3d(0, 0, 1, 45deg);
  -ms-transform: rotate3d(0, 0, 1, 45deg);
}

#header h1 {
  font-family: 'Futura-Normal';
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
}

#header h1 a {
  color: #fff;
  display: block;
}

#navi_menu {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#E6333333,endColorstr=#E6333333);
  background: rgba(25, 25, 25, 0.95);
  position: absolute;
  z-index: 51;
  left: 0;
  width: 100%;
  display: none;
}

#navi_menu > li {
  _border-bottom: 1px solid #666;
  text-align: left;
  opacity: 0;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transform: translateY(-60px);
  -moz-transform: translateY(-60px);
  -webkit-transform: translateY(-60px);
  -ms-transform: translateY(-60px);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#E6000000,endColorstr=#E6000000);
  background: rgba(0, 0, 0, 0.8);
}

#navi_menu > li > a {
  display: block;
  color: #fff;
	font-family: 'Din-Medium';
  font-weight: normal;
  letter-spacing: 0.1em;
  position: relative;
  transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  padding: 0.5em 1em 0.5em 1em;
}

#navi_menu > li > a:after {
  content: "";
  display: block;
}

#navi_menu > li > a:after {
  background: url("../../common/images/icon_arrow_right_white.svg") no-repeat center center;
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
}

#navi_menu > li > a:hover {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#E6000000,endColorstr=#E6000000);
  background: rgba(0, 0, 0, 0.9);
}

#navi_menu > li > a:hover:after {
  opacity: 1;
}


#navi_menu > li.dd_menu > span {
  display: block;
  color: #fff;
	font-family: 'Din-Light';
  font-weight: 700;
  letter-spacing: 0.02em;
  position: relative;
  transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
}

#navi_menu > li.dd_menu > span:after {
  content: "";
  display: block;
}

#navi_menu > li.dd_menu > span:after {
  background: url("../../common/images/icon_plus.svg") no-repeat center center;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
}

#navi_menu > li.dd_menu > span:hover {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#E6000000,endColorstr=#E6000000);
  background: rgba(0, 0, 0, 0.90);
}

#navi_menu > li.dd_menu > span.open:after {
  transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  background: url("../../common/images/icon_minus.svg") no-repeat center center;
}

#navi_menu > li.dd_menu > ul {
  display: none;
}

#navi_menu > li.dd_menu > ul li {
  text-align: center;
  font-family: 'Futura-Normal';
  font-weight: 700;
  letter-spacing: 0.02em;
  _border-bottom: 1px solid #666;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CC214c71,endColorstr=#CC214c71);
  background: rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -webkit-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
}

#navi_menu > li.dd_menu > ul li:hover {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#E6062744,endColorstr=#E6062744);
  background: rgba(0, 0, 0, 0.9);
}

#navi_menu > li.dd_menu > ul li:first-child {
  _border-top: 1px solid #666;
}

#navi_menu > li.dd_menu > ul li a {
  color: #fff;
  font-weight: bold;
  display: block;
  position: relative;
  font-family: 'Futura-Bold';
}

#navi_menu > li.dd_menu > ul li a:after {
  content: "";
  display: block;
}

#navi_menu > li.dd_menu > ul li a:after {
  background: url("../../common/images/icon_arrow_right_white.svg") no-repeat center center;
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
}

#navi_menu > li.dd_menu > ul li a:hover:after {
  opacity: 1;
}

_#navi_menu > li:last-child a span {
  overflow: hidden;
  text-indent: -9999px;
  display: block;
}

_#navi_menu > li:last-child a:before {
  content: "";
  display: block;
}

_#navi_menu > li:last-child a:before {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url("../images/sns_ig.svg") no-repeat center center;
  _border-radius: 50%;
  _border: 1px solid #666;
  height: 34px;
  width: 34px;
}

#navi_menu li:nth-child(1) {
  transition-delay: 0.1s;
  -moz-transition-delay: 0.1s;
  -webkit-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  -ms-transition-delay: 0.1s;
}

#navi_menu li:nth-child(2) {
  transition-delay: 0.2s;
  -moz-transition-delay: 0.2s;
  -webkit-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  -ms-transition-delay: 0.2s;
}

#navi_menu li:nth-child(3) {
  transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
}

#navi_menu li:nth-child(4) {
  transition-delay: 0.4s;
  -moz-transition-delay: 0.4s;
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  -ms-transition-delay: 0.4s;
}

#navi_menu li:nth-child(5) {
  transition-delay: 0.5s;
  -moz-transition-delay: 0.5s;
  -webkit-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  -ms-transition-delay: 0.5s;
}

#navi_menu li:nth-child(6) {
  transition-delay: 0.6s;
  -moz-transition-delay: 0.6s;
  -webkit-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  -ms-transition-delay: 0.6s;
}

#navi_menu li:nth-child(7) {
  transition-delay: 0.7s;
  -moz-transition-delay: 0.7s;
  -webkit-transition-delay: 0.7s;
  -o-transition-delay: 0.7s;
  -ms-transition-delay: 0.7s;
}

#navi_menu li:nth-child(8) {
  transition-delay: 0.8s;
  -moz-transition-delay: 0.8s;
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  -ms-transition-delay: 0.8s;
}

#navi_menu.open li {
  opacity: 1;
  transform: translateX(0px);
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
}


#n_menu > li.dd_menu > ul {
    display: none;
	position: absolute;
}
#header #n_menu > li.dd_menu > ul li,
#slidedown-nav #n_menu > li.dd_menu > ul li {
    background: rgba(0, 0, 0, 0.8) none repeat scroll 0 0;
    border-bottom: 1px solid #444;
    text-align: center;
    transition: all 0.4s ease 0s;
	clear: both;
	display: inline-block;
	margin: 0;
	line-height: 1.2;
	padding: 0.25em 0.75em;
}
#header #n_menu > li.dd_menu > ul li:nth-of-type(4),
#slidedown-nav #n_menu > li.dd_menu > ul li:nth-of-type(4) {
	font-size: 14px;
	padding: 0.35em 0.75em;
}
li.dd_menu span {
	font-weight: bold;
}
#n_menu > li.dd_menu > ul li:hover {
    background: rgba(0, 0, 0, 0.95) none repeat scroll 0 0;
}
#n_menu> li.dd_menu > ul li:first-child {
    border-top: 1px solid #444;
}
#n_menu > li.dd_menu > ul li a {
    color: #fff;
    display: block;
    font-weight: bold;
    position: relative;
}
#n_menu > li.dd_menu > ul li a::after {
    content: "";
    display: block;
}
#n_menu > li.dd_menu > ul li a::after {
    background: rgba(0, 0, 0, 0) url("../../common/images/icon_arrow_right_white.svg") no-repeat scroll center center;
    bottom: 0;
    margin: auto;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: all 0.2s ease 0s;
}
#n_menu > li.dd_menu > ul li a:hover::after {
    opacity: 1;
}
#n_menu > li:last-child a span {
    display: block;
    overflow: hidden;
    text-indent: -9999px;
}
#n_menu > li:last-child a::before {
    content: "";
    display: block;
}


/*　HEADER - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
  #home #header {
    height: 80px;
  }
  .standard #header {
    height: 80px;
		background: rgba(255, 255, 255, 0.5);
  }
  #header > * {
    _line-height: 80px;
  }
  #slidedown-nav {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 8888;
		display: none;
		background: rgba(255, 255, 255, 0.8);
		_border-top: 3px solid #333;
  }
  #slidedown-nav div {
	position: relative;
  }
  #header #navi_btn {
    width: 60px;
    height: 60px;
		display: none;
  }
  #header #navi_btn span {
    left: 20px;
    top: 30px;
  }
  #header h1 {
	text-align: left;
  }
  #header #logo {
    width: 242px;
    height: 24px;
    _position: absolute;
    _left: 40px;
    _top: 36px;
		float: left;
    margin: 30px 0 15px 40px;
  }
  #header #logo a {
		display: block;
    width: 242px;
    height: 24px;
  }
  #slidedown-nav #logo {
    width: 242px;
    height: 24px;
		float: left;
    margin: 30px 0 15px 40px;
  }
  #header > .entry {
    position: absolute;
    right: 0;
    top: 0;
    width: 110px;
    height: 60px;
    _background-color: #1dade2;
		background-color: #063156;
		font-family: 'Din-Light';
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    font-size: 12px;
    text-align: center;
    transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
  }
  #header #n_menu,
  #slidedown-nav #n_menu {
    position: absolute;
    right: 20px;
    top: 25px;
    width: 550px;
    _height: 50px;
  }
  #header #n_menu li,
  #slidedown-nav #n_menu li {
		float: left;
		display: inline-block;
		vertical-align: middle;
		margin: 0 0 0 1em;
    color: #302e2a;
    font-size: 15px;
    text-align: left;
		font-family: 'Din-Light';
    letter-spacing: 0.02em;
    transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
  }
  #header #n_menu li a {
		font-family: 'Din-Light';
		padding-bottom: 0.5em;
    color: #fff;
  }
  #slidedown-nav #n_menu li a {
		font-family: 'Din-Light';
		padding-bottom: 0.5em;
    color: #302e2a;
  }
  #header #n_menu li a span {
    color: #fff;
  }
  #header #n_menu > li.dd_menu > span {
    color: #302e2a;
  }
  #header #n_menu li a:hover,
  #slidedown-nav #n_menu li a:hover {
	color: #555;
	opacity: 0.75;
  }
  #header #n_menu li a:hover {
	  color: #555;
  }
  #home #n_menu li a.home {
	  border-bottom: 2px solid #fff;
  }
  #company #n_menu li a.company,
  #vision #n_menu li a.vision,
  #member #n_menu li a.member,
  #service #n_menu li a.service,
  #recruit #n_menu li a.recruit,
  #contact #n_menu li a.contact {
	  border-bottom: 2px solid #302e2a;
	  border-bottom: 2px solid #fff;
  }
  
  #header > .entry:hover {
    _letter-spacing: 0.5em;
  }
  
  #slidedown-nav #navi_btn {
	display: none;
  }
  #navi_menu {
    top: 60px;
  }
  #navi_menu > li > a {
    font-size: 21px;
    letter-spacing: 0.4em;
    height: 138px;
    line-height: 138px;
  }
  #navi_menu > li > a:after {
    width: 12px;
    height: 7px;
    background-size: 12px 7px;
    right: 80px;
  }
  #navi_menu > li > a:hover:after {
    right: 50px;
  }
  #navi_menu > li.dd_menu > span {
    font-size: 21px;
    height: 138px;
    line-height: 138px;
  }
  #navi_menu > li.dd_menu > span:after {
    width: 25px;
    height: 25px;
    background-size: 25px 25px !important;
    right: 50px;
  }
  #navi_menu > li.dd_menu > ul li a {
    font-size: 21px;
    letter-spacing: 0.1em;
    height: 138px;
    line-height: 138px;
  }
  #navi_menu > li.dd_menu > ul li a:after {
    width: 12px;
    height: 7px;
    background-size: 12px 7px;
    right: 80px;
  }
  #navi_menu > li.dd_menu > ul li a:hover:after {
    right: 50px;
  }
  #navi_menu > li:last-child a:before {
    width: 49px;
    height: 49px;
    background-size: 9px;
  }
}
@media only screen and (max-width: 800px) {
  
  #header #logo, #slidedown-nav #logo {
	float: left;
    width: 180px;
    margin: 48px 0 0 19px;
  }
  #header #logo a, #slidedown-nav #logo a {
    display: block;
    width: 180px;
	}
}

/*　HEADER - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
  #header {
    height: 50px;
  }
  #header > * {
    line-height: 50px;
  }
  #navi_btn {
    width: 50px;
    height: 50px;
		background-color: #2A2625;
  }
  #navi_btn span {
    left: 15px;
    top: 24px;
  }
  #header h1 {
    font-size: 8px;
    _padding-left: 65px;
    line-height: 53px;
  }
  #header #logo {
		float: left;
    _width: 104px;
    height: 40px;
    margin: 18px 0 0 15px;
  }
  #header #logo a {
    display: block;
    _width: 104px;
    height: 40px;
	}
  #slidedown-nav #logo,
  #n_menu {
	  display: none;
  }
  #navi_menu {
    top: 50px;
  }
  #navi_menu > li > a {
    font-size: 14px;
    letter-spacing: 0.1em;
    height: 3em;
    line-height: 3em;
  }
  #navi_menu > li > a:after {
    width: 11px;
    height: 7px;
    background-size: 11px 7px;
    right: 35px;
  }
  #navi_menu > li > a:hover:after {
    right: 15px;
  }
  #navi_menu > li.dd_menu > span {
    _font-size: 14px;
    font-size: 16px;
    height: 3em;
    line-height: 3em;
  }
  #navi_menu > li.dd_menu > span:after {
    width: 12px;
    height: 12px;
    background-size: 12px 12px !important;
    right: 15px;
  }
  #navi_menu > li.dd_menu > ul li a {
    font-size: 14px;
    font-size: 16px;
    letter-spacing: 0.1em;
    height: 3em;
    line-height: 3em;
  }
  #navi_menu > li.dd_menu > ul li a:after {
    width: 11px;
    height: 7px;
    background-size: 11px 7px;
    right: 35px;
  }
  #navi_menu > li.dd_menu > ul li a:hover:after {
    right: 15px;
  }
  #navi_menu > li:last-child a:before {
    width: 34px;
    height: 34px;
    background-size: 7px;
  }
}

/* #footer
-------------------------------------------------- */

#pagetop_wrap {
  _background-color: #eff1f1;
}

#pagetop_wrap a {
  overflow: hidden;
  text-indent: -9999px;
  display: block;
  _background-color: #eeeeee;
  margin: auto;
  position: relative;
  overflow: hidden;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
}

#pagetop_wrap a:before {
  content: "";
  display: block;
}

#pagetop_wrap a:before {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url("../../common/images/icon_arrow_top_blue.svg") no-repeat center center;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
}

#pagetop_wrap a:hover {
  width: 100% !important;
}

#pagetop_wrap a:hover:before {
  opacity: 0.7;
  -webkit-animation: moveArrow 100ms ease-out;
  -moz-animation: moveArrow 100ms ease-out;
  -ms-animation: moveArrow 100ms ease-out;
}

@-webkit-keyframes moveArrow {
  from {
    opacity: 0;
    -webkit-transform: translateY(100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
  }
}

@-moz-keyframes moveArrow {
  from {
    opacity: 0;
    -moz-transform: translateY(100%);
  }
  to {
    opacity: 1;
    -moz-transform: translateY(0%);
  }
}

@-ms-keyframes moveArrow {
  from {
    opacity: 0;
    -ms-transform: translateY(100%);
  }
  to {
    opacity: 1;
    -ms-transform: translateY(0%);
  }
}


/* sns */
.sns_link {
    bottom: 5%;
    list-style-type: none;
    position: fixed;
    right: 5%;
    z-index: 50;
}
.sns_link li a {
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    font-size: 0;
    height: 30px;
    margin-top: 10px;
    width: 30px;
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
}
.sns_link_fb a {
    background-image: url("/common/images/sns_fb.svg");
}
.sns_link_tw a {
    background-image: url("/common/images/sns_tw.svg");
}
.sns_link_ig a {
    background-image: url("/common/images/sns_ig.svg");
}
.sns_link li a:hover {
	opacity: 0.65;
}


img.lazy {
  width: 1140px;
  height: 750px;
}

/*　画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	#wrapper {
		margin: auto;
		text-align: center;
		width: 1140px;
	}
	#top #wrapper {
		margin: auto;
		text-align: center;
		width: 100%;
	}
	.images {
		margin: auto;
		text-align: center;
		width: 1140px;
	}
	_.main {
		margin: 0 auto 200px auto;
		text-align: left;
		max-width: 940px;
		min-width: 800px;
	}
	.main h2 {
  		font-family: 'Futura-Normal';
		font-weight: 700;
		letter-spacing: 0.05em;
		font-size: 24px;
		padding: 100px 0 70px 0;
		border-bottom: 1px solid #ccc;
	}
	_.main h3 {
		font-weight: bold;
		letter-spacing: 0.03em;
		font-size: 16px;
		padding: 65px 0;
	}
	.main h4 {
		font-weight: bold;
		letter-spacing: 0.03em;
		font-size: 14px;
	}
	.main p {
		font-size: 14px;
		line-height: 2;
		color: #3a3a3a;
		letter-spacing: 0.1em;
	}
	_.main dl {
	    font-size: 14px;
	    margin: 0 auto;
	    text-align: center;
			width: 80%;
			_min-width: 800px;
	    border-bottom: 1px solid #ccc;
	}
	_.main dl dt {
	    border-top: 1px solid #ccc;
	    clear: left;
	    float: left;
	    font-weight: normal;
	    line-height: 1.8;
	    margin: 0;
	    padding: 0.75em 0;
	    text-align: left;
	    width: 15em;
	}
	_.main dl dd {
	    border-top: 1px solid #ccc;
	    letter-spacing: 0.1em;
	    line-height: 1.8;
	    margin: 0 0 0 15em;
	    padding: 0.75em 0;
	    text-align: left;
	}
	#gmap {
	    height: 500px;
	    margin: 0 0 30px 0;
	    overflow: hidden;
	    padding: 0;
	    position: relative;
	    width: 100%;
  	}
	#gmap {
		margin-bottom: 3em;
	}
}

/*　画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	#gmap {
	    height: 300px;
	    margin: 0 0 30px 0;
	    overflow: hidden;
	    padding: 0;
	    position: relative;
	    width: 100%;
  	}
}


.main #next {
	margin: 1.5em auto 0 auto;
	text-align: center;		
}


/*　FOTTER - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	#copyright p {
	}
	#pagetop {
		_margin-top: 5em;
		_margin-top: -25px;
	    font-size: 20px;
	    _height: 40px;
	    _width: 40px;
	    width: 100%;
	    display: block;
	    _position: fixed;
	    _right: 5%;
	    _bottom: 5%;
	    text-align: center;
	    z-index: 10;
			_background-color: #fff;
		background-color: transparent;
	}
	#pagetop a {
		display: block;
		overflow: hidden;
		text-indent: -9999px;
		margin: auto;
		height: 30px;
		_width: 40px;
		_height: 2em;
		width: 100%;
		_border-radius: 50%;
		position: relative;
		transition: all 0.2s ease;
		-moz-transition: all 0.2s ease;
		-webkit-transition: all 0.2s ease;
		-ms-transition: all 0.2s ease;
		background-color: transparent;
	  background: url("../../common/images/icon_arrow_top.svg") no-repeat center center;
	}
	#pagetop a span {
	}
	#pagetop a:hover {
	  cursor: pointer;
	  opacity: 0.7;
	}
  #message .btn a,
  #team .btn a {
    color: #063156;
  }
  .bt {
	  margin: 5em auto 0 auto;
  }
}

/*　FOTTER - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	#copyright p {
  		color: #eee;
  		font-size: 9px;
  		letter-spacing: 0.025em;
  		text-align: left;
	}
	_#pagetop {
	    background: rgba(0, 0, 0, 0) url("../../common/images/icon_arrow_top_blue.svg") no-repeat center 0;
	    font-size: 20px;
	    height: 30px;
	    width: 30px;
	    display: block;
	    position: fixed;
	    right: 5%;
	    bottom: 5%;
	    text-align: center;
	    z-index: 10;
		_background-color: #eff1f1;
	}
	_#pagetop a {
		display: block;
		overflow: hidden;
		text-indent: -9999px;
		margin: auto;
		height: 30px;
		width: 30px;
		border-radius: 50%;
		position: relative;
		transition: all 0.2s ease;
		-moz-transition: all 0.2s ease;
		-webkit-transition: all 0.2s ease;
		-ms-transition: all 0.2s ease;
	}
	#pagetop {
	    font-size: 20px;
	    width: 100%;
		_margin-top: -15px;
		margin-top: 30px;
	    display: block;
	    _position: fixed;
	    _right: 5%;
	    _bottom: 5%;
	    text-align: center;
	    z-index: 10;
		_background-color: #eff1f1;
	}
	#pagetop a {
		display: block;
		overflow: hidden;
		text-indent: -9999px;
		margin: auto;
		height: 30px;
		_width: 30px;
		_border-radius: 50%;
		_border: 1px solid #555;
		position: relative;
		transition: all 0.2s ease;
		-moz-transition: all 0.2s ease;
		-webkit-transition: all 0.2s ease;
		-ms-transition: all 0.2s ease;
		_background-color: #eee;
	    background: url("../../common/images/icon_arrow_top.svg") no-repeat center center;
	}
}



#footer {
	font-family: 'Din-Medium';
	text-align: left;
	list-style-type: none;
	padding-top: 4em;
	background-color: #f2f2f2;
}
#block-footer-inner {
  text-align: center;
	clear: both;
  margin: 0 auto;
  padding: 60px 40px 100px 40px;
}
#shop-link {
  clear: both;
  margin: 1em auto 3em auto;
}
.square_btn {
	display: inline-block;
	padding: 1em 3em;
	border-radius: 25px;
	text-decoration: none;
	color: #FFF;
	background-image: -webkit-linear-gradient(45deg, #ccc 0%, #aaa 100%);
	background-image: linear-gradient(45deg, #ccc 0%, #aaa 100%);
	transition: .4s;
}
.square_btn:hover {
	color: #eee;
	background-image: -webkit-linear-gradient(45deg, #bbb 0%, #999 100%);
	background-image: linear-gradient(45deg, #bbb 0%, #999 100%);
}




/*　FOTTER - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	#shop-link li {
	  width: 16.6%;
	  float: left;
	  margin: 0;
	  padding: 0;
	  display: inline;
	}
	#shop-link li div {
	  width: 90%;
	  margin: 0 5%;
	  _padding: 0 10%;
		height: 4em;
	}
	#shop-link li div a {
		display: block;
		height: 90%;
	}
	#shop-link li div img {
		height: 100%;
	}
	
	#footer h2 {
		
	}
	.w20 {
		width: 20%;
	}
	.footer-colum-left {
	}
	.footer-colum-right {
	}
	.footer-border {
		clear: both;
		margin: 0 auto;
		_border-top: 3px solid #333;
		background-color: #595757;
		padding: 3.5em 40px 4em 40px;
	}
	.footer-border a {
		color: #ccc;
	}
	.footer-colum-left {
		width: 50%;
		float: left;
	}
	.footer-colum-right {
		width: 50%;
		float: right;
	}
	.footer-tel {
		margin-top: 0.75em;
		font-size: 24px;
		font-family: 'Din-Medium';
	}
	#footer-link {
	  clear: both;
	  text-align: left;
	  font-size: 12px;
		font-family: 'Din-Medium';
	}
	
	#footer-contact {
	}
	#footer-contact h3 {
		font-size: 4.8em;
		line-height: 1;
		text-align: center;
		font-family: 'Din-light';
		margin-bottom: 60px;
	}
	#footer-contact p {
		font-size: 1.2em;
		line-height: 1;
		font-weight: 400;
		text-align: center;
		margin-bottom: 70px;
	}
	
	address p {
		font-family: 'Din-Medium';
		letter-spacing: 0.05em;
		font-size: 11px;
		text-align: left;
		line-height: 2.4;
		color: #fff;
	}
	address p span {
		font-weight: bold;
	}
	#copyright {
		font-family: 'Din-Medium';
		letter-spacing: 0.05em;
		font-size: 11px;
		text-align: right;
		color: #fff;
		margin-top: 3em;
	}
	
}
	
/*　FOTTER - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	#shop-link li {
	  width: 25%;
	  float: left;
	}
	#shop-link li div {
	  width: 90%;
	  margin: 0 5%;
	}
	.w20 {
		width: 100%;
	}
	.footer-border {
		clear: both;
		margin: 0 auto;
		background-color: #000;
		padding: 1.5em 20px 2em 20px;
	}
	.footer-border .footer-colum-left,
	.footer-border .footer-colum-right {
		clear: both;
		width: 100%;
	}
	.footer-border a {
		color: #ccc;
	}
	.footer-tel {
		margin-top: 0.75em;
		font-size: 14px;
		font-family: 'Din-Medium';
	}
	#footer-link {
	  clear: both;
	  text-align: left;
	  font-size: 12px;
		font-family: 'Din-Medium';
	}
	
	#footer-contact {
	}
	#footer-contact h3 {
		font-size: 2.1em;
		line-height: 1;
		text-align: center;
		font-family: 'Din-light';
		margin-bottom: 60px;
	}
	#footer-contact p {
		font-size: 12px;
		line-height: 1.8;
		font-weight: 400;
		text-align: left;
		margin-bottom: 70px;
	}
	
	
	address p {
		letter-spacing: 0.05em;
		font-size: 11px;
		text-align: left;
		line-height: 1.8;
		color: #fff;
	}
	address p span {
		font-weight: bold;
	}
	#copyright {	
		margin-top: 1em;
		font-family: 'Din-Medium';
		letter-spacing: 0.05em;
		font-size: 12px;
		text-align: right;
		color: #fff;
	}
	
}


#shop-link li div a img {
	transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	-ms-transition: all 0.2s ease;
	width: 100%;
}
#shop-link li div a img:hover {
  opacity: 0.5;
}


#footer-link ul {
	text-align: left;
}
#footer-link ul li {
	display: block;
	line-height: 2.0;
	letter-spacing: 0.1;
}	



/*　表 - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	
	ul.list-member {
	  text-align: center;
	}
	ul.list-member li {
	  text-align: left;
		color: #595757;
		font-size: 0.9em;
		margin-bottom: 4em;
	}
	ul.list-member li div {
	  text-align: center;
		margin: 0 auto 20px auto;
	}
	ul.list-member li img {
		text-align: center;
		min-width: 260px;
		max-width: 100%;
	}
	.list-member dl {
		font-size: 1.0em;
		margin: 0 auto 1em auto;
		text-align: left;
	}
	.list-member dl dt {
		font-size: 1.8em;
		font-weight: 700;
		line-height: 1;
		margin: 0;
		padding: 0.75em 0;
		text-align: left;
		_width: 15em;
		color: #333333;
	}
	.list-member dl dt span {
		font-size: 0.5em;
		padding-bottom: 2em;
	}
	.list-member dl dt.reki {
		font-size: 1.0em;
		font-weight: 400;
		line-height: 1.8;
	}
	.list-member dl dd {
		font-size: 1.0em;
		letter-spacing: 0.1em;
		line-height: 1.8;
		padding: 0.5em 0;
		text-align: left;
		color: #333333;
	}
	.list-member dl dd span {
		font-size: 0.9em;
	}
	
	ul.list-service {
	  text-align: center;
		display: flex;
		flex-wrap: wrap;
		list-style: outside none none;
	}
	ul.list-service li {
	  text-align: left;
		color: #595757;
		font-size: 0.9em;
		margin-bottom: 4em;
		_min-height: 500px;
	}
	ul.list-service li div {
	  text-align: center;
		margin: 0 auto 50px auto;
	}
	ul.list-service li img {
		text-align: center;
		width: 72px;
		height: 72px;
	}
	.list-service dl {
		font-size: 1.1em;
		margin: 0 auto 1em auto;
		_width: 80%;
		text-align: left;
		_min-width: 800px;
		_border-bottom: 1px solid #ccc;
	}
	.list-service dl dt {
		_border-top: 1px solid #ccc;
		_clear: left;
		_float: left;
		line-height: 1.8;
		margin: 0;
		padding: 0.75em 0;
		text-align: left;
		_width: 15em;
		font-weight: 400;
		color: #333333;
	}
	.list-service dl dd {
		_border-top: 1px solid #ccc;
		letter-spacing: 0.1em;
		line-height: 1.8;
		_margin: 0 0 0 15em;
		padding: 0.75em 0;
		text-align: left;
		color: #333333;
	}
	dl.hyou {
		border-bottom: 1px solid #808080;
		font-size: 14px;
		margin: 2em auto 3em auto;
		text-align: center;
		width: 100%;
	}
	dl.hyou dt {
		border-top: 1px solid #808080;
		float: left;
		clear: left;
		font-weight: bold;
		line-height: 1.8;
		margin: 0;
		padding: 0.75em 0;
		text-align: left;
		width: 13em;
	}
	dl.hyou dt.line, dl.hyou dd.line {
		border-top: 3px solid #808080;
	}
	dl.hyou dd {
		border-top: 1px solid #808080;
		letter-spacing: 0.1em;
		line-height: 1.8;
		margin: 0 0 0 13em;
		padding: 0.75em 0;
		text-align: left;
	}
	dl.hyou dd strong {
		font-weight: bold;
	}
}
	
	
/*　表 - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	
	ul.list-member {
	  text-align: center;
	}
	ul.list-member li {
	  text-align: left;
		color: #595757;
		font-size: 0.9em;
		margin-bottom: 4em;
	}
	ul.list-member li div {
	  text-align: center;
		margin: 0 auto 20px auto;
	}
	ul.list-member li img {
		text-align: center;
		min-width: 260px;
		max-width: 100%;
	}
	.list-member dl {
		font-size: 1.0em;
		margin: 0 auto 1em auto;
		text-align: left;
	}
	.list-member dl dt {
		font-size: 1.8em;
		font-weight: 700;
		line-height: 1;
		margin: 0;
		padding: 0.75em 0;
		text-align: left;
		_width: 15em;
		color: #333333;
	}
	.list-member dl dt span {
		font-size: 0.5em;
		padding-bottom: 2em;
	}
	.list-member dl dt.reki {
		font-size: 1.0em;
		font-weight: 400;
		line-height: 1.8;
	}
	.list-member dl dd {
		font-size: 1.0em;
		letter-spacing: 0.1em;
		line-height: 1.8;
		padding: 0.5em 0;
		text-align: left;
		color: #333333;
	}
	.list-member dl dd span {
		font-size: 0.9em;
	}
	
	ul.list-service {
	  text-align: center;
	}
	ul.list-service li {
	  text-align: left;
		color: #595757;
		font-size: 0.9em;
		margin-bottom: 4em;
	}
	ul.list-service li div {
	  text-align: center;
		margin: 30px auto 20px auto;
	}
	ul.list-service li img {
		text-align: center;
		width: 72px;
		height: 72px;
	}
	.list-service dl {
		font-size: 1.1em;
		margin: 0 auto 1em auto;
		_width: 80%;
		text-align: left;
		_min-width: 800px;
		_border-bottom: 1px solid #ccc;
	}
	.list-service dl dt {
		font-size: 1.2em;
		line-height: 1.8;
		margin: 0;
		padding: 0.75em 0;
		text-align: center;
		font-weight: 700;
		color: #333333;
	}
	.list-service dl dd {
		_border-top: 1px solid #ccc;
		letter-spacing: 0.1em;
		line-height: 1.8;
		_margin: 0 0 0 15em;
		padding: 0.75em 0;
		text-align: left;
		color: #333333;
	}
	dl.hyou {
		border-bottom: 1px solid #2a2625;
		font-size: 12px;
		margin: 2em auto 2em auto;
		text-align: center;
		width: 100%;
	}
	dl.hyou dt {
		border-top: 1px solid #2a2625;
		clear: both;
		font-weight: normal;
		line-height: 1.8;
		font-size: 9px;
		margin: 0;
		padding: 1.0em 0 0 0;
		text-align: left;
	}
	dl.detail dt {
		_padding: 0.5em 0.5em 0 0.5em;
		font-weight: bold;
	}
	dl.hyou dd {
		border-top: none;
		letter-spacing: 0.1em;
		line-height: 1.8;
		font-size: 12px;
		margin: 0;
		padding: 0 0 0.65em 0;
		text-align: left;
	}
	
	dl.hyou dt.line, dl.hyou dd.line, dl.detail dt.line, dl.detail dd.line {
		border-top: 3px solid #808080;
	}
}

.btnbiz {
    background-color: #302e2a;
    color: #fff;
    font-size: 14px;
    margin: 3em auto;
    padding: 0.5em;
    text-align: center;
    vertical-align: middle;
    width: 60%;
}
.btnbiz a {
    color: #fff;
}
	
.post-product dl {
	border-bottom: none;
	font-size: 14px;
	margin: 2em auto 0;
	text-align: center;
	width: 100%;
}
.post-product dl dt {
	border-top: none;
	clear: both;
	font-weight: normal;
	line-height: 1.8;
	margin: 0;
	padding: 0.75em 0;
	text-align: left;
	width: 15em;
}
.post-product dl dd {
	border-top: none;
	letter-spacing: 0.1em;
	line-height: 1.8;
	margin: 0;
	padding: 0.75em 0;
	text-align: left;
}


/*　パララックス
---------------------------------------------------- */
.img {
	background-position: center bottom;
	height: 100vh;
}

/*　メインイメージ - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 961px) {
@-webkit-keyframes fadeIn {
    0% {
        filter: alpha(opacity=0);
        -moz-opacity: 0;
        opacity: 0;
		background-size: 120%;
		background-position: center 50%;
    }
    100% {
        filter: alpha(opacity=100);
        -moz-opacity:  1;
        opacity: 1;
		background-size: 100%;
		background-position: center 50%;
    }
}
@-webkit-keyframes fadeInStandard {
    0% {
        filter: alpha(opacity=0);
        -moz-opacity: 0;
        opacity: 0;
		background-size: 100%;
		background-position: center 50%;
    }
    100% {
        filter: alpha(opacity=100);
        -moz-opacity:  1;
        opacity: 1;
		background-size: 100%;
		background-position: center 20%;
    }
}

@-webkit-keyframes fadeInH2 {
    0% {
        filter: alpha(opacity=0);
        -moz-opacity: 0;
        opacity: 0;
    }
    40% {
        filter: alpha(opacity=40);
        -moz-opacity: 0.4;
        opacity: 0.4;
    }
    100% {
        filter: alpha(opacity=100);
        -moz-opacity:  1;
        opacity: 1;
    }
}

@-webkit-keyframes fadeInP {
    0% {
		filter: alpha(opacity=0);
		-moz-opacity: 0;
		opacity: 0;
    }
    60% {
        filter: alpha(opacity=0);
        -moz-opacity: 0;
        opacity: 0;
		transform: translateY(30px);
		-moz-transform: translateY(30px);
		-webkit-transform: translateY(30px);
		-ms-transform: translateY(30px);
    }
    100% {
		filter: alpha(opacity=100);
		-moz-opacity:  1;
		opacity: 1;
		transform: translateY(0);
		-moz-transform: translateY(0);
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
    }
}
}



/*　メインイメージ - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	#home .img1 {
		background-image: url(../../../common/images/img_main.jpg);
		background-size: cover;
		_background-size: 100%;
		background-position: center 50%;
		height: 100%;
		-webkit-animation-name: fadeIn;
		-webkit-animation-duration: 8s;
		_padding-bottom: 100px;
	}
	.img1 .main h2 {
		-webkit-animation-name: fadeInH2;
		-webkit-animation-duration: 8s;
	}
	.img1 .main p,
	.img1 .main .hover_cover_inner {
		-webkit-animation-name: fadeInP;
		-webkit-animation-duration: 8s;
	}
	
	#company .img1,
	#vision .img1,
	#service .img1,
	#recruit .img1,
	#contact .img1,
	#member .img1 {
		background: url(../../../common/images/img_standard.jpg);
		background-size: cover;
		background-position: center 20%;
		height: 60%;
		-webkit-animation-name: fadeInStandard;
		-webkit-animation-duration: 8s;
	}
	.img1 .overray {
		position: absolute;
		width: 100%;
		height: 60%;
		top: 0%;
		background: rgba(0, 0, 0, 0.25) none no-repeat scroll 0 0;
	}
	#home .img1 .overray {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0%;
		background: rgba(0, 0, 0, 0.25) none no-repeat scroll 0 0;
	}
	
}

/*　メインイメージ - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	#home .img1 {
		background-image: url(../../../common/images/img_main.jpg);
		background-size: cover;
		background-position: center 50%;
		-webkit-animation-name: fadeIn;
		-webkit-animation-duration: 8s;
		height: 100%;
	}
	.img1 .main h2 {
		-webkit-animation-name: fadeInH2;
		-webkit-animation-duration: 8s;
		width: 55%;
	}
	.img1 .main p,
	.img1 .main .hover_cover_inner {
		-webkit-animation-name: fadeInP;
		-webkit-animation-duration: 8s;
	}
	
	#company .img1,
	#vision .img1,
	#service .img1,
	#recruit .img1,
	#contact .img1,
	#member .img1 {
		background: url(../../../common/images/img_standard.jpg) no-repeat center center;
		background-size: cover;
		background-position: center 20%;
		height: 60%;
		-webkit-animation-name: fadeInStandard;
		-webkit-animation-duration: 8s;
	}
	.img1 .overray {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0%;
		background: rgba(0, 0, 0, 0.25) none no-repeat scroll 0 0;
	}
	#home .img1 .overray {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0%;
		background: rgba(0, 0, 0, 0.25) none no-repeat scroll 0 0;
	}
	
}


.img-inner {
	background: rgba(0, 0, 0, 0.2) none no-repeat scroll 0 0;
	height: 100%;
}

.background {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	_overflow: scroll;
	-webkit-overflow-scrolling: touch;
}
.prlx {
	height: 100%;
}

/*　パララックス - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	.images {
		margin: auto;
		text-align: center;
		width: 100%;
	}
	.prlx_ > div,
	.img > div {
		position:  relative;
		text-align: center;
		_top: 50%;
		_transform: translateY(-5em);
	}
	_.img1 > div {
		position:  relative;
		text-align: center;
		top: 35%;
		transform: translateY(0em);
	}
	.img1 + div {
		position:  relative;
		text-align: center;
		top: 35%;
		transform: translateY(0em);
	}
	#home .overray > div {
		position:  relative;
		text-align: center;
		top: 38%;
		transform: translateY(-5em);
	}
	.overray > div {
		position:  relative;
		text-align: center;
		top: 45%;
		transform: translateY(-5em);
	}
	
	.img-inner > div {
		position:  relative;
		top: 22%;
		_max-width: 940px;
		_min-width: 800px;
		max-width: 1400px;
    	padding: 0 40px;
		margin: auto;
		text-align: left;
	}
	
	.main {
		margin: 0 auto 0 auto;
		text-align: left;
    padding: 0 40px;
	}
	.img1 .main {
		margin: 0em auto 0 auto;
		text-align: left;
		width: 45%;
    padding: 0 40px;
	}
	.img1 .main h2 {
		margin: 0 auto;
		width: 70%;
		text-align: center;
		vertical-align: middle;
	}
	.img1 .main h2 img {
		opacity: 0.8;
	}
	#home .img1 .main h2 {
		margin: 0 auto;
		width: 60%;
		text-align: center;
		vertical-align: middle;
	}
	.img1 .main p {
		margin: 2em auto 2em auto;
		width: 80%;
		height: 80%;
		text-align: center;
		vertical-align: middle;
		display: block;
	}
	.img1 .main h2 img,
	.img1 .main p img {
		width: 100%;
		height: 100%;
	}
	.img1 .main .hover_cover_inner {
		margin: 1em auto 0 auto;
	}
	.img2 h2, .img4 h2, .img5 h2  {
		margin: 0 auto 0 auto;
		width: 60%;
		text-align: center;
		vertical-align: middle;
    font-family: 'Futura-Normal';
		font-weight: 700;
		letter-spacing: 0.05em;
		font-size: 3.0em;
		padding: 0;
		border: none;
		line-height: 2.1;
		color: #fff;
	}
	.img2 h3, .img4 h3, .img5 h3 {
    	font-family: 'Futura-Normal';
		font-weight: 700;
		letter-spacing: 0.03em;
		font-size: 1.2em;
		text-align: center;
		margin-bottom: 0;
		color: #fff;
	}
	.img2 h2 img, .img4 h2 img, .img5 h2 img {
		height: 50%;
	}
	
	.main h2 {
		font-family: 'Din-Medium';
		font-weight: 700;
		letter-spacing: 0.05em;
		font-size: 32px;
		_padding: 0 0 70px 0;
		padding: 1em 0;
		margin-bottom: 2em;
		text-align: center;
		border: none;
    	letter-spacing: 3px;
    	text-align: center;
    	text-indent: -3px;
	}
	.main h3 {
		font-family: 'Din-Medium';
		font-weight: 700;
		letter-spacing: 0.03em;
		font-size: 18px;
		padding: 60px 0;
		text-align: center;
		margin-bottom: 0em;
	}
	.main h2 + h3 {
		padding-top: 0;
	}
	#access .main h3 {
		padding: 0;
	}
	.main h4 {
		font-weight: bold;
		letter-spacing: 0.03em;
		font-size: 14px;
	}
	.main h4.tel {
		font-family: 'Din-Medium';
		font-weight: 700;
		letter-spacing: 0.05em;
		font-size: 32px;
		font-style: italic;
		text-align: center;
		margin-bottom: 2em;
	}
	.main h4.tel span {
		font-size: 14px;
		font-style: normal;
	}
	.main p {
	    font-size: 14px;
		line-height: 2;
		letter-spacing: 0.1em;
		text-align: center;
		margin-bottom: 1em;
	}
	.row {
		max-width: 940px;
		min-width: 800px;
		text-align: center;
		margin: 0 auto 0 auto;
		padding-top: 2em;
	}
}



/*　パララックス - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	.images {
		margin: auto;
		text-align: center;
		width: 100%;
	}
	.prlx_ > div,
	.img > div {
	    position: relative;
    	text-align: left;
	}
	.img1 {
		position:  relative;
		top: 0%;
	}
	_.img1 > div {
		position:  relative;
		text-align: center;
		top: 20%;
		transform: translateY(0em);
	}
	.img1 + div {
		position:  relative;
		text-align: center;
		top: 20%;
		transform: translateY(0em);
	}
	#access .main {
		margin-top: 6em;
		padding-top: 6em;
		margin-bottom: 2em;
		border-top: none;
	}
	
	.main {
		margin: 0 auto 0 auto;
		text-align: left;
	}
	#home .overray > div {
		position: relative;
		text-align: center;
		top: 35%;
		width: 100%;
		transform: translateY(-5em);
	}
	.overray > div {
		position: relative;
		text-align: center;
		top: 38%;
		transform: translateY(-5em);
	}
	.img-inner > div {
		margin: auto;
		padding: 20px;
		_position: relative;
		text-align: left;
		_top: 22%;
	}
	.img1 h2 {
		margin: 0 auto;
		width: 50%;
		text-align: center;
		vertical-align: middle;
	}
	
	.main h2 {
		font-weight: 700;
		letter-spacing: 0.05em;
		font-size: 32px;
		_padding: 0 0 70px 0;
		padding: 1em 0;
		margin-bottom: 0;
		text-align: center;
		border: none;
    	letter-spacing: 3px;
    	text-align: center;
    	text-indent: -3px;
	}
	.main h3 {
		font-weight: 700;
		letter-spacing: 0.03em;
		font-size: 18px;
		padding: 60px 0;
		text-align: center;
		margin-bottom: 0em;
	}
	.main h2 + h3 {
		padding-top: 0;
	}
	
	.img1 .main p {
		font-size: 11px;
		line-height: 2.6;
		color: #fff;
		font-weight: bold;
		letter-spacing: 0;
		margin-bottom: 2em;
	}
	.img2 .main p {
		font-size: 1.2em;
		line-height: 2;
		color: #fff;
		font-weight: bold;
	}
	.main h4 {
		font-weight: bold;
		letter-spacing: 0.03em;
		font-size: 14px;
	}
	.main h4.tel {
		font-weight: 700;
		letter-spacing: 0.05em;
		font-size: 32px;
		font-style: italic;
		text-align: center;
		margin-bottom: 2em;
	}
	.main h4.tel span {
		font-size: 14px;
		font-style: normal;
	}
	.main p {
		font-size: 12px;
		line-height: 2.4;
		letter-spacing: 0.05em;
		text-align: center;
	}
	.s2 .main p {
		text-align: left;
	}
	.row {
		width: 320px;
		text-align: center;
		margin: 0 auto 6em auto;
	}
	.s1 .row {
		width: 100%;
		text-align: center;
		margin: 0 auto 0 auto;
	}
	#next_btn {
		background-color: #333;
		position: absolute;
		right: 16%;
		bottom: 7%;
	}
	
}


/*　COLUM - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	.photo {
    display: flex;
    flex-wrap: wrap;
		margin: 4em 0 0 0;
	}
	
	.block-two,
	.block-three,
	.block-four,
	.block-five,
	.block-six {
		display: flex;
		flex-wrap: wrap;
		list-style: outside none none;
		margin-bottom: 0;
		margin-left: -3.19149%;
	}
	.block-two {
		display: flex;
		flex-wrap: wrap;
		list-style: outside none none;
		margin-bottom: 0;
		margin-left: -5%;
	}
	.block-two::after,
	.block-three::after,
	.block-four::after,
	.block-five::after,
	.block-six::after {
		clear: both;
		content: ".";
		display: block;
		height: 0;
		visibility: hidden;
	}
	.block-two > li {
    	width: 46.8085%;
	}
	.block-two > li {
    	width: 45.0%;
	}
	.block-three > li {
		width: 30.1418%;
	}
	.block-four > li {
		width: 23.80851063829787%;
	}
	.block-two > li, .block-three > li, .block-four > li, .block-five > li, .block-six > li {
		float: left;
		height: auto;
		margin-bottom: 1.5em;
		margin-left: 3.19149%;
	}
	.block-two > li {
		float: left;
		height: auto;
		margin-bottom: 1.5em;
		margin-left: 5.0%;
	}
	.block-three > li {
		float: left;
		height: auto;
		margin-bottom: 1.5em;
		margin-left: 3.19149%;
	}
	.block-four > li {
		float: left;
		height: auto;
		margin-bottom: 1.5em;
		margin-left: 1.19149%;
	}
	li.item {
		background-color: rgba(255, 255, 255, 0.9);
		height: 100%;
		margin-bottom: 1em;
		text-align: left;
	}
	.item-img {
		overflow: hidden;
		text-align: center;
	}
	.item-img img {
		height: auto;
		transition: all 0.25s ease-in-out 0s;
		vertical-align: bottom;
		width: 100%;
	}
	a:hover .item-img > img {
		transform: scale(1.15, 1.15);
		opacity: 0.8;
	}
	.photo dl {
		margin: 0 auto;
		padding: 20px 0;
		text-align: center;
	}
	.photo dl dt {
		font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif,"Futura-Normal";
		font-size: 12px;
		font-weight: bold;
		letter-spacing: 0.1em;
		line-height: 2.1;
		margin: 0 0 0.5em 0;
		padding: 0;
		text-align: left;
		width: 100%;
	}
	.photo dl dt.post-title {
		text-align: center;
	}
	.photo dl dd.post-text {
		font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif,"Futura-Normal";
		font-size: 11px;
		letter-spacing: 0.1em;
		line-height: 2;
		margin: 0;
		padding-bottom: 0.5em;
		text-align: left;
		width: 100%;
		min-height: 28em;
	}
	.photo dl dd.post-text strong {
		text-decoration: underline;
	}
	.photo dl dd.post-price {
		font-family: "Futura-Normal";
		font-size: 12px;
		letter-spacing: 0.1em;
		line-height: 1.6;
		text-align: right;
		font-weight: bold;
		width: 100%;
		margin: 0;
	}
	.photo dl dd.post-price strong {
		font-size: 18px;
		font-weight: bold;
		padding-bottom: 0.2em;
	}
	.photo dl, 
	.photo dl dt,
	.photo dl dd {
		border: none;
	}
}

/*　COLUM - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	.photo {
		display: flex;
		flex-wrap: wrap;
		margin-top: 3em;
	}
	
	.block-three {
		display: flex;
		flex-wrap: wrap;
		list-style: outside none none;
		margin-bottom: 0;
		_margin-left: -3.19149%;
		margin-left: 0;
	}
	.block-two::after {
		clear: both;
		content: ".";
		display: block;
		height: 0;
		visibility: hidden;
	}
	.block-three > li {
		width: 100%;
	}
	.block-three > li {
		float: left;
		clear: both;
		height: auto;
		margin-bottom: 1.5em;
		_margin-left: 3.19149%;
		margin-left: 0;
	}
	li.item {
		background-color: rgba(255, 255, 255, 0.9);
		height: 100%;
		margin-bottom: 30px;
		text-align: left;
	}
	.item-img {
		overflow: hidden;
		text-align: center;
	}
	.item-img img {
		height: auto;
		transition: all 0.25s ease-in-out 0s;
		vertical-align: bottom;
		width: 100%;
	}
	a:hover .item-img > img {
		transform: scale(1.15, 1.15);
		opacity: 0.8;
	}
	.photo dl {
		margin: 0 auto;
		padding: 20px 0;
		text-align: center;
	}
	.photo dl dt {
		font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif,"Futura-Normal";
		font-size: 12px;
		font-weight: bold;
		letter-spacing: 0.1em;
		line-height: 2.1;
		margin: 0 0 0.5em 0;
		padding: 0;
		text-align: left;
		width: 100%;
	}
	.photo dl dt.post-title {
		text-align: center;
		margin-bottom: 1em;
		font-family: "Futura-Normal","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 14px;
	}
	.photo dl dd.post-text {
		font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif,"Futura-Normal";
		font-size: 10px;
		letter-spacing: 0.1em;
		line-height: 2;
		margin: 0;
		padding-bottom: 0.5em;
		text-align: center;
		width: 100%;
	}
	.photo dl dd.post-text span {
		font-weight: bold;
	}
	.photo dl dd.post-text strong {
		text-decoration: underline;
	}
	.photo dl dd.post-price {
		font-family: "Futura-Normal";
		font-size: 12px;
		letter-spacing: 0.1em;
		line-height: 1.6;
		text-align: center;
		font-weight: bold;
		width: 100%;
		margin: 0;
	}
	.photo dl dd.post-price strong {
		font-size: 18px;
		font-weight: bold;
		padding-bottom: 0.2em;
	}
	.photo dl, 
	.photo dl dt,
	.photo dl dd {
		border: none;
	}
}	

.inviewfadeIn {
	opacity: 0;
	transition: .5s;
}
.fadeIn {
	opacity: 1.0;
}
.inviewUp {
	transform: translate(0, 100px);
	-webkit-transform: translate(0, 100px);
	transition: .5s;
}
.Up {
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}
.inviewfadeInUp {
	opacity: 0;
	transform: translate(0, 100px);
	-webkit-transform: translate(0, 100px);
	transition: .5s;
}
.fadeInUp {
	opacity: 1.0;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}
.inviewzoomIn {
	transform: scale(0, 0);
	-webkit-transform: scale(0, 0);
	transition: .5s;
}
.zoomIn {
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
}







/* hover
-------------------------------------------------- */
.hover_wrap {
  position: relative;
  overflow: hidden;
}

.hover_wrap .hover_cover {
  filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#E6ffffff,EndColorStr=#E6ffffff);
  -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#E6ffffff,EndColorStr=#E6ffffff)";
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  left: 0;
  top: 0;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  transform: translateY(-40px);
  -moz-transform: translateY(-40px);
  -webkit-transform: translateY(-40px);
  -ms-transform: translateY(-40px);
}

.hover_wrap .hover_cover * {
  _color: #fff;
  _color: #063156;
  text-align: center;
}

.hover_wrap .hover_cover * span {
  display: block;
}

.hover_wrap .hover_cover * .move_element {
  opacity: 0;
  transform: translateY(-60px);
  -moz-transform: translateY(-60px);
  -webkit-transform: translateY(-60px);
  -ms-transform: translateY(-60px);
  transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -webkit-transition: all 0.1s ease;
  -ms-transition: all 0.1s ease;
}

_.hover_wrap .hover_cover * .move_element:nth-of-type(1) {
  transition-delay: 0.1s;
  -moz-transition-delay: 0.1s;
  -webkit-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  -ms-transition-delay: 0.1s;
}

_.hover_wrap .hover_cover * .move_element:nth-of-type(2) {
  transition-delay: 0.2s;
  -moz-transition-delay: 0.2s;
  -webkit-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  -ms-transition-delay: 0.2s;
}

.hover_wrap .hover_cover * .en {
  font-family: 'Avenir Bold';
  letter-spacing: 0.1em;
}

.hover_wrap .hover_cover .btn.move_element {
  opacity: 0;
  transform: translateY(60px);
  -moz-transform: translateY(60px);
  -webkit-transform: translateY(60px);
  -ms-transform: translateY(60px);
  transition-delay: 0.3s;
  -moz-transition-delay: 0.3s;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  -ms-transition-delay: 0.3s;
}

.hover_wrap .hover_cover:not(:target) {
  filter: none;
  -ms-filter: none;
}

.hover_wrap:hover .hover_cover,
.hover_wrap.hover .hover_cover {
  opacity: 1;
  transform: translateX(0px);
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
}

.hover_wrap:hover .hover_cover .en,
.hover_wrap:hover .hover_cover .jp,
.hover_wrap.hover .hover_cover .en,
.hover_wrap.hover .hover_cover .jp {
  opacity: 1;
  transform: translateX(0px);
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
}

.hover_wrap:hover .hover_cover .btn,
.hover_wrap.hover .hover_cover .btn {
  opacity: 1;
  transform: translateX(0px);
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
}

@media only screen and (min-width: 751px) {
  .hover_wrap .hover_cover .en {
    letter-spacing: 2px;
  }
}

/* -----------------------------------------------
 [section_wrap]
-------------------------------------------------- */
.section_wrap .section_title {
  text-align: center;
  font-family: 'Avenir Bold';
  letter-spacing: 0.1em;
  color: #333;
  letter-spacing: 3px;
  text-indent: -3px;
}


  .section_wrap .section_title {
    font-size: 15px;
    padding-top: 32px;
    padding-bottom: 32px;
  }
  .hover_wrap .hover_cover a {
  color: #fff;
  text-align: center;
  }
  #document .btn a {
  _color: #333;
  }
  .hover_cover_inner .btn a {
  color: #fff;
  }
  #document .btn a:hover {
  color: #222;
  }
  #document .img1 .main .hover_cover_inner .btn a {
  color: #fff;
  }
  .bt .btn a,
  .bt .btn a:hover,
  #document .img1 .main .hover_cover_inner .btn a:hover {
  color: #222;
  }
  #document .btb a {
  color: #fff;
  background-color: #333;
  }
  #document .btb a:hover {
  color: #ddd;
  opacity: 0.8;
  }

@media only screen and (max-width: 750px) {
  .btn > * , .bnb > *  {
    font-size: 12px;
  }
}

	
/*　CONTAINER - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	.container .main {
		width: 680px;
		margin: 100px auto 140px auto;
		max-width: 940px;
    	padding: 0 40px;
	}
	.container .main h2 {
		color: #1a1311;
		font-size: 2.1em;
		text-align: center;
		font-family: "ヒラギノ角ゴ Pro W1","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif,'Din-Medium';
		font-weight: normal;
		letter-spacing: 0.025em;
		margin-bottom: 3em;
    	padding: 0;
	}
	.container .main h3,
	.container .maincol h3 {
		color: #1a1311;
		font-size: 14px;
		text-align: left;
		font-family: 'Din-Medium';
		font-weight: 700;
		letter-spacing: 0.05em;
		margin-bottom: 3em;
    	padding: 0;
	}
	.container .main > p {
		color: #302e2a;
		font-size: 14px;
		text-align: left;
		letter-spacing: 0.025em;
		margin-bottom: 1em;
    	padding: 0;
		line-height: 2.2;
	}
	.container .main p span {
		font-size: 21px;
		font-weight: bold;
	}
	
	.container .maincol {
		_width: 920px;
		margin: 0 auto 140px auto;
		max-width: 1400px;
    	padding: 0 40px;
		text-align: center;
		clear: both;
	}
	.container .maincol h2 {
		color: #302e2a;
		font-size: 36px;
		text-align: left;
		letter-spacing: 0;
		margin-bottom: 0.25em;
    	padding: 0;
	}
	.container .maincol-right h3 {
		color: #302e2a;
		font-size: 18px;
		text-align: left;
		font-family: 'Din-Medium';
		font-weight: bold;
		letter-spacing: 0.05em;
		margin: 4em 0 2em 0;
    	padding: 0;
	}
	.container .maincol .maincol-right > p {
		margin-top: 3em;
	}
	.container .maincol p,
	.staff-right p {
		color: #302e2a;
		font-size: 16px;
		text-align: left;
		letter-spacing: 0.025em;
		margin-bottom: 0;
    	padding: 0;
		line-height: 2.2;
	}
	.container .maincol p.cla {
		border: 2px double #666;
		padding: 20px;
		font-size: 14px;		
	}
	
	.maincol-right p.writer {
		color: #302e2a;
		font-size: 16px;
		text-align: right;
		letter-spacing: 0.025em;
		margin-top: 2em;
    	padding: 0;
		line-height: 2.2;
	}
	.maincol-right p.writer img {
		width: 220px;
	}
	.container .maincol ul,
	.container .maincol ol {
		color: #302e2a;
    	padding: 0;
	}
	.container .maincol ul li {
		font-size: 16px;
		line-height: 1.8;
		list-style-type: circle;
		list-style-position: inside;
    	padding-left: 1em; /*1em（1文字）分、右に動かす*/
    	text-indent: -1em; /*最初の行だけ1em（1文字）分、左に動かす*/
	}
	.container .maincol ol li {
		font-size: 16px;
		line-height: 1.8;
		list-style: none;
	}
	.maincol-left {
		float: left;
		width: 26%;
	}
	.maincol-right{
		float: right;
		_margin-left: 26%;
		width: 70%;
		text-align: left;
	}
	
}

/*　CONTAINER - 画面サイズが750pxまではここを読み込む
---------------------------------------------------- */
@media only screen and (max-width: 750px) {
	.container .main {
		margin: 30px auto 70px auto;
    	padding: 0 20px;
	}
	.container .main h2 {
		color: #302e2a;
		font-size: 28px;
		text-align: left;
		font-family: 'Din-Medium';
		font-weight: 400;
		letter-spacing: 0.01em;
		margin-bottom: 0.25em;
    padding: 0;
	}
	.container .main h2.jpn {
		color: #302e2a;
		font-size: 18px;
		text-align: left;
		font-family: 'Din-Medium';
		font-weight: 400;
		letter-spacing: 0.01em;
		margin-bottom: 0.25em;
    padding: 0;
		margin-bottom: 2em; 
	}
	.container .main h3,
	.container .maincol h3 {
		color: #9b9b9b;
		font-size: 12px;
		text-align: left;
		font-family: 'Din-Medium';
		letter-spacing: 0.05em;
		margin-bottom: 3em;
    padding: 0;
	}
	_.container .maincol-left h3 {
		text-decoration: underline;
	}
	.container .main > p {
		color: #302e2a;
		font-size: 12px;
		text-align: left;
		letter-spacing: 0.025em;
		margin-bottom: 0;
    	padding: 0;
		line-height: 2.2;
		font-weight: normal;
	}
	.container .main p span {
		font-family: 'Din-Medium';
		font-size: 16px;
	}
	
	.container .maincol {
		margin: 30px auto 70px auto;
    	padding: 0 20px;
		text-align: center;
		clear: both;
	}
	.container .maincol h2 {
		color: #302e2a;
		font-size: 21px;
		text-align: left;
		font-family: 'Din-Medium';
		letter-spacing: 0.05em;
		margin-bottom: 0.25em;
    	padding: 0;
	}
	.container .maincol-right h3:first-child {
		margin: 2em 0 1em 0;
	}
	.container .maincol-right h3 {
		color: #302e2a;
		font-size: 14px;
		text-align: left;
		font-family: 'Futura-Bold';
		font-weight: bold;
		letter-spacing: 0.05em;
		margin: 4em 0 2em 0;
    	padding: 0;
		text-decoration: underline;
	}
	.container .maincol p,
	.staff-right p {
		color: #302e2a;
		font-size: 12px;
		text-align: left;
		letter-spacing: 0.025em;
		margin-bottom: 0;
    	padding: 0;
		line-height: 2.2;
	}
	
	.maincol-right p.modal-trigger {
		margin-top: 1em;
	}
	.maincol-right p.writer {
		color: #302e2a;
		font-size: 12px;
		text-align: right;
		letter-spacing: 0.025em;
		margin-top: 2em;
    	padding: 0;
		line-height: 2.2;
	}
	.maincol-right p.writer img {
		width: 220px;
	}
	.container .maincol p.cla {
		border: 2px double #666;
		font-size: 12px;
		line-height: 1.6;
		padding: 20px;
	}
	.container .maincol ul,
	.container .maincol ol {
		color: #302e2a;
    	padding: 0;
	}
	.container .maincol ul li {
		font-size: 12px;
		line-height: 1.8;
		list-style-type: circle;
		list-style-position: inside;
    	padding-left: 1em; /*1em（1文字）分、右に動かす*/
    	text-indent: -1em; /*最初の行だけ1em（1文字）分、左に動かす*/
	}
	.container .maincol ol li {
		font-size: 12px;
		line-height: 1.8;
		list-style: none;
	}
	.maincol-left {
		clear: both;
		width: 100%;
	}
	.maincol-right {
		clear: both;
		_margin-left: 26%;
		width: 100%;
		text-align: left;
	}
	.maincol-right img {
		width: 100%;
	}

	.staff-inner {
		clear: both;
		margin-bottom: 5em;
	}
	.staff-left {
		clear: both;
		margin-bottom: 3em;
	}
	.staff-left img {
		_border: 5px solid #222;
		width: 100%;
	}
	.staff-left div.img-staff {
		position: relative;
	}
	.staff-right {
		clear: both;
		text-align: left;
		margin-bottom: 3em;
	}
	.container .maincol .staff-left h3 {
		position: absolute;
		bottom: 15px;
		left: 0;
		color: #fff;
		font-size: 10px;
		text-align: left;
		font-family: 'Futura-Medium';
		font-weight: bold;
		letter-spacing: 0.05em;
		_margin: 2em 0 2em 0;
    	padding: 0.5em 0.5em 0.5em 0.75em;
		background-color: #302e2a;
	}
	.container .maincol .staff-left h3 span {
		font-style: italic;
		padding-bottom: 0.25em;
	}
	.staff-left h4 {
		position: absolute;
		bottom: 10px;
		left: 0;
		color: #fff;
		font-size: 12px;
		text-align: left;
		font-family: 'Futura-Medium';
		font-weight: bold;
		letter-spacing: 0.05em;
		margin: 0;
    	padding: 0.5em 0.5em;
		background-color: #302e2a;
	}
	.staff-left h4 span {
		font-size: 8px;
		padding-bottom: 0.25em;
	}
	.staff-right h4 {
		color: #302e2a;
		font-size: 14px;
		text-align: left;
		font-family: 'Futura-Bold';
		font-weight: bold;
		letter-spacing: 0.05em;
		margin: 0em 0 2em 0;
    	padding: 0;
	}
	.staff-right h4:nth-of-type(2) {
		margin: 2em 0 2em 0;
	}
	#model h4 {
		margin-top: 1em;
		font-weight: bold;
		text-decoration: underline;
	}
	.model-left,
	.model-right {
		clear: both;
		width: 100%;
	}
	.model-left {
		margin-bottom: 2em;
	}
	.model-left dl dd,
	.model-right dl dd {
		text-align: right;
	}
	#model p {
		clear: both;
		font-size: 10px;
		line-height: 1.6;
		margin-top: 1em;
		display: inline-block;
	}
}

	.container {
		margin: auto;
		text-align: center;
	}

	#model {
		clear: both;
	}
	

/*　パンくず - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	#hd-topicpath {
		padding: 1.25em 40px;
	}
	#ft-topicpath {
		padding: 1.5em 0;
	}
	nav.topicpath {
		font-size: 14px;
	}
	nav.topicpath ol {
		_letter-spacing: -0.4em;
	}
	nav.topicpath ol li {
		display: inline-block;
		font-family: 'Din-Medium';
		line-height: 1.2;
		white-space: nowrap;
	}
	nav.topicpath ol .ja {
		_font-weight: 700;
	}
	nav.topicpath ol li > span {
		color: #ccc;
	}
	nav.topicpath ol li > span::before {
		content: "/";
		display: inline-block;
		font-family: 'Din-Medium';
		padding: 0 0.5em;
	}
	nav.topicpath ol li:first-child > span::before {
		display: none;
	}
}

@media only screen and (max-width: 750px) {
	#hd-topicpath {
		padding: 1.0em 20px;
	}
	#ft-topicpath {
		padding: 0;
	}
	nav.topicpath {
		font-size: 11px;
	}
	nav.topicpath ol {
		_letter-spacing: -0.4em;
	}
	nav.topicpath ol li {
		display: inline-block;
		font-family: 'Din-Medium';
		line-height: 1.2;
		white-space: nowrap;
	}
	nav.topicpath ol .ja {
		_font-weight: 700;
	}
	nav.topicpath ol li > span {
		color: #ccc;
	}
	nav.topicpath ol li > span::before {
		content: "/";
		display: inline-block;
		font-family: 'Din-Medium';
		padding: 0 0.5em;
	}
	nav.topicpath ol li:first-child > span::before {
		display: none;
	}
}


/*　 - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
	.flow--element {
		background: #33bad2 none repeat scroll 0 0;
		color: #fff;
		height: 180px;
		margin-bottom: 40px;
		position: relative;
		text-align: center;
		width: 100%;
	}
	.flow--element .flow--text {
		margin-top: -16px;
	}
	.flow--element .flow--text > span {
		display: block;
		font-size: 1.3rem;
		margin-bottom: 4px;
	}
	.flow--element .flow--text > b {
		font-size: 2.1rem;
	}
	.flow--element .flow--text > i {
		font-size: 1.5rem;
	}
	.flow--number {
		color: #000;
		display: block;
		float: left;
		position: relative;
		text-align: center;
		width: 20px;
		min-width: 130px;
	}
	.flow--number_inner {
		background: #f3f3f3 none repeat scroll 0 0;
		display: table-cell;
		height: 140px;
		padding-top: 0.5em;
		vertical-align: middle;
		width: 120px;
	}
	.container .maincol .flow--number_inner p {
		text-align: center;
	}
	.flow--number_inner > span {
		display: block;
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.flow--number_inner > p {
		font-size: 32px;
		font-weight: bold;
		font-family: 'Futura-Bold';
	}
	.media.media-flow .media-flow--heading {
		color: #000;
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 21px;
		padding-top: 1px;
	}
	.media.media-flow .media-flow--explain {
		font-size: 14px;
		line-height: 2.15;
	}
	.b_after {
		background: #f3f3f3 none repeat scroll 0 0;
		color: #000;
		line-height: 2;
		padding: 20px;
		margin-bottom: 30px;
		text-align: center;
		clear: both;
		border: 2px double #666;
	}
	.b_after--heading {
		font-size: 1.2rem;
		letter-spacing: 2px;
		_margin-right: 40px;
	}
	.flow--item::before, .flow--item::after {
		border-left: 60px solid transparent;
		border-right: 60px solid transparent;
		content: "";
		left: 0;
		position: absolute;
	}
}



@media only screen and (max-width: 750px) {
	.flow--element {
		background: #33bad2 none repeat scroll 0 0;
		color: #fff;
		height: 180px;
		margin-bottom: 40px;
		position: relative;
		text-align: center;
		width: 100%;
	}
	.flow--number {
		color: #000;
		display: block;
		float: left;
		position: relative;
		text-align: center;
		width: 20px;
		min-width: 90px;
	}
	.flow--number_inner {
		background: #f3f3f3 none repeat scroll 0 0;
		display: table-cell;
		height: 180px;
		padding-top: 0.5em;
		vertical-align: middle;
		width: 80px;
	}
	.container .maincol .flow--number_inner p {
		text-align: center;
	}
	.flow--number_inner > span {
		display: block;
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.flow--number_inner > p {
		font-size: 16px;
		font-weight: bold;
		font-family: 'Futura-Bold';
	}
	.media.media-flow .media-flow--heading {
		color: #000;
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 1em;
		padding-top: 0;
	}
	.media.media-flow .media-flow--explain {
		font-size: 12px;
		line-height: 2;
	}
	.b_after {
		background: #f3f3f3 none repeat scroll 0 0;
		color: #000;
		line-height: 2;
		padding: 0.5em;
		margin-bottom: 30px;
		text-align: center;
		clear: both;
		border: 2px double #666;
	}
	.b_after--heading {
		font-size: 1.0rem;
		letter-spacing: 2px;
		_margin-right: 40px;
	}
	.flow--item::before, .flow--item::after {
		border-left: 40px solid transparent;
		border-right: 40px solid transparent;
		content: "";
		left: 0;
		position: absolute;
	}
}




.flow {
    overflow: hidden;
    position: relative;
}
.flow--item {
    float: left;
    padding-bottom: 40px;
    position: relative;
    width: 100%;
}
.ie8 .flow--item::before, .ie8 .flow--item::after {
    display: none;
}
.flow--item::before {
    border-top: 20px solid #f3f3f3;
    bottom: 20px;
}
.flow--item::after {
    _border-top: 20px solid #fff;
    _bottom: -9px;
}
.flow--text {
    position: absolute;
    top: 50%;
    width: 100%;
}

.flow .media-flow {
    float: right;
}
.media.media-flow {
    overflow: hidden;
	text-align: left;
	padding-left: 1em;
}
.media.media-flow .media-flow--body {
    padding-top: 0.5em;
    _width: 78%;
}
.b_after--heading, .b_after--data {
    display: inline-block;
    font-weight: bold;
    vertical-align: middle;
}
.b_after--data {
    font-size: 1.2rem;
}
.b_after--heading, .b_after--data {
    display: inline-block;
    font-weight: bold;
    vertical-align: middle;
}


/*　 - 画面サイズが751pxからはここを読み込む
---------------------------------------------------- */
@media only screen and (min-width: 751px) {
}

@media only screen and (max-width: 750px) {
}
