.hgroup ,h3 {
  color:#d66549;
  letter-spacing:.4em;
  font-weight:bold;
}
h2 {
  text-align:left;
}

h3 {
  color:#d66549;
  letter-spacing:.35em;
  text-align:left;
}
.catch {
  color:#d66549;
  font-weight:bold;
}

.profile dl {
  border:1px solid #636262;
}

.category {
  border-top:dashed 1px #d66549;
  padding-top:3rem
}
.category h2 {
  color:#d66549;
  letter-spacing:0;
  margin-bottom:2rem;
}

.category a[href*='category'] {
  display:block;
  width:8.5rem;/* 12 */
  font-size:.74rem;
  text-align:center;
  color:#fff;
  background:#6d8fb5;
  line-height:1;
  padding:.5em 1em;
  border-radius:1em;
  margin-right:auto;
  margin-left:auto;
}

.company-inner > section.person {
  margin-top:4rem;
}
@media screen and (min-width: 500px) {
  .hgroup{
    max-width: 1030px;
    font-size: .75rem;
    margin: 3.9rem auto 1em;
    line-height: 1;
  }
  h2 {
    max-width:1030px;
    margin:0 auto 1em;
    line-height: 1;
    letter-spacing:.3em;
  }
  h3 {
    font-size: .75rem;
    margin: 1em auto 1em;
    line-height: 1;
  }
  .company-inner > section {
    max-width:1030px;
    margin:1rem auto 1rem;
  }
  .introduction > figure:first-of-type {
    max-width:780px;
    margin-right:auto;
    margin-left:auto;
    margin-bottom:3rem;
  }
  .introduction > p, .introduction > ul, .introduction > ol, .introduction > dl {
    max-width:780px;
    line-height: 2;
    margin-top:0;
    margin-right:auto;
    margin-left:auto;
    margin-bottom:0;
  }
  .introduction > p:last-of-type {
    margin-bottom:3rem;
  }
  .introduction > *:last-child:not(.flex) {
    padding-bottom:4rem;
  }
  .introduction >.catch {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-bottom:1rem;
  }
  .introduction .flex {
    display:flex;
    flex-wrap:wrap;
    margin-top:4rem;
  }
  .introduction .flex figure {
    width:47%;
    margin-bottom:4rem;
  }
  .introduction .flex figure:nth-of-type(2n+1) {
    margin-right:5%;
  }
  section.person, section.movie {
    margin-bottom:8rem;
  }
  .person dl {
    margin-bottom:2em;
  }
  .person dt {
    clear:both;
  }
  .person dt img {
    float:left;
    width: 19.5%;
    margin-top:-4%;
    margin-right: 4%;
    margin-bottom:4rem;
  }
  .person dt:last-of-type img {
    margin-bottom:8rem;
  }
  .person dd {
    margin:0 0 1rem 0;;
  }
  section.person + * {
    clear:both;
  }
  
  .profile dl {
    margin-bottom:2em;
  }
  .profile dt {
    padding:.7em 2.2em .7em 2.2em ;
  }
  .profile dd {
    margin:0;
    padding:0 2.2em .7em 18em ;
    border-bottom:1px solid;
  }
  .profile dt + dd {
    margin-top:-2.5em;
  }  
  .profile dd:last-of-type {
    border-bottom:none;
  }
  
  section.map {
    max-width:1030px;
    margin:0 auto;
    padding:5rem 0 10rem;
    text-align:right;
  }
  section.map iframe {
    width:100%;
    height:27rem;
  }
  .category a[href*='category'] {
    display:none;
  }
  .category h2 {
    font-size:1.1rem;
  }
}   


@media screen and (max-width: 499px) {
  nav.breadcrumb {
    position:static;
  }
  nav.breadcrumb ol li:first-of-type, nav.breadcrumb ol li:last-of-type {
      display: none;
  }
  nav.breadcrumb ol li:nth-of-type(2) {
    font-size:5vw;
    margin:11.5vw auto 8vw;
    text-align:center;
    display:block;
  }
  nav.breadcrumb li a:link, 
  nav.breadcrumb li a:active, 
  nav.breadcrumb li a:hover, 
  nav.breadcrumb li a:visited {
    color:#d66549;
    letter-spacing:.3em;
    font-weight:bold;
    display:inline-block;
    padding-left:2.5rem;
    background:left center/2rem 2rem no-repeat;
  }
  .hgroup{
    font-size: .7rem;
    margin: 0 4.8vw .5em;
    line-height: 1;
  }
  h2 {
    font-size:1rem;
    margin:0 4.8vw 3vw;
    line-height: 1;
  }
  h3 {
    font-size: 1rem;
    margin: 1em auto 1em;
    line-height: 1;
  }
  .catch {
    font-size: 1rem;
    line-height:1.3;
  }
  
  .company-inner > section:not(.map) {
    margin-right:4.8vw;
    margin-left:4.8vw;
  }
  
  .introduction .flex {
    margin-top:3rem;
  }
  
  .introduction .flex  figure img {
    display:block;
  }
  .introduction .flex  figcaption {
    line-height:1.3;
    margin:.5em 0 1.7em;
  }
  .company-inner > section {
    margin-bottom:14vw;
    
  }
  .person dl {
    margin-bottom:2em;
    line-height:1.3;
  }
  .person dt {
    clear:both;
    font-size:1rem;
  }
  .person dt img {
    float:left;
    width: 36%;
    margin-right: 4%;
  }
  .person dd {
    margin:0 0 1rem 40%;
  }
  section.person + * {
    clear:both;
  }
  .profile dl {
    margin-bottom:2em;
  }
  .profile dt {
    padding:.7em 2.2em .7em .7em ;
  }
  .profile dd {
    margin:0;
    padding:0 .5em .7em 8em ;
    border-bottom:1px solid;
  }
  .profile dt + dd {
    margin-top:-2.5em;
  }  
  .profile dd:last-of-type {
    border-bottom:none;
  }
  .profile  dd a {
    word-break: break-all;
  }
  section.map h3 {
    margin-right:4.8vw;
    margin-left:4.8vw;
  }
  section.map iframe {
    width:100vw;
    height:75vw;
  }
  .category{
    padding-top:4.4vw;
  }
  .category h2 {
    font-size:4.4vw;
    margin:3em 0 3em;
  }
}
