@charset "UTF-8";

@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}

/*=======================================*/
/* Tag */
/*=======================================*/

html {
  font-size: 18px;
}

body {
  color: #333;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  /*font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;*/
  /*font-family: 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝','MS PMincho',serif;*/
  /*font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;*/
  font-weight: 200;
  font-style: normal;
  letter-spacing: .1rem;
}

a {
  color: #333;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1rem;
  margin: 0;
}

img {
  width: 100%;
}

object {
  height: 1em;
}

/*=======================================*/
/* Component */
/*=======================================*/

.c-header {
  font-size: 2.5rem;
  text-align: center;
}

.c-header__logo {
  margin-top: 2rem;
}

.c-footer {
  margin-top: 100px;
  padding: 0 15px 30px;
  width: 100%;
}

.c-footer__copyright {
  font-family: "reenie-beanie", "ta-yuka";
  font-size: 1.3rem;
  text-align: center;
}

.c-footer__copyright__number {
  font-size: 1.6rem;
}

.c-container {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 40px;
  max-width: 100%;
}

.c-main {
  display: block;
  width: 800px;
}

.c-loading {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  width: 100vw;
  background: #fff;
  z-index: 255;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  opacity: 1;
  transition: opacity 0.5s;
}

.c-loading.hidden {
  opacity: 0;
  pointer-events: none;
}

.c-loading__animation {
  width: 30px;
  height: 30px;
  border: 3px solid #333;
  border-radius: 50%;
  border-top-color: #39f;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.c-loading__catch {
  font-size: 1.2rem;
  font-family: "reenie-beanie", "ta-yuka";
  color: #333;
}


.c-sidebar {
  display: block;
  width: 330px;
}

.c-sidebar__menu {
  font-family: "reenie-beanie";
  font-size: 1.5rem;
  list-style: none;

}

.c-sidebar__menu__item:not(:last-of-type) {
  margin-bottom: 2rem;
}

.c-sidebar__menu__item__link {
  color: #333;
  text-decoration: none;
}

.c-sidebar__menu__item__link:hover {
  color: #39f;
  font-weight: 500;
  text-decoration: underline;
}


.c-catch-image-area {}

.c-catch-image-area__image {
  width: 100%;
}

.c-flex {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
}

.c-flex__item {
  display: block;
}

.c-flex__item--1of1 {
  width: 100%;
}

.c-flex__item--1of2 {
  width: 40%;
}

.c-flex__item--1of3 {
  width: 30%;
}

.c-info-card {}

.c-info-card__catch-image {
  margin-bottom: 1rem;
}

.c-info-card__title {}

.c-info-card__title__logo {
  font-size: 2rem;
}

.c-info-card__subtitle {
  font-weight: normal;
}

.c-info-card__subtitle__logo {
  font-size: 1.2rem;
}

.c-info-card__description {
  font-size: .8rem;
  margin-top: 1rem;
}

.c-info-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.c-info-list__item {
  padding: 1rem 0;
}

.c-info-list__item:not(:last-of-type) {
  border-bottom: 1px solid #666;
}

.c-works-list {}

.c-works-list__catch-image-area {
  margin-bottom: 1rem;
}

.c-works-list__title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  text-align: center;
}

.c-works-list__items {
  font-size: 2.5rem;
}

.c-works-list__items a {
  text-decoration: none;
}
.c-works-list__items__item {
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid #666;
  border-radius: 5px;
  padding: 1rem 0;
  cursor: pointer;
}

.c-works-list__items__item:hover {
  border: 1px solid #39f;
  color: #39f;
}

.c-works-list__items__item__number {
  font-size: 1rem;
  margin: 0;
}

.c-works-list__items__item__title {
  font-size: 2.5rem;
  margin: 0;
}
.c-works-list__items__item__staffs {
  font-size: .8rem;
  margin: 0;
}

/*=======================================*/
/* Utility */
/*=======================================*/

.u-width--50per {
  width: 50% !important;
}

.u-font--official {
  font-family: "reenie-beanie", "ta-yuka" !important;
}

.u-font--official--japanese-only {
  font-family: "ta-yuka" !important;
}

.u-font--official--non-japanese-only {
  font-family: "reenie-beanie" !important;
}

.u-font--big {
  font-size: 2em;
}

.u-font--bigger {
  font-size: 2.5em;
}

.u-link--button {
  display: inline-block;
  padding: 1rem 2rem;
  border: 1px solid #666;
  border-radius: 5px;
  text-decoration: none;
  color: #333;

  position: relative;
}

.u-link--button:hover {
  border: 1px solid #39f;
  color: #39f;
}

.u-link--button__label {
  display: block;
  font-size: .5em;
  position: absolute;
  top: .2em;
  left: .5em;
}

.u-link--color:hover {
  color: #39f;
}

.u-link--no-underlined {
  text-decoration: none;
}

.u-border-bottom {
  border-bottom: 1px solid #666;
}

.u-border-bottom--dotted {
  border-bottom: 1px dotted #666;
}
