@font-face {
  font-family: 'Noto Serif Japanese';
  font-style: normal;
  font-weight: 500;
  src: url(../fonts/NotoSerifCJKjp/NotoSerifCJKjp-Medium.otf) format('opentype');
 }

html {
  font-family: 'Noto Serif Japanese', serif;
  font-size:16px;
  line-height:200%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 70px;
}

body {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary,
ul,
dl,
dt,
dd{
  margin:0;
  padding:0;
  display: block;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
b,
strong {
  font-weight: bold;
}
.small {
  font-size: 80%;
    line-height:140%;
}
img {
  border: 0;
}

h1,
h2,
h3,
h4 {
    font-weight:normal;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    line-height:180%;
}
address {
    font-style:normal;
}

header,
footer,
section,
.container {
    width:100%;
}

.container h2,
.container h3,
.container h4,
.container p,
.container ul,
.container address{ 
    width:600px; margin:0 auto;
}

footer nav,
footer p,
footer address { 
    width:700px; margin:0 auto;
}

.head-image,
section h2,
section h3,
section address,
footer,
p.copy {
    text-align:center;
}

header a,
footer a {
	color:#fff;
    text-decoration:none;
    line-height:100%;
    z-index:4;
}
header nav a:after {
    content: '';
	width: 0;
    border-bottom:1px solid #fff;
	transition: all 0.2s ease;
	display: block;
}
header nav a:hover:after {
    width: 100%;
    border-bottom:1px solid #fff;
	transition: all 0.2s ease;
}

nav ul li {
    list-style: none;
    float:left;
    margin-right:2em;
}


section ul li {
    list-style: none;
}

br.spbr {
        display:none;
}

#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
 
#pageTop a {
  display: block;
  z-index: 999;
  border-radius: 2px;
  width: 30px;
  height: 30px;
  background-color: #d2691e;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
 
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*header*/
.head-nav {
    width:100%;
    height:50px;
    padding:1em;
    display: inline-block;
    vertical-align: middle;
    background-color: #f39939;
    position:fixed;
    z-index:3;
}
.head-nav h1,
.head-nav nav {
    float:left;
    display: inline-block;
}
.head-nav h1 {
    width:25%;
    margin-top:0;
}
.head-nav img[src$=".svg"] {
    height: 1.8em;
    verical-align:middle;
}
.head-nav nav {
    width:75%;
    line-height: 50px;
}
.head-nav nav ul {
    float:right;
}
.head-image {
    color:#fff;
    width:100%;
    position:relative;
}
.concept {
    position:absolute;
    left:50%;
    right:50%;
    top: 40%;
    bottom:60%;
    width:800px;
    -webkit-transform: translate(-50%, -50%); /* Safari用 */
    transform: translate(-50%, -50%);
}
.head-image img {
    margin-top:80px;
    width:100%;
}
.head-image h1,
.head-image h2 {
    text-shadow:1px 1px 4px #141414;
    -moz-text-shadow:1px 1px 4px #141414;
    -webkit-text-shadow:1px 1px 4px #141414;
}
.head-image h1 {
    font-size:1.7em;
    margin:0 auto;
}

.head-image h2 {
    font-size:1.2em;
    margin:0 auto;
    padding:0 0 0.8em;
    display: flex;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
}
.head-image h2:before,
.head-image h2:after {
    border-top: 1px solid #fff;
    content: " ";
    display: inline; /* for IE */
    flex-grow: 1;
    z-index:2;
}

.head-image h2:before {
    margin-right: 0.5em;
}

.head-image h2:after {
    margin-left: 0.5em;
}

section {
    padding:0 0 5em;
}

section:nth-child(even) {
    background-color:#ffffee;
}

section h2 {
    padding-bottom:1.2em;
}
section h3 {
    color:#f39939;
    font-size:0.8em;
    margin:0 auto;
    padding:3em 0 0.8em;
    display: flex;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
}
section h3:before,
section h3:after {
    border-top: 1px solid;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}

section h3:before {
    margin-right: 0.5em;
}

section h3:after {
    margin-left: 0.5em;
}

/*concept*/
section#concept {
    background:url("../images/concept_profile.png") no-repeat center center;
    padding: 2em 0 6em;
}
section#concept h2 {
    padding: 1em 0 1em;
}
section#concept p {
    padding-top:1em;
}
section p.hr {
    border-top:1px solid #f39939;
}

/*profile*/
section#profile h3.profile {
    color:#000;
    font-size:1.1em;
}
section#profile h3:before,
section#profile h3:after {
    border-top: 1px solid #f39939;
}

section dl {
    width:500px;
    margin: 0 auto;
}
section dl.profile {
    width:370px;
}
section dl dt {
    float:left;
    clear:left;
    width:25%;
}
section dl dd {
    float:left;
    width:75%;
    -webkit-margin-start: 0px;
}
section#profile .photo {
    width:600px;
    text-align:center;
    margin:1em auto;
}
/*business*/
section#business ul li:before {
    content:"■ ";
    color:#ffb153;
}

/*reward*/
section#reward h4, section#office h4 {
    background-color:#ffe6bf;
    margin:1em auto 0.4em;
    padding:0 0.6em;
}
section#reward h4.first, section#office h4.first {
    margin-top:0em;
}

/*office*/
section#office .office-photo {
    width:600px;
    padding-top:0.6em;
    margin:0 auto;
}
section#office .office-photo img {
    width:49%;
}

/*contact*/
section#contact {
    text-align:center;
}

section#contact p.telnumber {
    width:400px;
    padding:0.4em 0 0.2em;
    font-size:2.7em;
    margin-top:0.2em;
    display:block;
    background-color:#f39939;
    color:#fff;
}
section#contact p.telnumber span {
    font-size:0.4em;
}

/*location*/
#map {
width: 600px;
height: 400px;
margin:1em auto;
}
 
#map iframe,
#map object,
#map embed {
}

#map_custmomize {
    width:600px;
    margin:1em auto;
}

section#location ul li {
    float:left;
    margin-right:1em;
    display: inline-block;
}
section#location ul li:last-child {
    margin-right:0;
}
section#location ul li img {
    width:292px;
}
/*footer*/
footer {
    background-color: #f39939;
    color:#fff;
    text-align:center;
    padding:0.8em 0;
}
footer a {
    color:#fff;
}
footer .logo {
    line-height: 100%;
    padding-top:1em;
}
footer .logo img {
    width:230px;
}
footer nav.footer,
footer address,
p.copy {
    font-size:0.75em;
}
footer nav.footer ul {
    width:700px;
    margin:0 auto;
    padding:0;
}
footer nav ul {
	text-align: center;
    border-bottom:1px solid #fff;
}
footer nav ul li {
	display: inline-block;
    float: none;
    margin:0 2em 1em 0;
}
footer nav ul li:last-child {
    margin-right:0;
}
p.copy {
    padding:0 0 1em;
}

@media screen and (max-width: 959px){
html {
  font-size:14px;
}
section,
.concept,
.container address,
footer nav,
section#profile .photo,
footer nav.footer ul { 
    width:100%; margin:0 auto;
}
section {
    padding: 0 0 3em;
}
nav ul li:last-child {
    margin-right:0;
}
.head-nav {
    width:100%;
    height: auto;
    padding: 0.6em 0;
}
.head-nav h1 {
    width:100%;
    margin:0 auto;
    text-align:center;
}
.head-image img {
    margin-top: 6em;
}
.head-nav img[src$=".svg"] {
    width:10em;
}
.head-nav nav {
    width:100%;
    line-height: 120%;
    text-align:center;
}
.head-nav nav ul {
    width:100%;
    float: none;
    text-align: center;
}

.head-nav nav ul li {
    float:none;
  display: -moz-inline-box;
  display: inline-block;
  /display: inline;
  /zoom: 3;
  font-size: 12px;
}
.head-image h1 {
    font-size:1.4em;
    margin:0 auto;
}
/*concept*/
section#concept {
    width:600px;
    background:url("../images/concept_profile-sp.png") no-repeat bottom center;
    padding: 2em 0 4em;
}
section#concept h2 {
    text-align:left;
}
section#concept p {
    text-align:left;
    margin-left:0;
    width:80%;
}
section p.hr {
    border-top:1px solid #f39939;
}
/*profile*/
section#profile .photo{
    padding:1em 0;
}
    
/*location*/
section#location ul {
    text-align: center;
}
section#location ul li {
    float:none;
    margin-right:0;
}
section#location ul li img {
    width:100%;
}

footer .logo img {
    width:10em;
}
footer nav ul li {
    margin:0 1em 1em 0;
}
.small,
footer nav.footer,
footer address,
p.copy {
    font-size:0.9em;
    line-height:120%;
}
    
}

@media screen and (max-width: 599px){
.container h2,
.container h3,
.container h4,
.container p,
.container ul,
.container dl,
.container address,
footer nav,
footer p,
footer address,
section dl.profile,
section#profile .photo,
footer nav.footer ul,
section#contact p.telnumber
{
        width:96%;
}
section {
    padding: 0 0 1.6em;
}
section h2 {
    padding-bottom: 0.6em;
}
section h3 {
    padding: 1em 0 0.8em;
}
section#concept {
    padding: 2em 0 1.6em;
}
section#reward h4, section#office h4 {
        width:92%;
}
nav ul li {
    margin-right:2em;
}
.head-nav nav ul li {
        margin-bottom: 0.6em;
}
.head-nav nav {
        display:none;
}
.head-nav {
    width:100%;
    height: auto;
    padding: 0;
}
.head-nav img[src$=".svg"] {
    width:8em;
    height: auto;
    margin-top: 0.4em;
}
.head-image img {
    margin-top: 3em;
}
.head-image h1 {
    font-size: 1.1em;
    }
.concept {
    top: 35%;
    }
/*concept*/
section#concept {
    width:96%;
    background:url("../images/concept_profile-mb.png") no-repeat center 2em;
    padding: 230px 0 4em;
}
section#concept h2 {
    text-align:center;
}
section#concept p {
    margin-left:auto;
    width:100%;
}
/*profile*/
section#profile .photo{
    width:30%;
}
section#profile .photo img{
    width:100%;
}
section dl dt {
    width:30%;
}
section dl dd {
    width:70%;
}
/*office*/
section#office .office-photo {
    width:90%;
}
section#office .office-photo img {
    width:100%;
}
/*location*/
#map {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
width:90%;
height: 0;
overflow: hidden;
}
 
#map iframe,
#map object,
#map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#map_custmomize {
        width:86%;
}
footer nav ul li {
    margin:0 1em 0.6em 0;
}
br.spbr {
        display:block;
    }
}