@import url(https://fonts.googleapis.com/css?family=Josefin+Sans);
@import url(https://fonts.googleapis.com/css?family=Sawarabi+Mincho);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* reset */
html {
    scroll-behavior: smooth;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
}
#mainbody .application {
	margin-top: 50px;
	top: 50px;
}
#header .thanks {
	top: 50px;
	margin-bottom: 50px;
	margin-top: 50px;
}
.demo {
  text-align: center;
  margin-top: 5px;
  margin-bottom: 5px;
  margin-left: 0px;
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}
ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th {
  text-align: left;
}
q:before, q:after {
  content: '';
}
object, embed {
  vertical-align: top;
}
legend {
  display: none;
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}
img, abbr, acronym, fieldset {
  border: 0;
}
body {
  font: 18px/1.9 'Sawarabi Mincho', Meiryo, serif;
  font-weight: 300;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  color: #000;
  background: #fff;
}
#mainbody {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-height: 100%;
}
a {
  color: #0066ff;
  text-decoration: none;
}
a:hover, .active {
  text-decoration: underline;
}
a:active, a:focus, input:active, input:focus {
	outline: 0;
}


.scroll {
  margin     : auto;
  width      : 100%;
  font-size  : 100%;
  line-height: 1.5em;
  text-align : center;
  border     : 1px solid #666;
  color      : #000000;
  background : #fff;
  overflow   : hidden;
}
.scroll span{
  display     : inline-block;
  padding-left: 100%;
  white-space : nowrap;
  line-height : 1em;
  animation   : scrollAnime 10s linear infinite;
}
@keyframes scrollAnime{
    0% { transform: translateX(0)}
  100% { transform: translateX(-100%)}
}
/* ヘッダー
------------------------------------------------------------*/
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
#topimage {
	overflow: hidden;
	width: 100%;
	padding-top: 80px;
	height: auto;
	position: relative;
}
#topimage img {
	z-index: 100;
}
#slogan {
	position: absolute;
	top: 25%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	line-height: 1.2;
	text-align: left;
	margin-left: 50px;
}
#slogan h1 {
    font-size: 50px;
  font-family: "Noto Serif JP", serif;
    text-shadow: 0px 0px 5px #000000;
  font-weight: 900;
  font-style: normal;
}
#slogan h2 {
  font-size: 24px;
  font-family: 'Sawarabi Mincho', cursive;
  font-weight: normal;
}
/* フッター
------------------------------------------------------------*/
#footer {
	clear: both;
	padding-top: 50px;
	padding-right: 20px;
	padding-left: 0;
	padding-bottom: 50px;
	text-align: right;
	font-size: 14px;
	background-color: #CCCCCC;
}
/* 共通
------------------------------------------------------------*/
h1, h2 {
  font-family: 'Sawarabi Mincho', serif;
}
img {
	height: auto;
	width: 100%;
    vertical-align: bottom;
}
section {
	clear: both;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
#rinen {
	padding-top: 20px;
}
section h2 {
	font-size: 30px;
	font-weight: normal;
	text-align: center;
	padding-bottom: 20px;
}
h1 span {
	display: inline-block;
}
h2 span {
  display: inline-block;
}
h3 span {
  display: inline-block;
}
h4 span {
  display: inline-block;
}
p span {
  display: inline-block;
}
.inner {
	padding-bottom: 50px;
}


.imegebox{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin-left: auto;
	margin-right: auto;
 }
.tileimage{
	width: 33%;
	background: #c3c3c3;
	margin-top: auto;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: auto;
	padding: 0px;
	display: inline-block;
 }

/* rinen 企業理念
------------------------------------------------------------*/
.rinen {
  width: 60%;
  margin: 0 auto;
  padding-bottom: 80px;
}
/* about 事業紹介
------------------------------------------------------------*/
.wrap {
	clear: both;
	width: 100%;
	background: #f6f6f6;
	margin-bottom: 50px;
}
.bg {
	float: left;
}
.txt h2 {
	padding-bottom: 24px;
	padding-top: 20px;
	text-align: center;
}
/* JIREI 施工事例
------------------------------------------------------------*/

/* PROFILE
------------------------------------------------------------*/


#profile {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
#profile .inner .col2 {
    display:flex;
    flex-wrap: nowrap;
    padding:0;
    list-style:none;
}
#profile .inner .col2 li {
    width: 100%;
    margin: 20px 0 20px 0;
}
#profile dl {
	line-height: 1.2;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#profile dt {
  float: left;
  width: 20%;
  margin-right: 5%;
  margin-bottom: 20px;
  text-align-last: justify;
    white-space: nowrap;
}
#profile dd {
	width: 75%;
	margin-bottom: 20px;
	margin-left: 25%;
}

#map iframe {
    width: 100%;
    height: 100%;	
}
#map {
    width: 100%;
    height: 300px;	
}
#mascot {
	position: relative;
	max-height: 100px;
	width: auto;
	top: -50%;
}

/* RESPONSIVE　レスポンシブ
------------------------------------------------------------*/

@media only screen and (min-width: 800px) {
  body {
    font-size: 18px;
  }
  a#menu {
    display: none;
  }
#logo {
	width: 500px;
	position: fixed;
	float: left;
	z-index: 999;
	padding-top: 5px;
	padding-bottom: 10px;
	padding-left: 0px;
	padding-right: 10px;
	margin-left: 5px;
	height: auto;
}

  .navigation {
    display: block !important;
	background: rgba(255, 255, 255, .9);
  }
  .navigation {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 500;
	margin-left: auto;
	margin-right: auto;
  }
  .navigation ul {
    text-align: right;
    padding-right: 30px;
  }
  .navigation li {
    display: inline-block;
    padding: 45px 10px 20px;
    font-size: 18px;
    font-weight: 300;
  }
  .navigation a {
    color: #000;
  }
  .navigation .changeNav {
	border-bottom: 1px solid #d1d1d1;
  }
  /* ABOUT
	-----------------*/
  .txt, .bg {
	display: table;
	background: #f6f6f6;
	width: 50%;
	float: left;
  }
  #jirei .txt, #jirei .bg {
    float: right;
  }
  .vMid {
	display: table-cell;
	padding-top: 0;
	padding-right: 20px;
	padding-left: 20px;
	vertical-align: middle;
	padding-bottom: 20px;
	margin-bottom: 20px;
  }


  #footer {
	padding-top: 30px;
	padding-bottom: 5px;
	width: 100%;
	padding-right: 30px;
	text-align: center;
  }
}

/* タブレット
	-----------------*/
@media only screen and (max-width: 1000px) {
    #topimage {
	height: auto;
	width: auto;
	padding-top: 50px;
}
    #logo {
	width: 300px;
	max-width: none;
}
  .navigation li {
    padding: 20px 10px 20px;
  }
	.rinen {
  width: 90%;
}
    section {
	max-width: 95%;
}
  
    #slogan h1 {
    font-size: 2.0em;
  }
  #slogan h2 {
    font-size: 2.0em;
  }

    #profile .inner .col2 {
    display: inline-block;
    width: 100%;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
}
    #mascot {
	margin-left: auto;
	float: right;
	top: -100px;
	width: 100px;
}
}

/* スマートフォン
	-----------------*/
@media only screen and (max-width: 799px) {

.logobox {
	width: 100%;
	background: rgba(255, 255, 255, .9);
	margin-left: 0px;
	height: 70px;
	position: fixed;
	z-index: 200;
	float: left;
}
    #topimage {
	padding-top: 70px;
}
  section h2 {
	font-size: 1.4em;
}
.menu{
	height: 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	z-index: 300;
	width: 100%;
	float: right;
    } 
 .hamburger-menu {
	width: 50px;
	height: 50px;
	position: relative;
	border: none;
	background: transparent;
	appearance: none;
	padding: 0;
	cursor: pointer;
	margin-left: auto;
}
.hamburger-menu__bar {
  display: inline-block;
  width: 44%;
  height: 2px;
  background: #242424;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
.hamburger-menu__bar:first-child {
  top: 16px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 24px;
}
.hamburger-menu__bar:last-child {
	top: 32px;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 50%;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
.navigation {
	display: none;
	background-color: rgba(36,36,36,0.8);
	position: absolute;
	top: 70px;
	width: 100%;
	z-index: 9999;
}
.navigation__list {
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.navigation__list-item {
  border-bottom: solid 1px #474747;
}
.navigation__list-item:first-child {
  border-top: solid 1px #474747;
}
.navigation__link {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 24px 0;
  transition: .5s;
}
 
  
    .wrap .txt {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	padding-bottom: 20px;
}
  .col3 li {
    margin: 0 auto;
    display: block;
    max-width: 288px;
  }
    #slogan h1 {
    font-size: 1.2em;
  }
  #map iframe {
    width: 100%;
    height: 400px;	  
  }

  #profile dd {
	font-size: 0.8em;
	width: 70%;
  }
  #profile dt {
	font-size: 0.6em;
	min-height: 20%;
  }
    .imegebox{
	width: 100%;
	margin-left: auto;
 }
}

@media only screen and (max-width: 640px) {
    #logo {
	width: 300px;
}
  #map iframe {
    width: 96% !important;
    left: 2%;
  }
    #slogan {
	top: 40% !important;
	margin-left: 5px;
}
    #slogan h1 {
	font-size: 1.2em !important;
	margin-top: 30px;
  }
    #mascot {
	top: -50px;
	width: 50px !important;
}
}
