@charset "UTF-8";
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  font-family: "游ゴシック",sans-serif;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

article, header, footer, aside, figure, figcaption, nav, section {
  display: block; }

html {
  height: 100%; }

body {
  height: 100%;
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

ol, ul {
  list-style: none;
  list-style-type: none; }

body {
  color: #707070; }

body a {
  color: #999;
  text-decoration: none; }

body a:hover {
  text-decoration: underline; }

@media screen and (max-width: 767px) {
  header {
    width: 100%;
    height: 100%; }

  header::before {
    content: "";
    background: url("/img/img_hero_or.png") no-repeat left top;
    background-size: 100% auto;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; } }
@media screen and (max-width: 767px) and (orientation: landscape) {
  header::before {
    background: url("/img/img_hero_ls.png") no-repeat center top;
    background-size: auto 80%; } }
@media screen and (max-width: 767px) {
  #l-head {
    position: fixed;
    width: 100%;
    height: 80px;
    top: 0;
    transition: .3s;
    z-index: 9999; }

  #l-hero {
    height: 60%;
    position: relative; }

  #l-lead {
    background-color: transparent;
    background-image: url(/img/img_bg_lead_sp.png);
    background-repeat: repeat-x;
    background-position: top;
    padding: 50px 0 110px; }

  #l-main {
    padding: 0 15px;
    background: #FFF; }

  article {
    padding-top: 80px; }

  footer {
    background: none;
    background-image: url(/img/img_about.png);
    background-size: contain;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: left bottom; }

  #l-foot {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 100px 0 10px; } }
@media screen and (min-width: 768px) and (max-width: 960px) {
  header {
    width: 100%;
    height: 100%; }

  header::before {
    content: "";
    background: url("/img/img_hero_or.png") no-repeat center bottom;
    background-size: 100% auto;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; } }
@media screen and (min-width: 768px) and (max-width: 960px) and (orientation: landscape) {
  header::before {
    background: url("/img/img_hero_ls.png") no-repeat center top;
    background-size: auto 80%; } }
@media screen and (min-width: 768px) and (max-width: 960px) {
  #l-head {
    position: fixed;
    width: 100%;
    height: 80px;
    transition: .3s; }

  #l-hero {
    height: 72%; }

  #l-lead {
    background-color: transparent;
    background-image: url(/img/img_bg_lead_sp.png);
    background-repeat: repeat-x;
    background-position: top;
    padding: 50px 0 85px; }

  #l-main {
    padding: 0 15px;
    background: #FFF; }

  article {
    width: 720px;
    margin: auto;
    padding-top: 80px; }

  footer {
    background: none;
    background-image: url(/img/img_about.png);
    background-size: contain;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: left bottom; }

  #l-foot {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 200px 0 10px; } }
@media screen and (min-width: 961px) {
  header {
    width: 100%;
    height: 90%;
    background: none;
    background-image: url(/img/img_hero_ls.png);
    background-size: contain;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center top;
    margin: 0; }

  #l-head {
    position: fixed;
    width: 100%;
    height: 80px;
    transition: .3s; }

  .l-head__pc {
    width: 960px;
    margin: auto;
    clear: both; }

  #l-hero {
    width: 720px;
    margin: 0 auto;
    height: 65%; }

  #l-lead {
    background-color: transparent;
    background-image: url(/img/img_bg_lead_sp.png);
    background-repeat: repeat-x;
    background-position: top;
    padding: 50px; }

  #l-main {
    width: 960px;
    margin: 0 auto 100px; }

  article {
    width: 720px;
    margin: auto;
    padding-top: 150px; }

  footer {
    background: none;
    background-image: url(/img/img_about.png);
    background-size: contain;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center bottom; }

  #l-foot {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 350px 0 10px; } }
@media screen and (max-width: 767px) {
  .c-siteid {
    padding: 10px 0 0 10px;
    float: left; }

  .c-siteid img {
    height: 40px; }

  .c-ttl {
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #DDD;
    margin: 0 18% 8px; }

  .c-ttl__caption {
    font-size: 0.7em;
    text-align: center;
    padding-bottom: 40px;
    font-family: serif;
    font-style: italic; }

  .c-subttl {
    font-weight: bold;
    padding-bottom: 22px; }

  .c-txt {
    line-height: 2.0;
    font-size: 0.8rem;
    padding-bottom: 40px; }

  .c-dl {
    font-size: 0.8rem;
    padding-bottom: 27px; }

  .c-dl__ttl {
    font-weight: bold;
    line-height: 1.2;
    padding-bottom: 12px; }

  .c-dl__item {
    line-height: 1.7;
    margin-left: 1rem;
    padding-bottom: 22px; }

  .c-list {
    padding-bottom: 27px; }

  .c-list__item {
    font-size: 0.8rem;
    line-height: 1.7;
    padding-bottom: 12px; }

  .c-link__outside {
    padding-right: 20px;
    background-image: url(/img/icon_windows.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 15px 15px; } }
@media screen and (min-width: 768px) and (max-width: 960px) {
  .c-siteid {
    padding: 10px 0 0 10px;
    float: left; }

  .c-siteid img {
    height: 40px; }

  .c-ttl {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #DDD;
    margin: 0 18% 8px; }

  .c-ttl__caption {
    font-size: 0.7em;
    text-align: center;
    padding-bottom: 40px;
    font-family: serif;
    font-style: italic; }

  .c-subttl {
    font-size: 1.2rem;
    font-weight: bold;
    padding-bottom: 22px; }

  .c-txt {
    line-height: 2.0;
    font-size: 1rem;
    padding-bottom: 40px; }

  .c-dl {
    font-size: 1rem;
    padding-bottom: 27px; }

  .c-dl__ttl {
    font-weight: bold;
    line-height: 1.2;
    padding-bottom: 12px; }

  .c-dl__item {
    line-height: 1.7;
    margin-left: 1rem;
    padding-bottom: 22px; }

  .c-list {
    padding-bottom: 27px; }

  .c-list__item {
    font-size: 1rem;
    line-height: 1.7;
    padding-bottom: 12px; }

  .c-link__outside {
    padding-right: 20px;
    background-image: url(/img/icon_windows.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 15px 15px; } }
@media screen and (min-width: 961px) {
  .c-siteid {
    padding: 10px 0 0 10px;
    float: left; }

  .c-siteid img {
    height: 40px; }

  .c-ttl {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #DDD;
    margin: 0 18% 8px; }

  .c-ttl__caption {
    font-size: 0.8em;
    text-align: center;
    padding-bottom: 40px;
    font-family: serif;
    font-style: italic; }

  .c-subttl {
    font-weight: bold;
    font-size: 1.2em;
    padding-bottom: 22px; }

  .c-txt {
    line-height: 2.2;
    font-size: 1rem;
    padding-bottom: 40px; }

  .c-dl {
    font-size: 1rem;
    padding-bottom: 27px; }

  .c-dl__ttl {
    font-weight: bold;
    line-height: 1.3;
    padding-bottom: 12px; }

  .c-dl__item {
    line-height: 1.8;
    margin-left: 1rem;
    padding-bottom: 22px; }

  .c-list {
    padding-bottom: 27px; }

  .c-list__item {
    font-size: 1rem;
    line-height: 1.8;
    padding-bottom: 12px; }

  .c-link__outside {
    padding-right: 20px;
    background-image: url(/img/icon_windows.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 15px 15px; } }
@media screen and (max-width: 767px) {
  .p-hero__txt {
    font-size: 0.9rem;
    line-height: 2.0;
    position: absolute;
    top: 50%;
    left: 7%; } }
@media screen and (max-width: 767px) and (orientation: landscape) {
  .p-hero__txt {
    top: 55%;
    left: 25%; } }
@media screen and (max-width: 767px) {
  .p-lead__txt {
    font-size: 0.8rem;
    line-height: 2.5;
    text-align: center; }

  .p-ham__unshown {
    display: none; }

  .p-ham {
    float: right; }

  #p-ham__open, #p-ham__close {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    position: absolute;
    right: 0;
    top: 20px; }

  #p-ham__open span, #p-ham__open span {
    position: absolute;
    height: 1px;
    width: 18px;
    background: #7F7F7F;
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
    content: '';
    cursor: pointer; }

  #p-ham__open span:nth-of-type(1) {
    top: 0px; }

  #p-ham__open span:nth-of-type(2) {
    top: 7px; }

  #p-ham__open span:nth-of-type(3) {
    top: 14px; }

  #p-ham__input:checked ~ #p-ham__open span:nth-of-type(2) {
    opacity: 0; }

  #p-ham__input:checked ~ #p-ham__open span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg); }

  #p-ham__input:checked ~ #p-ham__open span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg); }

  #p-ham__input:checked ~ .p-menu {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }

  .p-menu {
    position: absolute;
    right: 0;
    top: 55px;
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: right;
    overflow: auto;
    transition: .5s ease-in-out;
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
    border-top: 1px solid #CCC; }

  .p-menu__item {
    font-size: 0.7rem;
    padding: 10px 15px;
    margin-top: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    color: #555;
    border-bottom: 1px solid #CCC; }

  .p-menu__item__inquiry {
    padding-right: 25px;
    background-image: url(/img/icon_windows.svg);
    background-repeat: no-repeat;
    background-position: 97% center;
    background-size: 10px 10px; }

  .p-snslist {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 22px auto 25px; }

  .p-snslist__item {
    margin: 0 10px; }

  .p-snslist__item img {
    height: 30px; }

  .p-snslist__item__note {
    padding-top: 5px; }

  .p-snslist__item__note img {
    height: 20px; }

  .p-copyright {
    text-align: center;
    font-size: 0.7rem; } }
@media screen and (min-width: 768px) and (max-width: 960px) {
  .p-hero__txt {
    font-size: 1.3rem;
    line-height: 2.0;
    position: absolute;
    top: 45%;
    left: 7%; }

  .p-lead__txt {
    font-size: 1.1rem;
    line-height: 2.5;
    text-align: center; }

  .p-ham__unshown {
    display: none; }

  #p-ham__open, #p-ham__close {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    position: absolute;
    right: 0;
    top: 20px; }

  .p-ham {
    float: right; }

  #p-ham__open span, #p-ham__open span {
    position: absolute;
    height: 1px;
    /*線の太さ*/
    width: 18px;
    /*長さ*/
    background: #7F7F7F;
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
    content: '';
    cursor: pointer; }

  #p-ham__open span:nth-of-type(1) {
    top: 0px; }

  #p-ham__open span:nth-of-type(2) {
    top: 7px; }

  #p-ham__open span:nth-of-type(3) {
    top: 14px; }

  #p-ham__input:checked ~ #p-ham__open span:nth-of-type(2) {
    opacity: 0; }

  #p-ham__input:checked ~ #p-ham__open span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(7px) rotate(-45deg); }

  #p-ham__input:checked ~ #p-ham__open span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg); }

  #p-ham__input:checked ~ .p-menu {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    /*中身を表示（左へスライド）*/ }

  .p-menu {
    position: absolute;
    right: 0;
    top: 41px;
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: right;
    overflow: auto;
    transition: .5s ease-in-out;
    /*滑らかに表示*/
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
    /*右に隠しておく*/
    border-top: 1px solid #CCC; }

  .p-menu__item {
    font-size: 0.9rem;
    padding: 10px 15px;
    margin-top: 1px;
    color: #555;
    background-color: rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid #CCC; }

  .p-menu__item__inquiry {
    padding-right: 40px;
    background-image: url(/img/icon_windows.svg);
    background-repeat: no-repeat;
    background-position: 97% center;
    background-size: 10px 10px; }

  .p-snslist {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 22px auto 25px; }

  .p-snslist__item {
    margin: 0 10px; }

  .p-snslist__item img {
    height: 40px; }

  .p-snslist__item__note {
    padding-top: 5px; }

  .p-snslist__item__note img {
    height: 25px; }

  .p-copyright {
    text-align: center;
    font-size: 0.7rem; } }
@media screen and (min-width: 961px) {
  .p-ham__unshown {
    display: none; }

  .p-menu {
    float: right;
    display: flex;
    flex-direction: row; }

  .p-menu__item {
    font-size: 0.8rem;
    padding: 15px;
    color: #555; }

  .p-menu__item__inquiry {
    padding-right: 25px;
    background-image: url(/img/icon_windows.svg);
    background-repeat: no-repeat;
    background-position: 90% center;
    background-size: 12px 12px; }

  .p-hero__txt {
    font-size: 1.3rem;
    line-height: 2.0;
    padding: 30% 0 0 100px; }

  .p-lead__txt {
    font-size: 1.1rem;
    line-height: 2.5;
    text-align: center; }

  .p-snslist {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 22px auto 25px; }

  .p-snslist__item {
    margin: 0 10px; }

  .p-snslist__item img {
    height: 30px; }

  .p-snslist__item__note {
    padding-top: 5px; }

  .p-snslist__item__note img {
    height: 20px; }

  .p-copyright {
    text-align: center;
    font-size: 0.7rem; } }
.c-ttl.delighter, .c-ttl__caption.delighter {
  transition: all 1s ease-out;
  transform: translateY(-100%);
  opacity: 0; }

.c-ttl__caption.delighter {
  transition: all 1s ease-out;
  transform: translateY(-50%);
  opacity: 0; }

.c-txt.delighter,
.c-subttl.delighter,
.c-dl__ttl.delighter,
.c-dl__item.delighter,
.c-list__item.delighter {
  transition: all 1s ease-out;
  transform: translateY(-10%);
  opacity: 0; }

footer.delighter {
  transition: all 2s ease-out;
  opacity: 0; }

.c-ttl.delighter.started,
.c-ttl__caption.delighter.started,
.c-txt.delighter.started,
.c-subttl.delighter.started,
.c-dl__ttl.delighter.started,
.c-dl__item.delighter.started,
.c-list__item.delighter.started,
footer.delighter.started {
  transform: none;
  opacity: 1; }

.u-current {
  font-weight: bold; }

/*# sourceMappingURL=base.css.map */
