@charset "UTF-8";

html {
  overflow-y: scroll;
}

body {
  color: #555;
　font-size: medium;
　font-family: 'Noto Sans JP';
　line-height: 1.75;
  background-color: #fff;
  margin: 0;
  padding: 0;
}


/* reset */
ul, ol, dl {
　padding: 0;
　margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
　margin-top: 0;
　padding-right: 15px;
　padding-left: 15px;
}
a img {
　border: none;
　margin: 0;
　padding: 0;
}
a:hover img {
　opacity:0.7;
}


/* variable */
:root {
  --main-color: #4c73a3;
  --border-color: #888;
  --bg-color-gray: #e7ebef;
}


/* common link */
a:link {
  color: var(--main-color);
  text-decoration: none;
}
a:visited {
  color: var(--main-color);
}
a:hover, a:active {
  color: var(--main-color);
  text-decoration: underline;
}


/* container */
.container {
  background: #FFF;
  margin: 0 auto;
}
@media screen and (max-width: 840px) {
}


/* header */
#header {
  background: #fff;
  max-width: 1260px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  /border: yellow solid 1px;
}
#header #companyName a {
  border: none;
}
#header #companyName a img {
  width: 140px;
  margin: 15px 0 0 0;
  /border: green solid 1px;
}
@media screen and (max-width: 840px) {
  #header {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
  #header #companyName a img {
    width: 100px;
    margin: 5px 0 0 5px;
  }
}


/* main */
main {
  background: #fff;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.contents {
  background: #fff;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 0 40px 0;
}


/* midashi background */
main .mainhead {
  border-top: var(--bg-color-gray) solid 1px;
  width: 100%;
}
@media screen and (max-width: 840px) {
  main .mainhead {
    margin-top: 61px;
  }
}
main .mainhead.ser {
  background-image: url(../img/mainhead_services.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 100% auto;
}
main .mainhead.cas {
  background-image: url(../img/mainhead_cases.jpg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 100% auto;
}
main .mainhead.com {
  background-image: url(../img/mainhead_company.jpg);
  background-repeat: no-repeat;
  background-position: 50% 70%;
  background-size: 100% auto;
}
main .mainhead.inq {
  background-image: url(../img/mainhead_inquiry.jpg);
  background-repeat: no-repeat;
  background-position: 50% 85%;
  background-size: 100% auto;
}


/* midashi h1-6 */
main h1 {
  color: #222;
  font-size: 1.6em;
  text-shadow: #fff 0 0 15px;
  text-align: center;
  padding: 2.5em 0;
  margin: 0 auto;
  max-width: 1260px;
}
@media screen and (max-width: 840px) {
  main h1 {
    padding: 1em 0;
  }
}
main h2 {
  color: #444;
  border-bottom: var(--main-color) solid 2px;
  font-size: 1.5em;
  padding: 10px 18px;
}
main h3 {
  color: #444;
  border-bottom: var(--main-color) dotted 2px;
  font-size: 1.4em;
  padding: 10px 18px;
}
main h4 {
  color: #444;
  border-bottom: var(--main-color) dotted 1px;
  font-size: 1.3em;
  padding: 10px 18px;
}
main h5 {
  color: #444;
  font-size: 1.3em;
  padding: 10px 18px;
}
main h6 {
  color: #444;
  font-size: 1.2em;
  padding: 10px 18px;
}
@media screen and (max-width: 840px) {
}





/* page of TOP */
main .mainhead.top {
  background-color: #fff;
}
main .mainhead.top img {
  width: 100%;
  height: auto;
}
main .mainMessage {
  text-align: center;
  font-size: 1.1rem;
  padding: 0 0 50px 0;
  margin: 0;
}
main .announcement {
  border: var(--border-color) solid 1px;
  width: 90%;
  margin: 10px auto;
  padding: 0;
  display: table;
}
main .announcement h2 {
  color: #fff;
  font-size: 1em;
  white-space: nowrap;
  padding: 10px 18px;
  margin: 0;
  border-bottom: none;
  display: table-cell;
  vertical-align: middle;
  background-color: var(--main-color);
}
main .announcement ul {
  margin: 0;
  padding: 10px 10px 10px 20px;
  list-style-type: none;
  display: table-cell;
}
main .announcement ul li {
  font-size: 0.9rem;
}
@media screen and (max-width: 840px) {
  main .mainhead.top {
  }
  main .mainhead.top img {
  }
  main .h1top {
    font-size: 1.5em;
    padding: 1em 0;
  
  }
  main .mainMessage {
    padding: 0 0 30px 0;
  }
  main .announcement {
    display: block;
  }
  main .announcement h2 {
    display: block;
  }
  main .announcement ul {
  }
  main .announcement ul li {
    font-size: 1rem;
    margin-bottom: 20px;
  }
}


/* page of SERVICES */
.services {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.services section {
  width: 44%;
  padding: 0 0 5px 0;
  margin: 20px;
  background-color: #fff;
  border: var(--border-color) solid 1px;
  box-shadow: 5px 5px 10px #eee;
}
.services .serviceImage img {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}
.services h2 {
  margin: 0 25px;
  padding: 10px 0;
}
.services h3 {
  border-bottom: none;
  font-size: 1.2em;
  padding: 0 25px;
}
.services p {
  padding: 0 25px;  
}
.services ul {
  font-size: 0.9rem;
  list-style-type: circle;
  margin: 0 20px;
  padding: 0 0 0 25px;
}
.serviceBtn {
  text-align: center;
  margin: 20px 5px 0 5px;
}
.serviceBtn a {
  display: block;
  color: #fff;
  background-color: var(--main-color);
  border: var(--main-color) solid 1px;
  border-radius: 5px;
  padding: 15px 0;
}
.serviceBtn a:hover {
  text-decoration: none;
  color: var(--main-color);
  background-color: #fff;
  border: var(--main-color) solid 1px;
  padding: 15px 0;
}
@media screen and (max-width: 840px) {
  .services {
    display: block;
  }
  .services section {
    width: 90%;
    margin-left: 15px;
  }
}


/* page of CASES */
.cases {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.cases section {
  width: 29%;
  padding: 0;
  margin: 20px;
  background-color: #fff;
  border: var(--border-color) solid 1px;
  box-shadow: 5px 5px 10px #eee;
}
@media screen and (max-width: 840px) {
  .cases {
    display: block;
  }
  .cases section {
    width: 90%;
  }
}
.cases .sign,
.cases .sticker,
.cases .event,
.cases .web-system-dev,
.cases .printing,
.cases .other {
  text-align: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  background-color: #fff;
}
.cases .sign:hover,
.cases .sticker:hover,
.cases .event:hover,
.cases .web-system-dev:hover,
.cases .printing:hover,
.cases .other:hover {
  opacity: 0.8;
}
.cases .sign {
  background-image: url(../img/cases_sign_01.jpg);
}
.cases .sticker {
  background-image: url(../img/cases_sticker_01.jpg);
}
.cases .event {
  background-image: url(../img/cases_event_01.jpg);
}
.cases .web-system-dev {
  background-image: url(../img/cases_web_01.jpg);
}
.cases .printing {
  background-image: url(../img/cases_printing_01.jpg);
}
.cases .other {
  background-image: url(../img/cases_other_01.jpg);
}
.cases .box {
  display: block;
}
.cases .box:hover {
  transform:scale(1.2,1.2);
  transition:1s all;
}
.cases h2 {
  color: #222;
  background: rgba(255,255,255,0.5);
  border: var(--main-color) solid 4px;
  font-size: 1.4em;
  text-shadow: #fff 0 0 15px;
  padding: 10px 18px;
  margin: 3em auto;
  display: inline-block;
}


/* child-page of CASES */
.subMenu {
  margin: 20px;
}
.subMenu ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
}
.subMenu ul li a {
  text-decoration: none;
  padding: 20px;
  background-color: #e7ebef;
}
.subMenu ul li a:hover,
.subMenu .current {
  color: #fff;
  background-color: var(--main-color);
}
.casesChild {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.casesChild section {
  width: 29%;
  margin: 20px;
}
.casesChild section .photo {
  overflow: hidden;
}
.casesChild section img {
  width: 100%;
  height: auto;
}
.casesChild section h2 {
  color: #444;
  border-bottom: var(--main-color) solid 2px;
  font-size: 1.2em;
  padding: 0;
  margin: 0;
}
.casesChild section p {
  font-size: 0.9rem;
  line-height: 1.4;
}
@media screen and (max-width: 840px) {
  .subMenu {
    margin: 0;
  }
  .subMenu ul {
    justify-content: flex-start;
    padding-left: 15px;
  }
  .subMenu ul li {
    margin: 20px 1px;
  }
  .casesChild {
    display: block;
  }
  .casesChild section {
    width: 90%;
    margin-bottom: 30px;
    margin-left: 15px;
  }
}


/* page of COMPANY */
.company section table {
  border-collapse: collapse;
  margin: 20px auto;
  width: 100%;
}
.company section table th,
.company section table td {
  padding: 20px;
  border-top: none;
  border-right: none;
  border-bottom: var(--border-color) solid 1px;
  border-left: none;
}
@media screen and (max-width: 840px) {
  .company section table {
    width: 90%;
  }
  .company section table th,
  .company section table td {
    display: block;
    text-align: left;
  }
  .company section table th {
    border-top: var(--border-color) solid 1px;
    border-bottom: none;
  }
  .company section table td {
    border: none;
  }  
  .company section table td iframe {
    width: 100%;
  }
}


/* page of INQUIRY */
.inquiry section,
.inquiry p {
  margin: 20px;  
}
@media screen and (max-width: 840px) {
}







/* footer */
footer {
  background-color: var(--main-color);
  width: 100%;
  clear: both;
}
#footer {
  color: aliceblue;
  padding: 10px 0;
  margin: auto;
  position: relative;/* for IE6 */
  max-width: 1260px;
}
#footer ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  font-size: 0.9rem;
  border-bottom: aliceblue solid 1px;
  width: 80%;
  padding: 0 0 20px 0;
  margin: 20px auto;
}
#footer ul li {
  padding: 0 20px;
}
#footer ul a:link,
#footer ul a:visited {
  color: aliceblue;
  text-decoration: none;
}
#footer ul a:hover,
#footer ul a:active,
#footer ul a:focus {
  text-decoration: underline;
}
#footer address {
  font-size: 0.8em;
  font-style: normal; 
  text-align: center;
  margin: 10px;
}
#footer p {
  font-size: 0.8em;
  text-align: center;
  margin: 10px;
}
@media screen and (max-width: 840px) {
}






/* to PageTop */
.scrollTop {
  position: fixed;
  right: 0px;
  bottom: 0px;
  opacity: 0;
  transition: all 0.4s ease-in-out 0s;
}
.scrollTop a {
  font-size: 0.7em;
  color: #fff;
  background: #365376;
  padding: 20px;
  text-decoration:none;
  display: block;
  text-align: center;
}
.scrollTop a:hover{
  background: #3a587c;
}
.scrollTop a span::before {
  content: " ^ \A";
  white-space: pre;
}






/* ////// General purpose ////// */
@media screen and (min-width: 841px) {
  .spbr {
    display: none;
  }
}

.cen {
	text-align:center;
}

.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、#footer が #container から削除されているか取り出されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}