@charset "UTF-8";
@-webkit-keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@-webkit-keyframes boyooon {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.15, 0.75, 1);
    transform: scale3d(1.15, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 0.85, 1);
    transform: scale3d(1.05, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes boyooon {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.15, 0.75, 1);
    transform: scale3d(1.15, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 0.85, 1);
    transform: scale3d(1.05, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes ripple {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes ripple {
  from {
    opacity: 1;
  }
  to {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0;
  }
}

/* ---------------------------------------------------------
 *	リセット
 *---------------------------------------------------------- */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
}

body {
  height: 100%;
  background-color: #fff;
  color: #000;
  font-size: 14px;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 2;
  -webkit-text-size-adjust: 100%;
}

@media only screen and (max-width: 480px) {
  body {
    line-height: 1.6;
  }
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

input, textarea, button {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
}

input:focus, textarea:focus, select:focus {
  background-color: #ecf0fc;
}

button {
  line-height: 2;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

em {
  font-style: normal;
}

li {
  list-style: none;
}

table {
  border-collapse: collapse;
  border: none;
  border-spacing: 0;
  font-size: 100%;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: top;
}

a {
  color: #000;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.5);
  text-decoration: none;
}

a:visited {
  color: #000;
}

a:hover {
  color: #000;
}

a:active {
  color: #000;
}

a[target="_blank"] {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

a[target="_blank"]:before {
  margin-right: 5px;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

::-moz-selection {
  color: #fff;
  background-color: #ff6f6f;
}

::selection {
  color: #fff;
  background-color: #ff6f6f;
}

::-moz-selection {
  color: #fff;
  background-color: #ff6f6f;
}

@font-face {
  font-family: "icons";
  src: url("../font/fontello.eot");
  src: url("../font/fontello.eot#iefix") format("embedded-opentype"), url("../font/fontello.woff") format("woff"), url("../font/fontello.ttf") format("truetype"), url("../font/fontello.svg#fontello") format("svg");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: normal;
  src: url("../font/NotoSansCJKjp-Regular.eot");
  src: url("../font/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Regular.woff") format("woff"), url("../font/NotoSansCJKjp-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: bold;
  src: url("../font/NotoSansCJKjp-Bold.eot");
  src: url("../font/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Bold.woff") format("woff"), url("../font/NotoSansCJKjp-Bold.ttf") format("truetype");
}

/*Josefin Slab */
@font-face {
  font-family: 'Josefin Slab';
  font-style: normal;
  font-weight: 400;
  src: local("Josefin Slab"), local("JosefinSlab"), url("//fonts.gstatic.com/s/josefinslab/v6/46aYWdgz-1oFX11flmyEfegdm0LZdjqr5-oayXSOefg.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

@font-face {
  font-family: 'Josefin Slab';
  font-style: normal;
  font-weight: 700;
  src: local("Josefin Slab Bold"), local("JosefinSlab-Bold"), url("//fonts.gstatic.com/s/josefinslab/v6/NbE6ykYuM2IyEwxQxOIi2HNuWYKPzoeKl5tYj8yhly0.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

/*Sorts Mill Goudy */
@font-face {
  font-family: 'Sorts Mill Goudy';
  font-style: normal;
  font-weight: 400;
  src: local("Sorts Mill Goudy Regular"), local("SortsMillGoudy-Regular"), url("//fonts.gstatic.com/s/sortsmillgoudy/v6/JzRrPKdwEnE8F1TDmDLMUtsZ51dqzBwIdH2JuTl9mv4.woff") format("woff");
}

@font-face {
  font-family: 'Sorts Mill Goudy';
  font-style: italic;
  font-weight: 400;
  src: local("Sorts Mill Goudy Italic"), local("SortsMillGoudy-Italic"), url("//fonts.gstatic.com/s/sortsmillgoudy/v6/UUu1lKiy4hRmBWk599VL1dvlBl0Jp7mnNhNNKZ7BGiU.woff") format("woff");
}

/*Sorts Mill Goudy */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: local("Montserrat-Regular"), url("//fonts.gstatic.com/s/montserrat/v6/zhcz-_WihjSQC0oHJ9TCYPk_vArhqVIZ0nv9q090hN8.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: local("Montserrat-Bold"), url("//fonts.gstatic.com/s/montserrat/v6/IQHow_FEYlDC4Gzy_m8fcoWiMMZ7xLd792ULpGE4W_Y.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

/* onmediaquery.js設定用
 *------------------------------------------------ */
html {
  font-family: pc;
}

@media only screen and (max-width: 768px) {
  html {
    font-family: tablet;
  }
}

@media only screen and (max-width: 480px) {
  html {
    font-family: sp;
  }
}

/* loading 設定用
 *------------------------------------------------ */
#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 1;
}

#loader-bg #loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #000;
  z-index: 2;
}

/* ---------------------------------------------------------
 *	ヘッダー
 *---------------------------------------------------------- */
#header {
  width: 100%;
  padding: 30px 35px 20px;
  -webkit-transition: padding .2s;
  transition: padding .2s;
  position: fixed;
  z-index: 3;
}

#header #headerInner {
  position: relative;
}

#header #headerInner #headerLogo .logoDes {
  font-size: 11px;
  margin: 0 50px 20px 0;
  -webkit-transition: margin .2s;
  transition: margin .2s;
}

#header #headerInner #headerLogo .logoPic img {
  -webkit-transition: width .2s, height .2s;
  transition: width .2s, height .2s;
}

#header #headerInner #globalNav {
  position: absolute;
  right: 0;
  top: 0;
  margin-top: 20px;
}

#header #headerInner #globalNav ul {
  text-align: right;
}

#header #headerInner #globalNav ul li {
  display: inline-block;
  padding: 0 10px;
  vertical-align: middle;
}

#header #headerInner #globalNav ul li a {
  font-weight: bold;
  -webkit-transition: .3s;
  transition: .3s;
}

#header #headerInner #globalNav ul li a:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: #000;
  -webkit-transition: .3s;
  transition: .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

#header #headerInner #globalNav ul li a.is_hover:after {
  width: 100%;
}

#header #headerInner #globalNav ul li.fb {
  width: 46px;
  height: 26px;
  overflow: hidden;
}

#header #headerInner #globalNav ul li.fb a {
  display: block;
  padding-top: 26px;
  background-color: #000;
  position: relative;
}

#header #headerInner #globalNav ul li.fb a:before {
  content: "";
  position: absolute;
  top: 6px;
  left: 8px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#header #headerInner #globalBtn {
  position: fixed;
  top: 90px;
  right: 40px;
}

#header #headerInner #globalBtn div {
  margin-top: 10px;
  text-align: right;
  cursor: pointer;
  display: block;
}

#header #headerInner #globalBtn div span.short {
  display: inline-block;
  width: 80px;
  height: 80px;
  padding-top: 55px;
  border-radius: 50%;
  text-align: center;
  color: #fff;
  -webkit-box-shadow: 0px 2px 5px #444;
  box-shadow: 0px 2px 5px #444;
  font-size: 10px;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
}

#header #headerInner #globalBtn div span.short:hover {
  padding-top: 65px;
  width: 100px;
  height: 100px;
}

#header #headerInner #globalBtn div .long {
  display: none;
}

#header #headerInner #globalBtn div#btnTel {
  -webkit-transition: padding .2s, border-radius .2s;
  transition: padding .2s, border-radius .2s;
}

#header #headerInner #globalBtn div#btnTel span.short {
  background-color: rgba(216, 34, 120, 0.7);
  position: relative;
}

#header #headerInner #globalBtn div#btnTel span.short:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  bottom: 50%;
  left: 50%;
  margin-top: -0.5em;
  margin-right: -0.5em;
  margin-bottom: -0.5em;
  margin-left: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 36px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#header #headerInner #globalBtn div#btnMail {
  -webkit-transition: padding .2s, border-radius .2s;
  transition: padding .2s, border-radius .2s;
}

#header #headerInner #globalBtn div#btnMail span.short {
  background-color: rgba(82, 85, 212, 0.7);
  position: relative;
}

#header #headerInner #globalBtn div#btnMail span.short:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  bottom: 50%;
  left: 50%;
  margin-top: -0.5em;
  margin-right: -0.5em;
  margin-bottom: -0.5em;
  margin-left: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 27px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#header #headerInner #globalBtn div.open span.short {
  display: none;
}

#header #headerInner #globalBtn div.open .long {
  display: block;
}

#header #headerInner #globalBtn div.open#btnTel {
  position: relative;
  padding: 80px 30px 80px 30px;
  border-radius: 50%;
  background-color: rgba(216, 34, 120, 0.7);
  position: relative;
}

#header #headerInner #globalBtn div.open#btnTel:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 50%;
  bottom: 50%;
  left: 50%;
  margin-right: -0.5em;
  margin-bottom: -0.5em;
  margin-left: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 60px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#header #headerInner #globalBtn div.open#btnTel .ttl {
  text-align: center;
  border-radius: 100px;
  background-color: #FFF;
  color: #D8337F;
  padding: 3px;
  font-weight: bold;
}

#header #headerInner #globalBtn div.open#btnTel .txt {
  margin-top: 15px;
  font-size: 30px;
  line-height: 0.8;
  color: #FFF;
  font-family: "Montserrat", "Noto Sans Japanese", serif;
}

#header #headerInner #globalBtn div.open#btnTel .txt a {
  color: #FFF;
}

#header #headerInner #globalBtn div.open#btnTel .txt span {
  font-size: 13px;
}

#header #headerInner #globalBtn div.open#btnMail {
  position: relative;
  padding: 110px 30px 50px 30px;
  border-radius: 50%;
  background-color: rgba(82, 85, 212, 0.7);
  position: relative;
}

#header #headerInner #globalBtn div.open#btnMail:before {
  content: "";
  position: absolute;
  top: 40px;
  right: 50%;
  bottom: 50%;
  left: 50%;
  margin-right: -0.5em;
  margin-bottom: -0.5em;
  margin-left: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 60px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#header #headerInner #globalBtn div.open#btnMail .txt {
  text-align: center;
  line-height: 1.4;
}

#header #headerInner #globalBtn div.open#btnMail .txt a {
  padding: 5px 30px 5px 20px;
  font-size: 13px;
  display: block;
  color: #5255d5;
  background-color: #FFF;
  font-weight: bold;
  border-radius: 100px;
  position: relative;
}

#header #headerInner #globalBtn div.open#btnMail .txt a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  bottom: 50%;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #5255d5;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 13px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#header #headerInner #globalBtn div.open#btnMail .txt a:hover {
  background-color: #e7e8fb;
}

#header.small {
  padding: 10px 35px 15px;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0px 2px 5px #ccc;
  box-shadow: 0px 2px 5px #ccc;
}

#header.small #headerInner #headerLogo .logoPic img {
  width: 110px;
}

#header.small #headerInner #headerLogo .logoDes {
  margin-bottom: 10px;
}

@media only screen and (max-width: 959px) {
  #header {
    padding: 30px 20px 20px 30px;
  }
  #header #headerInner #globalNav {
    margin-top: 0;
    width: 56%;
  }
  #header #headerInner #globalNav li {
    margin-bottom: 5px;
  }
  #header.small {
    padding: 10px 20px 15px 30px;
  }
}

@media only screen and (max-width: 768px) {
  #header {
    padding: 20px;
  }
  #header #headerInner #globalNav, #header #headerInner #globalBtn {
    display: none;
  }
  #header #headerInner #headerLogo .logoDes {
    margin-bottom: 10px;
  }
  #header #headerInner #headerLogo .logoPic img {
    width: 140px;
  }
  #header #headerInner #globalBtn {
    top: 80px;
    right: 10px;
  }
  #header #headerInner #btnMenu03 {
    position: absolute;
    margin-top: -20px;
    top: 50%;
    right: 10px;
  }
  #header #headerInner #btnMenu03 p {
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }
  #header #headerInner #btnMenu03 p .icoMenu {
    position: absolute;
    bottom: 50%;
    margin-bottom: 3px;
    left: 50%;
    margin-left: -20px;
    bottom: 50%;
    left: 50%;
  }
  #header #headerInner #btnMenu03 p .icoMenuInner,
  #header #headerInner #btnMenu03 p .icoMenuInner:before,
  #header #headerInner #btnMenu03 p .icoMenuInner:after {
    display: block;
    content: '';
    position: absolute;
    width: 40px;
    height: 6px;
    border-radius: 4px;
    background: #000;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  #header #headerInner #btnMenu03 p .icoMenuInner:before {
    top: -16px;
  }
  #header #headerInner #btnMenu03 p .icoMenuInner:after {
    bottom: -16px;
  }
  #header #headerInner #btnMenu03 p .icoMenuLabel {
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner {
    background-color: transparent;
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:before,
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:after {
    top: 0;
    bottom: 0;
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

@media only screen and (max-width: 480px) {
  #header {
    padding: 10px;
  }
  #header #headerInner #headerLogo .logoDes {
    margin-bottom: 5px;
  }
  #header #headerInner #headerLogo .logoPic img {
    width: 120px;
  }
  #header #headerInner #btnMenu03 {
    right: 0;
  }
  #header #headerInner #btnMenu03 p {
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }
  #header #headerInner #btnMenu03 p .icoMenu {
    position: absolute;
    bottom: 50%;
    margin-bottom: 2px;
    left: 50%;
    margin-left: -16px;
    bottom: 50%;
    left: 50%;
  }
  #header #headerInner #btnMenu03 p .icoMenuInner,
  #header #headerInner #btnMenu03 p .icoMenuInner:before,
  #header #headerInner #btnMenu03 p .icoMenuInner:after {
    display: block;
    content: '';
    position: absolute;
    width: 32px;
    height: 4px;
    border-radius: 4px;
    background: #000;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  #header #headerInner #btnMenu03 p .icoMenuInner:before {
    top: -12px;
  }
  #header #headerInner #btnMenu03 p .icoMenuInner:after {
    bottom: -12px;
  }
  #header #headerInner #btnMenu03 p .icoMenuLabel {
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner {
    background-color: transparent;
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:before,
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:after {
    top: 0;
    bottom: 0;
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #header #headerInner #btnMenu03 p.is_active .icoMenuInner:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  #header.small {
    padding: 5px 10px;
  }
  #header.small #headerInner #headerLogo .logoPic img {
    width: 100px;
  }
  #header.small #headerInner #headerLogo .logoDes {
    margin-bottom: 5px;
  }
}

/* ---------------------------------------------------------
 *	ドロワーメニュー
 *---------------------------------------------------------- */
#drawerMenu {
  position: fixed;
  left: 0;
  top: 0;
  width: 70%;
  height: 100%;
  background-color: #333;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  z-index: 10;
}

#drawerMenu nav {
  height: 100%;
  border-bottom: 1px solid #404040;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#drawerMenu nav li a {
  display: block;
  padding: 20px;
  border-top: 1px solid #404040;
  border-bottom: 1px solid #262626;
  color: #fff;
  text-decoration: none;
}

#drawerMenu.is_show {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-animation: drawerMenuShow .5s ease-in-out;
  animation: drawerMenuShow .5s ease-in-out;
}

#drawerMenu.is_hide {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -webkit-animation: drawerMenuHide .3s ease-in-out;
  animation: drawerMenuHide .3s ease-in-out;
}

@-webkit-keyframes drawerMenuShow {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  70% {
    -webkit-transform: translate3d(5%, 0, 0);
    transform: translate3d(5%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes drawerMenuShow {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  70% {
    -webkit-transform: translate3d(5%, 0, 0);
    transform: translate3d(5%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes drawerMenuHide {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes drawerMenuHide {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

#drawerMenuOverlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: none;
  opacity: 0;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
}

#drawerMenuOverlay.is_show {
  z-index: 6;
  display: block;
  opacity: 1;
  -webkit-animation: fadeIn .2s;
  animation: fadeIn .2s;
}

#btnDrawerMenuClose {
  position: fixed;
  top: 20px;
  right: 30px;
  display: none;
  opacity: 0;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
  z-index: 8;
}

#btnDrawerMenuClose.is_show {
  display: block;
  opacity: 1;
  -webkit-animation: fadeIn .2s;
  animation: fadeIn .2s;
}

#btnDrawerMenuClose p {
  width: 40px;
  height: 40px;
  cursor: pointer;
  position: relative;
}

#btnDrawerMenuClose p:before, #btnDrawerMenuClose p:after {
  position: absolute;
  right: 50%;
  bottom: 50%;
  margin-top: 15.5px;
  margin-bottom: 15.5px;
  margin-bottom: -2.5px;
  margin-right: -20px;
}

#btnDrawerMenuClose p:before {
  content: "";
  display: block;
  width: 40px;
  height: 5px;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#btnDrawerMenuClose p:after {
  content: "";
  display: block;
  width: 40px;
  height: 5px;
  background-color: #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media only screen and (max-width: 480px) {
  #btnDrawerMenuClose {
    top: 12px;
    right: 10px;
  }
}

/* ---------------------------------------------------------
	contents
----------------------------------------------------------*/
#contents #mainVisual {
  position: relative;
}

#contents #mainVisual video, #contents #mainVisual .figure {
  display: block;
  width: 100%;
  min-height: 300px;
}

/*
#contents #mainVisual video img, #contents #mainVisual .figure img {
  width: 100%;
}
*/

#contents #mainVisual #bgvid {
  position: relative;
}

#contents #mainVisual #bgvid video {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

#contents #mainVisual .catch {
  position: absolute;
  width: 100%;
  top: 210px;
  left: 0;
  padding-left: 20px;
}

#contents #mainVisual .catch .catchInner {
  max-width: 1000px;
  margin: 0 auto;
}

#contents #mainVisual .catch .catchInner p {
  line-height: 1;
}

#contents #mainVisual .catch .catchInner p > span {
  display: inline-block;
  vertical-align: bottom;
  line-height: 1;
  padding: 10px 5px 0;
  background-color: rgba(255, 255, 255, 0.6);
}

#contents #mainVisual .catch .catchInner .catchSupple {
  margin-bottom: 10px;
  font-size: 30px;
  font-family: "Sorts Mill Goudy", serif;
}

#contents #mainVisual .catch .catchInner .catchTitle {
  margin-bottom: 30px;
  font-size: 60px;
  font-family: "Sorts Mill Goudy", serif;
}

#contents #mainVisual .catch .catchInner .catchTitle_S {
  margin-bottom: 30px;
  font-size: 40px;
  font-family: "Sorts Mill Goudy", serif;
}

#contents #mainVisual .catch .catchInner .catchTxt {
  font-size: 26px;
}

#contents #mainVisual .catch .catchInner .catchTxt span {
  padding: 5px;
}

#contents #mainVisual .catch .catchInner .catchTxt_L {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 10px;
}

#contents #mainVisual .catch .catchInner .catchTxt_L span {
  padding: 5px;
}

#contents #mainVisual .catch .catchInner .catchTxt_L span span {
  font-size: 18px;
}

#contents section {
  padding: 60px 0;
}

#contents section .c-archiveItem {
  padding: 0;
  max-width: 750px;
  margin: auto;
  border-bottom: 1px solid #ccc;
}

#contents section .c-archiveItem:first-of-type {
  border-top: 1px solid #ccc;
}

#contents section .c-archiveItem a {
  padding: 20px;
}

#contents section .c-archiveItem a:hover {
  opacity: 0.8;
  background-color: #def;
}

#contents section .baseInner {
  max-width: 1000px;
  margin: 0 auto;
}

#contents section .baseInner .h2Title {
  text-align: center;
  font-family: "Sorts Mill Goudy", serif;
  font-weight: 400;
  font-size: 44px;
  line-height: 1;
  letter-spacing: 2px;
}

#contents section .baseInner .h2Title span {
  font-size: 20px;
  letter-spacing: 0;
}

#contents section .baseInner .h2Title_Japa {
  text-align: center;
  font-size: 30px;
  line-height: 1.2;
  font-weight: bold;
}

#contents section .baseInner .h2Title_Japa span {
  font-weight: normal;
  font-size: 20px;
  font-family: "Sorts Mill Goudy", serif;
}

#contents section .baseInner .h2TitleNone {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6;
}

#contents section .baseInner .h3Title_Japa {
  text-align: center;
  font-size: 30px;
  line-height: 1.2;
  font-weight: bold;
}

#contents section .baseInner ul.elementList {
  width: 100%;
  margin: 20px 0 0 0;
}

#contents section .baseInner ul.elementList > li {
  margin: 20px 0 0 0;
  display: inline-block;
  vertical-align: top;
}

#contents section .baseInner ul.elementList.twoBlock > li {
  width: 50%;
}

#contents section .baseInner ul.elementList.fourBlock > li {
  width: 25%;
}

#contents section .btn {
  text-align: center;
  margin: 0 auto;
}

#contents section .btn a, #contents section .btn button {
  display: inline-block;
  padding: 20px 50px;
  max-width: 320px;
  width: 100%;
  font-size: 16px;
  text-align: center;
  border: none;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

#contents section .btn a:hover, #contents section .btn button:hover {
  opacity: 0.7;
}

#contents section .btn a.l-btn_wide, #contents section .btn button.l-btn_wide {
  padding: 20px 20px;
}

#contents section .btn button {
  cursor: pointer;
}

#contents section .btn.skinBlack a,
#contents section .btn.skinBlack button {
  color: #FFF;
  background-color: #000;
  -webkit-box-shadow: 0px 2px 5px #444;
  box-shadow: 0px 2px 5px #444;
}

#contents section .btn.skinBlack a:before,
#contents section .btn.skinBlack button:before {
  content: "";
  margin-right: 5px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#contents section .btn.skinGray a,
#contents section .btn.skinGray button {
  color: #FFF;
  background-color: #999999;
  -webkit-box-shadow: 0px 2px 5px #444;
  box-shadow: 0px 2px 5px #444;
}

#contents section .btn.skinGray a:before,
#contents section .btn.skinGray button:before {
  content: "";
  margin-right: 5px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#contents section .btn.skinBorder a {
  border: 4px solid #000;
}

#contents section .btn.skinBorder a:before {
  content: "";
  margin-right: 5px;
  color: #000;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#contents section .btn.skinBorderRound a {
  display: block;
  border: 2px solid #000;
  font-size: 14px;
  padding: 10px 25px;
  width: 100%;
  max-width: 360px;
  border-radius: 32px;
}

#contents section .btn.skinBorderRound a span {
  display: inline-block;
  padding-left: 30px;
  line-height: 1.5;
  position: relative;
}

#contents section .btn.skinBorderRound a span:before {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 50%;
  left: 0;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #000;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#contents section.border_top {
  border-top: 1px solid #b2b2b2;
}

#contents section.border_bottom {
  border-bottom: 1px solid #b2b2b2;
}

#contents section.border_double {
  border-top: 1px solid #b2b2b2;
  border-bottom: 1px solid #b2b2b2;
}

#contents section.faq {
  padding: 0;
  background-color: #E6F1F1;
  overflow: hidden;
}

#contents section.faq dl {
  text-align: center;
}

#contents section.faq dl dd, #contents section.faq dl dt {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.2;
}

#contents section.faq dl dd {
  font-size: 24px;
}

#contents section.faq dl dt {
  font-family: "Sorts Mill Goudy", serif;
  font-size: 72px;
}

#contents section.faq .question, #contents section.faq .answer {
  margin: 0 -50px;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

#contents section.faq .question {
  padding: 30px 0 100px;
  background-color: #7ab3b3;
}

#contents section.faq .question dl dt, #contents section.faq .question dl dd {
  color: #FFF;
}

#contents section.faq .question ul.questionList {
  color: #FFF;
  padding: 0 100px;
}

#contents section.faq .question ul.questionList li {
  padding: 10px;
  display: inline-table;
}

#contents section.faq .question ul.questionList li .txt {
  display: table-cell;
  padding-left: 20px;
  font-size: 16px;
}

#contents section.faq .question ul.questionList li .txt span {
  text-decoration: underline;
}

#contents section.faq .question ul.questionList li .icon {
  display: table-cell;
  display: inline-block;
  background-color: #FFF;
  text-align: center;
  width: 100px;
  color: #7ab3b3;
  -webkit-transform: rotate(-5deg);
  transform: rotate(-5deg);
}

#contents section.faq .answer {
  padding: 70px 0 0;
  background-color: #E6F1F1;
  -webkit-transform: skew(0deg, -5deg);
  transform: skew(0deg, -5deg);
}

#contents section.faq .answer .baseInner {
  -webkit-transform: skew(0deg, 5deg);
  transform: skew(0deg, 5deg);
}

#contents section.faq .answer p {
  text-align: center;
  font-size: 16px;
  padding: 0 10px;
}

#contents section.creation .elementLists {
  max-width: 1000px;
  margin: 0 auto;
}

#contents section.creation .elementLists ul.elementList {
  width: 100%;
  margin: 20px 0 0 0;
}

#contents section.creation .elementLists ul.elementList > li {
  margin: 20px 0 0 0;
  display: inline-block;
  vertical-align: top;
}

#contents section.creation .elementLists ul.elementList.twoBlock > li {
  width: 50%;
}

#contents section.creation ul.elementList > .ecLastList {
  position: relative;
  left: 25%;
}

#contents section.creation ul.elementList > li {
  text-align: center;
}

#contents section.creation ul.elementList > li a {
  display: block;
  padding: 10px 10px 30px;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
  position: relative;
}

#contents section.creation ul.elementList > li a:after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 20px;
  color: #000;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#contents section.creation ul.elementList > li a dl dt {
  font-family: "Sorts Mill Goudy", serif;
  font-weight: bold;
}

#contents section.creation ul.elementList > li a dl dd {
  line-height: 1.4;
  font-size: 20px;
  color: #FFF;
}

#contents section.creation ul.elementList > li a:hover {
  opacity: 0.7;
}

#contents section.creation ul.elementList > li:nth-child(1) {
  padding-right: 20px;
}

#contents section.creation ul.elementList > li:nth-child(1) a {
  background-color: #cbbb7b;
}

#contents section.creation ul.elementList > li:nth-child(1) .ecsite {
  background-color: #a0c296;
}

#contents section.creation ul.elementList > li:nth-child(1) .ecsite img {
  height: 155px;
}

#contents section.creation ul.elementList > li:nth-child(2) {
  padding-left: 20px;
}

#contents section.creation ul.elementList > li:nth-child(2) a {
  background-color: #deb2ad;
}

#contents section.creation ul.elementList > li:nth-child(2) .ecConsul {
  background-color: #96aec2;
}

#contents section.creation ul.elementList > li:nth-child(2) .ecConsul img {
  height: 155px;
}

#contents section.creation ul.elementList > li:nth-child(2) .cms {
  background-color: #96aec2;
}

#contents section.creation ul.elementList > li:nth-child(3) {
  padding-right: 20px;
}

#contents section.creation ul.elementList > li:nth-child(3) a {
  background-color: #a9a8c7;
}

#contents section.creation ul.elementList > li:nth-child(3) .btob {
  background-color: #94d4cb;
}

#contents section.creation ul.elementList > li:nth-child(3) .btob img {
  height: 155px;
}

#contents section.creation ul.elementList > li:nth-child(4) {
  padding-left: 20px;
}

#contents section.creation ul.elementList > li:nth-child(4) a {
  background-color: #9ab3e9;
}

#contents section.works {
  background-color: #f1f6f6;
}

#contents section.works ul {
  margin-top: 30px;
  width: 100%;
  display: table;
  table-layout: fixed;
}

#contents section.works ul li {
  padding: 0 10px;
  display: table-cell;
  vertical-align: top;
}

#contents section.works ul li dl.worksTxt {
  margin-top: 10px;
  border-left: 1px solid #000;
  padding: 3px 0 3px 15px;
}

#contents section.works ul li dl.worksTxt dd {
  color: #ABABAB;
  font-size: 12px;
}

#contents section.works .closeSite {
  margin-top: 30px;
  text-align: center;
}

#contents section.works .closeSite a {
  text-decoration: underline;
}

#contents section.contact {
  text-align: center;
  padding: 60px 0 0;
}

#contents section.contact .pic {
  padding: 0 20px 20px;
}

#contents section.contact .contactTxt {
  margin-top: 30px;
  text-align: center;
}

#contents section.contact .contactBanner {
  margin-top: 60px;
  margin-bottom: 20px;
  display: inline-table;
  width: 72%;
}

#contents section.contact .contactBanner li {
  display: table-cell;
  vertical-align: middle;
  padding: 0 10px;
}

#contents section.contact .contactBanner li dl {
  display: table;
  text-align: left;
}

#contents section.contact .contactBanner li dl dd, #contents section.contact .contactBanner li dl dt {
  display: table-cell;
  vertical-align: middle;
}

#contents section.contact .contactBanner li dl dd {
  padding-left: 10px;
  font-size: 11px;
}

#contents section.contact .contactBanner li a img {
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

#contents section.contact .contactBanner li a img:hover {
  opacity: 0.7;
}

#contents .l-book_info {
  padding: 30px 0;
  margin-top: 40px;
  background-color: #f2f2e7;
  text-align: center;
}

#contents .l-book_info .ttl {
  font-weight: bold;
}

#contents .l-book_info .pic {
  margin-top: 20px;
}

@media only screen and (min-width: 769px) {
  #contents section.contact .contactBanner {
    width: 720px;
  }
}

@media only screen and (max-width: 959px) {
  #contents section.faq .baseInner {
    padding: 0 70px;
  }
}

@media only screen and (max-width: 768px) {
  #contents #bgvid video {
    display: none;
  }
  #contents #mainVisual .catch {
    top: auto;
    bottom: 0;
  }
  #contents #mainVisual .catch .catchInner .catchSupple {
    font-size: 25px;
  }
  #contents #mainVisual .catch .catchInner .catchTitle {
    margin-bottom: 10px;
    font-size: 40px;
  }
  #contents #mainVisual .catch .catchInner .catchTitle_S {
    margin-bottom: 10px;
    font-size: 30px;
  }
  #contents #mainVisual .catch .catchInner .catchTxt {
    margin-bottom: 10px;
    font-size: 20px;
  }
  #contents #mainVisual .catch .catchInner .catchTxt_L {
    font-size: 25px;
    margin-bottom: 10px;
  }
  #contents #mainVisual .catch .catchInner .catchTxt_L span span {
    font-size: 14px;
  }
  #contents section .baseInner .h2Title {
    font-size: 30px;
  }
  #contents section .baseInner .h2Title span {
    font-size: 16px;
  }
  #contents section .baseInner .h2Title_Japa {
    font-size: 24px;
  }
  #contents section .baseInner .h2Title_Japa span {
    font-size: 15px;
  }
  #contents section .baseInner .h2TitleNone {
    font-size: 22px;
    padding: 0 20px;
  }
  #contents section .baseInner ul.elementList {
    width: 100%;
  }
  #contents section .baseInner ul.elementList.twoBlock > li {
    padding: 0 20px;
    width: 100%;
  }
  #contents section .baseInner ul.elementList.fourBlock > li {
    width: 50%;
    padding: 0 10px;
  }
  #contents section.creation .elementLists ul.elementList.twoBlock > li {
    width: 100%;
  }
  #contents section.creation ul.elementList {
    padding: 0 20px;
  }
  #contents section.creation ul.elementList > .ecLastList {
    position: static;
  }
  #contents section.creation ul.elementList > li:nth-child(1), #contents section.creation ul.elementList > li:nth-child(2), #contents section.creation ul.elementList > li:nth-child(3), #contents section.creation ul.elementList > li:nth-child(4), #contents section.creation ul.elementList > li:nth-child(5), #contents section.creation ul.elementList > li:nth-child(6) {
    padding: 0;
  }
  #contents section.creation ul.elementList > li:nth-child(5) {
    margin-left: 0;
  }
  #contents section.faq .question ul.questionList {
    padding: 0;
  }
  #contents section.contact .contactBanner {
    width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  #contents #mainVisual .catch {
    padding-left: 10px;
  }
  #contents #mainVisual .catch .catchInner .catchSupple {
    font-size: 20px;
    margin-bottom: 5px;
  }
  #contents #mainVisual .catch .catchInner .catchTitle {
    margin-bottom: 5px;
    font-size: 24px;
  }
  #contents #mainVisual .catch .catchInner .catchTitle_S {
    margin-bottom: 5px;
    font-size: 20px;
  }
  #contents #mainVisual .catch .catchInner .catchTxt {
    margin-bottom: 5px;
    font-size: 16px;
  }
  #contents #mainVisual .catch .catchInner .catchTxt_L {
    font-size: 18px;
    margin-bottom: 5px;
  }
  #contents #mainVisual .catch .catchInner .catchTxt_L span span {
    font-size: 12px;
  }
  #contents section {
    padding: 30px 0;
  }
  #contents section .baseInner ul.elementList {
    margin: 0;
  }
  #contents section .baseInner ul.elementList.twoBlock > li {
    padding: 0 10px;
  }
  #contents section .baseInner .h2TitleNone,
  #contents section .baseInner .h2Title_Japa {
    padding: 0 10px;
  }
  #contents section .baseInner .h2TitleNone .br_sp,
  #contents section .baseInner .h2Title_Japa .br_sp {
    display: none;
  }
  #contents section .btn {
    padding: 0 10px;
  }
  #contents section .btn a {
    padding: 15px;
    font-size: 14px;
  }
  #contents section .btn.skinBorderRound a {
    padding: 10px;
    max-width: 100%;
    text-align: center;
  }
  #contents section .btn.skinBorderRound a span {
    text-align: center;
    padding-left: 18px;
  }
  #contents section.faq .baseInner {
    padding: 0 60px;
  }
  #contents section.faq .baseInner p {
    text-align: left;
  }
  #contents section.faq .baseInner p br {
    display: none;
  }
  #contents section.faq dl dt {
    font-size: 50px;
  }
  #contents section.faq dl dd {
    font-size: 20px;
  }
  #contents section.faq .question ul.questionList li {
    margin-top: 10px;
    padding: 10px 0;
  }
  #contents section.faq .question ul.questionList li .txt, #contents section.faq .question ul.questionList li .icon {
    display: block;
  }
  #contents section.faq .question ul.questionList li .txt {
    padding: 5px 0 0 0;
  }
  #contents section.faq .answer .baseInner > p {
    margin-top: 20px;
    padding: 0;
  }
  #contents section.works ul {
    display: block;
  }
  #contents section.works ul li {
    margin: 0 0 20px 0;
    display: block;
  }
  #contents section.works ul li .worksPic {
    text-align: center;
    padding: 0 20px;
  }
  #contents section.works ul li .worksTxt {
    margin: auto;
    max-width: 320px;
  }
  #contents section.works .closeSite {
    text-align: left;
    padding: 0 10px;
  }
  #contents section.contact .pic {
    padding: 0 10px 10px;
  }
  #contents section.contact .pic img {
    max-width: 280px;
  }
  #contents section.contact .contactTxt {
    margin-top: 10px;
  }
  #contents section.contact .contactBanner {
    display: block;
  }
  #contents section.contact .contactBanner li {
    display: inline-block;
  }
  #contents section.contact .contactBanner li:nth-child(1), #contents section.contact .contactBanner li:nth-child(2) {
    width: 49%;
  }
  #contents section.contact .contactBanner li:nth-child(3) {
    margin-top: 10px;
    width: 100%;
  }
  #contents section.creation ul.elementList {
    padding: 0 10px;
  }
  #contents section.creation ul.elementList li a dl dd {
    font-size: 16px;
  }
}

dl.l-privacymark {
  display: table;
  text-align: left;
  margin: auto;
}

dl.l-privacymark dd, dl.l-privacymark dt {
  display: table-cell;
  vertical-align: middle;
}

dl.l-privacymark dd {
  padding-left: 10px;
  font-size: 11px;
}

.c-archiveItemCase {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-dateCateBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-archiveDate {
  font-size: 12px;
  -ms-flex-preferred-size: 80px;
  flex-basis: 80px;
}

.m-catLabels {
  -ms-flex-preferred-size: calc(100% - 80px);
  flex-basis: calc(100% - 80px);
}

.m-catLabel a, .m-catLabel span, .m-catLabels_item a, .m-catLabels_item span {
  font-size: 11px;
  display: inline-block;
  padding: 2px 10px;
  text-align: center;
  color: #fff;
  background-color: #2788a9;
}

.c-archivePic {
  display: inline-block;
  -ms-flex-preferred-size: 150px;
  flex-basis: 150px;
}

.c-archiveDtBlock {
  padding: 0 0 0 20px;
  display: inline-block;
  -ms-flex-preferred-size: calc(100% - 150px);
  flex-basis: calc(100% - 150px);
}

.c-archiveTtl {
  font-weight: 700;
}

@media only screen and (max-width: 640px) {
  #contents section .c-archiveItem {
    margin: 10px;
  }
  #contents section .c-archiveItem a {
    padding: 20px;
  }
  .c-archiveItemCase {
    display: inherit;
  }
  .c-archivePic {
    -ms-flex-preferred-size: inherit;
    flex-basis: inherit;
    float: left;
    padding-right: 10px;
  }
  .c-archivePic img {
    width: 100px;
  }
  .c-archiveDate {
    font-size: 16px;
  }
  .c-archiveDtBlock {
    padding: 0 0 0 10px;
    -ms-flex-preferred-size: inherit;
    flex-basis: inherit;
    display: block;
  }
  .c-archiveTxt {
    clear: both;
  }
}

/* ---------------------------------------------------------
	home
----------------------------------------------------------*/
#p_home #contents {
  z-index: 1;
}

#p_home #contents #mainVisual {
  position: relative;
}

#p_home #contents #mainVisual video {
  /*
			position: absolute; right: 0; bottom: 0;
			min-width: 100%; min-height: 100%;
			width: auto; height: auto; z-index: -100;*/
  background: url(/movie/home.jpg) no-repeat;
  background-size: cover;
}

#p_home #contents #mainVisual .main {
  position: absolute;
  width: 100%;
  bottom: 15%;
  left: 0;
  text-align: center;
}

#p_home #contents #mainVisual .main .mainInner {
  max-width: 500px;
  display: inline-block;
  text-align: left;
}

#p_home #contents #mainVisual .main .mainInner .mainTitle {
  font-size: 90px;
  font-family: "Sorts Mill Goudy", serif;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
  color: #FFF;
  text-shadow: 0 0 10px #666;
}

#p_home #contents #mainVisual .main .mainInner .mainTitle span {
  font-size: 70px;
}

#p_home #contents #mainVisual .main .mainInner .mainTxt {
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #000;
}

#p_home #contents #mainVisual .btnBottom {
  position: absolute;
  bottom: 20px;
  left: 0;
  text-align: center;
  width: 100%;
  display: none;
}

#p_home #contents #mainVisual .btnBottom a {
  font-size: 0;
  display: inline-block;
  position: relative;
}

#p_home #contents #mainVisual .btnBottom a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_home #contents #mainVisual .btnBottom a:after {
  border: 2px solid #fff;
  border-radius: 50%;
  padding: 15px 16px;
  text-shadow: 0 0 10px #666;
}

#p_home #contents .closeSite {
  display: none;
}

#p_home #contents section.infoBook {
  padding: 35px 0 40px;
  background-color: #f2f2e7;
}

#p_home #contents section.infoBook .infoBook_cont {
  margin: 0 auto;
  position: relative;
  max-width: 800px;
}

#p_home #contents section.infoBook .infoBook_cont .btn.skinBorderRound a {
  margin: 30px 0;
  text-align: left;
}

#p_home #contents section.infoBook .infoBook_cont .btn.skinBlack {
  margin-top: 10px;
  text-align: left;
}

#p_home #contents section.infoBook .infoBook_Txtcont {
  margin-left: 300px;
  line-height: 1.6;
}

#p_home #contents section.infoBook .infoBook_Txtcont .name {
  margin: 10px 0 20px;
  font-size: 18px;
  font-weight: bold;
}

#p_home #contents section.infoBook .infoBook_Txtcont .txt {
  margin-bottom: 30px;
}

#p_home #contents section.infoBook .infoBook_pic {
  position: absolute;
  margin: 0;
  bottom: 0;
  left: 10px;
  width: 230px;
  -webkit-box-shadow: 0 0 20px 2px #888;
  box-shadow: 0 0 20px 2px #888;
}

#p_home #contents section.consulting .consultingTxt {
  margin-top: 40px;
  padding: 0 100px;
}

#p_home #contents section.consulting ul.elementList {
  text-align: center;
}

#p_home #contents section.consulting ul.elementList > li dl dt {
  font-size: 16px;
  line-height: 1.4;
}

#p_home #contents section.consulting ul.elementList > li dl dd {
  font-family: "Sorts Mill Goudy", serif;
  font-size: 12px;
  font-weight: bold;
}

#p_home #contents section.navigator {
  padding: 8px 0 0;
}

#p_home #contents section.navigator ul > li {
  display: table;
  width: 100%;
  table-layout: fixed;
}

#p_home #contents section.navigator ul > li div {
  width: 50%;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

#p_home #contents section.navigator ul > li div.navigatorTxt {
  padding: 10px;
}

#p_home #contents section.navigator ul > li div.navigatorTxt a {
  display: block;
}

#p_home #contents section.navigator ul > li div.navigatorTxt dl dt {
  font-family: "Sorts Mill Goudy", serif;
  line-height: 1.2;
  font-size: 40px;
  margin-bottom: 20px;
}

#p_home #contents section.navigator ul > li div.navigatorTxt .btn {
  margin-top: 10px;
  display: inline-block;
  padding: 20px 50px;
  max-width: 320px;
  width: 100%;
  font-size: 16px;
  text-align: center;
  border: none;
  border: 1px solid;
  border: 4px solid #000;
}

#p_home #contents section.navigator ul > li div.navigatorTxt .btn:before {
  content: "";
  margin-right: 5px;
  color: #000;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_home #contents section.navigator ul > li div.navigatorTxt .btn:hover {
  opacity: 0.7;
}

#p_home #contents section.navigator ul > li div.navigatorPic img {
  width: 100%;
}

#p_home #contents section.navigator ul > li:nth-child(odd) {
  direction: ltr;
  background-color: #f2f2e7;
}

#p_home #contents section.navigator ul > li:nth-child(odd) div {
  direction: ltr;
}

#p_home #contents section.navigator ul > li:nth-child(even) {
  direction: rtl;
  background-color: #E7F0F7;
}

#p_home #contents section.navigator ul > li:nth-child(even) div {
  direction: rtl;
}

#p_home #contents section.website ul.elementList.text li {
  vertical-align: middle;
}

#p_home #contents section.website ul.elementList.text li.pic {
  margin-top: -20px;
  text-align: center;
  padding: 0 20px;
}

#p_home #contents section.website ul.elementList.Limit {
  text-align: center;
}

#p_home #contents section.website ul.elementList.Limit li {
  padding: 0 20px;
  max-width: 300px;
}

#p_home #contents section.website ul.elementList.Limit li dl dt {
  font-size: 16px;
  line-height: 1.4;
}

#p_home #contents section.website ul.elementList.Limit li dl dd {
  font-family: "Sorts Mill Goudy", serif;
  font-size: 12px;
  font-weight: bold;
}

#p_home #contents section.webMarkting {
  background-color: #f1f6f6;
}

#p_home #contents section.webMarkting .webMarktingTxt {
  margin-top: 40px;
  padding: 0 100px;
}

#p_home #contents section.webMarkting ul.elementList.text li {
  vertical-align: middle;
}

#p_home #contents section.webMarkting ul.elementList.text li.pic {
  margin-top: -20px;
  text-align: center;
  padding: 0 20px;
}

#p_home #contents section.webMarkting ul.elementList.Limit {
  text-align: center;
}

#p_home #contents section.webMarkting ul.elementList.Limit li {
  padding: 0 20px;
  max-width: 300px;
}

#p_home #contents section.webMarkting ul.elementList.Limit li dl dt {
  font-size: 16px;
  line-height: 1.4;
}

#p_home #contents section.webMarkting ul.elementList.Limit li dl dd {
  font-family: "Sorts Mill Goudy", serif;
  font-size: 12px;
  font-weight: bold;
}

@media only screen and (max-width: 959px) {
  #p_home #contents #mainVisual .main .mainInner {
    max-width: 100%;
    padding: 0 40px;
    text-align: center;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle {
    font-size: 50px;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle br {
    display: none;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle span {
    font-size: 40px;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTxt {
    margin-top: 0;
    font-size: 16px;
  }
  #p_home #contents section.navigator ul li {
    padding: 10px;
  }
  #p_home #contents section.navigator ul li div.navigatorTxt dl dt {
    font-size: 30px;
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 768px) {
  #p_home #contents #mainVisual video#bgvid {
    display: none;
  }
  #p_home #contents #mainVisual .main {
    bottom: 10%;
  }
  #p_home #contents #mainVisual .main .mainInner {
    max-width: none;
    padding: 0 20px;
    text-align: center;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle {
    font-size: 50px;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle span {
    font-size: 35px;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle br {
    display: none;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTxt {
    margin-top: 10px;
  }
  #p_home #contents section.infoBook .infoBook_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 0 40px;
    max-width: 100%;
  }
  #p_home #contents section.infoBook .infoBook_Txtcont {
    margin-left: 40px;
    -ms-flex-preferred-size: calc( 100% - 160px);
    flex-basis: calc( 100% - 160px);
  }
  #p_home #contents section.infoBook .infoBook_pic {
    position: static;
    -ms-flex-preferred-size: 180px;
    flex-basis: 180px;
  }
  #p_home #contents section.consulting .consultingTxt {
    padding: 0 20px;
  }
  #p_home #contents section.website ul.elementList.text li.pic {
    margin-top: 20px;
  }
  #p_home #contents section.website ul.elementList.Limit li {
    width: 50%;
  }
  #p_home #contents section.webMarkting .webMarktingTxt {
    padding: 0 20px;
  }
  #p_home #contents section.webMarkting ul.elementList.text li.pic {
    margin-top: 20px;
  }
  #p_home #contents section.webMarkting ul.elementList.Limit li {
    width: 49%;
  }
}

@media only screen and (max-width: 480px) {
  #p_home #contents #mainVisual .main {
    bottom: 10%;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle {
    font-size: 35px;
    color: #000;
    text-shadow: inherit;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTitle span {
    font-size: 25px;
  }
  #p_home #contents #mainVisual .main .mainInner .mainTxt {
    font-size: 12px;
    display: none;
  }
  #p_home #contents section.infoBook {
    padding: 30px 0 20px;
  }
  #p_home #contents section.infoBook .infoBook_cont {
    display: block;
    padding: 0 20px;
  }
  #p_home #contents section.infoBook .infoBook_cont .btn {
    text-align: center;
  }
  #p_home #contents section.infoBook .infoBook_cont .btn.skinBorderRound a {
    margin-top: 20px;
  }
  #p_home #contents section.infoBook .infoBook_cont .btn.skinBlack {
    margin-top: 20px;
    text-align: center;
  }
  #p_home #contents section.infoBook .infoBook_Txtcont {
    margin-left: 0;
  }
  #p_home #contents section.infoBook .infoBook_Txtcont .name {
    font-size: 18px;
  }
  #p_home #contents section.infoBook .infoBook_pic {
    margin: 0 auto 20px;
    width: 180px;
  }
  #p_home #contents section.consulting .consultingTxt {
    margin-top: 20px;
    padding: 0 10px;
  }
  #p_home #contents section.consulting ul li img {
    padding: 0 20px;
  }
  #p_home #contents section.navigator ul li {
    display: block;
  }
  #p_home #contents section.navigator ul li div {
    display: block;
    width: 100%;
  }
  #p_home #contents section.navigator ul li div.navigatorTxt .btn {
    padding: 10px 15px;
    font-size: 14px;
  }
  #p_home #contents section.website ul.elementList.Limit li {
    padding: 0 10px;
  }
  #p_home #contents section.website ul.elementList.Limit li img {
    max-width: 150px;
    width: 100%;
  }
  #p_home #contents section.website ul.elementList.text li.pic img {
    max-width: 280px;
    width: 100%;
  }
  #p_home #contents section.website ul.elementList li dl dt br {
    display: none;
  }
  #p_home #contents section.webMarkting .webMarktingTxt {
    margin-top: 20px;
    padding: 0 10px;
  }
  #p_home #contents section.webMarkting ul.elementList.Limit li {
    padding: 0 10px;
  }
  #p_home #contents section.webMarkting ul.elementList.Limit li img {
    max-width: 150px;
    width: 100%;
  }
  #p_home #contents section.webMarkting ul.elementList.text li.pic img {
    max-width: 280px;
    width: 100%;
  }
  #p_home #contents section.webMarkting ul.elementList li dl dt br {
    display: none;
  }
}

/* ---------------------------------------------------------
	marketing
----------------------------------------------------------*/
#p_marketing.marketing_home #contents #mainVisual video {
  background: url(/movie/marketing.jpg) no-repeat;
  background-size: cover;
}

/**************************
	marketing-second
***************************/
#p_marketing.marketing_second #contents section .pic {
  padding: 0 20px;
  text-align: center;
}

#p_marketing.marketing_second #contents section.head-marketing {
  background-color: #e8eff1;
}

#p_marketing.marketing_second #contents section.head-marketing dl.boxWhite {
  margin-top: 40px;
  padding: 40px 60px;
  background-color: #FFF;
}

#p_marketing.marketing_second #contents section.head-marketing dl.boxWhite dt {
  font-size: 18px;
  font-weight: bold;
}

#p_marketing.marketing_second #contents section.ability, #p_marketing.marketing_second #contents section.multi, #p_marketing.marketing_second #contents section.sample {
  background-color: #f1f6f6;
}

#p_marketing.marketing_second #contents section.micro ul.elementList {
  margin-top: 40px;
}

#p_marketing.marketing_second #contents section.micro ul.elementList li {
  vertical-align: middle;
}

#p_marketing.marketing_second #contents section.feature {
  background: url("../marketing/img/bg_marketing_feature.jpg");
  background-size: cover;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap {
  max-width: 680px;
  display: inline-block;
  margin: auto;
  text-align: left;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title {
  background-color: #96aec2;
  color: #fff;
  display: table;
  padding: 20px 30px;
  width: 100%;
  position: relative;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title:after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: -36px;
  left: 50%;
  margin-right: -0.5em;
  margin-left: -0.5em;
  color: #96aec2;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 60px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title dt, #p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title dd {
  display: table-cell;
  vertical-align: middle;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title dt p {
  width: 80px;
  height: 80px;
  text-align: center;
  background-color: #FFF;
  color: #96aec2;
  padding: 15px 0px;
  font-size: 16px;
  line-height: 1.2;
  border-radius: 50%;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title dt p span {
  font-size: 24px;
  font-weight: bold;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title dd {
  padding-left: 30px;
  font-size: 20px;
  line-height: 1.6;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap p.txt {
  background-color: #EAEAEA;
  padding: 30px 30px 20px;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li:nth-child(1) {
  margin: 40px 0 0 0;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li:nth-child(2) {
  margin: 20px 0 0 0;
  text-align: center;
}

#p_marketing.marketing_second #contents section.feature ul.featureList li:nth-child(3) {
  margin: 20px 0 0 0;
  text-align: right;
}

#p_marketing.marketing_second #contents section.sample {
  text-align: center;
}

#p_marketing.marketing_second #contents section.sample .title {
  margin-top: 40px;
  padding: 5px 20px;
  width: 200px;
  color: #FFF;
  font-size: 18px;
  display: inline-block;
  background-color: #1F8C83;
  border-radius: 40px;
}

#p_marketing.marketing_second #contents section.sample .title span {
  display: block;
  width: 100%;
}

#p_marketing.marketing_second #contents section.sample .boxBorder {
  margin-top: -20px;
  text-align: left;
  padding: 30px 40px;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}

#p_marketing.marketing_second #contents section.sample .boxBorder ul {
  padding-left: 28px;
}

#p_marketing.marketing_second #contents section.sample .boxBorder ul li {
  text-indent: -28px;
}

#p_marketing.marketing_second #contents section.sample .boxBorder ul li:before {
  content: "";
  margin-right: 5px;
  color: #1f8c83;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_marketing.marketing_second #contents section.sample .boxWhite {
  padding: 0 40px 40px;
  background-color: #FFF;
}

#p_marketing.marketing_second #contents section.sample .boxWhite p {
  text-align: left;
}

#p_marketing.marketing_second #contents section.sample .boxArrow {
  position: relative;
  padding: 30px 150px;
  display: inline-block;
}

#p_marketing.marketing_second #contents section.sample .boxArrow span {
  display: inline-block;
  background-color: #fff45c;
  color: #1f8c83;
  padding: 5px;
  font-size: 22px;
}

#p_marketing.marketing_second #contents section.sample .boxArrow:after {
  background-image: url("../marketing/img/bg_marketing_arrow.png");
  background-repeat: none;
  background-position: 0 0;
  background-size: 86px;
  content: "";
  position: absolute;
  top: 20px;
  left: 0;
  width: 86px;
  height: 71px;
}

#p_marketing.marketing_second #contents section.sample .boxArrow:before {
  background-image: url("../marketing/img/bg_marketing_arrow.png");
  background-repeat: none;
  background-position: 0 0;
  background-size: 86px;
  content: "";
  position: absolute;
  top: 20px;
  right: 0;
  width: 86px;
  height: 71px;
}

#p_marketing.marketing_second #contents section.flow .pic {
  text-align: center;
}

#p_marketing.marketing_second #contents section.multi {
  background: url("../marketing/img/bg_analysis_multi.jpg") no-repeat center;
  background-size: cover;
}

#p_marketing.marketing_second #contents section.creation {
  padding: 30px 0 60px;
}

#p_marketing.marketing_second #contents section.creation ul.elementList > li a {
  padding: 30px 10px;
}

#p_marketing.marketing_second #contents section.creation ul.elementList > li a.current {
  opacity: 0.5;
}

@media only screen and (max-width: 768px) {
  #p_marketing.marketing_second #contents section.head-marketing p, #p_marketing.marketing_second #contents section.access p, #p_marketing.marketing_second #contents section.ability p, #p_marketing.marketing_second #contents section.multi p, #p_marketing.marketing_second #contents section.flow p, #p_marketing.marketing_second #contents section.ec p {
    padding: 0 20px;
  }
  #p_marketing.marketing_second #contents section.head-marketing dl.boxWhite {
    margin: 20px 10px 0;
    padding: 20px 30px;
  }
  #p_marketing.marketing_second #contents section.head-marketing .pic img {
    width: 280px;
  }
  #p_marketing.marketing_second #contents section.ec #p_marketing.marketing_second #contents section.sample .boxArrow {
    padding: 30px 100px;
  }
  #p_marketing.marketing_second #contents section.ec #p_marketing.marketing_second #contents section.sample .boxArrow span {
    font-size: 20px;
  }
}

@media only screen and (max-width: 480px) {
  #p_marketing.marketing_second #contents section.head-marketing p, #p_marketing.marketing_second #contents section.access p, #p_marketing.marketing_second #contents section.ability p, #p_marketing.marketing_second #contents section.multi p, #p_marketing.marketing_second #contents section.flow p {
    padding: 0 10px;
  }
  #p_marketing.marketing_second #contents section.head-marketing p.pic img, #p_marketing.marketing_second #contents section.access p.pic img, #p_marketing.marketing_second #contents section.ability p.pic img, #p_marketing.marketing_second #contents section.multi p.pic img, #p_marketing.marketing_second #contents section.flow p.pic img {
    width: 280px;
  }
  #p_marketing.marketing_second #contents section.head-marketing dl.boxWhite {
    padding: 15px;
  }
  #p_marketing.marketing_second #contents section.ec p {
    padding: 0 10px;
  }
  #p_marketing.marketing_second #contents section.micro ul.elementList {
    margin-top: 10px;
  }
  #p_marketing.marketing_second #contents section.micro ul.elementList li.pic img {
    max-width: 280px;
  }
  #p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title {
    padding: 10px 15px;
  }
  #p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title dd {
    font-size: 16px;
    padding-left: 15px;
  }
  #p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap dl.title dd br {
    display: none;
  }
  #p_marketing.marketing_second #contents section.feature ul.featureList li .featureListWrap p.txt {
    padding: 15px 15px 10px;
  }
  #p_marketing.marketing_second #contents section.feature ul.featureList li:nth-child(n) {
    margin: 20px 0 0 0;
  }
  #p_marketing.marketing_second #contents section.sample .title {
    margin-top: 20px;
  }
  #p_marketing.marketing_second #contents section.sample .boxBorder {
    padding: 30px 20px 20px;
  }
  #p_marketing.marketing_second #contents section.sample .boxWhite {
    padding: 0 20px 20px;
  }
  #p_marketing.marketing_second #contents section.sample .boxArrow {
    padding: 30px 50px;
  }
  #p_marketing.marketing_second #contents section.sample .boxArrow span {
    font-size: 16px;
  }
  #p_marketing.marketing_second #contents section.sample .boxArrow:before, #p_marketing.marketing_second #contents section.sample .boxArrow:after {
    background-size: 43px;
    width: 43px;
    height: 35px;
    top: 30px;
  }
  #p_marketing.marketing_second #contents section.creation {
    padding: 15px 0 30px;
  }
  #p_marketing.marketing_second #contents section.creation ul.elementList > li a {
    padding: 20px 10px;
  }
}

/*	btob-ec
-------------------------------------------------- */
#p_marketing.btob-ec #contents .meritTitle {
  font-weight: bold;
  font-size: 30px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.6;
}

#p_marketing.btob-ec #contents .meritTitle span {
  font-size: .8em;
}

#p_marketing.btob-ec #contents .merits {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#p_marketing.btob-ec #contents .meritsItem {
  width: calc((100% - 140px) / 3);
  margin-top: 40px;
  padding: 0;
}

#p_marketing.btob-ec #contents .meritsItemFig {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 174px;
}

#p_marketing.btob-ec #contents .meritsItemFig::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 174px 174px;
  border-color: transparent transparent #e8eff1 transparent;
  z-index: -1;
}

#p_marketing.btob-ec #contents .meritsItemFig img {
  height: 100%;
}

#p_marketing.btob-ec #contents .meritsItemTitle {
  margin-top: 1em;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  line-height: 1.6;
}

#p_marketing.btob-ec #contents .meritsItemTxt {
  margin-top: 1em;
}

@media only screen and (max-width: 959px) {
  #p_marketing.btob-ec #contents .merit {
    padding-right: 30px;
    padding-left: 30px;
  }
}

@media only screen and (max-width: 768px) {
  #p_marketing.btob-ec #contents .meritsItem {
    width: calc((100% - 10%) / 2);
  }
}

@media only screen and (max-width: 480px) {
  #p_marketing.btob-ec #contents .merit {
    padding-right: 10px;
    padding-left: 10px;
  }
  #p_marketing.btob-ec #contents .meritsItem {
    width: 100%;
  }
}

#p_marketing.btob-ec #contents .support {
  padding: 0;
  background-color: #e8eff1;
}

#p_marketing.btob-ec #contents .supportHeader {
  padding: 20px 30px;
  background-color: #d4e4e8;
  text-align: center;
  font-weight: bold;
}

#p_marketing.btob-ec #contents .supportTitle {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
}

#p_marketing.btob-ec #contents .supportLead {
  margin-top: .5em;
  font-size: 18px;
  line-height: 1.8;
}

#p_marketing.btob-ec #contents .supportList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -30px;
  padding: 30px 0;
}

#p_marketing.btob-ec #contents .supportListItem {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 230px;
  height: 230px;
  margin-top: 60px;
  padding: 20px 30px;
  background-color: #fffee5;
  border: 6px solid #fff;
  border-radius: 100%;
  text-align: center;
  line-height: 1.8;
}

#p_marketing.btob-ec #contents .supportListItem img {
  position: absolute;
  top: -35px;
  left: 50%;
  width: 70px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media only screen and (max-width: 959px) {
  #p_marketing.btob-ec #contents .supportList {
    width: 480px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media only screen and (max-width: 500px) {
  #p_marketing.btob-ec #contents .supportList {
    display: block;
    width: 230px;
    margin-right: auto;
    margin-left: auto;
  }
  #p_marketing.btob-ec #contents .supportListItem {
    margin-top: 50px;
  }
}

/* ---------------------------------------------------------
	web
----------------------------------------------------------*/
#p_web.web_home #contents #mainVisual video {
  background: url(/movie/web.jpg) no-repeat;
  background-size: cover;
}

#p_web.web_home #contents #mainVisual .catch {
  top: auto;
  bottom: 40px;
  left: auto;
  right: 20px;
  text-align: right;
}

#p_web.web_home #contents section.important {
  background-color: #f1f6f6;
}

#p_web.web_home #contents section.important ul.elementList {
  margin-top: 0;
}

#p_web.web_home #contents section.important ul.elementList > li {
  vertical-align: middle;
}

#p_web.web_home #contents section.important ul.elementList > li.pic {
  margin-top: -20px;
  padding: 0 20px;
  text-align: center;
}

#p_web.web_home #contents section.creation ul.toggleSlide {
  max-width: 700px;
  margin: 20px auto 0;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl {
  cursor: pointer;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl dt {
  text-align: center;
  padding: 12px 10px;
  font-size: 18px;
  border-bottom: 2px solid #fff;
  -webkit-transition: border .2s;
  transition: border .2s;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl dt span {
  display: inline-block;
  margin-right: 5px;
  font-weight: bold;
  font-family: "Josefin Slab", serif;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl dt:hover {
  border-left: 10px solid #fff;
  border-right: 10px solid #fff;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl dd {
  display: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show {
  padding: 40px 100px 30px;
  background: url(/web/img/bg_creation.png) no-repeat;
  background-size: 100;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show dd {
  display: block;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show dt {
  padding: 0 10px;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show dt:after {
  display: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show:after {
  content: "";
  position: absolute;
  right: 50px;
  bottom: 30px;
  color: #18837a;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show:before {
  background-color: #FFF;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(1) dl dt {
  background-color: #97dad4;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(1) dl.is_show dt {
  background-color: #FFF;
  border: none;
  text-align: center;
  color: #02514A !important;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(1) dl dt {
  color: #02514A;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(1) dl dt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  bottom: 50%;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #18837a;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(2) dl dt {
  background-color: #7cd0c9;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(2) dl.is_show dt {
  background-color: #FFF;
  border: none;
  text-align: center;
  color: #02514A !important;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(2) dl dt {
  color: #02514A;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(2) dl dt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  bottom: 50%;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #18837a;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(3) dl dt {
  background-color: #62c7bf;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(3) dl.is_show dt {
  background-color: #FFF;
  border: none;
  text-align: center;
  color: #02514A !important;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(3) dl dt {
  color: #02514A;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(3) dl dt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  bottom: 50%;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #18837a;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(4) dl dt {
  background-color: #48bdb4;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(4) dl.is_show dt {
  background-color: #FFF;
  border: none;
  text-align: center;
  color: #02514A !important;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(4) dl dt {
  color: #fff;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(4) dl dt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  bottom: 50%;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(5) dl dt {
  background-color: #3ca69d;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(5) dl.is_show dt {
  background-color: #FFF;
  border: none;
  text-align: center;
  color: #02514A !important;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(5) dl dt {
  color: #fff;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(5) dl dt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  bottom: 50%;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(6) dl dt {
  background-color: #328c85;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(6) dl.is_show dt {
  background-color: #FFF;
  border: none;
  text-align: center;
  color: #02514A !important;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(6) dl dt {
  color: #fff;
  position: relative;
}

#p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(6) dl dt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  bottom: 50%;
  margin-top: -0.5em;
  margin-bottom: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_home #contents section.creation.pic {
  background: url("../web/img/bg_index_creation.jpg") center;
  background-size: cover;
}

@media only screen and (max-width: 768px) {
  #p_web.web_home #contents #mainVisual .catch {
    bottom: 10px;
  }
  #p_web.web_home #contents section.important ul.elementList > li.pic {
    margin-top: 20px;
  }
  #p_web.web_home #contents section.creation .baseInner > p,
  #p_web.web_home #contents section.creation ul.toggleSlide {
    padding: 0 20px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show {
    padding: 30px 50px;
  }
}

@media only screen and (max-width: 480px) {
  #p_web.web_home #contents #mainVisual .catch {
    right: 10px;
    bottom: 10px;
  }
  #p_web.web_home #contents section.important ul.elementList > li.pic img {
    max-width: 280px;
    width: 100%;
  }
  #p_web.web_home #contents section.important ul.elementList > li dl dt br {
    display: none;
  }
  #p_web.web_home #contents section.creation .baseInner > p {
    padding: 0 10px;
  }
  #p_web.web_home #contents section.creation .baseInner > p br {
    display: none;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li dl dt {
    padding: 12px 30px 12px 10px;
    text-align: left;
    font-size: 15px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li dl.is_show {
    padding: 20px 20px 30px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(1) dl dt:after {
    right: 10px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(2) dl dt:after {
    right: 10px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(3) dl dt:after {
    right: 10px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(4) dl dt:after {
    right: 10px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(5) dl dt:after {
    right: 10px;
  }
  #p_web.web_home #contents section.creation ul.toggleSlide li:nth-child(6) dl dt:after {
    right: 10px;
  }
}

/**************************
	web-second
***************************/
#p_web.web_second #contents section.head-web {
  background-color: #E8EFF1;
}

#p_web.web_second #contents section.support ul.elementList {
  text-align: center;
}

#p_web.web_second #contents section.support ul.elementList > li {
  padding: 0 10px;
  max-width: 320px;
  display: inline-block;
  vertical-align: top;
}

#p_web.web_second #contents section.support ul.elementList > li .pic {
  min-height: 100px;
  vertical-align: middle;
}

#p_web.web_second #contents section.support ul.elementList > li .txt {
  text-align: left;
  font-size: 14px;
  line-height: 1.6;
}

#p_web.web_second #contents section.support ul.dotted {
  padding-left: 25px;
}

#p_web.web_second #contents section.support ul.dotted li {
  margin-left: 25px;
  list-style: disc outside;
}

#p_web.web_second #contents section.meritt.bg {
  padding: 120px 0;
  background: url("../web/img/bg_construction_meritt.jpg") no-repeat center;
  background-size: cover;
}

#p_web.web_second #contents section.meritt ul.elementList {
  text-align: center;
}

#p_web.web_second #contents section.meritt ul.elementList > li {
  padding: 0 30px;
  max-width: 30%;
}

#p_web.web_second #contents section.meritt ul.elementList > li .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
}

#p_web.web_second #contents section.meritt ul.elementList > li .txt {
  text-align: left;
}

#p_web.web_second #contents section.meritt ul.elementList > li .pic {
  padding: 0 20px;
}

#p_web.web_second #contents section.meritt ul.check {
  text-align: center;
}

#p_web.web_second #contents section.meritt ul.check li {
  margin-top: 10px;
  font-size: 16px;
}

#p_web.web_second #contents section.meritt ul.check li:before {
  content: "";
  margin-right: 5px;
  color: #1f8c83;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_web.web_second #contents section.facing {
  background: url("../web/img/bg_cms_facing.jpg") no-repeat top center;
  background-size: cover;
}

#p_web.web_second #contents section.facing > * {
  text-shadow: 0px 0px 1px #ffffff, 0px 0px 4px #ffffff, 0px 0px 4px #ffffff, 0px 0px 4px #ffffff;
}

#p_web.web_second #contents section.creation {
  padding: 30px 0 60px;
}

#p_web.web_second #contents section.creation ul.elementList > li a {
  padding: 30px 10px;
}

#p_web.web_second #contents section.creation ul.elementList > li a.current {
  opacity: 0.5;
}

@media only screen and (max-width: 768px) {
  #p_web.web_second #contents section.facing p, #p_web.web_second #contents section.head-web p {
    padding: 0 20px;
  }
  #p_web.web_second #contents section.support .baseInner {
    padding: 0 10px;
  }
  #p_web.web_second #contents section.support ul.elementList > li {
    max-width: 100%;
  }
  #p_web.web_second #contents section.support ul.dotted {
    padding: 0 10px;
  }
  #p_web.web_second #contents section.meritt ul.elementList > li {
    max-width: 100%;
    padding: 0 20px;
  }
  #p_web.web_second #contents section.meritt ul.elementList > li .title br,
  #p_web.web_second #contents section.meritt ul.elementList > li .txt br {
    display: none;
  }
  #p_web.web_second #contents section.meritt ul.check {
    padding: 0 20px;
  }
}

@media only screen and (max-width: 480px) {
  #p_web.web_second #contents section.facing p, #p_web.web_second #contents section.head-web p {
    padding: 0 10px;
  }
  #p_web.web_second #contents section.support .baseInner {
    padding: 0;
  }
  #p_web.web_second #contents section.support ul.elementList li {
    max-width: 100%;
  }
  #p_web.web_second #contents section.support ul.elementList li .pic {
    min-height: 0;
  }
  #p_web.web_second #contents section.support ul.dotted {
    padding: 0 10px;
  }
  #p_web.web_second #contents section.meritt ul.elementList {
    margin-top: 20px;
  }
  #p_web.web_second #contents section.meritt ul.elementList li {
    padding: 0 10px;
  }
  #p_web.web_second #contents section.meritt ul.check {
    text-align: left;
    padding: 0 10px;
  }
  #p_web.web_second #contents section.meritt ul.check li {
    padding-left: 25px;
    position: relative;
  }
  #p_web.web_second #contents section.meritt ul.check li:before {
    position: absolute;
    left: 0;
  }
  #p_web.web_second #contents section.creation {
    padding: 15px 0 30px;
  }
  #p_web.web_second #contents section.creation ul.elementList > li a {
    padding: 20px 10px;
  }
}

/* ---------------------------------------------------------
	company
----------------------------------------------------------*/
#p_company.company_home #contents section.profile ul.profileList > li {
  display: table;
  width: 100%;
}

#p_company.company_home #contents section.profile ul.profileList > li .title, #p_company.company_home #contents section.profile ul.profileList > li .txt {
  display: table-cell;
  border-bottom: 1px solid #c3c3c3;
}

#p_company.company_home #contents section.profile ul.profileList > li .title {
  width: 280px;
  font-weight: bold;
  padding: 10px 40px;
}

#p_company.company_home #contents section.profile ul.profileList > li .txt {
  padding: 10px;
}

#p_company.company_home #contents section.profile ul.profileList > li .txt > ul li {
  list-style: disc outside;
  margin-left: 20px;
}

#p_company.company_home #contents section.profile ul.profileList > li .txt a {
  text-decoration: underline;
}

#p_company.company_home #contents section.profile #map_canvas {
  position: relative;
  padding-bottom: 36%;
  padding-top: 20px;
  height: 0;
  overflow: hidden;
}

#p_company.company_home #contents section.profile #map_canvas iframe,
#p_company.company_home #contents section.profile #map_canvas object,
#p_company.company_home #contents section.profile #map_canvas embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

#p_company.company_home #contents section.profile .stuff {
  position: relative;
}

#p_company.company_home #contents section.profile .stuff .stump {
  position: absolute;
  top: -10px;
  left: -60px;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}

@media only screen and (max-width: 959px) {
  #p_company.company_home #contents section.profile .stuff .stump {
    left: 0;
  }
}

@media only screen and (max-width: 768px) {
  #p_company.company_home #contents section.profile ul.profileList > li .title {
    width: 180px;
    padding: 10px 20px;
  }
  #p_company.company_home #contents section.profile #map_canvas {
    padding-bottom: 40%;
  }
}

@media only screen and (max-width: 480px) {
  #p_company.company_home #contents section.profile ul.profileList > li .title, #p_company.company_home #contents section.profile ul.profileList > li .txt {
    display: block;
    padding: 5px 10px;
    width: 100%;
  }
  #p_company.company_home #contents section.profile ul.profileList > li .title {
    border: none;
    padding: 10px 10px 5px;
  }
  #p_company.company_home #contents section.profile ul.profileList > li .txt {
    padding: 0 10px 10px 25px;
  }
  #p_company.company_home #contents section.profile #map_canvas {
    padding-bottom: 60%;
  }
  #p_company.company_home #contents section.profile .stuff .stump {
    top: -5px;
  }
  #p_company.company_home #contents section.profile .stuff .stump img {
    width: 40px;
  }
}

/* ---------------------------------------------------------
	privacypolicy
----------------------------------------------------------*/
#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li .h3Tilte {
  margin-top: 40px;
  font-size: 18px;
  font-weight: bold;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table {
  margin: 20px auto 0;
  max-width: 700px;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table thead tr th {
  padding: 10px;
  font-size: 16px;
  text-align: center;
  border-bottom: 1px solid #c3c3c3;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody {
  padding-top: 30px;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td {
  padding: 10px;
  border-bottom: 1px solid #c3c3c3;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td ul {
  padding-left: 25px;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td ul li {
  margin-left: 25px;
  list-style: disc outside;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td:last-child {
  vertical-align: top;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr:first-child td {
  padding-top: 30px;
}

#p_privacypolicy.privacypolicy_home #contents section.privacy .borderBox {
  padding: 20px;
  background-color: #EFEFEF;
}

@media only screen and (max-width: 768px) {
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList,
  #p_privacypolicy.privacypolicy_home #contents section.privacy .baseInner > p {
    margin: 0 20px;
  }
}

@media only screen and (max-width: 480px) {
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList,
  #p_privacypolicy.privacypolicy_home #contents section.privacy .baseInner > p {
    margin: 0 10px;
  }
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li .h3Tilte {
    margin-top: 20px;
  }
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table thead tr th, #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td {
    padding: 10px 5px 10px 0;
  }
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td {
    font-size: 13px;
  }
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td ul {
    padding-left: -20px;
  }
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td ul li {
    margin-left: 20px;
  }
  #p_privacypolicy.privacypolicy_home #contents section.privacy ul.privacyList > li table tbody tr td:first-child {
    width: 140px;
  }
}

/* ---------------------------------------------------------
	recruit
----------------------------------------------------------*/
#p_recruit.recruit_home #contents section.stop p {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

#p_recruit.recruit_home #contents section.type ul.elementList {
  text-align: center;
}

#p_recruit.recruit_home #contents section.type ul.elementList > li {
  padding: 0 30px;
  max-width: 30%;
}

#p_recruit.recruit_home #contents section.type ul.elementList > li .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  min-height: 50px;
}

#p_recruit.recruit_home #contents section.type ul.elementList > li .txt {
  text-align: left;
}

#p_recruit.recruit_home #contents section.type ul.elementList > li .pic {
  padding: 0 20px;
}

@media only screen and (max-width: 768px) {
  #p_recruit.recruit_home #contents section.stop p {
    font-size: 20px;
    padding: 0 20px;
  }
  #p_recruit.recruit_home #contents section.type ul.elementList {
    margin: 0;
  }
  #p_recruit.recruit_home #contents section.type ul.elementList > li {
    margin: 30px 0 0;
    max-width: 100%;
    padding: 0 20px;
  }
  #p_recruit.recruit_home #contents section.type ul.elementList > li .title br,
  #p_recruit.recruit_home #contents section.type ul.elementList > li .txt br {
    display: none;
  }
  #p_recruit.recruit_home #contents section.type ul.elementList > li .title {
    min-height: auto;
  }
}

@media only screen and (max-width: 480px) {
  #p_recruit.recruit_home #contents section.stop p {
    font-size: 16px;
    padding: 0 10px;
    text-align: left;
  }
  #p_recruit.recruit_home #contents section.stop p br {
    display: none;
  }
  #p_recruit.recruit_home #contents section.type ul.elementList li {
    padding: 0 10px;
  }
}

/* ---------------------------------------------------------
	お問い合わせ入力フォーム
----------------------------------------------------------*/
/*	mainVisual
-------------------------------------------------- */
#p_contact.contact_home #contents #mainVisual {
  height: 400px;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents #mainVisual {
    height: 250px;
  }
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents #mainVisual {
    height: 160px;
  }
}

/*	baseInner
-------------------------------------------------- */
#p_contact.contact_home #contents .baseInner > p {
  padding: 0 20px;
}

#p_contact.contact_home #contents .fwb {
  font-weight: bold;
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents .baseInner > p {
    padding: 0 20px;
  }
}

/*	step
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList ul.step {
  text-align: center;
}

#p_contact.contact_home #contents section.frame .frameList ul.step li {
  display: inline-block;
}

#p_contact.contact_home #contents section.frame .frameList ul.step li:nth-child(2) {
  margin-left: 40px;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameList ul.step li.btn a {
    padding: 20px;
  }
  #p_contact.contact_home #contents section.frame .frameList ul.step li:nth-child(2) {
    margin-left: 20px;
  }
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameList ul.step li {
    width: 100%;
  }
  #p_contact.contact_home #contents section.frame .frameList ul.step li.btn a {
    padding: 10px 20px;
  }
  #p_contact.contact_home #contents section.frame .frameList ul.step li:nth-child(2) {
    margin: 10px 0 0 0;
  }
}

/*	categoryCheck
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .frameItem.categoryCheck {
  text-align: center;
  border: none;
}

#p_contact.contact_home #contents section.frame .frameList .frameItem.categoryCheck input[type=radio] + label {
  font-size: 18px;
}

#p_contact.contact_home #contents section.frame .frameList .frameItem.categoryCheck input[type=radio] + label:before {
  width: inherit;
  height: auto;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameList .frameItem.categoryCheck input[type=radio] + label {
    display: block;
  }
}

/*	att
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .att {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.6;
}

/*	frameItem　フォーム枠
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .frameItem {
  border-top: 1px solid #c3c3c3;
  display: table;
  width: 100%;
  padding: 30px 0;
}

#p_contact.contact_home #contents section.frame .frameList .frameItem > div {
  display: table-cell;
  vertical-align: top;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameList .frameItem {
    display: block;
    padding: 30px 20px;
  }
  #p_contact.contact_home #contents section.frame .frameList .frameItem > div {
    display: block;
  }
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameList .frameItem {
    padding: 20px 10px;
  }
  #p_contact.contact_home #contents section.frame .frameList .frameItem > div {
    display: block;
  }
}

/*	thead
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .thead {
  width: 30%;
}

#p_contact.contact_home #contents section.frame .frameList .thead:after {
  content: "";
  display: block;
  clear: both;
}

#p_contact.contact_home #contents section.frame .frameList .thead .name {
  padding: 10px;
  font-size: 16px;
  font-weight: bold;
}

#p_contact.contact_home #contents section.frame .frameList .thead .required {
  position: relative;
}

#p_contact.contact_home #contents section.frame .frameList .thead .required:after {
  position: absolute;
  content: "必須";
  top: 0;
  right: 0;
  background-color: #000;
  display: block;
  color: #FFF;
  font-weight: normal;
  font-size: 14px;
  padding: 10px;
  width: 80px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameList .thead {
    width: 100%;
  }
  #p_contact.contact_home #contents section.frame .frameList .thead .name span {
    padding: 5px 10px;
  }
  #p_contact.contact_home #contents section.frame .frameList .thead .required:after {
    display: inline-block;
    position: static;
    padding: 5px 10px;
    margin-left: 10px;
  }
}

/*	tbody
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .tbody {
  width: 70%;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameList .tbody {
    margin-top: 10px;
    width: 100%;
  }
  #p_contact.contact_home #contents section.frame .frameList .answer {
    padding: 0 10px;
  }
}

/*	frameItemJob　職種フォーム枠
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .frameItemJob {
  display: table;
  width: 100%;
  padding: 10px 0;
}

#p_contact.contact_home #contents section.frame .frameList .frameItemJob > div {
  display: table-cell;
  vertical-align: top;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameList .frameItemJob {
    display: block;
    padding: 10px 20px;
  }
  #p_contact.contact_home #contents section.frame .frameList .frameItemJob > div {
    display: block;
  }
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameList .frameItemJob {
    padding: 10px 10px;
  }
  #p_contact.contact_home #contents section.frame .frameList .frameItemJob > div {
    display: block;
  }
}

/* ---------------------------------------------------------
	フォーム
----------------------------------------------------------*/
/*	input ＆　textarea 共通
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList input[type="text"],
#p_contact.contact_home #contents section.frame .frameList input[type="tel"],
#p_contact.contact_home #contents section.frame .frameList input[type="email"],
#p_contact.contact_home #contents section.frame .frameList input[type="number"],
#p_contact.contact_home #contents section.frame .frameList textarea {
  width: 100%;
  padding: 11px;
  border: 1px solid #c3c3c3;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: 16px;
  -webkit-transition: background-color .2s ease-in;
  transition: background-color .2s ease-in;
}

#p_contact.contact_home #contents section.frame .frameList input[type="text"].is-error,
#p_contact.contact_home #contents section.frame .frameList input[type="tel"].is-error,
#p_contact.contact_home #contents section.frame .frameList input[type="email"].is-error,
#p_contact.contact_home #contents section.frame .frameList input[type="number"].is-error,
#p_contact.contact_home #contents section.frame .frameList textarea.is-error {
  background-color: #ffecec;
  -webkit-animation: shake .3s both;
  animation: shake .3s both;
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameList input[type="text"],
  #p_contact.contact_home #contents section.frame .frameList input[type="tel"],
  #p_contact.contact_home #contents section.frame .frameList input[type="email"],
  #p_contact.contact_home #contents section.frame .frameList input[type="number"],
  #p_contact.contact_home #contents section.frame .frameList textarea {
    padding: 10px 15px;
  }
}

/*	textarea
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList textarea {
  min-height: 200px;
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameList textarea {
    min-height: 100px;
  }
}

/*	radio　＆	checkbox　共通
	-------------------------------------------------- */
#p_contact.contact_home #contents input[type="radio"],
#p_contact.contact_home #contents input[type="checkbox"] {
  display: none;
}

#p_contact.contact_home #contents input[type="radio"] + label,
#p_contact.contact_home #contents input[type="checkbox"] + label {
  margin-left: 20px;
  position: relative;
  padding: 10px;
  display: inline-block;
  height: 100%;
  padding: 10px 10px 10px 2.2em;
  border-radius: 6px;
}

#p_contact.contact_home #contents input[type="radio"] + label:before,
#p_contact.contact_home #contents input[type="checkbox"] + label:before {
  position: absolute;
  top: 50%;
  left: 8px;
  color: #bababa;
  font-family: 'icons';
  font-size: 1.6em;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  -webkit-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
}

/*	radio
-------------------------------------------------- */
#p_contact.contact_home #contents input[type="radio"] + label:before {
  color: #999;
  left: 0;
  width: 20px;
  height: 20px;
  content: "";
}

#p_contact.contact_home #contents input[type="radio"]:checked + label:before {
  color: #000;
  content: "";
}

/*	checkbox
-------------------------------------------------- */
#p_contact.contact_home #contents input[type="checkbox"] + label:before {
  color: #999;
  left: 0;
  width: 20px;
  height: 20px;
  content: "";
}

#p_contact.contact_home #contents input[type="checkbox"]:checked + label:before {
  color: #000;
  content: "";
}

#p_contact.contact_home #contents .form_checkList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents .form_checkList li input[type="radio"] + label {
    height: inherit;
  }
}

/*	セレクトボックス
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .form_select {
  position: relative;
  position: relative;
}

#p_contact.contact_home #contents section.frame .frameList .form_select:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7px;
  margin-top: -0.5em;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_contact.contact_home #contents section.frame .frameList .form_select:after {
  pointer-events: none;
  z-index: 2;
}

#p_contact.contact_home #contents section.frame .frameList .form_select:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 100%;
  background-color: #000;
  pointer-events: none;
  z-index: 1;
}

#p_contact.contact_home #contents section.frame .frameList .form_select select {
  width: 100%;
  margin: 0;
  padding: 11px;
  font-family: inherit;
  font-size: 16px;
  border: 1px solid #c4c4c4;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

#p_contact.contact_home #contents section.frame .frameList .form_select select.is-error {
  background-color: #fedad9;
  -webkit-animation: shake .3s both;
  animation: shake .3s both;
}

#p_contact.contact_home #contents section.frame .frameList .form_select select option {
  color: #000;
}

#p_contact.contact_home #contents section.frame .frameList .workList .workItem {
  margin-top: 10px;
  padding: 0;
  counter-increment: cnt;
}

#p_contact.contact_home #contents section.frame .frameList .workList .workItem:before {
  content: "[ ご経験職種 - " counter(cnt) " ]";
}

/*	placeholder：入力例
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList form ::-webkit-input-placeholder {
  color: #ababab;
}

#p_contact.contact_home #contents section.frame .frameList form ::-moz-placeholder {
  color: #ababab;
  opacity: 1;
}

#p_contact.contact_home #contents section.frame .frameList form :-ms-input-placeholder {
  color: #ababab;
}

#p_contact.contact_home #contents section.frame .frameList form :-moz-placeholder-shown {
  color: #ababab;
}

#p_contact.contact_home #contents section.frame .frameList form :placeholder-shown {
  color: #ababab;
}

/* ---------------------------------------------------------
	トグルコンテンツ
---------------------------------------------------------*/
#p_contact.contact_home #contents section.frame .frameList .toggle {
  margin-top: 5px;
}

#p_contact.contact_home #contents section.frame .frameList .toggle_btn {
  padding: 15px;
  background-color: #bae3f9;
  color: #000;
  cursor: pointer;
  -webkit-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
  position: relative;
}

#p_contact.contact_home #contents section.frame .frameList .toggle_btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -0.5em;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 1.2em;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_contact.contact_home #contents section.frame .frameList .toggle_btn.is-hover {
  background-color: #e0f2fc;
}

#p_contact.contact_home #contents section.frame .frameList .toggle_body {
  padding: 15px;
  background-color: ligthen(#bae3f9, 10%);
}

/*	エラーメッセージ
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .error_text {
  color: #ff0000;
}

#p_contact.contact_home #contents .error_text {
  color: #ff0000;
}

/*	privacyBox
-------------------------------------------------- */
#p_contact.contact_home #contents .privacyBox {
  text-align: center;
  font-size: 16px;
}

#p_contact.contact_home #contents .privacyBox input[type=checkbox] {
  vertical-align: middle;
  width: 24px;
  height: 24px;
  margin-right: 10px;
  background: #fff;
}

/*	privacy
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameList .privacyTxt {
  border: 1px solid #c3c3c3;
  padding: 10px 30px;
  height: 200px;
  overflow-y: scroll;
  line-height: 1.8;
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameList .privacyTxt {
    padding: 10px 15px;
    min-height: 200px;
  }
}

/* ---------------------------------------------------------
	お問い合わせ入力内容確認画面　confirm_carrers.php
	----------------------------------------------------------*/
/*	frameItem　フォーム枠
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameListConfirm .frameItem {
  border-top: 1px solid #c3c3c3;
  display: table;
  width: 100%;
  padding: 30px 0;
}

#p_contact.contact_home #contents section.frame .frameListConfirm .frameItem > div {
  display: table-cell;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItem {
    display: block;
    padding: 30px 20px;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItem > div {
    display: block;
  }
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItem {
    padding: 20px 10px;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItem > div {
    display: block;
  }
}

/*	thead
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameListConfirm .thead {
  width: 30%;
}

#p_contact.contact_home #contents section.frame .frameListConfirm .thead:after {
  content: "";
  display: block;
  clear: both;
}

#p_contact.contact_home #contents section.frame .frameListConfirm .thead .name {
  float: left;
  padding: 10px;
  font-size: 16px;
  font-weight: bold;
}

#p_contact.contact_home #contents section.frame .frameListConfirm .thead .require {
  float: right;
}

#p_contact.contact_home #contents section.frame .frameListConfirm .thead .require span {
  background-color: #000;
  display: block;
  color: #FFF;
  padding: 10px;
  width: 80px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameListConfirm .thead {
    width: 100%;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .thead .name span {
    padding: 5px 10px;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .thead .require {
    float: left;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .thead .require span {
    padding: 5px 10px;
  }
}

/*	tbody
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameListConfirm .tbody {
  width: 70%;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameListConfirm .tbody {
    margin-top: 10px;
    width: 100%;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .answer {
    padding: 0 10px;
  }
}

/*	frameItemJob　職種フォーム枠
-------------------------------------------------- */
#p_contact.contact_home #contents section.frame .frameListConfirm .frameItemJob {
  display: table;
  width: 100%;
  padding: 10px 0;
}

#p_contact.contact_home #contents section.frame .frameListConfirm .frameItemJob > div {
  display: table-cell;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItemJob {
    display: block;
    padding: 10px 20px;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItemJob > div {
    display: block;
  }
}

@media only screen and (max-width: 480px) {
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItemJob {
    padding: 10px 10px;
  }
  #p_contact.contact_home #contents section.frame .frameListConfirm .frameItemJob > div {
    display: block;
  }
}

/* ---------------------------------------------------------
	お問い合わせ完了画面　thankcs_*******.php
	----------------------------------------------------------*/
#p_contact.contact_home #contents .thanksMessage > p.text:not(:first-of-type) {
  margin-top: 20px;
}

#p_contact.contact_home #contents .thanksMessage em {
  font-weight: bold;
}

/* ---------------------------------------------------------
	404 error
----------------------------------------------------------*/
#p_error.error_home #contents #mainVisual video {
  background: url(/movie/error.jpg) no-repeat;
  background-size: cover;
}

#p_error.error_home #contents section.info p {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

#p_error.error_home #contents section.info ul.elementList {
  text-align: center;
}

#p_error.error_home #contents section.info ul.elementList li {
  padding: 0 20px;
  margin: 20px auto;
  display: inline-block;
}

#p_error.error_home #contents section.info ul.elementList li a {
  display: inline-block;
  padding: 15px 50px;
  max-width: 320px;
  width: 100%;
  font-size: 16px;
  text-align: center;
  color: #FFF;
  background-color: #000;
  -webkit-box-shadow: 0px 2px 5px #444;
  box-shadow: 0px 2px 5px #444;
}

#p_error.error_home #contents section.info ul.elementList li a:before {
  content: "";
  margin-right: 5px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 16px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

@media only screen and (max-width: 768px) {
  #p_error.error_home #contents section.info p {
    font-size: 18px;
    padding: 0 20px;
  }
  #p_error.error_home #contents section.info ul.elementList li {
    width: 50%;
    padding: 0 10px;
    margin: 10px auto;
  }
  #p_error.error_home #contents section.info ul.elementList li a {
    padding: 10px 25px;
  }
}

@media only screen and (max-width: 480px) {
  #p_error.error_home #contents section.info p {
    font-size: 16px;
    padding: 0 10px;
  }
  #p_error.error_home #contents section.info ul.elementList {
    margin-top: 20px;
  }
  #p_error.error_home #contents section.info ul.elementList li {
    width: 100%;
  }
  #p_error.error_home #contents section.info ul.elementList li a {
    padding: 15px 25px;
  }
}

/* ---------------------------------------------------------
	lab
----------------------------------------------------------*/
#p_lab.lab_home #contents section.introduct ul.elementList {
  text-align: center;
  margin: 0;
}

#p_lab.lab_home #contents section.introduct ul.elementList li {
  max-width: 460px;
  width: 100%;
}

#p_lab.lab_home #contents section.introduct ul.elementList li a {
  display: block;
  padding: 10px 10px 40px;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
  position: relative;
}

#p_lab.lab_home #contents section.introduct ul.elementList li a:after {
  content: "";
  position: absolute;
  right: 20px;
  bottom: 20px;
  color: #000;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_lab.lab_home #contents section.introduct ul.elementList li a dl dt {
  font-family: "Sorts Mill Goudy", serif;
  font-weight: bold;
}

#p_lab.lab_home #contents section.introduct ul.elementList li a dl dd {
  line-height: 1.4;
  font-size: 20px;
  color: #FFF;
}

#p_lab.lab_home #contents section.introduct ul.elementList li a:hover {
  opacity: 0.7;
}

#p_lab.lab_home #contents section.introduct ul.elementList li:nth-child(1) a {
  background-color: #cbbb7b;
}

@media only screen and (max-width: 768px) {
  #p_lab.lab_home #contents section.introduct .baseInner > p, #p_lab.lab_home #contents section.introduct ul.elementList {
    padding: 0 20px;
  }
}

@media only screen and (max-width: 480px) {
  #p_lab.lab_home #contents section.introduct .baseInner > p {
    padding: 0 10px;
  }
  #p_lab.lab_home #contents section.introduct ul.elementList li a dl dd {
    font-size: 16px;
  }
}

/* ---------------------------------------------------------
	e-commerce
----------------------------------------------------------*/
#p_e-commerce.e-commerce_home #contents #mainVisual .catch .catchInner .catchTxt {
  font-weight: bold;
}

#p_e-commerce.e-commerce_home #contents section.ec:nth-child(even) {
  background-color: #e8eff1;
}

#p_e-commerce.e-commerce_home #contents section {
  padding: 50px 0;
}

#p_e-commerce.e-commerce_home #contents section .baseInner {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

#p_e-commerce.e-commerce_home #contents section .forTab {
  display: none;
}

#p_e-commerce.e-commerce_home #contents section.cost .costTtl {
  margin-top: 30px;
  padding: 2px 0;
  background-color: #0c8a81;
  color: #fff;
  font-size: 18px;
  text-align: center;
}

#p_e-commerce.e-commerce_home #contents section.cost .txt {
  text-align: left;
}

#p_e-commerce.e-commerce_home #contents section.cost .elementList.twoBlock {
  margin-top: 0;
}

#p_e-commerce.e-commerce_home #contents section.bep .txt {
  text-align: left;
}

#p_e-commerce.e-commerce_home #contents section.bep .elementList.twoBlock {
  margin-top: 0;
}

#p_e-commerce.e-commerce_home #contents section.bep .bepSales {
  margin: 35px 25px 0 25px;
}

#p_e-commerce.e-commerce_home #contents section.bep .bepSales .bepTbl {
  background-color: #c5eae3;
  color: #0c8a81;
  width: 100%;
  text-align: left;
  font-size: 14px;
  font-weight: bold;
  line-height: 35px;
}

#p_e-commerce.e-commerce_home #contents section.bep .bepSales .bepTbl .heading {
  background-color: #0c8a81;
  color: #fff;
}

#p_e-commerce.e-commerce_home #contents section.bep .bepSales .bepTbl .ttl, #p_e-commerce.e-commerce_home #contents section.bep .bepSales .bepTbl .txt {
  border: 1px solid #fff;
  padding: 0 13px;
}

#p_e-commerce.e-commerce_home #contents section.bep .bepSales .bepTbl .amount {
  text-align: right;
}

#p_e-commerce.e-commerce_home #contents section.bep .bepGrasp {
  text-align: center;
}

#p_e-commerce.e-commerce_home #contents section.bep .bepGrasp .ttl {
  color: #0c8a81;
  font-size: 16px;
  font-weight: bold;
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner {
  max-width: 1000px;
  text-align: center;
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner ul li:nth-child(even) {
  margin-left: 8%;
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner ul.elementList.twoBlock > li {
  width: 46%;
  margin-top: 60px;
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner .ttl {
  color: #0c8a81;
  font-size: 20px;
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner .ttl span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #f6ff00));
  background: -webkit-linear-gradient(transparent 80%, #f6ff00 80%);
  background: linear-gradient(transparent 80%, #f6ff00 80%);
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner .ttl.wLine {
  margin-top: 0.5em;
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner .txt {
  margin-top: 0.5em;
  text-align: left;
}

#p_e-commerce.e-commerce_home #contents section.point .baseInner img {
  width: 320px;
}

#p_e-commerce.e-commerce_home #contents section.service .txt {
  text-align: left;
}

#p_e-commerce.e-commerce_home #contents section.service .btn a {
  max-width: 400px;
}

#p_e-commerce.e-commerce_home #contents section.service .serviceLink {
  text-align: center;
  margin: 70px auto 0 auto;
}

#p_e-commerce.e-commerce_home #contents section.service .serviceLink a {
  display: inline-block;
  padding: 20px 50px;
  max-width: 546px;
  width: 100%;
  background-color: #0c8a81;
  color: #fff;
  font-size: 20px;
}

#p_e-commerce.e-commerce_home #contents section.service .serviceLink a:after {
  content: "";
  margin-left: 4px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 20px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_e-commerce.e-commerce_home #contents section.service .serviceLink a:hover {
  opacity: 0.7;
}

#p_e-commerce.e-commerce_home #contents section ul.serviceList > li {
  display: table;
  width: 100%;
}

#p_e-commerce.e-commerce_home #contents section ul.serviceList > li .title, #p_e-commerce.e-commerce_home #contents section ul.serviceList > li .txt {
  display: table-cell;
}

#p_e-commerce.e-commerce_home #contents section ul.serviceList > li .title {
  width: 100px;
  font-weight: bold;
}

#p_e-commerce.e-commerce_home #contents section ul.serviceList > li .title span {
  padding: 8px 13px;
  color: #fff;
  font-size: 14px;
  background-color: #0c8a81;
}

#p_e-commerce.e-commerce_home #contents section ul.serviceList > li .txt {
  padding: 10px 0 10px 20px;
  font-weight: bold;
  font-size: 18px;
}

#p_e-commerce.e-commerce_home #contents section ul.serviceList > li .txt > ul li {
  list-style: disc outside;
  margin-left: 20px;
}

#p_e-commerce.e-commerce_home #contents section ul.serviceList > li .txt span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, #f6ff00));
  background: -webkit-linear-gradient(transparent 80%, #f6ff00 80%);
  background: linear-gradient(transparent 80%, #f6ff00 80%);
}

#p_e-commerce.e-commerce_home #contents section#shopify {
  background-color: #f0f7e0;
  position: relative;
}

#p_e-commerce.e-commerce_home #contents section#shopify .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#p_e-commerce.e-commerce_home #contents section#shopify .title .markPic {
  width: 132px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .title .h2Title_Japa {
  margin-left: 12px;
  text-align: left;
  font-size: 50px;
  font-weight: bold;
  color: #599030;
}

#p_e-commerce.e-commerce_home #contents section#shopify .txt {
  font-size: 16px;
  line-height: 36px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .partnersPic {
  margin-left: auto;
  margin-right: auto;
  width: 289px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice {
  margin-top: 30px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl {
  background-color: #599030;
  color: #f8ffa8;
  width: 100%;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 35px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl .heading {
  background-color: #8bb25d;
  color: #fff;
  border: 1px solid #f0f7e0;
  text-align: center;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl .tblTtl, #p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl .tblTxt {
  border: 1px solid #f0f7e0;
  padding: 0 13px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl .amount {
  text-align: right;
}

#p_e-commerce.e-commerce_home #contents section#shopify .note {
  padding-left: 1em;
  font-size: 12px;
  position: relative;
}

#p_e-commerce.e-commerce_home #contents section#shopify .note:before {
  content: "※";
  position: absolute;
  left: 0;
}

#p_e-commerce.e-commerce_home #contents section#shopify .note.first {
  margin-top: 10px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyLink {
  text-align: center;
  margin: 30px auto 0 auto;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyLink a {
  display: inline-block;
  padding: 20px 50px;
  max-width: 546px;
  width: 100%;
  background-color: #8bb25d;
  color: #fff;
  font-size: 20px;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyLink a:after {
  content: "";
  margin-left: 4px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 20px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_e-commerce.e-commerce_home #contents section#shopify .shopifyLink a:hover {
  opacity: 0.7;
}

#p_e-commerce.e-commerce_home #contents .banner .bannerShopify {
  margin-left: auto;
  margin-right: auto;
  max-width: 716px;
}

#p_e-commerce.e-commerce_home #contents .banner .bannerShopify a:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 768px) {
  #p_e-commerce.e-commerce_home #contents section .forPc {
    display: none;
  }
  #p_e-commerce.e-commerce_home #contents section .forTab {
    display: block;
  }
  #p_e-commerce.e-commerce_home #contents section .baseInner .h2h2Title_Japa {
    line-height: 36px;
  }
  #p_e-commerce.e-commerce_home #contents section.cost .elementList.twoBlock {
    text-align: center;
  }
  #p_e-commerce.e-commerce_home #contents section.bep .elementList.twoBlock {
    text-align: center;
  }
  #p_e-commerce.e-commerce_home #contents section.bep .bepSales {
    margin: 35px 10px 0 10px;
  }
  #p_e-commerce.e-commerce_home #contents section.bep .bepSales .bepTbl .ttl, #p_e-commerce.e-commerce_home #contents section.bep .bepSales .bepTbl .txt {
    padding: 8px;
    line-height: 18px;
  }
  #p_e-commerce.e-commerce_home #contents section.bep .chart {
    margin: 10px;
  }
  #p_e-commerce.e-commerce_home #contents section.point .baseInner ul li:nth-child(even) {
    margin-left: 0;
  }
  #p_e-commerce.e-commerce_home #contents section.point .baseInner ul.elementList.twoBlock > li {
    width: 100%;
  }
  #p_e-commerce.e-commerce_home #contents section.point .baseInner .txt {
    margin-top: 1.5em;
  }
  #p_e-commerce.e-commerce_home #contents section.service .serviceLink {
    margin: 23px 10px 0 10px;
  }
  #p_e-commerce.e-commerce_home #contents section ul.serviceList li:nth-child(n+2) {
    margin-top: 40px;
  }
  #p_e-commerce.e-commerce_home #contents section ul.serviceList > li .title, #p_e-commerce.e-commerce_home #contents section ul.serviceList > li .txt {
    display: block;
    padding: 5px 10px;
    width: 100%;
    text-align: center;
  }
  #p_e-commerce.e-commerce_home #contents section ul.serviceList > li .title {
    border: none;
    padding: 10px 10px 5px;
  }
  #p_e-commerce.e-commerce_home #contents section ul.serviceList > li .txt {
    padding: 10px 10px 10px 10px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .title .markPic {
    width: 105px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .title .h2Title_Japa {
    margin: 0;
    margin-left: 5px;
    padding: 0;
    font-size: 28px;
    line-height: 38px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .txt {
    font-size: 14px;
    line-height: 28px;
    text-align: center;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .partnersPic {
    width: 236px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice {
    margin-top: 20px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl {
    font-size: 14px;
    line-height: 60px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl .heading {
    line-height: 30px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl .tblTtl, #p_e-commerce.e-commerce_home #contents section#shopify .shopifyPrice .priceTbl .tblTxt {
    padding: 0;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .shopifyLink {
    margin: 20px 10px 0 10px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .note {
    margin-left: 10px;
    margin-right: 10px;
  }
  #p_e-commerce.e-commerce_home #contents section#shopify .note.first {
    margin-top: 24px;
  }
  #p_e-commerce.e-commerce_home #contents .banner .bannerShopify {
    text-align: center;
    margin-right: 10px;
  }
}

@media only screen and (max-width: 480px) {
  #p_e-commerce.e-commerce_home #contents section {
    line-height: 30px;
  }
}

/* ---------------------------------------------------------
	seo
----------------------------------------------------------*/
#p_seo.seo_home #contents #mainVisual .catch .catchInner .catchTxt {
  font-weight: bold;
}

#p_seo.seo_home #contents section.seo:nth-child(odd) {
  background-color: #e8eff1;
}

#p_seo.seo_home #contents section {
  padding: 50px 0;
}

#p_seo.seo_home #contents section .baseInner {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

#p_seo.seo_home #contents section.l-inner .h3Title_Japa,
#p_seo.seo_home #contents section.l-outer .h3Title_Japa {
  text-align: left;
  color: #0c8981;
  padding-bottom: 10px;
  font-size: 23px;
}

#p_seo.seo_home #contents section.l-chksrv .baseInner,
#p_seo.seo_home #contents section.l-what .baseInner,
#p_seo.seo_home #contents section.l-inout .baseInner,
#p_seo.seo_home #contents section.l-crxseochksrv .baseInner {
  max-width: 1200px;
}

@media only screen and (max-width: 959px) {
  #p_seo.seo_home #contents section {
    padding: 50px 20px;
  }
  #p_seo.seo_home #contents section.l-middlesec {
    padding: 0;
  }
}

#p_seo.seo_home #contents section p em {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(90%, transparent), color-stop(0%, #f3ff1d));
  background: -webkit-linear-gradient(transparent 90%, #f3ff1d 0%);
  background: linear-gradient(transparent 90%, #f3ff1d 0%);
  display: inline;
  padding: 29px 0 0;
  font-weight: bold;
  margin: auto 5px;
  font-size: calc(1em + 2pt);
}

@media only screen and (min-width: 959px) {
  #p_seo.seo_home #contents section figure {
    width: 100%;
    max-width: 1000px;
    font-size: 0;
    margin: auto;
  }
  #p_seo.seo_home #contents section .l-figurecaption {
    font-size: 14px;
    display: inline-block;
    width: 58.5%;
    vertical-align: top;
    padding: 0 20px;
  }
  #p_seo.seo_home #contents section .l-figureimage {
    width: calc(100% - 58.5%);
    display: inline-block;
    padding: 0 20px;
  }
}

@media only screen and (max-width: 959px) {
  #p_seo.seo_home #contents section .l-figureimage {
    text-align: center;
    padding: 30px 0;
  }
}

#p_seo.seo_home #contents section .l-flowimg01_title {
  text-align: center;
  margin: 10px auto 10px;
  color: #0c8981;
  font-weight: bold;
  font-size: 16px;
}

@media only screen and (min-width: 960px) {
  #p_seo.seo_home #contents section .l-flowimg01_title {
    margin: 80px auto 10px;
    padding-right: 60px;
    font-size: 18px;
  }
}

#p_seo.seo_home #contents section .l-flowimg01 {
  max-width: 565px;
  margin: auto;
}

#p_seo.seo_home #contents section.l-inquiry .baseInner {
  max-width: 1000px;
  text-align: center;
}

#p_seo.seo_home #contents section.l-inquiry .l-seoInqLink {
  margin: 30px auto 0 auto;
  text-align: center;
}

#p_seo.seo_home #contents section.l-inquiry .l-seoInqLink a {
  display: inline-block;
  width: 100%;
  max-width: 546px;
  padding: 20px 50px;
  background-color: #0c8a81;
  color: #fff;
  font-size: 20px;
}

#p_seo.seo_home #contents section.l-inquiry .l-seoInqLink a:after {
  content: "";
  margin-left: 4px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 20px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#p_seo.seo_home #contents section.l-inquiry .l-seoInqLink a:hover {
  opacity: 0.7;
}

#p_seo.seo_home #contents .m-pscnd_sp {
  display: none;
}

@media only screen and (max-width: 768px) {
  #p_seo.seo_home #contents section .mod_tac_txt {
    text-align: left;
  }
  #p_seo.seo_home #contents .m-pscnd_pc {
    display: none;
  }
  #p_seo.seo_home #contents .m-pscnd_sp {
    display: inherit;
  }
}

@media only screen and (max-width: 480px) {
  #p_seo.seo_home #contents section {
    line-height: 30px;
  }
  #p_seo.seo_home #contents .m-pscnd_pc {
    display: none;
  }
  #p_seo.seo_home #contents .m-pscnd_sp {
    display: inherit;
  }
}

/* ---------------------------------------------------------
 *	フッター
 *---------------------------------------------------------- */
.pageTop {
  position: fixed;
  right: 40px;
  bottom: 40px;
}

.pageTop a {
  display: inline-block;
  font-size: 0;
  text-align: center;
}

.pageTop a:before {
  content: "";
  margin-right: 0;
  color: #c6c6c6;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 50px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

.pageTop a:before {
  display: inline-block;
  vertical-align: bottom;
  padding-top: 10px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: #D5D5D5 2px solid;
  background-color: rgba(245, 245, 245, 0.7);
  -webkit-transition: width .2s, height .2s, padding .2s;
  transition: width .2s, height .2s, padding .2s;
}

.pageTop a:hover:before {
  padding-top: 20px;
  width: 100px;
  height: 100px;
}

@media only screen and (max-width: 768px) {
  .pageTop {
    right: 10px;
  }
}

@media only screen and (max-width: 480px) {
  .pageTop a:before {
    width: 40px;
    height: 40px;
    font-size: 32px;
    padding-top: 0;
  }
  .pageTop a:hover:before {
    padding-top: 5px;
    width: 50px;
    height: 50px;
  }
}

#footer #footerMenu {
  padding: 20px 0;
  background-color: #000;
}

#footer #footerMenu nav ul {
  text-align: center;
}

#footer #footerMenu nav ul li {
  padding: 0 20px;
  display: inline-block;
  border-right: 1px solid #666;
}

#footer #footerMenu nav ul li:nth-of-type(1) {
  border-left: 1px solid #666;
}

#footer #footerMenu nav ul li a {
  color: #FFF;
}

#footer #footerAddress {
  background-color: #efefef;
}

#footer #footerAddress #footerAddressInner {
  margin: 0 auto;
  padding: 20px 0;
  max-width: 1000px;
  display: table;
}

#footer #footerAddress #footerAddressInner .addressLink {
  display: table-cell;
  position: relative;
  padding: 0 20px;
}

#footer #footerAddress #footerAddressInner .addressLink ul li {
  display: inline-block;
  padding: 0 10px;
  vertical-align: middle;
}

#footer #footerAddress #footerAddressInner .addressLink ul li a {
  font-size: 13px;
}

#footer #footerAddress #footerAddressInner .addressLink ul li.fb {
  width: 46px;
  height: 26px;
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 20px;
}

#footer #footerAddress #footerAddressInner .addressLink ul li.fb a {
  display: block;
  padding-top: 26px;
  background-color: #000;
  position: relative;
}

#footer #footerAddress #footerAddressInner .addressLink ul li.fb a:before {
  content: "";
  position: absolute;
  top: 6px;
  left: 8px;
  color: #fff;
  font-family: 'icons';
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 1;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-decoration: none;
}

#footer #footerAddress #footerAddressInner .addressDetails {
  display: table-cell;
}

#footer #footerAddress #footerAddressInner .addressDetails dl {
  padding: 20px 50px 20px 150px;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  background: url("../img/common/fig_stump.svg") no-repeat 40px 50%;
  background-size: 83px 95px;
}

#footer #footerAddress #footerAddressInner .addressDetails dl dt img {
  display: inline-block;
  vertical-align: middle;
  margin-left: 5px;
}

#footer #footerAddress #footerAddressInner .addressDetails dl dd {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.4;
}

#footer #footerAddress #footerAddressInner .addressDetails dl dd a {
  text-decoration: underline;
}

@media only screen and (min-width: 769px) {
  #footer #footerAddress .l-footerLink_em {
    position: absolute;
    width: 100%;
    left: 20px;
    top: 5em;
  }
  #footer #footerAddress .l-footerLink_em > a::after {
    content: '';
    font-family: icons;
  }
}

#footer #footerAddress .l-footerLink_em a::after {
  content: '';
  font-family: icons;
}

#footer #footerCopy {
  text-align: center;
  padding: 30px 0;
}

@media only screen and (max-width: 768px) {
  #footer #footerAddress #footerAddressInner {
    display: block;
  }
  #footer #footerAddress #footerAddressInner .addressLink, #footer #footerAddress #footerAddressInner .addressDetails {
    display: block;
  }
  #footer #footerAddress #footerAddressInner .addressLink {
    text-align: center;
  }
  #footer #footerAddress #footerAddressInner .addressLink ul {
    display: inline-block;
  }
  #footer #footerAddress #footerAddressInner .addressLink ul li.fb {
    position: static;
    left: auto;
    right: 0;
  }
  #footer #footerAddress #footerAddressInner .addressDetails {
    text-align: center;
  }
  #footer #footerAddress #footerAddressInner .addressDetails dl {
    border: none;
    text-align: left;
    margin: 0 auto;
    display: inline-block;
  }
}

@media only screen and (max-width: 480px) {
  #footer #footerAddress #footerAddressInner {
    padding: 20px 0 0;
  }
  #footer #footerAddress #footerAddressInner .addressDetails dl {
    background-position: 20px 50%;
    padding: 20px 20px 20px 120px;
  }
  #footer #footerCopy {
    padding: 10px 0;
  }
}

/*
 *#overview
 *モジュール一覧 */
/*
 *#colors
 *@primary #996600
 *@secondary #333
 *@color-name color-code
 *@primary #996600
 *@secondary #333
 *@color-name color-code
 *@primary #996600
 *@secondary #333
 *@color-name color-code */
/* ---------------------------------------------------------
 *	モジュール
 *---------------------------------------------------------- */
/*	便利クラス
 *------------------------------------------------ */
.mod_mt10 {
  margin-top: 10px!important;
}

@media only screen and (max-width: 480px) {
  .mod_mt10 {
    margin-top: 5px!important;
  }
}

.mod_mt20 {
  margin-top: 20px!important;
}

@media only screen and (max-width: 480px) {
  .mod_mt20 {
    margin-top: 10px!important;
  }
}

.mod_mt30 {
  margin-top: 30px!important;
}

@media only screen and (max-width: 480px) {
  .mod_mt30 {
    margin-top: 15px!important;
  }
}

.mod_mt40 {
  margin-top: 40px!important;
}

@media only screen and (max-width: 480px) {
  .mod_mt40 {
    margin-top: 20px!important;
  }
}

.mod_mt50 {
  margin-top: 50px!important;
}

@media only screen and (max-width: 480px) {
  .mod_mt50 {
    margin-top: 25px!important;
  }
}

.mod_mt60 {
  margin-top: 60px!important;
}

@media only screen and (max-width: 480px) {
  .mod_mt60 {
    margin-top: 30px!important;
  }
}

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

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

.mod_tal {
  text-align: left !important;
}

.mod_fwb {
  font-weight: bold;
}

.mod_tac_txt {
  text-align: center;
}

@media only screen and (max-width: 480px) {
  .mod_tac_txt {
    padding: 0 10px;
    text-align: left;
  }
  .mod_tac_txt br {
    display: none;
  }
}

@media only screen and (max-width: 959px) {
  .brNo_pc {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .brNo_tablet {
    display: none;
  }
}

@media only screen and (max-width: 480px) {
  .brNo_sp {
    display: none;
  }
}
/*# sourceMappingURL=base.css.map */
