
/*-----------------------------------------------
  common
-----------------------------------------------*/

html {
scroll-padding-top: 120px;
background: #FFF;
}
@media (max-width:1000px) {
	html {
	scroll-padding-top: 24%;
	}
}
body {
height: 100%;
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
line-height: 1.8;
color: #000;
-webkit-font-smoothing: antialiased;
-webkit-backface-visibility: hidden;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
input, textarea, select, button {
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
line-height: 1.4;
}
a {
color: #000;
cursor: pointer;
background: transparent;
text-decoration: none;
transition: all 0.3s ease;
}
a:hover,
a:active {
color: #111;
}
a img {
transition: all 0.2s ease;
}
a:hover img {
opacity: 0.8;
}
@media (max-width:800px) {
}

/* object-fit */
img.objectFit {
object-fit: cover;
font-family: 'object-fit: cover;'
}


/*-----------------------------------------------
  header
-----------------------------------------------*/

header {
position: fixed;
z-index: 9999;
width: 100%;
height: 120px;
padding: 1em 0;
background: #FFF;
box-sizing: border-box;
/*opacity: 0.9;*/
}
header .inner {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: center;
align-items: center;
margin: 0 auto;
padding: 0 4%;
}
header .logo {
position: absolute;
top: 0;
left: 0;
}
header .logo img {
height: 170px;
transition: 0.3s;
}
header .logo.small img {
width: auto;
height: 120px;
}
header .data {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: center;
align-items: center;
}
header .name {
font-size: 1.8em;
font-weight: 900;
}
header .tel {
margin-left: 1em;
}
header .contact {
width: 180px;
margin-left: 0.5em;
font-size: 1.1em;
font-weight: 900;
}
header .contact a {
display: block;
padding: 0.4em 0.5em 0.4em 2.8em;
color: #FFF;
background-color: #1B982A;
background-image: url("../img/common/ico_mail_w.png");
background-position: left 1em center;
background-repeat: no-repeat;
background-size: 1.4em;
border: 1px solid #1B982A;
border-radius: 2em;
}
header .contact a:hover {
color: #1B982A;
background-color: #FFF;
background-image: url("../img/common/ico_mail.png");
}
header .mail {
display: none;
}

/* nav */
header nav {
margin-top: 1em;
background-color: #FFF;
}
header .navi {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: center;
align-items: center;
font-size: 1.1em;
font-weight: 900;
}
header .navi li:not(:first-child) {
margin-left: 1.5em;
}
header .navi li:before {
content: "＞";
margin-right: 0.5em;
color: #E24F0E;
}
header .navi a:hover {
text-decoration: underline;
}
header .navi .contact {
display: none;
}

@media (max-width:1280px) {
  header .logo img {
  height: 120px;
  }
  header .tel {
  width: 220px;
  }
	header .contact {
  display: none;
  }
	header .mail {
	display: block;
	width: 45px;
	margin-left: 0.5em;
	background: #1B982A;
	border-radius: 100%;
	}
	header .mail img {
	display: block;
	width: 50%;
	padding: 25%;
	}
}
@media (max-width:1000px) {
  header .inner {
	justify-content: flex-start;
  padding-left: 220px;
  }
  header .navi {
  justify-content: flex-start;
  padding-left: 220px;
  }
}
@media (max-width:800px) {
  header {
  height: auto;
  padding: 0;
  }
  header .inner {
	flex-wrap: nowrap;
  justify-content: space-between;
  padding: 0;
  }
  header .data {
  flex-flow: column;
  }
  header .logo {
  position: static;
  width: 30%;
  }
  header .logo img {
  height: auto;
  }
  header .logo.small img {
  height: auto;
  }
  header .name {
  font-size: 5vw;
  }
	header .tel {
  width: 70%;
	margin: 0.2em 0 0 0;
  }
	header .mail {
  width: 15%;
  }

  /* nav */
  header nav {
  margin-top: 0;
  }
  header .inner {
	justify-content: space-between;
  padding: 0 4% 0 0;
  }
  header .navi {
	justify-content: center;
  padding: 0.8em 2%;
  font-size: 2.7vw;
  }
  header .navi li:not(:first-child) {
  margin-left: 1em;
  }
  header .navi li:before {
  margin-right: 0.2em;
  }
}



/*-----------------------------------------------
  main
-----------------------------------------------*/
main {
display: block;
min-height: 500px;
padding-top: 120px;
}
main h1 {
padding: 0.2em 0;
font-size: 3.2em;
font-weight: 900;
line-height: 1.2;
text-align: center;
color: #E24F0E;
}
@media (max-width:800px) {
	main {
	padding-top: 26%;
	}
  main h1 {
	padding: 0.5em 0;
  font-size: 1.6em;
  }
}


/*-----------------------------------------------
  aside
-----------------------------------------------*/
aside {
padding: 4%;
text-align: center;
}
aside h2 {
font-size: 2.8em;
font-weight: 900;
font-feature-settings: "palt"; /* 自動カーニング */
line-height: 1.3;
color: #673401;
}
aside .contact {
margin: 1em 0;
font-size: 1.75em;
font-weight: 900;
color: #E24F0E;
}
aside .contact dd {
margin-top: 0.8em;
}
aside .tel {
width: 80%;
max-width: 420px;
margin: 0 auto;
}
aside .mail {
width: 100%;
max-width: 12em;
margin: 0 auto;
font-weight: 900;
}
aside .mail a {
display: block;
padding: 0.4em 1.5em 0.4em 3.5em;
color: #FFF;
background-color: #E24F0E;
background-image: url("../img/common/ico_mail_w.png");
background-position: left 2em center;
background-repeat: no-repeat;
background-size: 1.4em;
border: 1px solid #E24F0E;
border-radius: 2em;
}
aside .mail a:hover {
color: #E24F0E;
background-color: #FFF;
background-image: url("../img/common/ico_mail_o.png");
}
aside .link {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-between;
align-items: stretch;
width: 780px;
margin: 0 auto;
}
aside .link li {
width: 31.333%;
line-height: 1.5;
}
aside .link a {
display: block;
padding: 0.4em 1em;
transition: 0.2s;
}
aside .link .shinonome a {
color: #3C4CA7;
border: 1px solid #3C4CA7;
}
aside .link .shinonome a:hover {
color: #FFF;
background-color: #3C4CA7;
}
aside .link .aio a {
color: #CB2771;
border: 1px solid #CB2771;
}
aside .link .aio a:hover {
color: #FFF;
background-color: #CB2771;
}
aside .link .kaitai a {
padding: 1.15em 1em;
color: #DC5725;
border: 1px solid #DC5725;
}
aside .link .kaitai a:hover {
color: #FFF;
background-color: #DC5725;
}
aside .mitsumori {
position: fixed;
right: 20px;
bottom: 20px;
width: 20%;
max-width: 300px;
}
@media (max-width:800px) {
  aside h2 {
  font-size: 1.5em;
  }
  aside .contact {
  font-size: 1em;
  }
  aside .contact dd {
  margin-top: 4%;
  }
  aside .mail {
  font-size: 1.3em;
  }
  aside .link {
  width: 100%;
  }
  aside .link li {
  width: 80%;
  margin: 2% auto;
  }
  aside .mitsumori {
  width: 30%;
  }
}

/*-----------------------------------------------
  footer
-----------------------------------------------*/

footer {
padding: 4%;
color: #FFF;
background: #673401;
}
footer .data {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: flex-start;
align-items: center;
width: 100%;
max-width: 400px;
margin: 0 auto;
}
footer .data dl {
margin-left: 1em;
}
footer .data dt {
margin-bottom: 0.5em;
font-size: 1.5em;
font-weight: 900;
}
footer .navi {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: flex-start;
align-items: center;
width: 100%;
max-width: 400px;
margin: 2% auto;
font-weight: 900;
}
footer .navi li {
padding: 0.2em 0;
}
footer .navi li:nth-child(odd) {
width: 60%;
}
footer .navi li:nth-child(even) {
width: 40%;
}
footer .navi a {
color: #FFF;
}
footer .navi a:hover {
text-decoration: underline;
}
footer .copyright {
font-size: 0.8em;
letter-spacing: 0.1em;
text-align: center;
}
@media (max-width:800px) {
	footer {
	margin-top: 8%;
	padding: 4% 4%;
	font-size: 0.85em
	}
  footer .data {
  justify-content: center;
  }
	footer .navi {
	flex-direction: column;
	margin: 4% auto;
	text-align: center;
	}
  footer .navi li:nth-child(odd) {
  width: 100%;
  }
  footer .navi li:nth-child(even) {
  width: 100%;
  }
}

