@charset "UTF-8";
/* Scss Document */
body {
  background-color: #FEFEFA;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", Georgia, "Times New Roman", Times, "serif";
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .03em;
  text-align: center; }

body {
  animation: fadeIn 1s ease 0s 1 normal;
  -webkit-animation: fadeIn 1s ease 0s 1 normal; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*メディアクエリ*/
/*〜〜メディアクエリ*/
/*共有*/
img.fit {
  width: 100%;
  height: auto; }

img.fit-h {
  height: 100%;
  width: auto; }

@media (max-width: 560px) {
  img.pctab, table.pctab {
    display: none; } }

@media (min-width: 561px) {
  img.sp, table.sp {
    display: none; } }

a {
  color: inherit;
  text-decoration: none; }

a.btn-1 {
  padding: .2em .5em;
  line-height: 1em;
  border: thin solid #000000;
  transition: .5s; }
  a.btn-1:hover {
    background-color: #000000;
    color: #ffffff; }

a.h_opacity {
  transition: .5s; }

a.h_opacity:hover {
  opacity: .5; }

p.text-1 {
  font-size: 100%;
  text-align: left;
  line-height: 2em; }

p.text-2 {
  font-size: 85%;
  text-align: left;
  line-height: 2em; }

.bold {
  font-weight: 700; }

.text-left {
  text-align: left; }

.text-s {
  font-size: 85%; }

/*ヘッダー*/
header {
  position: fixed;
  width: 100%;
  height: 80px;
  transition: 1s;
  background-color: #FEFEFA;
  z-index: 6000; }
  @media (max-width: 560px) {
    header {
      height: 50px; } }
  header .wrap {
    display: flex;
    justify-content: space-between;
    height: 100%;
    align-items: center;
    padding: 0 30px; }
    @media (max-width: 560px) {
      header .wrap {
        padding: 0 3%; } }
  @media (min-width: 561px) {
    header h1 {
      display: flex;
      justify-content: flex-start; }
      header h1 .illust {
        height: 32px;
        margin-right: 13px; }
      header h1 .name {
        height: 32px; } }
  @media (max-width: 560px) {
    header h1 {
      display: flex;
      justify-content: flex-start; }
      header h1 .illust {
        height: 22px;
        margin-right: 8px; }
      header h1 .name {
        height: 22px; } }
  header .nav-pc ul {
    display: flex; }
    header .nav-pc ul li {
      margin-left: 15px; }
      header .nav-pc ul li a {
        position: relative;
        display: inline-block;
        text-decoration: none; }
      header .nav-pc ul li a.u_line::after {
        position: absolute;
        bottom: -4px;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #000;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .3s; }
      header .nav-pc ul li a.u_line:hover::after {
        transform-origin: left top;
        transform: scale(1, 1); }
  @media (max-width: 960px) {
    header .nav-pc {
      display: none; } }

header.hideClass {
  transform: translateY(-80px); }
  @media (max-width: 560px) {
    header.hideClass {
      transform: translateY(-50px); } }

.navToggle {
  display: block;
  position: fixed;
  right: 0px;
  top: 0px;
  width: 65px;
  height: 70px;
  cursor: pointer;
  text-align: center;
  background-color: #FEFEFA;
  z-index: 7000; }
  @media (max-width: 560px) {
    .navToggle {
      width: 55px;
      height: 50px; } }
  .navToggle span {
    display: block;
    position: absolute;
    right: 15px;
    top: 25px;
    width: 35px;
    height: 1px;
    background-color: #000000;
    transition: .35s ease-in-out; }
    @media (max-width: 560px) {
      .navToggle span {
        right: 10px;
        top: 15px; } }
  .navToggle span:nth-child(1) {
    top: 34px; }
    @media (max-width: 560px) {
      .navToggle span:nth-child(1) {
        top: 24px; } }
  .navToggle span:nth-child(2) {
    top: 43px; }
    @media (max-width: 560px) {
      .navToggle span:nth-child(2) {
        top: 33px; } }
  @media (min-width: 961px) {
    .navToggle {
      display: none; } }

.navToggle.active span:nth-child(1) {
  top: 27px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-35deg); }
.navToggle.active span:nth-child(2), .navToggle.active .navToggle.active span:nth-child(3) {
  top: 27px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(35deg); }
.navToggle.active span:nth-child(3) {
  display: none; }

nav.nav-sp {
  position: fixed;
  z-index: 5000;
  top: 0;
  left: 0;
  background: rgba(254, 254, 250, 0.9);
  text-align: center;
  visibility: hidden;
  opacity: 0;
  transition: all 0.6s;
  width: 100vw;
  height: auto;
  min-height: 100vh;
  padding-top: 80px;
  padding-bottom: 50px;
  /*font-size: .75rem;*/ }
  nav.nav-sp ul {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -70%); }

nav.nav-sp ul li {
  padding: 1em; }

nav.nav-sp.active {
  /*transform: translateX(calc(100vw - 64px));*/
  visibility: visible;
  opacity: 1; }

/*〜〜ヘッダー*/
/*フッター*/
footer {
  clear: both;
  margin-top: 146px; }
  footer .illust {
    width: 168px;
    margin: auto; }
  footer .go_top {
    width: 26px;
    height: 23px;
    position: relative;
    margin: 40px auto 70px; }
    footer .go_top .arrow {
      position: absolute;
      top: 0;
      left: 0;
      transition: .5s; }
    footer .go_top:hover .arrow {
      top: -5px; }
    footer .go_top .top {
      position: absolute;
      bottom: 0;
      left: 0; }
  footer .link {
    margin-bottom: 20px; }
    footer .link a:hover {
      opacity: .5; }
  footer .copyright {
    font-size: 10px;
    padding-bottom: 80px; }
    @media (max-width: 560px) {
      footer .copyright {
        padding-bottom: 40px; } }
