@media print, screen and (min-width: 768px) {
  .only_sp {
    display: none !important; } }

.only_pc {
  display: none; }
  @media print, screen and (min-width: 768px) {
    .only_pc {
      display: block !important; } }

.dropdown-menu li a:hover {
  background-color: #C42424;
  color: #fff; }

#top-link-block.affix-top {
  position: absolute;
  /* allows it to "slide" up into view */
  bottom: -85px;
  /* negative of the offset - height of link element */
  right: 10px;
  /* padding from the left side of the window */ }

#top-link-block.affix {
  position: fixed;
  /* keeps it on the bottom once in view */
  bottom: 18px;
  /* height of link element */
  right: 10px;
  /* padding from the left side of the window */ }

/* IMAGE LINK */
.img_alpha a:hover img {
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha( opacity=50 )"; }

.mb30 {
  margin-bottom: 30px; }

body {
  padding: 3%;
  color: #333; }
  @media print, screen and (min-width: 768px) {
    body {
      padding-top: 12px;
      padding-left: 11px; } }

.new_mark {
  position: absolute;
  top: 0px;
  right: 0px; }

.container {
  padding: 0px;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .container {
      width: 1197px; } }

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto; }

.navibar-sai {
  border: 0;
  border-radius: 0px;
  background-color: #fff;
  margin-bottom: 0; }

.nav-header {
  padding: 0px 20px;
  font-size: 11px;
  color: #999; }

.navbar-header .navbar-brand {
  background: url(../img/logo_sai.png) no-repeat;
  background-size: contain;
  width: 67px;
  height: 54px;
  margin-left: 0px; }
  @media print, screen and (min-width: 768px) {
    .navbar-header .navbar-brand {
      width: 67px;
      height: 54px; } }

#saiweb .modal-dialog {
  width: 800px; }

.navbar-inverse {
  border: none;
  background-color: #fff; }

.navbar-default .navbar-nav > li > a {
  color: #C42424; }

.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:focus, .navbar-inverse .navbar-nav > .open > a:hover {
  color: #C42424;
  background-color: transparent; }

.navbar-inverse .navbar-nav > li > a:focus, .navbar-inverse .navbar-nav > li > a:hover {
  color: #C42424;
  background-color: transparent; }

.inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover {
  background-color: #C42424;
  border-color: #C42424; }

.navbar-toggle {
  background-color: #C42424;
  border-color: #C42424; }

.navbar-inverse .navbar-toggle {
  border-color: #C42424; }

.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
  border-color: transparent; }

.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
  background-color: #eeeeee; }

.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
  color: #C42424; }

.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover {
  color: #C42424;
  background-color: transparent; }

.container-fluid {
  padding-right: 0px; }

#top-link-block a {
  color: #C42424; }

#sai-copy {
  font-size: 12px; }
  @media print, screen and (min-width: 768px) {
    #sai-copy {
      font-size: 13px;
      line-height: 1.5;
      color: #666;
      margin-bottom: 20px; } }

.top_box {
  font-size: 11px; }

.top_box .skyblue {
  background: #acd7e9; }

.top_box .yellow {
  background: #ffe27d; }

.top_box .green {
  background: #b4ffa1; }

.top_box .pink {
  background: #ffcceb; }

.top_box .orange {
  background: #fbb26a; }

.top_box .purple {
  background: #c9b8ff; }

.top_box-01 {
  position: relative;
  overflow: hidden; }
  @media print, screen and (min-width: 768px) {
    .top_box-01 {
      width: 588px;
      height: 323px; } }

.top_box-02 {
  position: relative;
  overflow: hidden; }
  @media print, screen and (min-width: 768px) {
    .top_box-02 {
      width: 288px;
      height: 156px; } }

.top_box-03 {
  position: relative;
  overflow: hidden; }
  @media print, screen and (min-width: 768px) {
    .top_box-03 {
      width: 160px;
      height: 156px; } }

.top_box__cap {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  padding: 0.6em;
  opacity: 0.8; }

.top_box__cap span {
  opacity: 0; }

.toptitle-sai,
.toptitle-sai a {
  font-size: 26px;
  font-weight: normal;
  color: #333;
  margin: 0 0 0.05em 0; }
  @media print, screen and (min-width: 768px) {
    .toptitle-sai,
    .toptitle-sai a {
      font-size: 32px;
      margin: 0 0 2px 0; } }
  .toptitle-sai span,
  .toptitle-sai a span {
    font-size: 14px;
    color: #999; }
    @media print, screen and (min-width: 768px) {
      .toptitle-sai span,
      .toptitle-sai a span {
        font-size: 14px; } }

.saitop-cont {
  margin-bottom: 5.3333333333vw; }
  @media print, screen and (min-width: 768px) {
    .saitop-cont {
      margin-bottom: 40px; } }

.saitop-cont ul {
  margin-bottom: 0px; }

.top__text-link {
  font-size: 11px;
  margin-right: 10px;
  color: #ddd; }

.top__text-link a {
  color: #888; }

.top-info {
  position: relative;
  background-color: #fff;
  margin: 0 0 3%; }
  @media print, screen and (min-width: 768px) {
    .top-info {
      margin: 0;
      width: 100%; } }
  .top-info-block {
    background-image: url("../img/info-bg.png");
    padding: 3%; }
    @media print, screen and (min-width: 768px) {
      .top-info-block {
        width: 1186px;
        display: flex;
        padding: 32px 30px;
        justify-content: space-between;
        gap: 20px; } }
  .top-info-title {
    position: absolute;
    top: -5.3333333333vw;
    left: -7%;
    z-index: 5;
    background-color: #C42424;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    padding: 0.25em 0.8em; }
    @media print, screen and (min-width: 768px) {
      .top-info-title {
        top: -32px;
        left: 32px;
        padding: 0.4em 0;
        width: 180px;
        font-size: 23px; } }
    .top-info-title span {
      font-size: 12px;
      font-weight: normal;
      margin-left: 0.5em; }
      @media print, screen and (min-width: 768px) {
        .top-info-title span {
          display: block;
          margin: 0; } }
  .top-info-list {
    padding: 30px 3% 0; }
    @media print, screen and (min-width: 768px) {
      .top-info-list {
        padding: 32px 32px 0;
        height: 330px;
        overflow-y: scroll; } }
    .top-info-list .info-detail {
      display: flex;
      gap: 2vw;
      margin-bottom: 2.6666666667vw; }
      @media print, screen and (min-width: 768px) {
        .top-info-list .info-detail {
          gap: 15px;
          margin: 20px 0; } }
      .top-info-list .info-detail-img {
        flex: 0 0 32vw;
        background-image: url("../img/info-img-bg.png");
        background-size: cover;
        background-position: center;
        height: 18vw;
        overflow: hidden; }
        @media print, screen and (min-width: 768px) {
          .top-info-list .info-detail-img {
            flex: 0 0 180px;
            height: 101px; } }
      .top-info-list .info-detail-text {
        flex: 1 1 auto; }
      .top-info-list .info-detail-cate {
        display: inline-block;
        padding: 0.2em 1.5em;
        background-color: #74BEC1;
        border-radius: 0.8em;
        color: #fff;
        text-decoration: none !important;
        font-size: 11px; }
        .top-info-list .info-detail-cate a {
          color: #fff; }
        .top-info-list .info-detail-cate.works {
          background-color: #FFA64D; }
        .top-info-list .info-detail-cate.sales {
          background-color: #AC93FF; }
      .top-info-list .info-detail-date {
        text-decoration: none !important;
        font-size: 11px;
        margin: 0.25em 0; }
        @media print, screen and (min-width: 768px) {
          .top-info-list .info-detail-date {
            font-size: 14px; } }
      .top-info-list .info-detail-title {
        text-decoration: underline; }
        @media print, screen and (min-width: 768px) {
          .top-info-list .info-detail-title {
            font-size: 16px; } }
  @media print, screen and (min-width: 768px) {
    .top-info-bnr {
      flex: 0 0 270px;
      background-color: #fff;
      width: 270px; } }
  .top-info-bnr ul.bunner {
    display: flex;
    gap: 3%;
    margin: 0; }
    @media print, screen and (min-width: 768px) {
      .top-info-bnr ul.bunner {
        display: block;
        gap: 0; } }
    @media print, screen and (min-width: 768px) {
      .top-info-bnr ul.bunner li {
        margin: 20px; } }
  .top-info-more {
    padding: 0 3% 3%;
    text-align: right; }
    @media print, screen and (min-width: 768px) {
      .top-info-more {
        position: absolute;
        top: 0px;
        right: 0px;
        padding: 1em;
        background-color: rgba(255, 255, 255, 0.8);
        width: 100%; } }
    @media print, screen and (min-width: 768px) {
      .top-info-more a {
        font-size: 13px;
        color: #333; } }
.top-sns-link {
  display: flex;
  gap: 15px;
  margin-top: 5.3333333333vw; }
  @media print, screen and (min-width: 768px) {
    .top-sns-link {
      margin: 0 20px;
      gap: 15px; } }
  .top-sns-link li {
    flex: 0 0 32px; }

h1.subtitle {
  font-weight: normal;
  color: #333; }

h1.subtitle small {
  font-size: 14px;
  margin-left: 0.6em;
  color: #ccc; }
  @media print, screen and (min-width: 768px) {
    h1.subtitle small {
      font-size: 16px; } }

.lead {
  font-size: 14px;
  line-height: 1.5em; }

.cont-box {
  margin-bottom: 40px; }
  @media print, screen and (min-width: 768px) {
    .cont-box {
      margin-bottom: 80px; } }
  .cont-box .h4 {
    background-color: #f9f9f9;
    color: #333;
    padding: 0.5em 0.3em;
    border-left: solid 5px #C42424;
    margin-bottom: 1em; }

.top-conte-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media print, screen and (min-width: 768px) {
    .top-conte-block {
      position: relative;
      gap: 11px;
      padding-left: 599px; } }
  .top-conte-block a {
    flex: 1 1 50%; }
    @media print, screen and (min-width: 768px) {
      .top-conte-block a {
        flex: 0 0 288px; } }
.top-conte-main {
  flex: 1 0 100% !important; }
  @media print, screen and (min-width: 768px) {
    .top-conte-main {
      position: absolute;
      top: 0;
      left: 0; } }
  .top-conte-main img {
    width: 100%; }
.top-illust-block {
  display: flex;
  flex-wrap: wrap; }
  @media print, screen and (min-width: 768px) {
    .top-illust-block {
      gap: 0 11px; } }
  .top-illust-block a {
    flex: 0 0 25%; }
    @media print, screen and (min-width: 768px) {
      .top-illust-block a {
        flex: 0 0 160px; } }
    .top-illust-block a img {
      width: 100%; }

#footer {
  color: #999;
  font-size: 10px;
  margin-top: 40px; }

/*  A B O U T  */
.about-lead {
  position: relative;
  line-height: 2; }
  .about-lead img {
    position: absolute;
    bottom: -5em;
    right: 2em;
    width: 460px; }
    @media screen and (max-width: 767px) {
      .about-lead img {
        display: block;
        position: static;
        width: 60vw;
        margin: 2em auto 0; } }
.about-sign {
  position: relative;
  margin-top: 5em; }
  @media screen and (max-width: 767px) {
    .about-sign {
      margin-top: 1em; } }
  .about-sign::after {
    position: absolute;
    top: -0.8em;
    left: 9em;
    display: block;
    content: '';
    background-image: url("../aboutus/img/about-sign.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 45px;
    height: 45px; }

.company-sai {
  width: auto;
  margin-bottom: 0; }

.company-sai th {
  background: #333;
  color: #fff; }

.company-sai td {
  vertical-align: middle; }

.company-sai td.subhead {
  background: #333; }

/*  C O N T E  */
h2.conte-title01 {
  padding-left: 0.4em; }
  h2.conte-title01 span {
    font-size: 10px;
    font-weight: normal;
    margin-bottom: 0.7em;
    display: inline-block;
    border: solid 1px #999;
    color: #666;
    border-radius: 1em;
    padding: 0.5em 1em; }

.conte-price {
  margin-bottom: 0; }

.conte-price th {
  background: #a0d8e1;
  color: #fff; }

.conte-price td.subhead {
  background: #CEF0F5; }

.text-bold {
  color: #FF8A2F;
  font-weight: bold; }

.text-small {
  font-size: 12px;
  margin: 5px 0px; }

.conte-menu .btn {
  border: none; }
.conte-menu .list-inline {
  margin-bottom: 40px; }
  .conte-menu .list-inline li {
    margin: 2px 0px;
    padding: 0px; }
    .conte-menu .list-inline li a:hover {
      color: #fff;
      opacity: 0.5; }

.btn-color {
  background-image: linear-gradient(135deg, #3dc8c2, #ced800 30%, #ffae44 74%, #ea7200);
  color: #fff; }

.btn-mono {
  background-color: #666;
  color: #fff; }

.btn-illust {
  background-color: #1645A1;
  color: #fff; }

.btn-artist {
  background-color: #4c9a38;
  color: #fff; }

.btn-prise {
  background-color: #C42424;
  color: #fff; }

.conte-subtitle {
  margin-bottom: 10px; }

.conte-subtitle p.copy {
  margin-top: 10px;
  color: #999; }

.image-list {
  display: flex;
  gap: 10px 5px;
  flex-wrap: wrap;
  justify-content: flex-start; }
  @media print, screen and (min-width: 768px) {
    .image-list {
      gap: 0px 11px; } }
  .image-list li {
    flex: 0 1 49%; }
    @media print, screen and (min-width: 768px) {
      .image-list li {
        flex: 0 1 288px;
        height: 195px; } }
    @media screen and (max-width: 767px) {
      .image-list li.layout-huck-sp {
        flex: 1 0 100%; }
        .image-list li.layout-huck-sp img {
          width: 60vw; } }
    @media print, screen and (min-width: 768px) {
      .image-list li.layout-huck {
        margin-left: 299px; } }
    .image-list li a {
      display: block; }
    .image-list li span {
      display: block;
      margin-top: 0.25em; }
    .image-list li img {
      box-shadow: 0px 1px 4px 1px rgba(95, 95, 95, 0.3); }
      .image-list li img:hover {
        opacity: 0.6; }

/* I L L U S T */
.illust-menu {
  margin-bottom: 40px; }
  .illust-menu li {
    margin: 0 0 0.5em 0; }
    .illust-menu li a {
      color: #C42424; }
.illust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px; }
  @media print, screen and (min-width: 768px) {
    .illust-list {
      gap: 11px; } }
  .illust-list li {
    flex: 1 1 49%; }
    @media print, screen and (min-width: 768px) {
      .illust-list li {
        flex: 0 1 189px; } }
    .illust-list li img {
      border: solid 1px #eee; }

/* W O R K S */
.works-list {
  margin-left: 0px;
  margin-right: 0px; }

.works-list li {
  padding-left: 0px;
  padding-right: 11px;
  padding-bottom: 16px; }

.works-list img {
  border: solid 1px #eee;
  margin-bottom: 2px;
  padding: 11px; }

#info-page article .info-detail {
  display: flex;
  gap: 2vw;
  margin-bottom: 2.6666666667vw; }
  @media print, screen and (min-width: 768px) {
    #info-page article .info-detail {
      gap: 15px;
      margin: 20px 0; } }
  #info-page article .info-detail-img {
    flex: 0 0 32vw;
    background-image: url("../img/info-img-bg.png");
    background-size: cover;
    background-position: center;
    height: 18vw;
    overflow: hidden; }
    @media print, screen and (min-width: 768px) {
      #info-page article .info-detail-img {
        flex: 0 0 180px;
        height: 101px; } }
    #info-page article .info-detail-img a {
      display: block;
      height: 100%;
      width: 100%; }
      #info-page article .info-detail-img a figure {
        margin: 0; }
  #info-page article .info-detail-text {
    flex: 1 1 auto; }
  #info-page article .info-detail-cate {
    display: inline-block;
    padding: 0.2em 1.5em;
    background-color: #74BEC1;
    border-radius: 0.8em;
    color: #fff;
    text-decoration: none !important;
    font-size: 11px; }
    #info-page article .info-detail-cate a {
      color: #fff; }
    #info-page article .info-detail-cate.works {
      background-color: #FFA64D; }
    #info-page article .info-detail-cate.sales {
      background-color: #AC93FF; }
  #info-page article .info-detail-date {
    text-decoration: none !important;
    font-size: 11px;
    margin: 0.25em 0; }
    @media print, screen and (min-width: 768px) {
      #info-page article .info-detail-date {
        font-size: 14px; } }
  #info-page article .info-detail-title {
    text-decoration: underline; }
    @media print, screen and (min-width: 768px) {
      #info-page article .info-detail-title {
        font-size: 16px; } }

.entry-content .info-detail {
  margin-bottom: 2.6666666667vw; }
  @media print, screen and (min-width: 768px) {
    .entry-content .info-detail {
      margin: 20px 0; } }
  .entry-content .info-detail h1.entry-title {
    font-size: 5.3333333333vw; }
    @media print, screen and (min-width: 768px) {
      .entry-content .info-detail h1.entry-title {
        font-size: 2.4rem; } }
  .entry-content .info-detail-cate {
    display: inline-block;
    padding: 0.2em 1.5em;
    background-color: #74BEC1;
    border-radius: 0.8em;
    color: #fff;
    text-decoration: none !important;
    font-size: 11px; }
    .entry-content .info-detail-cate a {
      color: #fff; }
    .entry-content .info-detail-cate.works {
      background-color: #FFA64D; }
    .entry-content .info-detail-cate.sales {
      background-color: #AC93FF; }
  .entry-content .info-detail-date {
    text-decoration: none !important;
    font-size: 11px;
    margin: 0.25em 0; }
    @media print, screen and (min-width: 768px) {
      .entry-content .info-detail-date {
        font-size: 14px; } }
  .entry-content .info-detail-title {
    text-decoration: underline; }
    @media print, screen and (min-width: 768px) {
      .entry-content .info-detail-title {
        font-size: 16px; } }

.entry-title-tag {
  background-color: #c42424;
  display: inline-block;
  color: #fff;
  padding: 0.25em;
  font-weight: normal;
  font-size: 4.8vw; }
  @media print, screen and (min-width: 768px) {
    .entry-title-tag {
      font-size: 1.8rem; } }

.tag-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-top: 5.3333333333vw; }
  @media print, screen and (min-width: 768px) {
    .tag-links {
      margin-top: 20px; } }
  .tag-links a {
    font-size: 1.1rem;
    border: solid 1px #c42424;
    color: #c42424;
    padding: 0.5em 1em;
    border-radius: 1em; }

.nav-links {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-top: 8vw; }
  @media print, screen and (min-width: 768px) {
    .nav-links {
      margin-top: 80px; } }
  .nav-links .nav-previous a {
    background-color: #c42424;
    color: #fff;
    padding: 0.6em 1em;
    border-radius: 0.5em; }
  .nav-links .nav-next a {
    background-color: #c42424;
    color: #fff;
    padding: 0.6em 1em;
    border-radius: 0.5em; }

/* C O N T A C T */
.contact-sai {
  max-width: 800px;
  margin: 0 auto 40px; }

.contact-sai th {
  background-color: #f9f9f9; }
  @media print, screen and (min-width: 768px) {
    .contact-sai th {
      width: 30%; } }

.btn-contact {
  background-color: #C42424;
  border-color: #C42424; }
  .btn-contact:hover {
    background-color: #C42424;
    border-color: #C42424; }

.text-required {
  display: inline-block;
  background-color: #C42424;
  color: #fff;
  padding: 2px 3px;
  font-size: 12px;
  margin-left: 0.5em; }

.contact-footer {
  display: flex;
  justify-content: center;
  gap: 11px; }

.contact-box {
  border: 6px solid #C42424;
  padding: 20px;
  background-image: url("../img/contact-bg.png");
  background-repeat: no-repeat;
  background-position: 95% bottom;
  background-size: contain; }
  @media print, screen and (min-width: 768px) {
    .contact-box {
      text-align: center;
      padding: 40px;
      width: 80%;
      margin: 0 auto 40px; } }
  .contact-box p {
    font-size: 5.3333333333vw;
    font-weight: bold;
    margin: 0 0 0.5em; }
    @media print, screen and (min-width: 768px) {
      .contact-box p {
        font-size: 21px;
        margin: 0 0 2em; } }
  .contact-box .btn-contact {
    background-color: #C42424;
    color: #fff;
    margin-right: auto; }
    .contact-box .btn-contact:hover {
      background-color: #C42424;
      color: #fff; }

.privacypolicy {
  padding: 1em 1.5em;
  border: solid 1px #ddd;
  height: 30vh;
  overflow: scroll; }
  .privacypolicy dl dt {
    margin-top: 1em; }
  .privacypolicy dl ul {
    padding: 0 0 0 1.5em; }

.tel_big {
  font-size: 21px;
  font-weight: bold; }

#calloutElm {
  position: fixed;
  bottom: 60px;
  right: 0px;
  max-width: 22vw;
  z-index: 4; }
  @media print, screen and (min-width: 768px) {
    #calloutElm {
      bottom: 60px;
      right: 0px;
      max-width: 160px; } }

.closebtn {
  position: absolute;
  top: -21.3333333333vw;
  right: 0vw;
  font-size: 21.3333333333vw;
  color: #666;
  font-weight: 300;
  cursor: pointer;
  z-index: 1;
  padding: 0;
  line-height: 1; }
  @media print, screen and (min-width: 768px) {
    .closebtn {
      font-size: 7.2rem;
      top: -8rem;
      right: 5px; } }
