@charset "utf-8";
/* CSS Document */
/*
@import "/site/css/print.css";
*/
/* ------------------------------- */
/* Initialize */
/* ------------------------------- */

html{color:#333;background:#FFF}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{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

.error {
 font-weight: bold;
 color: #F00;
}

.text-bold {
 font-weight: bold;
}

.text-red {
 color: #F00;
}


/* ------------------------------- */
/* Common */
/* ------------------------------- */

a {
 color: #333;
}

a:link,
a:hover,
a:visited,
a:active {
 color: #333;
}

a:hover img {
 opacity: 0.7;
 filter: alpha(opacity=70);
 -ms-filter: "alpha(opacity=70)";
}

img {
 -webkit-backface-visibility: hidden;
}


/* ------------------------------- */
/* Fonts */
/* ------------------------------- */

body {
 font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* Edge Hack Web Fonts */
@supports (-ms-ime-align: auto) {
 body {
  transform: rotate(0.001deg);
 }
}

/* Firefox Hack Web Fonts */
@-moz-document url-prefix() {
 body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 }
}

/* IE Hack Web Fonts */
@media all and (-ms-high-contrast:none) {
 body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 }
}

.font-sans {
 font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.font-serif {
 font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo,serif;
}


/* ------------------------------- */
/* Site Width */
/* ------------------------------- */
/*
@media (min-width: 1200px) {
 .container {
  max-width: 1030px;
 }
}
*/

/* ------------------------------- */
/* Equal Height Columns */
/* ------------------------------- */

.row-eq-height {
 display: flex;
 flex-wrap: wrap;
}

/* Flexbox Safari bug */
.row-eq-height.container:before,
.row-eq-height.container:after,
.row-eq-height.row:before,
.row-eq-height.row:after {
 content: normal;
}


/* ------------------------------- */
/* Button */
/* ------------------------------- */
/*
.btn-white {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding: 0px 20px;
 color: #123358 !important;
 font-weight: 600;
 text-decoration: none;
 background: #FFF;
 border: 2px solid#123358;
 border-radius: 25px;
}

.btn-white i {
 margin-left: 10px;
 font-size: 2rem;
}

.btn-white:hover {
 color: #FFF !important;
 background: #123358;
 text-decoration: none;
}
*/


/* ------------------------------- */
/* Header */
/* ------------------------------- */

header {
 padding: 30px 0 15px;
}

header h1 {
 display:  flex;
 align-items: center;
}

header h1 a:link,
header h1 a:hover,
header h1 a:visited,
header h1 a:active {
 color: #333;
 text-decoration: none;
}

header h1 a {
 font-size: 1.4rem;
}

header h1 a span {
 margin-right: 5px;
 font-size: 1rem;
}

header h1 img {
 margin-right: 10px;
}

/* Head */

header .head {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 margin-bottom: 20px;
}

header .head .tel {
 margin-right: 20px;
 color: #e04f3e;
 font-size: 1.4rem;
 font-weight: bold;
 letter-spacing: 1.6px;
}

header .head a {
 display: block;
 margin-right: 10px;
 padding: 5px 20px;
 color: #FFF;
 font-weight: 500;
 text-decoration: none;
 letter-spacing: 1px;
 background: #e04f3e;
 border-radius: 5px;
}

/* MainMenu */

header ul {
 display: flex;
 margin-bottom: 2px;
 align-items: center;
 width: 100%;
}

header ul > li {
 position: relative;
}

header ul > li:first-child > a {
 border-left: none;
}

header ul > li > a {
 display: flex;
 align-items: center;
 margin: 0 8px;
 padding: 5px 5px;
 text-align: center;
 text-decoration: none;
 line-height: 1;
}

header ul > li > a img {
 margin-right: 3px;
}

/* MainMenu */

header ul > li > a:link,
header ul > li > a:hover,
header ul > li > a:visited,
header ul > li > a:active {
 color: #333;
 font-weight: 500;
 border-bottom: 2px solid #FFF;
}

header ul > li.home > a:hover,
header ul > li.home > a.active {
 border-bottom: 2px solid #ec6d66;
}

header ul > li.comipa > a:hover,
header ul > li.comipa > a.active {
 border-bottom: 2px solid #43b149;
}

header ul > li.sumai > a:hover,
header ul > li.sumai > a.active {
 border-bottom: 2px solid #008ccf;
}

header ul > li.works > a:hover,
header ul > li.works > a.active {
 border-bottom: 2px solid #c4a4cb;
}

header ul > li.blog > a:hover,
header ul > li.blog > a.active {
 border-bottom: 2px solid #f49e1b;
}

header ul > li.company > a:hover,
header ul > li.company > a.active {
 border-bottom: 2px solid #dd3924;
}

/* Menu-Btn */

header .menu-btn {
 overflow: hidden;
 display: block;
 position: relative;
 z-index: 0;
 width: 40px;
 height: 40px;
 margin-right: 10px;
 cursor: pointer;
}

header .menu-btn span,
header .menu-btn::before,
header .menu-btn::after {
 display: block;
 position: absolute;
 top: 0;
 bottom: 0;
 left:0;
 right: 0;
 width: 30px;
 height: 2px;
 margin: auto;
 background: #333;
}

header .menu-btn span {
 overflow: hidden;
 z-index: 1;
 color: #333;
}

header .menu-btn::before {
 z-index: 2;
 transform: translate(0, -10px);
 content: "";
}

header .menu-btn::after {
 z-index: 2;
 transform: translate(0, 10px);
 content: "";
}

@media (max-width: 1199px) {
 header ul > li > a {
  margin: 0;
 }
}

@media (max-width: 991px) {
 body {
  padding-top: 80px;
 }

 header {
  padding: 0;
 }

 header .header-sp {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 10px 40px;
  z-index: 999;
  background: #FFF;
  border-bottom: 1px solid #dfdfdf;
 }

 header .header-sp img {
  height: 40px;
 }
}

@media (max-width: 767px) {
 header h1 a {
  font-size: 1.4rem;
 }

 header h1 a span {
  margin-right: 5px;
  font-size: 1rem;
 }
}

/* Pushy */

.pushy {
 width: 190px;
 background: #DD3924;
}

.pushy a:link,
.pushy a:hover,
.pushy a:visited,
.pushy a:active {
 color: #FFF;
}

.pushy hr {
 color: #FFF;
}


/* ------------------------------- */
/* Main */
/* ------------------------------- */

main {
 scroll-behavior: smooth;
}


/* ------------------------------- */
/* Footer
/* ------------------------------- */

footer {
 margin-top: 60px;
 padding-top: 20px;
 background: #DD3924;
}

footer nav ul {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
}

footer nav ul > li > a {
 display: block;
 margin: 0 5px;
 padding: 5px 8px;
 text-align: center;
 text-decoration: none;
 line-height: 1;
}
/* MainMenu */

footer nav ul > li > a:link,
footer nav ul > li > a:hover,
footer nav ul > li > a:visited,
footer nav ul > li > a:active {
 color: #FFF;
 font-size: 0.9rem;
 font-weight: 500;
 border-bottom: 1px solid #DD3924;
}

footer nav ul > li > a:hover,
footer nav ul > li > a.active {
 border-bottom: 1px solid #FFF;
}

/* Company */

footer .company {
 margin-top: 20px;
 text-align: center;
}

footer .company h2 {
 margin-bottom: 5px;
 color: #FFF;
 font-size: 1.2rem;
}

footer .company h1 a:link,
footer .company h1 a:hover,
footer .company h1 a:visited,
footer .company h1 a:active {
 color: #FFF;
 text-decoration: none;
}

footer .company h1 {
 margin-bottom: 10px;
}

footer .company h1 a {
 font-size: 2rem;
 font-weight: 500;
}

footer .company h1 a span {
 margin-right: 5px;
 font-size: 1.4rem;
}

footer .company h1 img {
 margin-right: 10px;
}

footer .company address {
 margin-bottom: 5px;
 color: #FFF;
 font-size: 1rem;
 line-height: 1.2;
}

@media (max-width: 991px) {
 footer nav {
  display: none;
 }

 footer .company {
  margin-top: 0;
 }

 #copyright {
  margin-top: 30px;
 }
}


/* ------------------------------- */
/* Copyright */
/* ------------------------------- */

#copyright {
 margin-top: 30px;
 padding: 5px 0;
 color: #333;
 text-align: center;
 background-color: #FFF;
}