@import url(http://fonts.googleapis.com/css?family=Cutive);
blockquote, cite, em, i {
  font-style: italic
}

a:active, a:hover, a:link, a:visited, ins {
  text-decoration: none
}

#header, sub, sup {
  position: relative
}

#over, .btnOv {
  position: absolute
}

#over, #wrapper {
  min-width: 1100px
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, menu, nav, object, ol, p, pre, q, s, samp, section, small, span, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, var, video {
  border: 0;
  margin: 0;
  margin-bottom: 18px;
  padding: 0;
  vertical-align: baseline
}

ol, ul {
  margin: 0 0 18px 1.5em
}

#container dd, #container hr, #container ol, #container p, #container pre, #container ul, dd, hr, p, pre {
  margin-bottom: 18px
}

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

body {
  text-align: left;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: subpixel-antialiased;
  font-family: arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-weight: 400
}

blockquote {
  quotes: none;
  padding: 0 3em
}

blockquote:after, blockquote:before {
  content: '';
  content: none
}

del {
  text-decoration: line-through
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

a img {
  border: none
}

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box
}

::selection {
  background: rgba(125, 125, 125, .5);
  color: #000
}

::-moz-selection {
  background: rgba(125, 125, 125, .5);
  color: #000
}

a, btn, button, input[type=submit] {
  -webkit-transition: all .2s ease;
  -moz-transition: all .2s ease;
  -ms-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease
}

body, input, textarea {
  color: #333;
  font-size: 14px;
  line-height: 1.4
}

input, textarea {
  color: #000
}

a:link, a:visited {
  color: #666;
  cursor: hand;
  cursor: pointer;
  outline: 0
}

a:active, a:hover {
  color: #000;
  cursor: hand;
  cursor: pointer
}

hr {
  background-color: #ccc;
  border: 0;
  clear: both;
  height: 1px
}

ul {
  list-style: none
}

ol {
  list-style: decimal
}

ol ol {
  list-style: upper-alpha
}

ol ol ol {
  list-style: lower-roman
}

ol ol ol ol {
  list-style: lower-alpha
}

#container ol ol, #container ol ul, #container table ol, #container table tr td p:last-child, #container table ul, #container ul ol, #container ul ul, ol ol, ol ul, ul ol, ul ul {
  margin-bottom: 0
}

dl {
  margin: 0 0 24px
}

dt, strong {
  font-weight: 700
}

big {
  font-size: 131.25%
}

ins {
  background: #ffc
}

.btn01, .btn01:active, .btn01:focus, .btn01:hover, .btn02, .btn02:active, .btn02:focus, .btn02:hover, .btn03, .btn03:active, .btn03:focus, .btn03:hover, .btn04, .btn04:active, .btn04:focus, .btn04:hover {
  text-decoration: none!important
}

blockquote cite, blockquote em, blockquote i {
  font-style: normal
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help
}

sub, sup {
  height: 0;
  line-height: 1;
  vertical-align: baseline
}

sup {
  bottom: 1ex
}

sub {
  top: .5ex
}

small {
  font-size: smaller
}

input[type=email], input[type=url], input[type=number], input[type=text], input[type=password], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #f1f1f1;
  border: 1px solid #dfdfdf;
  border-radius: 5px;
  padding: 6px 10px
}

#container {
  margin-bottom: 36px
}

#container kbd, #container pre, #container tt, #container var {
  font-size: 15px;
  line-height: 21px
}

#container code {
  font-size: 13px
}

#container h1, #container h2, #container h3, #container h4, #container h5, #container h6 {
  line-height: 1.5em;
  margin: 0 0 20px
}

#container table {
  width: 70%;
  border-collapse: separate;
  margin: 0 auto 24px;
  text-align: left;
  text-shadow: 0 1px 0 #fff;
  line-height: 1.6;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #fff;
  background: 0 0
}

#container table td, #container table th {
  border: none;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #ccc;
  background: 0 0
}

#container table thead th, #container table tr th {
  padding: 10px 12px;
  vertical-align: middle;
  color: #666;
  width: 25%
}

#container table thead th em, #container table tr th em {
  color: #c00
}

#container table tr td {
  padding: 10px 12px;
  vertical-align: middle
}

@font-face {
  font-family: astutecondssibold;
  src: url(../font/astucsb_-webfont.eot);
  src: url(../font/astucsb_-webfont.eot?#iefix) format("embedded-opentype"), url(../font/astucsb_-webfont.woff) format("woff"), url(../font/astucsb_-webfont.ttf) format("truetype"), url(../font/astucsb_-webfont.svg#astutecondssibold) format("svg");
  font-weight: 400;
  font-style: normal
}

pre {
  background: #f7f7f7;
  color: #222;
  line-height: 18px;
  overflow: auto;
  padding: 1.5em;
  font-family: "Courier 10 Pitch", Courier, monospace
}

.fs24b, .fs40b {
  line-height: 1em;
  font-weight: 700
}

code {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace
}

.w25p {
  width: 25%
}

.w30p {
  width: 30%
}

.w40p {
  width: 40%
}

.w50p {
  width: 50%
}

.w60p {
  width: 60%
}

.w70p {
  width: 70%
}

.w80p {
  width: 80%
}

.w90p {
  width: 90%
}

.w100p {
  width: 100%!important
}

.fs08 {
  font-size: .75em
}

.fs09 {
  font-size: .9em
}

.fs11 {
  font-size: 1.1em
}

.fs12 {
  font-size: 1.2em
}

.fs13 {
  font-size: 1.3em
}

.fs14 {
  font-size: 1.4em
}

.fs15 {
  font-size: 1.5em
}

.fs16 {
  font-size: 1.6em
}

.fs17 {
  font-size: 1.7em
}

.fs18 {
  font-size: 1.8em
}

.fs19 {
  font-size: 1.9em
}

.fs20 {
  font-size: 2em
}

.fs24b {
  font-size: 2.4em
}

.fs40b {
  font-size: 4em
}

.lh12 {
  line-height: 1.2!important
}

.lh14 {
  line-height: 1.4!important
}

.lh16 {
  line-height: 1.6!important
}

.bold {
  font-weight: 700
}

.TaL {
  text-align: left!important
}

.TaR {
  text-align: right!important
}

.TaC {
  text-align: center!important
}

.VaT {
  vertical-align: top!important
}

.VaM {
  vertical-align: middle!important
}

.VAB {
  vertical-align: bottom!important
}

#main .imgFR {
  float: right;
  padding: 0 10px 0 20px
}

#main .imgFR2 {
  float: right;
  padding: 0 0 0 20px
}

#main .imgFR3 {
  float: right;
  padding: 0
}

#main .imgFL {
  float: left;
  padding: 0 20px 0 10px
}

#main .imgFL2 {
  float: left;
  padding: 0 20px 0 0
}

#main .imgFL3 {
  float: left;
  padding: 0
}

.blue {
  color: #2438cc!important
}

.orange {
  color: #ff7800!important
}

.yellow {
  color: #ffcb3d!important
}

.red {
  color: #bf0000!important
}

.grey {
  color: #cbcbcb!important
}

.m0 {
  margin: 0
}

.m5 {
  margin: 5px
}

.m10 {
  margin: 10px
}

.m15 {
  margin: 15px
}

.m20 {
  margin: 20px
}

.mt0 {
  margin-top: 0!important
}

.mt5 {
  margin-top: 5px!important
}

.mt10 {
  margin-top: 10px!important
}

.mt15 {
  margin-top: 15px!important
}

.mt20 {
  margin-top: 20px!important
}

.mb0 {
  margin-bottom: 0!important
}

.mb5 {
  margin-bottom: 5px!important
}

.mb10 {
  margin-bottom: 10px!important
}

.mb15 {
  margin-bottom: 15px!important
}

.mb20 {
  margin-bottom: 20px!important
}

.mb25 {
  margin-bottom: 25px!important
}

.mb30 {
  margin-bottom: 30px!important
}

.mb40 {
  margin-bottom: 40px!important
}

.mb50 {
  margin-bottom: 50px!important
}

.mb60 {
  margin-bottom: 60px!important
}

.mb70 {
  margin-bottom: 70px!important
}

.mb80 {
  margin-bottom: 80px!important
}

.mb90 {
  margin-bottom: 90px!important
}

.mb100 {
  margin-bottom: 100px!important
}

.ml10 {
  margin-left: 10px!important
}

.ml20 {
  margin-left: 20px!important
}

.mr10 {
  margin-right: 10px!important
}

.mr20 {
  margin-right: 20px!important
}

.mlr5 {
  margin: 0 5px!important
}

.mlr10 {
  margin: 0 10px!important
}

.p0 {
  padding: 0!important
}

.p5 {
  padding: 5px!important
}

.p10 {
  padding: 10px!important
}

.p15 {
  padding: 15px!important
}

.p20 {
  padding: 20px!important
}

.pb0 {
  padding-bottom: 0!important
}

.pb5 {
  padding-bottom: 5px!important
}

.pb10 {
  padding-bottom: 10px!important
}

.pb15 {
  padding-bottom: 15px!important
}

.pb20 {
  padding-bottom: 20px!important
}

.pt0 {
  padding-top: 0!important
}

.pt5 {
  padding-top: 5px!important
}

.pt10 {
  padding-top: 10px!important
}

.pt15 {
  padding-top: 15px!important
}

.pt20 {
  padding-top: 20px!important
}

.pt35 {
  padding-top: 35px!important
}

.pt40 {
  padding-top: 40px!important
}

.pl10 {
  padding-left: 10px!important
}

.pr10 {
  padding-right: 10px!important
}

.pr20 {
  padding-right: 20px!important
}

.pr30 {
  padding-right: 30px!important
}

.plr5 {
  padding-left: 5px;
  padding-right: 5px
}

.plr10 {
  padding-left: 10px;
  padding-right: 10px
}

.plr15 {
  padding-left: 15px;
  padding-right: 15px
}

.plr20 {
  padding-left: 20px;
  padding-right: 20px
}

.PLR25 {
  padding-left: 25px;
  padding-right: 25px
}

.FlR {
  float: right!important
}

.FlL {
  float: left!important
}

.ClB, .FlC {
  clear: both!important
}

#container.worksPage .worksCont, .attention, .caption, .inner:after {
  clear: both
}

.attention {
  font-size: .9em;
  line-height: 1.2;
  color: #666
}

.attentionbox {
  clear: both;
  font-size: .9em;
  line-height: 1.4;
  color: #333;
  margin: 0 auto 18px;
  background: #efefef;
  padding: 15px
}

.caption {
  text-align: right;
  color: #7d7d7d;
  font-size: .8em;
  margin: 0 0 20px
}

#footer h1, #header, #header #gNav, #header #gNav ul, #over {
  text-align: center
}

.indent {
  text-indent: 1em
}

hr.clear {
  background: 0 0;
  color: #fff;
  border-color: #fff
}

.btn01, .btn02, .btn03, .btn04 {
  display: inline-block;
  padding: 6px 12px 4px;
  margin-bottom: 0;
  font-weight: 400!important;
  font-family: astutecondssibold;
  letter-spacing: 1px;
  line-height: 1.428571429;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #b99722;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  background-color: #1e1e1e;
  color: #b99722!important;
  font-size: 14px;
  text-shadow: 1px 1px 0 #000;
  box-shadow: 1px 1px 0 0 #000
}

.btn01:active, .btn01:focus, .btn01:hover {
  color: #b99722;
  background-color: #333
}

.btn02 {
  color: #d51710!important;
  background-color: #ffd102;
  border-color: #d51710
}

.btn02:active, .btn02:focus, .btn02:hover {
  color: #ff706b!important;
  background-color: #fbe891
}

.btn03 {
  cursor: default;
  background-color: #d81511;
  border-color: #ad0c08
}

.btn04 {
  color: #000!important;
  background-color: #ddd;
  border-color: #000
}

.btn04:active, .btn04:focus, .btn04:hover {
  color: #fff!important;
  background-color: #666
}

.btn-lg {
  padding: 8px 16px;
  font-size: 18px;
  line-height: 1.33
}

img {
  width: auto;
  height: auto;
  max-width: 100%
}

#wrapper {
  float: left;
  width: 100%
}

#container .inner, #footer .inner {
  display: block;
  width: 1000px;
  margin: 0 auto
}

#container, #footer, #header, #header #gNav ul {
  width: 100%;
  margin: 0;
  float: left
}

.noscript {
  display: none
}

#header #gNav ul li, #header #gNav ul li a, .inner:after {
  display: inline-block
}

.inner:after {
  content: ""
}

#header {
  padding: 32px 0
}

#header #siteLogo {
  margin-bottom: 43px
}

#header #gNav {
  float: left;
  width: 100%
}

#header #gNav ul {
  list-style: none
}

#header #gNav ul li::before {
  content: '/';
  display: inline-block;
  padding: 0 15px;
  color: #c4c4c4
}

#header #gNav ul li:first-child::before {
  display: none
}

#header #gNav ul li a {
  text-indent: -9999em;
  height: 14px;
  background: left top no-repeat
}

#header #gNav ul li a:hover {
  background-position: left bottom
}

#header #gNav ul li.gNav01 a {
  width: 61px;
  background-image: url(../images/common/gnav01.png)
}

#header #gNav ul li.gNav02 a {
  width: 87px;
  background-image: url(../images/common/gnav02.png)
}

#header #gNav ul li.gNav03 a {
  width: 74px;
  background-image: url(../images/common/gnav03.png)
}

#header #gNav ul li.gNav04 a {
  width: 89px;
  background-image: url(../images/common/gnav04.png)
}

.btnOv {
  top: 56px;
  right: 25px;
  display: block;
  width: 36px;
  height: 36px;
  overflow: hidden;
  cursor: hand;
  cursor: pointer
}

.btnOv:hover {
  opacity: .7
}

#over {
  display: none;
  left: 0;
  top: 0;
  width: 100%;
  background: #6f6f6f;
  padding: 32px 0 0;
  z-index: 100
}

#over .inner {
  display: block;
  width: 1000px;
  margin: 0 auto
}

#footer aside, #footer nav {
  float: right;
  width: 760px
}

#footer aside ul, #footer nav ul {
  margin: 0;
  text-align: right;
  list-style: none
}

#over h1 {
  margin-bottom: 92px;
  font-size: 15px
}

#over h2 {
  margin-bottom: 80px
}

#over section {
  float: left;
  width: 33%
}

#over section.ovSec02 {
  background: url(../images/ov/ov-line.png) left center no-repeat, url(../images/ov/ov-line.png) right center no-repeat
}

#over section figure, #over section h1 {
  margin-bottom: 25px
}

#over section p {
  font-size: 13px;
  line-height: 2;
  padding: 0 10%
}

#over section a {
  color: #fff
}

#over section a:hover {
  opacity: .7
}

#container .coontactLink a:hover, #container .submit a:hover, #container .submit button:hover, #container .submit input[type=submit]:hover {
  opacity: .5
}

#footer {
  float: left;
  width: 100%;
  padding: 38px 0 40px;
  background: #000
}

#footer h1 {
  float: left;
  width: 200px;
  font-size: 11px;
  color: #fff;
  font-weight: 400
}

#footer nav {
  padding: 10px 0
}

#footer nav ul {
  float: left;
  width: 100%;
  padding: 0 0 4px
}

#footer nav ul li {
  display: inline-block;
  padding: 0;
  line-height: 1;
  white-space: nowrap
}

#footer nav ul li::before {
  content: '/';
  padding: 0 10px;
  display: inline-block;
  color: #fff
}

#footer nav ul li:first-child::before {
  display: none
}

#footer nav ul li a {
  font-size: 13px;
  color: #fff
}

#footer nav ul li a:hover {
  color: #999;
  text-decoration: underline
}

#footer aside ul {
  float: left;
  width: 100%;
  padding-left: 18px
}

#footer aside ul li {
  display: inline-block;
  margin: 0 0 0 23px
}

#side .sideWidget .sideTtl {
  font-size: 20px;
  line-height: 1;
  padding: 0 0 14px;
  margin-bottom: 15px;
  border-bottom: 3px solid #b92;
  color: #b92
}

#side .sideWidget .sideTtl img {
  vertical-align: top
}

#side .sideWidget {
  float: left;
  width: 100%;
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 3px solid #b92
}

#side .sideWidget>ul {
  float: left;
  width: 100%;
  color: #b92;
  margin-bottom: 10px
}

#side .sideWidget>ul li {
  margin-bottom: 5px;
  list-style-image: url(../images/side/side-arrow.png);
  font-size: .9em
}

#sidePost article {
  float: left;
  width: 100%;
  margin: 0;
  padding: 15px 0;
  border-top: 1px solid #b92;
  font-size: 13px
}

#sidePost article.first {
  border: none;
  padding-top: 0;
  border-top: none
}

#sidePost article h1 {
  margin-bottom: 0
}

#sidePost article .postMeta {
  float: left;
  width: 100%;
  list-style: none;
  margin: 0;
  font-size: 12px
}

#sidePost article .postMeta li {
  display: inline-block;
  padding-right: 5px;
  color: #b92
}

#sidePost article .postMeta li time {
  color: #070
}

#container .pageTtl {
  float: left;
  width: 100%;
  background: #56c8c7;
  text-align: center;
  padding: 35px 0 28px;
  margin-bottom: 50px;
  min-width: 1100px
}

#container .pageTtl img {
  vertical-align: bottom
}

#container .pageKey {
  float: left;
  width: 100%;
  height: 347px;
  padding-top: 110px;
  margin: 0;
  text-align: center;
  background: center center no-repeat;
  background-size: cover
}

#container .pageKey#serviceKey {
  background-image: url(../images/service/key-service.jpg)
}

#container .pageKey#aboutKey {
  /*background-image:url(../images/about/key-about.jpg)*/
  background: #56c8c7;
}

#container .pageKey#works01Key {
  background-image: url(../images/works/01/key.jpg)
}

#container .pageKey+p {
  float: left;
  width: 100%;
  text-align: center;
  margin: -86px 0 60px
}

#container .submit {
  margin-bottom: 0;
  text-align: center
}

#container .submit a, #container .submit button, #container .submit input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  padding: 15px 30px;
  background: #000;
  border: none;
  border-radius: 6px;
  color: #fff;
  cursor: hand;
  cursor: pointer;
  font-size: 14px
}

#container .coontactLink {
  float: left;
  width: 100%;
  text-align: center;
  margin-bottom: 60px
}

#container.worksPage .worksCont>h1 {
  width: 100%;
  height: 152px;
  margin: 0 0 40px;
  padding-top: 35px;
  text-align: center
}

#container.worksPage #works011 .inner, #container.worksPage #works012 .inner, #container.worksPage #works013 .inner, #container.worksPage #works014 .inner {
  padding: 0 60px 40px
}

#container.worksPage #works011>h1, #container.worksPage #works012>h1, #container.worksPage #works013>h1, #container.worksPage #works014>h1 {
  background: url(../images/works/title01-bg.png) left top repeat-x
}

#container.worksPage #works011>h2, #container.worksPage #works012>h2, #container.worksPage #works013>h2, #container.worksPage #works014>h2 {
  padding: 0;
  margin: 0 0 50px;
  line-height: 70px;
  background: #56c8c7;
  text-align: center
}

#container.worksPage #works011>h2 img, #container.worksPage #works012>h2 img, #container.worksPage #works013>h2 img, #container.worksPage #works014>h2 img {
  vertical-align: middle
}

#container.aboutPage #about01 section img, #container.aboutPage .aboutCont>h1 img, #container.worksPage #works0112 section img, #container.worksPage #works0122 section img, #container.worksPage #works0132 section img, #container.worksPage #works0142 section img {
  vertical-align: bottom
}

#container.worksPage #works012>h1 {
  background-image: url(../images/works/title02-bg.png)
}

#container.worksPage #works013>h1 {
  background-image: url(../images/works/title03-bg.png)
}

#container.worksPage #works014>h1 {
  background-image: url(../images/works/title04-bg.png)
}

#container.worksPage #works012>h2 {
  background-color: #56c8c7;
  line-height: 98px
}

#container.worksPage #works013>h2 {
  background-color: #56c8c7;
  line-height: 98px
}

#container.worksPage #works0112, #container.worksPage #works0122, #container.worksPage #works0132, #container.worksPage #works0142 {
  background: url(../images/about/border-double-top.png) left top repeat-x, url(../images/about/border-double-bottom.png) left bottom repeat-x
}

#container.worksPage #works0111 figure {
  float: right;
  width: 235px;
  margin: 0 0 35px
}

#container.worksPage #works0111 h1, #container.worksPage #works0111 p {
  float: left;
  clear: none;
  width: 630px
}

#container.worksPage #works0111 h1 {
  padding-top: 35px;
  margin-bottom: 45px
}

#container.worksPage #works0111 p {
  line-height: 1.8;
  margin-bottom: 15px
}

#container.worksPage #works0112 {
  padding: 20px 60px 4px;
  margin-bottom: 100px
}

#container.worksPage #works0112::after {
  display: none
}

#container.worksPage #works0112 section {
  clear: both;
  width: 100%;
  padding: 25px 0 0;
  border-bottom: 1px dotted #bbb
}

#container.worksPage #works0112 section::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 25px;
  overflow: hidden;
  line-height: 1px
}

#container.worksPage #works0112 section:last-child {
  border: none
}

#container.worksPage #works0112 section figure {
  float: right;
  margin: 0;
  text-align: right
}

#container.worksPage #works0112 section h1, #container.worksPage #works0112 section p {
  float: left;
  clear: none
}

#container.worksPage #works0112 section h1 {
  margin-bottom: 26px
}

#container.worksPage #works0112 section p {
  line-height: 1.8
}

#container.worksPage #works0112 section:nth-child(1) figure {
  width: 260px
}

#container.worksPage #works0112 section:nth-child(1) h1, #container.worksPage #works0112 section:nth-child(1) p {
  width: 590px
}

#container.worksPage #works0112 section:nth-child(1) h1 {
  padding-top: 35px
}

#container.worksPage #works0112 section:nth-child(2) figure {
  width: 400px
}

#container.worksPage #works0112 section:nth-child(2) h1, #container.worksPage #works0112 section:nth-child(2) p, #container.worksPage #works0112 section:nth-child(3) figure {
  width: 460px
}

#container.worksPage #works0112 section:nth-child(2) h1 {
  padding-top: 10px
}

#container.worksPage #works0112 section:nth-child(3) h1, #container.worksPage #works0112 section:nth-child(3) p {
  width: 385px
}

#container.worksPage #works0112 section:nth-child(3) h1 {
  padding-top: 18px
}

#container.worksPage #works0112 section:nth-child(4) figure {
  width: 435px
}

#container.worksPage #works0112 section:nth-child(4) h1, #container.worksPage #works0112 section:nth-child(4) p {
  width: 440px
}

#container.worksPage #works0112 section:nth-child(4) h1 {
  padding-top: 60px
}

#container.worksPage #works0121 {
  padding-bottom: 0!important
}

#container.worksPage #works0121::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 1px;
  overflow: hidden;
  line-height: 1px
}

#container.worksPage #works0121 figure {
  float: right;
  width: 390px;
  margin: 0 0 35px;
  text-align: right
}

#container.worksPage #works0121 h1, #container.worksPage #works0121 p {
  float: left;
  clear: none;
  width: 480px
}

#container.worksPage #works0121 h1 {
  padding-top: 35px;
  margin-bottom: 45px
}

#container.worksPage #works0121 p {
  line-height: 1.8;
  padding-top: 1em;
  margin-bottom: 15px
}

#container.worksPage #works0122 {
  padding: 20px 60px 4px;
  margin-bottom: 100px
}

#container.worksPage #works0122::after {
  display: none
}

#container.worksPage #works0122 section {
  clear: both;
  width: 100%;
  padding: 25px 0 0;
  border-bottom: 1px dotted #bbb
}

#container.worksPage #works0122 section::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 25px;
  overflow: hidden;
  line-height: 1px
}

#container.worksPage #works0122 section:last-child {
  border: none
}

#container.worksPage #works0122 section figure {
  float: right;
  margin: 0;
  text-align: right
}

#container.worksPage #works0122 section h1, #container.worksPage #works0122 section p {
  float: left;
  clear: none
}

#container.worksPage #works0122 section h1 {
  margin-bottom: 26px
}

#container.worksPage #works0122 section p {
  line-height: 1.8
}

#container.worksPage #works0122 section:nth-child(1) figure {
  width: 402px
}

#container.worksPage #works0122 section:nth-child(1) h1, #container.worksPage #works0122 section:nth-child(1) p {
  width: 470px
}

#container.worksPage #works0122 section:nth-child(1) h1 {
  padding-top: 35px
}

#container.worksPage #works0122 section:nth-child(2) figure {
  width: 452px
}

#container.worksPage #works0122 section:nth-child(2) h1, #container.worksPage #works0122 section:nth-child(2) p {
  width: 410px
}

#container.worksPage #works0122 section:nth-child(2) h1 {
  padding-top: 18px
}

#container.worksPage #works0131 {
  padding-bottom: 0!important
}

#container.worksPage #works0131::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 1px;
  overflow: hidden;
  line-height: 1px
}

#container.worksPage #works0131 figure {
  float: right;
  width: 390px;
  margin: 0 0 35px;
  text-align: right
}

#container.worksPage #works0131 h1, #container.worksPage #works0131 p {
  float: left;
  clear: none;
  width: 480px
}

#container.worksPage #works0131 h1 {
  padding-top: 35px;
  margin-bottom: 30px
}

#container.worksPage #works0131 p {
  line-height: 1.8;
  margin-bottom: 15px
}

#container.worksPage #works0132 {
  padding: 20px 60px 4px;
  margin-bottom: 100px
}

#container.worksPage #works0132::after {
  display: none
}

#container.worksPage #works0132 section {
  clear: both;
  width: 100%;
  padding: 25px 0 0;
  border-bottom: 1px dotted #bbb
}

#container.worksPage #works0132 section figure {
  width: 318px;
  float: right;
  margin: 0;
  text-align: right
}

#container.worksPage #works0132 section h1, #container.worksPage #works0132 section p {
  width: 540px;
  float: left;
  clear: none
}

#container.worksPage #works0132 section h1 {
  padding-top: 50px;
  margin-bottom: 26px
}

#container.worksPage #works0132 section::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 25px;
  overflow: hidden;
  line-height: 1px
}

#container.worksPage #works0141::after, #container.worksPage #works0143::after {
  display: inline-block;
  height: 1px;
  overflow: hidden;
  content: ''
}

#container.worksPage #works0132 section:last-child {
  border: none
}

#container.worksPage #works0132 section p {
  line-height: 1.8
}

#container.worksPage #works0141 {
  padding-bottom: 0!important
}

#container.worksPage #works0141::after {
  width: 100%;
  line-height: 1px
}

#container.worksPage #works0141 figure {
  float: right;
  width: 390px;
  margin: 0;
  text-align: right
}

#container.worksPage #works0141 h1, #container.worksPage #works0141 p {
  float: left;
  clear: none;
  width: 480px
}

#container.worksPage #works0141 h1 {
  padding-top: 35px;
  margin-bottom: 30px
}

#container.worksPage #works0141 p {
  line-height: 1.8;
  margin-bottom: 15px
}

#container.worksPage #works0142 {
  padding: 20px 60px 4px;
  margin-bottom: 40px
}

#container.worksPage #works0142 section {
  clear: both;
  width: 100%;
  padding: 40px 0 0
}

#container.worksPage #works0142 section figure, #container.worksPage #works0142 section h1, #container.worksPage #works0142 section p {
  width: 100%
}

#container.worksPage #works0142 section figure {
  width: 100%;
  margin: 0 0 20px;
  text-align: left
}

#container.worksPage #works0142 section h1 {
  margin-bottom: 26px
}

#container.worksPage #works0142 section p {
  line-height: 1.8
}

#container.worksPage #works0142 section p:last-child {
  text-align: right;
  margin-bottom: 0
}

#container.worksPage #works0143 {
  padding-bottom: 0!important
}

#container.worksPage #works0143::after {
  width: 100%;
  line-height: 1px
}

#container.worksPage #works0143 figure {
  float: right;
  width: 390px;
  margin: 0 0 35px;
  text-align: right
}

#container.worksPage #works0143 h1, #container.worksPage #works0143 p {
  float: left;
  clear: none;
  width: 480px
}

#container.worksPage #works0143 h1 {
  padding-top: 35px;
  margin-bottom: 30px
}

#container.worksPage #works0143 p {
  line-height: 1.8;
  margin-bottom: 15px
}

#container.aboutPage .aboutCont {
  float: left;
  width: 100%
}

#container.aboutPage .aboutCont>h1 {
  width: 100%;
  margin: 0;
  padding-top: 10px;
  text-align: center
}

#container.aboutPage #aboutKey2 {
  float: left;
  width: 100%;
  height: auto;
  margin: 0;
  overflow: hidden
}

#container.aboutPage #aboutKey2 ul {
  margin: 0;
  list-style: none
}

#container.aboutPage #aboutKey2 img {
  width: 100%
}

#container.aboutPage #about01 section {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 60px 30px 64px 60px;
  background: url(../images/about/border-double-top.png) left bottom repeat-x
}

#container.aboutPage #about01 section figure {
  position: absolute;
  bottom: 3px;
  display: block;
  z-index: 10
}

#container.aboutPage #about01 section h1 {
  margin: 0 0 45px
}

#container.aboutPage #about01 section p {
  line-height: 1.8;
  margin: 0
}

#container.aboutPage #about01 section:nth-child(1) figure {
  width: 229px;
  right: 28px
}

#container.aboutPage #about01 section:nth-child(2) {
  padding-left: 340px
}

#container.aboutPage #about01 section:nth-child(2) figure {
  width: 261px;
  left: 30px
}

#container.aboutPage #about01 section:nth-child(3) {
  padding-bottom: 90px;
  margin-bottom: 70px
}

#container.aboutPage #about01 section:nth-child(3) figure {
  width: 314px;
  right: 30px
}

#container.aboutPage #about02 {
  margin-bottom: 70px
}

#container.aboutPage #about02>h1 {
  padding: 70px 0
}

#container.aboutPage #about02 .inner {
  padding: 44px 60px;
  background: url(../images/about/border-double-top.png) left top repeat-x, url(../images/about/border-double-bottom.png) left bottom repeat-x
}

#container.aboutPage #about02 .inner table {
  width: 100%;
  border-collapse: separate;
  margin: 0;
  border-top: 1px dotted #b2b2b2;
  border-bottom: 1px dotted #fff
}

#container.aboutPage #about02 .inner table td, #container.aboutPage #about02 .inner table th {
  border-top: 1px dotted #fff!important;
  border-bottom: 1px dotted #b2b2b2!important;
  padding: 20px 0;
  vertical-align: top
}

#blogBnr .inner img, #indexKey img, #indexWorks img {
  vertical-align: bottom
}

#container.aboutPage #about02 .inner table thead th, #container.aboutPage #about02 .inner table tr th {
  color: #555;
  width: 140px
}

#container.aboutPage #about02 .inner table thead th em, #container.aboutPage #about02 .inner table tr th em {
  color: #c00
}

#container.aboutPage #about02 .inner table tr td {
  color: #000
}

#container.aboutPage #about02 .inner table tr td p:last-child {
  margin-bottom: 0
}

#container.aboutPage #about02 .inner table tr td a {
  color: #004fb0
}

#container.aboutPage #about02 .inner table tr td a:hover {
  color: #f90
}

#container.servicePage .serviceCont {
  float: left;
  width: 100%
}

#container.servicePage .serviceCont>h1 {
  position: relative;
  float: left;
  width: 100%;
  height: 152px;
  padding-top: 30px;
  background: url(../images/service/sec-ttlbg.png) left top repeat-x;
  text-align: center
}

#container.servicePage .serviceCont>h1 img {
  position: relative;
  z-index: 1
}

#container.servicePage .serviceCont>h1::before {
  position: absolute;
  content: '';
  width: 100%;
  height: 1px;
  border-bottom: 5px solid #000;
  left: 0;
  top: 100px;
  z-index: 0
}

#container.servicePage .serviceCont#service01 {
  text-align: center
}

#container.servicePage .serviceCont#service01>h1 {
  margin-bottom: 46px
}

#container.servicePage .serviceCont#service01>h1::before {
  border-color: #fff
}

#container.servicePage .serviceCont#service01 .inner p:first-child {
  margin-bottom: 35px
}

#container.servicePage .serviceCont#service01 .inner h2 {
  margin-bottom: 50px
}

#container.servicePage .serviceCont#service01 .inner p:last-child {
  margin-bottom: 65px
}

#container.servicePage .serviceCont#service02>h1 {
  margin-bottom: 46px
}

#container.servicePage .serviceCont#service02>h1::before {
  border-color: #fff
}

#container.servicePage .serviceCont#service02 .inner {
  max-width: 886px
}

#container.servicePage .serviceCont#service03 .inner, #container.servicePage .serviceCont#service05 .inner {
  max-width: 880px
}

#container.servicePage .serviceCont#service02 section {
  float: left;
  width: 100%;
  padding: 18px 0 25px;
  border-bottom: 1px dotted #b2b2b2
}

#container.servicePage .serviceCont#service02 section#service026 {
  border: none;
  padding-bottom: 60px
}

#container.servicePage .serviceCont#service02 section figure {
  float: right;
  margin-left: 10px
}

#container.servicePage .serviceCont#service02 section h1 {
  padding-top: 18px;
  margin-bottom: 8px;
  clear: none
}

#container.servicePage .serviceCont#service02 section p {
  line-height: 1.85;
  padding-left: 20px;
  margin: 0
}

#container.servicePage .serviceCont#service03>h1 {
  margin-bottom: 46px
}

#container.servicePage .serviceCont#service03>h1::before {
  border-color: #fff
}

#container.servicePage .serviceCont#service03 dl {
  float: left;
  width: 100%
}

#container.servicePage .serviceCont#service03 dl dt {
  float: left;
  width: 100%;
  margin-bottom: 18px;
  text-align: center
}

#container.servicePage .serviceCont#service03 dl dd {
  float: left;
  width: 100%;
  padding: 25px 20px;
  margin-bottom: 40px;
  min-height: 100px;
  position: relative;
  background: #eef5f8;
  color: #314d59;
  border-radius: 8px
}

#container.servicePage .serviceCont#service03 dl dd img, #indexKey h1 div {
  position: absolute
}

#container.servicePage .serviceCont#service03 dl dd p {
  width: 760px;
  line-height: 1.85;
  margin: 0;
  font-size: .93em
}

#container.servicePage .serviceCont#service04 h2, #container.servicePage .serviceCont#service04>h1 {
  margin-bottom: 46px
}

#container.servicePage .serviceCont#service03 dl.service031 dd img {
  bottom: -12px;
  right: 4px
}

#container.servicePage .serviceCont#service03 dl.service032 dd img {
  bottom: -22px;
  right: -10px
}

#container.servicePage .serviceCont#service03 dl.service033 dd img {
  bottom: -27px;
  right: 0
}

#container.servicePage .serviceCont#service03 dl.service034 dd img {
  bottom: 0;
  right: -15px
}

#container.servicePage .serviceCont#service03 dl.service035 dd img {
  bottom: -24px;
  right: -7px
}

#container.servicePage .serviceCont#service03 dl.service036 dd img {
  bottom: -17px;
  right: 6px
}

#container.servicePage .serviceCont#service04 {
  text-align: center
}

#container.servicePage .serviceCont#service04>h1::before {
  border-color: #fff
}

#container.servicePage .serviceCont#service04 dl {
  width: 880px;
  margin: 0 auto
}

#container.servicePage .serviceCont#service04 dl dt {
  margin-bottom: 25px
}

#container.servicePage .serviceCont#service04 dl dd {
  margin: 0 0 50px
}

#container.servicePage .serviceCont#service04 dl dd p.mb30 {
  font-size: .9em;
  text-align: left;
  line-height: 1.85;
  padding: 0 30px
}

#container.servicePage .serviceCont#service05>h1 {
  margin-bottom: 46px
}

#container.servicePage .serviceCont#service05>h1::before {
  border-color: #fff
}

#container.servicePage .serviceCont#service05 dl {
  float: left;
  width: 100%;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 50px
}

#container.servicePage .serviceCont#service05 dl:last-child {
  border: none;
  margin-bottom: 60px
}

#container.servicePage .serviceCont#service05 dl dt {
  float: left;
  width: 100%;
  margin-bottom: 18px;
  text-align: center
}

#container.servicePage .serviceCont#service05 dl dd {
  float: left;
  width: 100%
}

#container.servicePage .serviceCont#service05 dl dd p {
  line-height: 1.85;
  padding: 0 20px
}

#container.servicePage .serviceCont#service06>h1 {
  margin-bottom: 50px
}

#container.servicePage .serviceCont#service06>h1::before {
  border-color: #fff
}

#container.servicePage .serviceCont#service06>h1 .inner p {
  margin-bottom: 60px
}

#contactArea .inner>p {
  text-align: center;
  font-size: 13px;
  margin-bottom: 50px
}

#contactArea .input01 {
  width: 474px
}

#contactArea .input02 {
  width: 230px;
  margin-right: 15px
}

#contactArea .input03 {
  width: 143px;
  margin: 0 5px
}

#contactArea .input03:first-child {
  margin-left: 0
}

#contactArea .input03:last-child {
  margin-right: 0
}

#contactArea textarea {
  width: 597px
}

#contactArea form {
  float: left;
  width: 100%;
  padding: 50px 60px;
  margin-bottom: 60px;
  background: url(../images/common/border-top.png) left top repeat-x, url(../images/common/border-bottom.png) left bottom repeat-x
}

#contactArea form dl {
  float: left;
  display: table;
  width: 100%;
  margin: 0;
  border-bottom: 1px dotted #b2b2b2
}

#contactArea form dl.first {
  border-top: 1px dotted #b2b2b2
}

#contactArea form dl.last {
  margin-bottom: 35px
}

#contactArea form dl dd, #contactArea form dl dt {
  display: table-cell;
  font-size: 13px;
  font-weight: 400;
  vertical-align: top
}

#contactArea form dl dt {
  padding: 30px 0 0;
  color: #000
}

#contactArea form dl dd {
  padding: 20px 00;
  width: 600px;
  margin: 0
}

#contactArea form dl dd.tel {
  line-height: 30px
}

#contactArea form dl+p {
  font-size: 12px;
  color: #999;
  margin-bottom: 35px
}

#contactArea form dl+p a {
  text-decoration: underline;
  color: #999
}

#contactArea form dl+p a:hover {
  text-decoration: none;
  color: #000
}

.easy-select-box {
  background: #f1f1f1;
  border: 1px solid #dfdfdf;
  border-radius: 5px;
  padding: 3px 10px;
  width: 494px
}

.easy-select-box .esb-displayer {
  background: url(../images/contact/select-arrow.png) 440px center no-repeat;
  color: #0c2245;
  cursor: default;
  height: 30px;
  line-height: 30px;
  padding: 0;
  text-indent: 5px;
  width: 474px
}

.easy-select-box .esb-displayer:hover {
  filter: alpha(opacity=80);
  -ms-filter: 'alpha(opacity=80)';
  opacity: .8
}

.easy-select-box:hover .esb-displayer {
  text-decoration: none
}

.easy-select-box.disabled .esb-displayer, .easy-select-box:hover.disabled .esb-displayer {
  background-position: 0 -36px
}

.easy-select-box .esb-dropdown {
  background: #fff;
  border: 1px solid #ccc;
  border-top: none;
  display: none;
  max-height: 200px;
  overflow: auto;
  position: absolute;
  z-index: 999;
  width: 200px
}

#indexKey h1, body {
  position: relative
}

.easy-select-box .esb-item {
  padding: 3px;
  background: #f1f1f1;
  color: #0c2245;
  cursor: default
}

.easy-select-box .esb-item:hover {
  background: #333;
  color: #fff;
  text-decoration: none
}

.mainCont {
  float: left;
  width: 100%
}

#indexKey h1, #indexKey h1 div {
  width: 500px;
  float: left;
  height: 250px
}

#indexKey {
  background: #efefef;
  padding: 20px 0
}

#indexKey h1 {
  clear: none;
  margin: 0
}

#indexKey h1 div {
  overflow: hidden
}

#indexKey .keySlide {
  float: left;
  width: 250px;
  height: 250px;
  margin: 0;
  position: relative
}

#indexKey .keySlide div {
  position: absolute;
  float: left;
  width: 250px;
  height: 250px;
  overflow: hidden
}

#indexKey .keySlide#slide02 {
  float: right;
  height: 500px
}

#indexKey .keySlide#slide02 div {
  height: 500px
}

#indexKey .keySlide#slide04, #indexKey .keySlide#slide04 div {
  width: 500px
}

#blogBnr {
  position: relative;
  z-index: 10000;
  background: #6699CC;
  clear: both
}

#blogBnr .inner {
  padding: 300px 0;
  text-align: center;
  position: relative
}

#blogBnr .inner a:hover {
  opacity: .7
}

#blogBnr .inner:after {
  display: none
}

#blogBnr .inner p {
  margin-bottom: 0
}

#blogBnr .inner .img {
  position: absolute;
  bottom: 0;
  right: 0
}

#indexService {
  padding: 50px 0 20px
}

#indexService .inner {
  width: 1040px
}

#indexService .inner h1 {
  text-align: center
}

#indexService .inner ul {
  float: left;
  width: 100%;
  margin: 0;
  list-style: none
}

#indexService .inner ul li {
  float: left;
  width: 510px;
  margin-bottom: 30px
}

#indexService .inner ul li:nth-child(odd) {
  float: right
}

#indexService .inner ul li a:hover {
  opacity: .5
}

#indexService .inner .serviceCopy {
  margin-bottom: 60px
}

#indexService .inner .serviceAbout {
  text-align: center
}

#indexService .inner .serviceAbout dt {
  margin-bottom: 28px
}

#indexService .inner .serviceAbout dd {
  margin-bottom: 60px
}

#indexWorks {
  background: #56c8c7;
  padding: 25px 0 20px
}

#indexWorks .inner article, #indexWorks .inner>h1 {
  float: left;
  width: 241px;
  height: 241px;
  margin: 0 12px 10px 0;
  overflow: hidden
}

#indexWorks .inner article {
  position: relative;
  text-align: center
}

#indexWorks .inner article:nth-child(4n) {
  margin-right: 0
}

#indexWorks .inner article figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 241px;
  height: 241px;
  z-index: 0
}

#indexWorks .inner article div {
  position: relative;
  float: left;
  width: 241px;
  height: 241px;
  background: rgba(0, 0, 0, .8);
  padding: 78px 0 0;
  text-align: center;
  z-index: 1;
  opacity: 0;
  -webkit-transition: all .2s ease;
  -moz-transition: all .2s ease;
  -ms-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease
}

#indexWorks .inner article div:hover {
  opacity: 1
}

#indexWorks .inner article div h1 {
  font-size: 13px;
  color: #fff;
  margin-bottom: 20px
}

#indexNews {
  padding: 60px 0
}

#indexNews .inner {
  height: 244px;
  padding: 30px 0;
  background: url(../images/common/border-top.png) left top repeat-x, url(../images/common/border-bottom.png) left bottom repeat-x
}

#indexNews h1 {
  float: left;
  width: 130px;
  padding-top: 80px;
  text-align: center
}

#indexNews #newsList {
  float: right;
  width: 860px;
  height: 180px;
  overflow: hidden
}

#indexNews #newsList .mCSB_dragger_bar {
  background: #c4c4c4;
  border-radius: 3px
}

#indexNews #newsList .mCSB_draggerRail {
  background: 0 0
}

#indexNews #newsList dl {
  float: left;
  display: table;
  width: 99%;
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px dotted #b2b2b2
}

#indexNews #newsList dl:last-child {
  border: none
}

#indexNews #newsList dl dd, #indexNews #newsList dl dt {
  display: table-cell;
  padding: 0 5px;
  font-size: 13px;
  font-weight: 400
}

#indexNews #newsList dl dt {
  width: 12%;
  color: #bea232
}

#indexNews #newsList dl dd {
  width: 88%;
  margin: 0
}

#mainPage.contact #contactArea {
  float: left;
  width: 100%;
  border-top: 3px solid #ba9822;
  padding: 30px 0
}

#mainPage.contact .ticketDesc {
  padding: 5px 5px 15px;
  margin-bottom: 15px
}

#mainPage.contact dl {
  float: left;
  width: 50%;
  padding: 0 1.5% 15px;
  border-bottom: 1px dotted #666;
  margin-bottom: 10px
}

#mainPage.contact dl dt {
  font-size: 1.2em;
  color: #b99722
}

#mainPage.contact dl dt em {
  font-style: normal;
  color: #bf0000
}

#mainPage.contact dl dd {
  width: 100%;
  margin: 0
}

#mainPage.contact dl dd input {
  padding: 5px;
  width: 100%
}

#mainPage.contact dl.contactInput, #mainPage.contact dl.contactInput input, #mainPage.contact dl.contactInput textarea {
  width: 100%
}

#mainPage.contact .submitBtn {
  text-align: center;
  padding-top: 30px;
  margin-bottom: 50px
}

#mainPage.contact .submitBtn input {
  width: 98%;
  font-size: 24px;
  letter-spacing: 2px
}

.thanks {
  display: block;
  clear: both;
  width: 450px;
  margin: 60px auto;
  border: 2px solid #227ff0;
  padding: 30px 50px 10px;
  text-align: center
}

/* 2023.10.30追加 */
.header-insta figure{
  margin-bottom: 10px;
}
.header-insta figure img{
  margin: 30px 0 15px 0;
  width: 20%;
}
/* .header-a4garo{
  margin-bottom: 30px;
} */
.header-a4garo figure img{
  margin: 10px 0 0 0;
  width: 25%;
}
.fotter-sns{
  display: flex;
  /* width: 500px; */
}
.fotter-logo{
  width: 5%;
}
.fotter-insta{
  width: 6%;
}
.fotter-facebook{
  width: 15;
  margin: 0;
}

#blogBnr .inner{
  padding: 10px 0 10px 0;
}