/*
Theme Name: Individual 2025 update theme
Theme URI: 
Author: 
Author URI: 
Description: 
Version: 1.0
*/

/*-----------------------------------------------------*/
/* 全端末共通設定 */
/*-----------------------------------------------------*/
html,body {
  height: 100%;
}
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
  font-size: 16px;  
  line-height: 2;   
  background-color: #fff;
  -webkit-text-size-adjust: none;
  margin: 0;
  padding: 0;
  transition: .3s cubic-bezier(.4,.4,0,1);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x:visible !important;
}
main{
  /*background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);*/
  position: relative;
}

h1, h2{
  /*font-family: 'Kanit', sans-serif;*/
  font-family: 'Roboto Condensed', sans-serif;
}

/*#wpadminbar{
  display: none;
}*/

header li, footer li{
  list-style-type: none;
}
footer ul {
  padding: 0px;
}
header a, footer a{
  text-decoration: none;
  color: #000;
}

main a{
  text-decoration: none;
  color: #0f7ccf;
}

main:has(.thanks){
}

footer {
  background: #2F5E82;
  color: #fff;
  padding-right: 40px;
  padding-left: 40px;
  margin-top: 30px;
}
footer a {
  color: #fff;
}

.flex{
  display: flex;
}

input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #ccc;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(71,110,140,0.8);
  content: '';
}
.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
  display: none;
}

/* 文字の大きさ */
.font8{
  font-size: 8px;
}
.font10{
  font-size: 10px;
}
.font12{
  font-size: 12px;
}

/* 文字色 */
.blue{
  color: #2F5E82;
}
.purple{
  color: #653784;
}

/* 背景色 */
.bg-purple{
  background: #653784 !important;
}
.bg-blue{
  background: rgba(71,110,140, 0.2);
}

/* 文字の太さ */
.bold {
    font-weight: bold;
}

@keyframes opa1 {
0% {opacity: 0;}
100% {opacity: 1;}
}

/* ドット背景 */
.bg_dot {
  background-color: #fff;
  background-image: radial-gradient(#888 4%, transparent 9%);
  background-size: 20px 20px;
}

/* アニメーション */
/*===========
inview
===========*/
/* 下から */
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/* 左から */
.fadeIn_left {
  opacity: 0;
  transform: translate(-50%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/* 右から */
.fadeIn_right {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/* ぽよよん */
@keyframes poyoyon {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}
.poyoyon:hover{
  animation: poyoyon 1s ease-in-out forwards;
}

/*背景 四角*/
.circles{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.circles li{
  position: absolute;
  display: block;
  list-style: none;
  width: 20px;
  height: 20px;
  background: #ddd;/*rgba(255, 255, 255, 0.2);*/
  animation: animate 25s linear infinite;
  bottom: -150px; 
}
.circles li:nth-child(1){
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}
.circles li:nth-child(2){
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}
.circles li:nth-child(3){
    left: 70%;
    width: 20px;
    height: 20px;
    animation-delay: 4s;
}
.circles li:nth-child(4){
    left: 40%;
    width: 60px;
    height: 60px;
    animation-delay: 0s;
    animation-duration: 18s;
}
.circles li:nth-child(5){
    left: 65%;
    width: 20px;
    height: 20px;
    animation-delay: 0s;
}
.circles li:nth-child(6){
    left: 75%;
    width: 110px;
    height: 110px;
    animation-delay: 3s;
}
.circles li:nth-child(7){
    left: 35%;
    width: 150px;
    height: 150px;
    animation-delay: 7s;
}
.circles li:nth-child(8){
    left: 50%;
    width: 25px;
    height: 25px;
    animation-delay: 15s;
    animation-duration: 45s;
}
.circles li:nth-child(9){
    left: 20%;
    width: 15px;
    height: 15px;
    animation-delay: 2s;
    animation-duration: 35s;
}
.circles li:nth-child(10){
    left: 85%;
    width: 150px;
    height: 150px;
    animation-delay: 0s;
    animation-duration: 11s;
}
@keyframes animate {
    0%{
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }
    100%{
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 10%;
    }
}

/*===============
TOP会社情報テキスト
===============*/
#company .text span{
  opacity: 0;
  animation: letter-glow 0.7s 0s ease both;
  }
  .is-act .text span{
  opacity: 1;
  }
  .text span:nth-child(1) { /* 『 */
  animation-delay: 0.5s;
  }
  .text span:nth-child(2) { /* 技術で */
  animation-delay: 0.7s;
  }
  .text span:nth-child(3) { /* 人に */
  animation-delay: 0.9s;
  }
  .text strong{ /* 喜びと感動 */
  opacity: 0;
  filter: blur(10px);
  animation: letter-glow 0.7s 0s ease both, blur 2s 0s ease both;
  font-size: 160%;
  animation-delay: 1.5s;
  }
  .text span:nth-child(4) { /* を */
  animation-delay: 2.1s;
  }
  .text span:nth-child(5) { /* 与える */
  animation-delay: 2.3s;
  }
  is-act .text span{
  opacity: 0;
  animation: letter-glow 0.7s 0s ease both;
  }
  .is-act .text span{
  opacity: 1;
  }
  .is-act .text span:nth-child(1) {
  animation-delay: 0.5s;
  }
  .is-act .text span:nth-child(2) {
    animation-delay: 0.7s;
  }
  .is-act .text span:nth-child(3) {
    animation-delay: 0.9s;
  }
  .is-act .text strong{
    opacity: 0;
    filter: blur(10px);
    animation: letter-glow 0.7s 0s ease both, letter-blur 2s 0s ease both;
    font-size: 200%;
    animation-delay: 1.5s;
  }
  .is-act .text span:nth-child(4) {
    animation-delay: 2.1s;
  }
  .is-act .text span:nth-child(5) {
    animation-delay: 2.3s;
  }
  @keyframes letter-glow{
  0%   {
    opacity: 0;
    text-shadow: 0px 0px 1px rgba(255,255,255,0.1);
  }
  66%  {
    opacity: 1;
    text-shadow: 0px 0px 20px rgba(255,255,255,0.9);
  }
  77%   { opacity: 1;  }
  100% {
    opacity:0.7;
    text-shadow: 0px 0px 20px rgba(255,255,255,0.0);
  }
  }
  @keyframes blur {
  0% {
    opacity: 0;
    filter: blur(10px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}
/*====================
音楽事業 画像表示切り替え
====================*/
.music-img-box {
  height: 360px;
  position: relative;
}
.music-img {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  background-size: cover;
  background-position: center center; 
  animation: image-switch-animation 60s infinite;
}
.src1 {
  background-image: url(img/music-img-1.jpg);
}
.src2 {
  background-image: url(img/music-img-2.jpg);
}
.src3 {
  background-image: url(img/music-img-3.avif);
  background-position: center top;
}
.src4 {
  background-image: url(img/music-img-4.avif);
}
.src5 {
  background-image: url(img/music-img-5.avif);
  background-position: center;
}
.src6 {
  background-image: url(img/music-img-6.avif);
}

/* 遅らせる秒数 */
.music-img:nth-of-type(1) {
  animation-delay: 0s;
}
.music-img:nth-of-type(2) {
  animation-delay: 10s;
}
.music-img:nth-of-type(3) {
  animation-delay: 20s;
}
.music-img:nth-of-type(4) {
  animation-delay: 30s;
}
.music-img:nth-of-type(5) {
  animation-delay: 40s;
}
.music-img:nth-of-type(6) {
  animation-delay: 50s;
}
/* フェードインアウト */
@keyframes image-switch-animation {
  0%{ opacity: 0;}
  5%{ opacity: 1;}
  25%{ opacity: 1;}
  30%{ opacity: 0;}
  100%{ opacity: 0;}
}

/*====================
ボタン
====================*/
/* 共通設定 */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}
.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

/* フラットボタン */
a.btn-flat {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #313131;
  margin-top: 40px;
  margin-bottom: 20px;
}
a.btn-flat span {
  position: relative;
}
a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-80%) translateY(-25px);
  transform: translateX(-80%) translateY(-25px);
  border-radius: 50%;
  background: #2F5E82;
}
a.btn-flat:hover:before {
  width: 400px;
  height: 400px;
  -webkit-transform: translateX(-1%) translateY(-175px);
  transform: translateX(-1%) translateY(-175px);
}

/* TOPへ戻るボタン */
.scroll-top {
    position: fixed;
    bottom: 30px;
    right: 20px;
    width: 60px;
    height: 60px;
    background: rgba(49,49,49,0.8);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
  a {
    text-decoration: none;
    color: #fff;
  }
  span{
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(25%) rotate(-45deg);
  }
}

/* シンプルボタン 背景白から黒 */
a.view-more {
  display: inline-flex;
  justify-content: center;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  margin: 20px auto;
  margin-top: 40px;
  padding: 1.6rem 4rem;
  border: 1px solid #313131;
  color: #313131;
  transition: 0.5s;
}
a.view-more:hover {
  color: #fff;
  background: #313131;
}
.view-more span {
    margin: 0px 20px;
}

/* お問い合わせボタン */
.contact-btn{
  display: inline-flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  vertical-align: middle;
  text-decoration: none;
  width: 100%;
  height: 80px;
  margin: 20px auto;
  padding: 1rem;
  border: 1px solid #313131;
  border-radius: 10px;
  color: #2F5E82;
  font-weight: bold;
  background: #fff;
  transition: 0.5s;
}
.contact-btn:hover{
  color: #fff;
  background: #F3F2F3;
  border: 1px solid #313131;
}

/* 改お問い合わせボタン */
a.btn--whiteblue {
  color: #313131;
  background-color: #fff;
  margin-bottom: 10px;
}
a.btn--whiteblue:hover {
  color: #fff;
  background: #313131;/*#8fb8d6;*/
}
a.btn--whiteblue.btn--cubic {
  border-bottom: 5px solid #7d8a93;
}
a.btn--whiteblue.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #000;
}
a.btn--whiteblue.btn--cubic:hover i.fa{
  color: #fff;
}
a.btn-c {
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
}
a.btn-c i.fa {
  margin-right: 1rem;
  color: #313131;
}

/* シェアボタン */
.share-btn-box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  width: 50%;
  margin: 0px auto;
  margin-top: 40px;
}
.share-btn-box a {
  width: 20%;
  margin: 0 1%;
  border-radius: 5px;
  padding: 5px;
  transition: .2s;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-family: sans-serif;
}
.share-btn-box .icon_1 {
  background: #1DA1F2;
}
.share-btn-box .icon_2 {
  background: #1877F2;
}
.share-btn-box .icon_3 {
  background: #00A4DE;
}
.share-btn-box .icon_4 {
  background: #00B900;
}
.share-btn-box .icon_5 {
  background: #EF4056;
}
.share-btn-box a:hover {
  opacity: .9;
}

/* サービス ボタン */
.service-post-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  margin: 0 auto;
  padding: 0.9em 2em;
  border: none;
  border-radius: 5px;
  background-color: #323232;
  color: #fff;
  font-weight: 600;
  font-size: 12px;
  margin-top: 10px;
}
.service-post-btn:hover {
  background-color: #323232;
}

/* リンクボタン */
.link-btn{
  margin: 20px auto;
  width: 40%;
  border-radius: 12px;
  background-color: #323232;
  color: #fff;
  padding: 10px 20px;
  text-align: center;
  color: #fff;
}
.link-btn:hover{
  background-color: #e5c046;
}
.link-btn i{
  margin-left: 8px;
}

/* 電話をかけるボタン */
#tel-btn{
  margin: 20px auto;
  width: 40%;
  border-radius: 12px;
  background-color: #323232;
  padding: 10px 20px;
  text-align: center;
}
#tel-btn .tel{
  color: #fff;
}
#tel-btn .tel i{
  margin-right: 8px;
}
#tel-btn .tel p{
  margin: 0px;
}

/* 送信ボタン */
#entry-btn{
  margin: 20px auto;
  width: 40%;
  border-radius: 4px;
  background-color: #313131;
  border: none;
  color: #fff;
  padding: 15px 20px;
}
#entry-btn:hover{
  background-color: #2F5E82;
}
#entry-btn .entry{
  color: #fff;
}
#entry-btn .entry i{
  margin-right: 8px;
}

/* スクロールバー */
::-webkit-scrollbar-track {
  background-color: rgba(120, 170, 210,0.3);
  border-radius: 100px;
}
::-webkit-scrollbar-thumb {
  background: #78aad2;
  border-radius: 100px;
  width: 130px;
}

/* Google Map 色 */
.googlemap-bw iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

/* 固定ページ見出し */
#article h2{
  background: #323232;
  padding: .5em .7em;
  color: #FFF;
}
#article h3:not(.section-title){
  border-left: 3px solid #323232;
  padding: .5em .7em;
  background: rgba(50,50,50,.07);
  color: #323232;
}
#article h4:not(.ewd-ufaq-faq-title-text h4){
  position: relative;
  color: #323232;
  padding-left: 1.3em;
  line-height: .7em;
}
#article h4:not(.ewd-ufaq-faq-title-text h4):before {
  font-family: "Font Awesome 5 Free";
  content: "\f058";
  position: absolute;
  font-size: 1em;
  left: 0;
  top: 0;
  font-weight: 500;
}

/* リスト */
#article ul:not(.toc_list, .toc_list ul){
  list-style-type: disc;
  padding: 1em 1em 1em 2.5em;
  border: 2px solid #2589d0;
}
#article li:not(.toc_list li ul li){
  padding: .3em .3em .3em 0;
}
#article li:not(.toc_list li ul li)::marker {
  color: #2589d0;
  font-size: 1.1em;
}

/* 目次 */
#toc_container p.toc_title+ul.toc_list>li {
 margin-bottom: 0.1em;
 padding-bottom: 0.4em;
}
#toc_container p.toc_title+ul.toc_list {
  margin-top: 1em;
  margin-right: 0.4em;
}
#toc_container li {
  padding-left: 1em !important;
  line-height: 1.8em;
}
#toc_container ul ul {
  margin-bottom: 10px;
}
.toc_number {
  margin-left: -0.5em;
  margin-right: 0.5em;
  /*font-family: 'Dynalight', cursive;*/
}
#toc_container p.toc_title {
  text-align: center;
  font-weight: 700;
  margin: 0;
  padding: 0;
  letter-spacing: 0.05em;
}
#toc_container ul>li>ul>li {
  font-size: 94% !important;/*小見出しの文字サイズ*/
}
#toc_container p.toc_title {
  text-align: center;
  font-weight: 700;
  margin: 0;
  padding: 0;
  color: ;
  margin: 0 25% auto;
  position: relative;
}
#toc_container {
  background: rgba(50,50,50,.07);
  padding: 10px;
  margin-bottom: 1em;
  width: auto;
  display: table;
  border: dashed 1px;
  border-radius: 9px;
  margin-top: 30px;
}

/* パンくず */
.breadcrumbs {
  color: #555555;
  font-size: 12px;
  border-bottom: 1px solid #ddd;
  padding: 6px 0px;
  margin-left: 20px;
}

/* Font Awasome */
.breadcrumbs .fa:before {
  margin: 0px 3px;
  color: #555555;
}

/* 全般設定 */
/*-----------------------------------------------------*/
/* pc用 */
/*-----------------------------------------------------*/
@media screen and (min-width: 940px){
  .phone{
    display: none;
  }

  /* フォント設定 */
  p, li{
    font-size: 16px;
  }
  h1{
    font-size: 32px;
    color: #2F5E82;
  }
  h2{
    font-size: 28px;
    color: #2F5E82;
  }
  h3{
    font-size: 24px;
  }
  h4{
    font-size: 20px;
  }

  /* セクションタイトル */
  .section-title{
    text-align: center;
    background-image: linear-gradient(90deg,rgba(0 0 0/0) 0%,rgba(0 0 0/0) 47%,#BFBFBF 47%,#BFBFBF 53%,rgba(0 0 0/0) 53%,rgba(0 0 0/0) 100%);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-top: 40px;
    margin-bottom: 40px;
  }
  .section-title h2 {
    color: #2F5E82;
    font-size: 32px;
    letter-spacing: 0.2em;
    margin: 0px;
  }
  .section-title p {
    margin: 0px;
  }

  /*---------------------- ヘッダー ---------------------------*/
  #header-wrapper{
    display: flex;
    width: 100%;
    height: 80px;
    align-items: center;
  }
  /* 会社ロゴ */
  #header-logo {
    padding-top:8px;
    width: calc(30% - 40px);
    margin-left: 20px;
  }
  #header-logo img {
    width: auto;
    height: 72px;
  }
  /* ナビゲーションメニュー */
  #header-nav{
    align-items: center;
    width: calc(70% - 40px);
    margin: 20px auto;
    display: flex;
  }
  #header-nav .menu{
    display: flex;
    justify-content: flex-end;
    width: 100%;
    align-items: center;
  }
  .menu > .menu-item {
    display: block;
    position: relative;
    text-align: center;
    margin-left: 20px;
  }
  .menu-item {
    list-style-type: none;
  }
  .menu > .menu-item a{
    display: block;
    padding: 15px;
  }
  /* hover時 サブメニュー表示 */
  .menu-item:hover .sub-menu {
    display: block;
  }
  .sub-menu {
    display: none;
    position: absolute;
    left: -50%;
    width: 200px;
    background: white;
    color: black;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
    padding: 0;
    z-index: 2;
  }
  .sub-menu > .menu-item:not(:last-child) {
    border-bottom: 1px solid #eee;
  }
  .sub-menu > .menu-item a {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: .5em 0;
  }
  /* サブメニューhover時 */
  .sub-menu > .menu-item a:hover {
    background: #313131;
    color: white;
  }

  .contact-link {
    background: #2F5E82;
    border-radius: 15px;
    color: #fff;
  }
  .contact-link a {
    color: #fff;
    align-items: center;
  }
  .contact-link i {
    margin-right: 8px;
  }
  .contact-link:hover {
    background: #313131;
  }

  div#n2-ss-2 .n2-ss-slide-limiter {
    z-index: 1;
  }
  
  /*---------------------- TOPページ ---------------------------*/
  #top{
    margin: 20px auto;
  }

  /* TOPページ会社紹介 */
  #company {
    margin: 40px auto;
    text-align: center;
    width: 90%;
  }
  #company .text {
    color: #2F5E82;
    font-size: 38px;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 2px;
    margin: 0px;
  }
  #company p {
    font-size: 20px;
    margin: 0px;
  }

  /* 投稿がない時 */
  .no-post {
    margin: 16px auto;
  }

  /* ニュース */
  #news{
    width: 90%;
    margin: 40px auto;
    padding: 20px;
    border: 1px solid #000;
    text-align: center;
    position: relative;
  }
  #news::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: -8px;
    right: -8px;
    left: 6px;
    border: 1px solid #000;
    z-index: -1;
  }
  #news-title{
    text-align: center;
    background-image: linear-gradient(90deg,rgba(0 0 0/0) 0%,rgba(0 0 0/0) 47%,#e5c046 47%,#e5c046 53%,rgba(0 0 0/0) 53%,rgba(0 0 0/0) 100%);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: center bottom;
  }
  #news p{
    padding:8px 16px;
    text-align: left;
  }
  #news .news-detail-date{
    padding:8px 16px;
    text-align: left;
  }

  .news-contents{
    display: flex;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    align-items: center;
    width: 90%;
    margin: 0px auto;
  }
  .news-contents a {
    color: #000;
  }
  .news-contents p{
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .news-date-cat{
    display: flex;
  }
  div.news-date {
    width: 140px;
    text-align: left;
    line-height: 48px;
  }
  .news-date-cat .news-cat{
    line-height: 48px;
    font-size: 14px;
    margin-right: 20px;
    background: #2F5E82;
    color: #fff;
    padding: 0px 8px;
  }

  /* 事業内容 */
  #service{
    width: 90%;
    margin: 40px auto;
    text-align: center;
    .about-service{
      margin-bottom: 40px;
    }
    #service-contents{
      width: 100%;
      display: flex;
      justify-content: space-between;
    }
    .service-content{
      width: calc(33.3333% - 20px);
    }
    .service-text {
      /*box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4); */
      border-radius: 15px;
      padding: 20px 0px;
      /* background: -webkit-linear-gradient(top left, #8a9caa, #1f3749); */
      background: rgba(49,49,49,0.9);
    }
    .service-text h3{
      color: #fff;/*color: #2F5E82;*/
      font-size: 24px;
      font-weight: normal;
      margin: 0px;
      margin-bottom: 10px;
      letter-spacing: 0.1em;
    }
    .service-text p{
      margin: 0px;
      color: #fff;
    }
    .service-logo {
      width: 60%;
      margin-right: 20px;
      margin: 0px auto;
    }
    .service-logo img {
      width: 100%;
      align-items: center;
    }
    .service-explanation h3 {
      font-weight: bold;
      letter-spacing: 0.2em;
      font-size: 22px;
      margin: 0px;
    }
    .service-explanation ul {
      list-style: none;
      padding: 0px;
    }
    .service-explanation li {
      font-size: 12px;
      background: #fff;
      padding: 4px 8px;
      margin-bottom: 4px;
      border-radius: 4px;
      display: inline-block;
    }
  }
  
  /* 特徴 */
  #features{
    width: 90%;
    margin: 40px auto;
    text-align: center;
  }

  .feature-post {
    background: #F2F2F2;
    text-align: left;
    padding: 40px;
    border-radius: 20px;
    background-image: url(img/background-paper.png);
  }
  @media screen and (min-width: 1280px){
    #feature-posts{
      display: flex;
    }
    .feature-post {
      background: #F2F2F2;
      text-align: left;
      min-height: 346px;
      width:33%;
      padding: 40px;
      border-radius: 20px;
      background-image: url(img/background-paper.png);
    }
  }

  .feature-post-title{
    display: flex;
    margin-bottom: 20px;
    align-items: center;
  }

  .number-circle{
    width: 100px;
    height: 100px;
    content: "";
    background: #fff;
    border-radius: 50px;
    margin-right: 24px;
    text-align: center;
  }
  .number-circle span {
    font-size: 12px;
  }
  .feature-post-count {
    font-size: 40px;
    margin-top: -8px;
  }
  .feature-post-title h3 {
    font-size: 24px;
  }

  .multiply{
    color: #2F5E82;
    font-size: 30px;
    font-weight: bold;
  }

  @media screen and (min-width: 1280px){
    .multiply{
      color: #2F5E82;
      line-height: 346px;
      padding:0px 16px;
      font-size: 30px;
      font-weight: bold;
    }
  }

  .multiply:last-child{
    display: none;
  }

  .feature-post-content{

  }

  /* TOPお問い合わせ */
  #contact{
    padding: 40px;
    text-align: center;
    background: #2F5E82;
    color: #fff;
  }
  #contact h3{
    color: #fff;
    font-weight: normal;
    margin: 0px;
  }
  #contact a {
    width: 50%;
  }

  /* よくある質問 */
  #faq{
    width: 90%;
    margin: 20px auto;
    text-align: center;
  }
  .faq-post-content {
    display: flex;
    justify-content: center;
　}
  .faq-post-content span {
    margin-right: 4px;
  }
  .faq-post {
    margin-bottom: 20px;
  }
  .faq-post-title h3 {
    margin: 0px;
  }

  /* prenext */
  #prenext{
    justify-content: center;
    text-align: center;
    display: flex;
    margin-top: 40px;
    margin-bottom: 10px;
  } 
  #prenext a{
    color: #000;
    text-decoration: none;
  }
  #pre{
    margin: 0px 30px;
  }

  /*---------------------- 会社紹介ページ ---------------------------*/
  #page-title {
    background: #2F5E82;
    color: #fff;
    text-align: center;
    padding: 20px 0px;
  }
  #page-title h1 {
    color: #fff;
  }

  .introduction-text {
    margin: 40px auto;
    width: 80%;
  }

  /* スクロールボタン */
  .scroll-btn {
    display: none;
  }

  .introduction-text{
    margin: 40px auto;
  }

  #company-introduction table {
  width: 80%;
  margin: 0px auto;
  border-collapse: collapse;
  border-spacing: 0;
  }
  th {
    text-align: left;
    background: #dae3f3;
    padding: 10px;
  }
  td {
    text-align: left;
    padding: 10px;
  }
  
  /* 会社概要 */
  #overview{

  }
  /* 沿革 */
  #history{

  }
  /* アクセス */
  #access {
    width: 80%;
    margin: 0px auto;
  }

  /*---------------------- 事業内容ページ ---------------------------*/
  #service-introduction{
    overflow: hidden;
  }
  #service-introduction ul {
    border: 1px solid rgba(71,110,140);
    border-radius: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 40px;
  }
  .page-top-text {
    background: rgba(71,110,140, 0.2);
    padding: 20px 80px;
  }

  /*---------------------- 採用情報ページ ---------------------------*/
  #recrit {
    width: 90%;
    margin: 0px auto;
  }
  /* 採用メッセージ */
  .recruit-message-box {
    border: 6px solid #bfbfbf;
    border-radius: 15px;
    padding: 20px 80px;
  }

  /* 募集職種 */
  .occupation-contents {
    justify-content: center;
  }
  .occupation-content {
    background: #313131;
    color: #fff;
    padding: 10px 40px;
    margin-right: 20px;
    /* border-radius: 10px; */
  }

  /* 募集要項 */
  .tabs {
    display: flex;
    flex-wrap: wrap;
    margin: 0px auto;
    justify-content: center;
  }
  .tab_label {
    color: #313131;
    font-weight: bold;
    border: solid 2px #313131;
    position: relative;
    z-index: 1;
    cursor: pointer;
    padding: 10px 20px;
    margin: 0 10px;
    margin-bottom: 20px;
    text-align: center;
  }
  .tab_label:hover {
    opacity: 0.75;
  }
  .tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
  }
  input[name="tab_switch"] {
    display: none;
  }
  .tabs input:checked + .tab_label {
    color: #fff;
    background-color: #313131;
  }
  .tabs input:checked + .tab_label::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #313131 transparent transparent transparent;
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    transition: all 0.3s ease 0s;
  }
  #tab1:checked ~ #tab1_content,
  #tab2:checked ~ #tab2_content,
  #tab3:checked ~ #tab3_content {
    display: block;
  }
  .tab_content{
    position: relative;
    animation: fadeIn 1s ease;
  }
  #recrit table {
    width: 100%;
    margin: 0px auto;
    border-collapse: collapse;
    border-spacing: 0;
  }
  .tab_content th {
    width: 20%;
  }
  .tab_content td {
    width: 80%;
  }

  /* 応募方法・選考の流れ */
  #recruit-flow {
    background-color: #eaeaea;
    padding-bottom: 20px;
    border-radius: 15px;
    margin-top: 24px;
  }
  .flow-contents {
    margin-left: 20px;
    margin-right: 20px;
  }
  .flow-content {
    width: 33.3333%;
    border: 1px solid #313131;
    padding: 20px;
    border-radius: 15px;
    margin: 0px 16px;
    background: #fff;
    position: relative;
  }
  .flow-content::after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 16px;
    background: url(img/flow.svg) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-117%, -50%);
  }
  .flow-content:first-child::after {
    content: none;
  }
  .flow-content a {
    margin: 0px;
    border-radius: 10px;
    width: 100%;
    padding: 8px 0px;
  }
  .flow-title-logo {
    margin-right: 20px;
  }
  .flow-title-logo img {
    width: 64px;
  }
  .flow-title {
    border-bottom: 1px solid #2F5E82;
    margin-bottom: 10px;
  }
  .flow-title p {
    margin: 0px;
  }
  .flow-title span {
    color: #BFBFBF;
  }

  /*----------------------- 固定ページ ------------------------------*/
  #page{
    width: 90%;
    margin: 40px auto;
  }
  /* 固定ページタイトル */
  .fixed-page-title {
    display: block;
    text-align: center;
    line-height: 1;
    font-weight: 900;
    margin-top: 20px;
  }

  /*---------------------- お問い合わせ ---------------------------*/
  #contact-form {
    margin-top: 40px;
  }
  #contact-form > p {
    margin-top: 10px;
  }
  .form-message {
    padding: 10px 0px;
  }
  form.wpcf7-form {
    width: 60%;
    margin: 0px auto;
  }
  #contact-form input:not(#entry-btn, [type="file"], [type="checkbox"], [type="radio"]), #contact-form textarea {
    font-size: 14px;
    line-height: 56px;
    padding-left: 16px;
    margin-top: 8px;
    width: 50%;
    height: 56px;
    border-radius: 5px;
    border: 1px solid #313131;
    background: #eaedf2;
  }
  input[name="your-name"] {
    width: 50%;
  }
  input[name="your-email"] {
    width: 50%;
  }
  input[name="your-subject"] {
    width: 100%;
  }
  #contact-form textarea{
    line-height: 16px;
    padding: 16px 16px;
    height: 120px;
    width: 100%;
  }
  #contact-form label {
    font-size: 16px;
  }
  span.required-box{
    font-size: 10px;
    padding: 2px 3px;
    background: #2F5E82;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 8px;
    margin-bottom: 2px;
    display: inline-block;
  }
  span.free-box{
    font-size: 10px;
    padding: 2px 3px;
    background: #AAA;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 8px;
    margin-bottom: 2px;
    display: inline-block;
  }
  span.any-box{
    font-size: 10px;
    padding: 2px 3px;
    background: #96abce;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 2px;
    margin-bottom: 2px;
    display: inline-block;
  }
  .wpcf7-list-item{
    display: block;
    margin-top: 4px;
    margin-bottom: 4px;
  }
  .btn-submit {
    text-align: center;
  }
  .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    padding: 4px 10px;
    margin: 20px 0px 10px;
    font-size: 14px;
  }
  .wpcf7-spinner{
    display: none;
  }

  /* サンクスページ */
  .thanks{
    text-align: center;
  }

  /* サービスTOP */
  #service-top #toc_container {
    display: none;
  }
  .service-info {
    margin: 40px 0px;
  }
  #service-info-contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
    width: 100%;
    margin-bottom: 40px;
  }
  .service-info-content{
    width: calc(50% - 10px);
    text-align: center;
  }
  .service-info-content i {
    margin-left: 6px;
　}
  .service-info-content h3{
    margin: 0px;
  }
  .service-info-content img {
    width: 100%;
    height: auto;
    aspect-ratio: auto 640 / 360;
  }

  /* 404 */
  .not-found{
    margin: 10px 40px;
  }

  /* reCAPTCHAロゴ非表示 */
  .grecaptcha-badge { visibility: hidden; }

  /*---------------------- フッター ---------------------------*/
  #footer-nav{
    border-bottom: 1px solid #ddd;
    line-height: 1;
    padding: 16px 0px;
  }
  #footer-nav ul{
    display: flex;
    text-align: center;
    row-gap: 20px;
    justify-content: center;
    margin: 10px;
  }
  #footer-nav li{
    margin: 0px 20px;
  }
  #footer-nav a {
    font-size: 14px;
  }

  #footer-contents{
    display: flex;
    width: 100%;
    margin: 40px auto;
  }
  #footer-contents li{
    position: relative;
    padding-left: 10px;
  }

  .footer-contents-left{
    width: 33.33%;
    margin-right: 40px;
  }
  .footer-contents-center{
    width: 33.33%;
    margin: 0px 40px;
  }
  .footer-contents-right{
    width: 33.33%;
    margin-left: 40px;
  }

  .sitemap-section {
    margin-bottom: 24px;
  }

  .sitemap-contents-title {
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;s
  }
  .sitemap-contents-title p {
    margin: 0px;
    font-size: 12px;
  }
  .sitemap-contents-title h4 {
    margin: 0px;
    font-size: 20px;
    font-weight: normal;
  }
  .sitemap-section a:before{
    content: "-";
    margin-right: 10px;
  }

  #footer-logo {
    text-align: center;
  }

  /* ページTOPへ */
  footer ul .arrow {
    position: relative;
    display: inline-block;
    padding-left: 12px;
    color: #333;
  } 
  footer ul .arrow::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #333;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -6px;
  }

  .footer-logo{
    text-align: center;
  }
  .copyright {
    text-align: center;
  }

  /*---------------------- モノクローム ---------------------------*/
  #monochrome-header{
    .contact-link {
      background: #653784;
    }
    .breadcrumbs{
      display: none;
    }
  }
  #monochrome{
    h1,h2{
      color: #653784;
    }
    table {
      width: 100%;
    }
    th{
      background: rgba(0, 0, 0, 0.7);
      width: 20%;
      color: #fff;
    }
    /* 事業内容 */
    .service-content {
      width: 100%;
      text-align: left;
    }
    .service-text {
      width: 100%;
      background: -webkit-linear-gradient(top left, #8a9caa, #653784);
    }
    .service-logo {
      margin: 0px;
      margin-right: 20px;
    }
    /* 特徴 */
    .feature-post {
      background: rgba(0, 0, 0);
      color: #fff;
      padding: 40px;
      margin-bottom: 40px;
      border-radius: 20px;
      text-align: left;
      background-image: url(img/background-paper.png);
    }
    .introduction-text {
      text-align: center;
    }
    /* 会社概要 */
    #overview {
      width: 90%;
      margin: 0px auto;
    }
    form.wpcf7-form {
      padding: 0px;
    }
    span.required-box {
      background: #653784;
  　}
    #entry-btn:hover {
      background-color: #653784;
  　}
    /* アクセス */
    #access {
      width: 90%;
      margin: 0px auto;
    }  
  }
  #monochrome-footer{
    background: #653784;
    color: #fff;
    padding-right: 40px;
    padding-left: 40px;
    margin-top: 30px;
    .contact-btn {
      color: #653784;
    }
    .contact-btn:hover {
      color: #fff;
    }
  }

  /*---------------------- 音楽事業 ---------------------------*/
  #music-business{
    h1, h2{
      color: #000;
    }
    h1{
      font-size: 44px;
      line-height: 1.4em;
      margin-bottom: 0px;
    }
    p{
      margin: 0px;
    }
    ul{
      list-style: none;
      padding: 0px;
    }
    table {
      width: 100%;
      margin: 0px auto;
      border-collapse: collapse;
      border-spacing: 0;
    }
    th {
      background: rgba(185,185,185,0.5);
      width: 20%;
    }
    #music-production-box {
      background: #F3F2F3;
      padding: 26px 0px;
    }
    /* 画像切り替え */
    .music-img-container{
      width: 80%;
      margin: 0px auto;
    }
    .music-mini-img-box {
      margin: 20px 0px;
      justify-content: flex-end;
    }
    .music-mini-img-box img {
      width: 50px;
      height: 50px;
      margin-left: 10px;
    }
    /* 音楽制作 */
    #music-production{
      width: 70%;
      margin: 0px auto;
      position: relative;
      margin-bottom: 60px;
    }
    .music-production-title{
      background-image: url(img/sound-waveform-purple.png);
      background-position: center;
      background-size: cover;
      width: calc(100%);
      height: 263px;
    }
    /* アーティスト */
    #artist{
      background: #fff;
    }
    #artist-contents{
      flex-wrap: wrap;
      justify-content: space-between;
      width: 80%;
      margin: 0px auto;
    }
    .artist-content{
      width: calc(25% - 40px);
      margin-bottom: 80px;
    }
    .artist-img{
      display: inline-block;
      position: relative;
      width: 100%;
      max-width: 270px;
    }
    .artist-img::before{
      content: "";
      display: block;
      padding-top: 100%;
    }
    .artist-img img{
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      object-position: 0 0;
    }
    /* スタジオ紹介  */
    .title-img, .title-text{
      width: 50%;
      height: 180px;
    }
    .title-img img{
      width: 100%;
      height: 180px;
      opacity: 0.4;
    }
    .studio-name{
      text-align: center;
      padding: 80px;
      background-image: url(img/studio-img-1.jpg);
      background-position: center;
      background-color: rgba(255,255,255,0.5);
      background-blend-mode:lighten;
      background-repeat: repeat;
    }
    .studio-sub-img{
      width: 100%;
      justify-content: space-between;
      margin: 10px 0px;
    }
    .studio-sub-img a {
      width: calc(25% - 10px);
    }
    .studio-sub-img img{
      width: 100%;
    }
    .title-text {
      padding: 20px 40px;
      background-color: #000;
      h1, p{
        color: #fff;
      }
    }
    .studio-explanation{
      width: 80%;
      margin: 40px auto;
      margin-top: 60px;
      justify-content: space-between;
      display: flex;
    }
    .studio-explanation p {
      font-size: 18px;
      width: 70%;
      margin-right: 10px;
    }
    .studio-list-box{
      width: 80%;
      margin: 20px auto;
    }
    .studio-list-box li{
      margin-bottom: 20px;
    }
    /* 電話をかけるボタン */
    #tel-btn{
      color: #fff;
      margin: 0px;
      width: 240px;
      height: 100px;
      border-radius: 100vh;
    }
    #tel-btn .tel{
      font-size: 20px;
    }
    #tel-btn i{
      color: #fff;
      margin-right: 8px;
    }
  }
}

/*-----------------------------------------------------*/
/* タブレット用 */
/*-----------------------------------------------------*/
@media screen and (min-width: 720px) and (max-width: 940px) {
  .phone{
    display: none;
  }

  /* フォント設定 */
  p, li{
    font-size: 14px;
  }
  h1{
    font-size: 30px;
    color: #2F5E82;
  }
  h2{
    font-size: 26px;
    color: #2F5E82;
  }
  h3{
    font-size: 22px;
  }
  h4{
    font-size: 18px;
  }

  /* セクションタイトル */
  .section-title{
    text-align: center;
    background-image: linear-gradient(90deg,rgba(0 0 0/0) 0%,rgba(0 0 0/0) 47%,#BFBFBF 47%,#BFBFBF 53%,rgba(0 0 0/0) 53%,rgba(0 0 0/0) 100%);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-top: 40px;
    margin-bottom: 40px;
  }
  .section-title h2 {
    color: #2F5E82;
    font-size: 30px;
    letter-spacing: 0.2em;
    margin: 0px;
  }
  .section-title p {
    margin: 0px;
  }

  /*---------------------- ヘッダー ---------------------------*/
  #header-wrapper{
    display: flex;
    width: 100%;
    align-items: center;
  }
  /* 会社ロゴ */
  #header-logo {
    width: calc(30% - 40px);
    margin-left: 20px;
  }
  #header-logo img {
    width: 100%;
  }
  /* ナビゲーションメニュー */
  #header-nav{
    align-items: center;
    width: calc(70% - 40px);
    margin: 20px auto;
    display: flex;
  }
  #header-nav .menu{
    display: flex;
    justify-content: flex-end;
    width: 100%;
    align-items: center;
  }
  .menu > .menu-item {
    display: block;
    position: relative;
    text-align: center;
    margin-left: 20px;
  }
  .menu-item {
    list-style-type: none;
  }
  .menu > .menu-item a{
    display: block;
    padding: 10px;
  }
  /* hover時 サブメニュー表示 */
  .menu-item:hover .sub-menu {
    display: block;
  }
  .sub-menu {
    display: none;
    position: absolute;
    left: -50%;
    width: 200px;
    background: white;
    color: black;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
    padding: 0;
    z-index: 2;
  }
  .sub-menu > .menu-item:not(:last-child) {
    border-bottom: 1px solid #eee;
  }
  .sub-menu > .menu-item a {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: .5em 0;
  }
  /* サブメニューhover時 */
  .sub-menu > .menu-item a:hover {
    background: #313131;
    color: white;
  }

  .contact-link {
    background: #2F5E82;
    border-radius: 15px;
    color: #fff;
    /*width: 140px!important;*/
  }
  .contact-link a {
    color: #fff;
    align-items: center;
  }
  .contact-link i {
    margin-right: 8px;
  }
  .contact-link:hover {
    background: #313131;
  }

  div#n2-ss-2 .n2-ss-slide-limiter {
    z-index: 1;
  }
  
  /*---------------------- TOPページ ---------------------------*/
  #top{
    margin: 20px auto;
  }

  /* TOPページ会社紹介 */
  #company {
    width: 90%;
    margin: 40px auto;
    text-align: center;
  }
  #company .text {
    color: #2F5E82;
    font-size: 32px;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 2px;
    margin: 0px;
  }
  #company p {
    font-size: 18px;
    margin: 0px;
  }
  
  /* 投稿がない時 */
  .no-post {
    margin: 16px auto;
  }

  /* ニュース */
  #news{
    width: 90%;
    margin: 40px auto;
    padding: 20px;
    border: 1px solid #000;
    text-align: center;
    position: relative;
  }
  #news::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: -8px;
    right: -8px;
    left: 6px;
    border: 1px solid #000;
    z-index: -1;
  }
  #news-title{
    text-align: center;
    background-image: linear-gradient(90deg,rgba(0 0 0/0) 0%,rgba(0 0 0/0) 47%,#e5c046 47%,#e5c046 53%,rgba(0 0 0/0) 53%,rgba(0 0 0/0) 100%);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: center bottom;
  }
  #news p{
    padding:8px 16px;
    text-align: left;
  }
  #news .news-detail-date{
    padding:8px 16px;
    text-align: left;
  }
  .news-contents{
    display: flex;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    align-items: center;
    width: 90%;
    margin: 0px auto;
  }
  .news-contents a {
    color: #000;
  }
  .news-contents p{
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .news-date-cat{
    display: flex;
  }
  div.news-date {
    line-height: 48px;
    text-align: left;
    width: 130px;
  }
  .news-date-cat .news-cat{
    font-size: 14px;
    line-height: 48px;
    margin-right: 20px;
    background: #2F5E82;
    color: #fff;
    padding: 0px 8px;
  }
  .news-text{}

  /* 事業内容 */
  #service{
    width: 90%;
    margin: 40px auto;
    text-align: center;
    .about-service{
      margin-bottom: 40px;
    }
    #service-contents{
      width: 100%;
      display: flex;
      justify-content: space-between;
    }
    .service-content{
      width: calc(33.3333% - 20px);
    }
    .service-text {
      /*box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4); */
      border-radius: 15px;
      padding: 20px 0px;
      /* background: -webkit-linear-gradient(top left, #8a9caa, #1f3749); */
      background: rgba(49,49,49,0.9);
    }
    .service-text h3 {
      color: #fff;
      font-size: 24px;
      font-weight: normal;
      margin: 0px;
      margin-bottom: 10px;
      letter-spacing: 0.1em;
  }
    .service-text p{
      margin: 0px;
      color: #fff;
    }
    .service-logo {
      width: 60%;
      margin-right: 20px;
      margin: 0px auto;
    }
    .service-logo img {
      width: 100%;
      align-items: center;
    }
    .service-explanation h3 {
      font-weight: bold;
      letter-spacing: 0.2em;
      font-size: 20px;
      margin: 0px;
    }
    .service-explanation ul {
      list-style: none;
      padding: 0px;
    }
    .service-explanation li {
      font-size: 11px;
      background: #fff;
      padding: 4px 8px;
      margin-bottom: 4px;
      border-radius: 4px;
      display: inline-block;
    }
  }
  

  /* 特徴 */
  #features{
    width: 90%;
    margin: 40px auto;
    text-align: center;
  }
  .feature-post {
    background: #F2F2F2;
    padding: 40px;
    border-radius: 20px;
    text-align: left;
    background-image: url(img/background-paper.png);
  }
  .feature-post-title{
    display: flex;
    margin-bottom: 20px;
    align-items: center;
  }

  .number-circle{
    width: 100px;
    height: 100px;
    content: "";
    background: #fff;
    border-radius: 50px;
    margin-right: 24px;
    text-align: center;
  }
  .number-circle span {
    font-size: 12px;
  }
  .feature-post-count {
    font-size: 40px;
    margin-top: -8px;
  }
  .feature-post-title h3 {
    font-size: 24px;
  }
  .multiply{
    font-size: 30px;
    color: #2F5E82;
    font-weight: bold;
  }
  .multiply:last-child{
    display: none;
  }

  /* TOPお問い合わせ */
  #contact{
    padding: 40px;
    text-align: center;
    background: #2F5E82;
    color: #fff;
  }
  #contact h3{
    color: #fff;
    font-weight: normal;
    margin: 0px;
  }
  #contact a {
    width: 50%;
  }
  .contact-link i{
    display: none;
  }
  .contact-link:hover {
    background: #313131;
  }

  /* よくある質問 */
  #faq{
    width: 90%;
    margin: 20px auto;
    text-align: center;
  }
  .faq-post-content {
    display: flex;
    justify-content: center;
　}
  .faq-post-content span {
    margin-right: 4px;
  }
  .faq-post {
    margin-bottom: 20px;
  }
  .faq-post-title h3 {
    margin: 0px;
  }

  /* prenext */
  #prenext{
    justify-content: center;
    text-align: center;
    display: flex;
    margin-top: 40px;
    margin-bottom: 10px;
  } 
  #prenext a{
    color: #000;
    text-decoration: none;
  }
  #pre{
    margin: 0px 30px;
  }

  /*---------------------- 会社紹介ページ ---------------------------*/
  #page-title {
    background: #2F5E82;
    color: #fff;
    text-align: center;
    padding: 20px 0px;
  }
  #page-title h1 {
    color: #fff;
  }

  .introduction-text {
    margin: 40px auto;
    width: 80%;
  }

  #company-introduction  table {
    width: 80%;
    margin: 0px auto;
    border-collapse: collapse;
    border-spacing: 0;
  }
  th {
    text-align: left;
    background: #dae3f3;
    padding: 10px;
  }
  td {
    text-align: left;
    padding: 10px;
  }
  
  /* スクロールボタン */
  .scroll-btn {
    display: none;
  }

  .introduction-text{
    margin: 40px auto;
  }
  
  /* 会社概要 */
  #overview{

  }
  /* 沿革 */
  #history{

  }
  /* アクセス */
  #access {
    width: 80%;
    margin: 0px auto;
  }
  
  /*---------------------- 事業内容ページ ---------------------------*/
  #service-introduction{
    overflow: hidden;
  }
  #service-introduction ul {
    border: 1px solid rgba(71,110,140);
    border-radius: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 40px;
  }
  .page-top-text {
    background: rgba(71,110,140, 0.2);
    padding: 20px 60px;
  }
  
  /*---------------------- 採用情報ページ ---------------------------*/
  #recrit {
    width: 90%;
    margin: 0px auto;
  }
  /* 採用メッセージ */
  .recruit-message-box {
    border: 6px solid #bfbfbf;
    border-radius: 15px;
    padding: 20px 80px;
  }

  /* 募集職種 */
  .occupation-contents {
    justify-content: center;
  }
  .occupation-content {
    background: #313131;
    color: #fff;
    padding: 10px 40px;
    margin-right: 20px;
    /* border-radius: 10px; */
  }

  /* 募集要項 */
  .tabs {
    display: flex;
    flex-wrap: wrap;
    margin: 0px auto;
    justify-content: center;
  }
  .tab_label {
    color: #313131;
    font-weight: bold;
    border: solid 2px #313131;
    position: relative;
    z-index: 1;
    cursor: pointer;
    padding: 10px 20px;
    margin: 0 10px;
    margin-bottom: 20px;
    text-align: center;
  }
  .tab_label:hover {
    opacity: 0.75;
  }
  .tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
  }
  input[name="tab_switch"] {
    display: none;
  }
  .tabs input:checked + .tab_label {
    color: #fff;
    background-color: #313131;
  }
  .tabs input:checked + .tab_label::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #313131 transparent transparent transparent;
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    transition: all 0.3s ease 0s;
  }
  #tab1:checked ~ #tab1_content,
  #tab2:checked ~ #tab2_content,
  #tab3:checked ~ #tab3_content {
    display: block;
  }
  .tab_content{
    position: relative;
    animation: fadeIn 1s ease;
  }
  #recrit table {
    width: 100%;
    margin: 0px auto;
    border-collapse: collapse;
    border-spacing: 0;
  }
  .tab_content th {
    width: 20%;
  }
  .tab_content td {
    width: 80%;
  }
  /* 応募方法・選考の流れ */
  #recruit-flow {
    background-color: #eaeaea;
    padding-bottom: 20px;
    border-radius: 15px;
    margin-top: 24px;
  }
  .flow-contents {
    margin-left: 20px;
    margin-right: 20px;
  }
  .flow-content {
    width: 33.3333%;
    border: 1px solid #313131;
    padding: 20px;
    border-radius: 15px;
    margin: 0px 16px;
    background: #fff;
    position: relative;
  }
  .flow-content:first-child {
    margin-left: 0px;
  }
  .flow-content::after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 16px;
    background: url(img/flow.svg) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-117%, -50%);
  }
  .flow-content:first-child::after {
    content: none;
  }
  .flow-content a {
    margin: 0px;
    border-radius: 10px;
    width: 100%;
    padding: 8px 0px;
  }
  .flow-title-logo {
    margin-right: 14px;
  }
  .flow-title-logo img {
    width: 64px;
  }
  .flow-title {
    border-bottom: 1px solid #2F5E82;
    margin-bottom: 10px;
  }
  .flow-title p {
    margin: 0px;
  }
  .flow-title span {
    color: #BFBFBF;
  }

  /*----------------------- 固定ページ ------------------------------*/
  #page{
    width: 90%;
    margin: 40px auto;
  }
  /* 固定ページタイトル */
  .fixed-page-title {
    display: block;
    text-align: center;
    line-height: 1;
    font-weight: 900;
    margin-top: 20px;
  }

  /* お問い合わせ */
  #contact-form {
    margin-top: 40px;
  }
  #contact-form > p {
    margin-top: 10px;
  }
  .form-message {
    padding: 10px 0px;
  }
  form.wpcf7-form {
    width: 70%;
    margin: 0px auto;
  }
  #contact-form input:not(#entry-btn, [type="file"], [type="checkbox"], [type="radio"]), #contact-form textarea {
    height: 40px;
    border-radius: 4px;
    border: 1px solid #313131;
    background: #eaedf2;
    margin-top: 10px;
    padding-left: 8px;
  }
  input[name="your-name"] {
    width: 50%;
  }
  input[name="your-email"] {
    width: 50%;
  }
  input[name="your-subject"] {
    width: 100%;
  }
  #contact-form textarea{
    height: 120px;
    width: 100%;
    padding: 8px;
  }
  #contact-form label {
    font-size: 14px;
  }
  span.required-box{
    font-size: 10px;
    padding: 2px 3px;
    background: #2F5E82;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 8px;
    margin-bottom: 2px;
    display: inline-block;
  }
  span.any-box{
    font-size: 10px;
    padding: 2px 3px;;
    background: #96abce;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 2px;
    margin-bottom: 2px;
    display: inline-block;
  }
  .wpcf7-list-item{
    display: block;
    margin-top: 4px;
    margin-bottom: 4px;
  }
  .btn-submit {
    text-align: center;
  }
  .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    padding: 4px 10px;
    margin: 20px 0px 10px;
    font-size: 14px;
  }
  .wpcf7-spinner{
    display: none;
  }

  /* サンクスページ */
  .thanks{
    text-align: center;
  }

  /* 会社案内 */
  /* 会社概要 */
  .wp-block-table{
    width: 100%;
    margin: 0px auto;
  }
  .wp-block-table tr td:first-child{
    background-color: #ddd;
  }
  
  /* アクセス */
  a[href^="tel:"]{
    pointer-events: none;
  }

  /* サービスTOP */
  #service-top #toc_container {
    display: none;
  }
  .service-info {
    margin: 40px 0px;
  }
  #service-info-contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
    width: 100%;
    margin-bottom: 40px;
  }
  .service-info-content{
    width: calc(50% - 10px);
    text-align: center;
  }
  .service-info-content i {
    margin-left: 6px;
　}
  .service-info-content h3{
    margin: 0px;
  }
  .service-info-content img {
    width: 100%;
    height: auto;
    aspect-ratio: auto 640 / 360;
  }

  /* 採用情報 */
  .su-column-inner p{
    margin:0px;
  }
  .tr-title {
    padding: 5px 10px;
    display: inline-block;
    margin-bottom: 0px;
    line-height: 1.9em;
    border: 2px solid #777777;
    border-radius: 10px;
  }

  /* FAQ */
  #ewd-ufaq-faq-list {
    margin: 0px 40px;
  }
  #ewd-ufaq-faq-list #toc_container{
    display: none;
  }

  /* 404 */
  .not-found{
    margin: 10px 40px;
  }

  /* reCAPTCHAロゴ非表示 */
  .grecaptcha-badge { visibility: hidden; }

  /*---------------------- フッター ---------------------------*/
  #footer-nav{
    border-bottom: 1px solid #ddd;
    line-height: 1;
    padding: 16px 0px;
  }
  #footer-nav ul{
    display: flex;
    text-align: center;
    row-gap: 20px;
    justify-content: center;
    margin: 10px;
  }
  #footer-nav li{
    margin: 0px 20px;
  }
  #footer-nav a {
    font-size: 14px;
  }

  #footer-contents{
    display: flex;
    width: 100%;
    margin: 40px auto;
  }
  #footer-contents li{
    position: relative;
    padding-left: 10px;
  }

  .footer-contents-left{
    width: 33.33%;
    margin-right: 40px;
  }
  .footer-contents-center{
    width: 33.33%;
  }
  .footer-contents-right{
    width: 33.33%;
    margin-left: 40px;
  }

  .sitemap-section {
    margin-bottom: 24px;
  }

  .sitemap-contents-title {
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
  }
  .sitemap-contents-title p {
    margin: 0px;
    font-size: 12px;
  }
  .sitemap-contents-title h4 {
    margin: 0px;
    font-size: 20px;
    font-weight: normal;
  }
  .sitemap-section a:before{
    content: "-";
    margin-right: 10px;
  }
  #footer-logo {
    text-align: center;
  }
  .btn--whiteblue span{
    display: none;
  }

  /* ページTOPへ */
  footer ul .arrow {
    position: relative;
    display: inline-block;
    padding-left: 12px;
    color: #333;
  } 
  footer ul .arrow::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #333;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -6px;
  }

  .footer-logo{
    text-align: center;
  }
  .copyright {
    text-align: center;
  }

  /*---------------------- モノクローム ---------------------------*/
  #monochrome-header{
    .contact-link {
      background: #653784;

    }
    .breadcrumbs{
      display: none;
    }
  }
  #monochrome{
    h1,h2{
      color: #653784;
    }
    table {
      width: 100%;
    }
    th{
      background: rgba(0, 0, 0, 0.7);
      width: 20%;
      color: #fff;
    }
    /* サービス */
    .service-content {
      width: 100%;
      text-align: left;
    }
    .service-text {
      width: 100%;
      background: -webkit-linear-gradient(top left, #8a9caa, #653784);
    }
    .service-logo {
      margin: 0px;
      margin-right: 20px;
    }
    /* 特徴 */
    .feature-post {
      background: rgba(0, 0, 0);
      color: #fff;
      padding: 40px;
      margin-bottom: 40px;
      border-radius: 20px;
      text-align: left;
      background-image: url(img/background-paper.png);
    }
    .introduction-text {
      text-align: center;
    }

    /* 会社概要 */
    #overview {
      width: 90%;
      margin: 0px auto;
    }
    /* お問い合わせフォーム */
    form.wpcf7-form {
      padding: 0px;
    }
    span.required-box {
      background: #653784;
    }
    #entry-btn:hover {
      background-color: #653784;
    }
    /* アクセス */
    #access {
      width: 90%;
      margin: 0px auto;
    }    
  }
  #monochrome-footer{
    background: #653784;
    color: #fff;
    padding-right: 40px;
    padding-left: 40px;
    margin-top: 30px;
    .contact-btn {
      color: #653784;
    }
    .contact-btn:hover {
      color: #fff;
    }
  }

  /*---------------------- 音楽事業 ---------------------------*/
  #music-business{
    h1, h2{
      color: #000;
    }
    h1{
      font-size: 44px;
      line-height: 1.4em;
      margin-bottom: 0px;
    }
    p{
      margin: 0px;
    }
    ul{
      list-style: none;
      padding: 0px;
    }
    table {
      width: 100%;
      margin: 0px auto;
      border-collapse: collapse;
      border-spacing: 0;
    }
    th {
      background: rgba(185,185,185,0.5);
      width: 20%;
    }
    #music-production-box {
      background: #F3F2F3;
      padding: 26px 0px;
    }
    /* 画像切り替え */
    .music-img-container{
      width: 80%;
      margin: 0px auto;
    }
    .music-mini-img-box {
      margin: 20px 0px;
      justify-content: flex-end;
    }
    .music-mini-img-box img {
      width: 50px;
      height: 50px;
      margin-left: 10px;
    }
    /* 音楽制作 */
    #music-production{
      width: 70%;
      margin: 0px auto;
      position: relative;
      margin-bottom: 60px;
    }
    .music-production-title{
      background-image: url(img/sound-waveform-purple.png);
      background-position: center;
      background-size: cover;
      width: calc(100%);
      height: 263px;
    }
    /* アーティスト */
    #artist{
      background: #fff;
    }
    #artist-contents{
      flex-wrap: wrap;
      justify-content: space-between;
      width: 80%;
      margin: 0px auto;
    }
    .artist-content{
      width: calc(28% - 40px);
      margin-bottom: 60px;
    }
    .artist-img{
      display: inline-block;
      position: relative;
      width: 100%;
      max-width: 270px;
    }
    .artist-img::before{
      content: "";
      display: block;
      padding-top: 100%;
    }
    .artist-img img{
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      object-position: 0 0;
    }
    /* スタジオ紹介  */
    .title-img, .title-text{
      width: 50%;
      height: 180px;
    }
    .title-img img{
      width: 100%;
      height: 180px;
      opacity: 0.4;
    }
    .studio-name{
      text-align: center;
      padding: 80px;
      background-image: url(img/studio-img-1.jpg);
      background-position: center;
      background-color: rgba(255,255,255,0.5);
      background-blend-mode:lighten;
      background-repeat: repeat;
    }
    .studio-sub-img{
      width: 100%;
      justify-content: space-between;
      margin: 10px 0px;
    }
    .studio-sub-img a {
      width: calc(25% - 10px);
    }
    .studio-sub-img img{
      width: 100%;
    }
    .title-text {
      padding: 20px 40px;
      background-color: #000;
      h1, p{
        color: #fff;
      }
    }
    .studio-explanation{
      width: 80%;
      margin: 40px auto;
      margin-top: 60px;
      justify-content: space-between;
      display: flex;
    }
    .studio-explanation p {
      font-size: 18px;
      width: 70%;
      margin-right: 10px;
    }
    .studio-list-box{
      width: 80%;
      margin: 20px auto;
    }
    .studio-list-box li{
      margin-bottom: 20px;
    }
    /* 電話をかけるボタン */
    #tel-btn{
      color: #fff;
      margin: 0px;
      width: 240px;
      height: 100px;
      border-radius: 100vh;
    }
    #tel-btn .tel{
      font-size: 20px;
    }
    #tel-btn i{
      color: #fff;
      margin-right: 8px;
    }
  }
}

/*-----------------------------------------------------*/
/* スマホ用 */
/*-----------------------------------------------------*/
@media screen and (max-width: 720px) {
  .pc-tablet{
    display: none;
  }

  p, a, li {
    font-size: 14px;
  }
  h1{
    font-size: 28px;
    color: #2F5E82;
  }
  h2{
    font-size: 24px;
    color: #2F5E82;
  }
  h3{
    font-size: 20px;
  }

  /* セクションタイトル */
  .section-title{
    text-align: center;
    background-image: linear-gradient(90deg,rgba(0 0 0/0) 0%,rgba(0 0 0/0) 47%,#BFBFBF 47%,#BFBFBF 53%,rgba(0 0 0/0) 53%,rgba(0 0 0/0) 100%);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-top: 20px;
    margin-bottom: 20px;
  }
  .section-title h2 {
    color: #2F5E82;
    font-size: 28px;
    letter-spacing: 0.2em;
    margin: 0px;
  }
  .section-title p {
    margin: 0px;
  }

  /* header */
  #header-wrapper{
    margin: 20px auto;
    margin-bottom: 0px;
  }
  #header-logo {
    ext-align: center;
    width: 40%;
    margin: 0px auto;;
  }
  #header-logo img {
    width: 100%;
  }
  
  /* ナビゲーションメニュー */
  #header-nav{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
  }

  .menu-menu-container {
    margin-right: 30px;
  }

  #header-title a{
    font-weight: 600;
  }

  .menu{
    display: flex;
    text-align: center;
    justify-content: space-around;
    width: 100%;
  }

  /* 親メニューをinline-blockにしてセンターに配置 */
  .menu > .menu-item {
    display: block;
    position: relative;
    text-align: center;
  }
  .menu-item {
    list-style-type: none;
  }
  .menu > .menu-item a{
    display: block;
    padding: 4px 14px;
  }

  /* hover時 サブメニュー表示 */
  .menu-item:hover .sub-menu {
    display: block;
  }

  /* サブメニューをabsoluteにして親メニューの下に配置。スタイルは適宜調整してください */
  .sub-menu {
    display: none;
    position: absolute;
    left: -50%;
    width: 160px;
    background: white;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
    padding: 0;
    z-index: 2;
  }
  .sub-menu > .menu-item:not(:last-child) {
    border-bottom: 1px solid #eee;
  }
  .sub-menu > .menu-item a {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: .5em 0;
  }
  .sub-menu > .menu-item a:hover {
    background: black;
    color: white;
  }

  .contact-link {
    background: #2F5E82;
    border-radius: 10px;
    color: #fff;
    /*width: 130px!important;*/
  }
  .contact-link a {
    color: #fff;
  }

  #search{
    display: none;
  }

  div#n2-ss-2 .n2-ss-slide-limiter {
    z-index: 1;
  }

  /*---------------------- TOPページ ---------------------------*/
  #top{
    margin: 20px auto;
  }

  /* TOPページ会社紹介 */
  #company {
    width: 90%;
    margin: 40px auto;
    text-align: center;
  }
  #company .text {
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 2px;
    font-size: 17px;
    margin: 0px;
  }
  #company p {
    font-size: 14px;
    margin: 0px;
  }
  
  /* 投稿がない時 */
  .no-post {
    margin: 16px auto;
  }

  /* ニュース */
  #news{
    width: 90%;
    margin: 40px auto;
    padding: 20px;
    border: 1px solid #000;
    text-align: center;
    position: relative;
  }
  #news::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: -8px;
    right: -8px;
    left: 6px;
    border: 1px solid #000;
    z-index: -1;
  }
  #news-title{
    text-align: center;
    background-image: linear-gradient(90deg,rgba(0 0 0/0) 0%,rgba(0 0 0/0) 47%,#e5c046 47%,#e5c046 53%,rgba(0 0 0/0) 53%,rgba(0 0 0/0) 100%);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: center bottom;
  }
  #news p{
    padding:8px 16px;
    text-align: left;
  }
  #news .news-detail-date{
    text-align: left;
    padding:0px 16px;
  }

  .news-contents{
    padding: 10px;
    border-bottom: 1px solid #ddd;
    align-items: center;
    width: 90%;
    margin: 0px auto;
    text-align: left;
  }
  .news-contents a {
    color: #000;
  }
  .news-contents p {
    margin-top: 0px;
    margin-bottom: 0px;
  }  
  .news-date-cat{
    display: flex;
    align-items: center;
    margin-bottom: 10px;
  }
  div.news-date {
    line-height: 48px;
    width: 130px;
    margin-right: 8px;
  }
  .news-date-cat .news-cat{
    color: #fff;
    font-size: 12px;
    margin-right:8px;
    padding: 0px 8px;
    background: #2F5E82;
  }

  /* 事業内容 */
  #service{
    width: 90%;
    margin: 40px auto;
    text-align: center;
    .about-service{
      margin-bottom: 40px;
    }
    #service-contents{
      width: 100%;
      display: flex;
      justify-content: space-between;
    }
    .service-content{
      width: calc(33.3333% - 10px);
      margin-bottom: 20px;
    }
    .service-text {
      /*box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4); */
      border-radius: 15px;
      padding: 20px 0px;
      /* background: -webkit-linear-gradient(top left, #8a9caa, #1f3749); */
      background: rgba(49,49,49,0.9);
    }
    .service-text h3{
      color: #fff;/*color: #2F5E82;*/
      font-weight: normal;
      margin: 0px;
      margin-bottom: 10px;
      letter-spacing: 0.1em;
    }
    .service-text p{
      margin: 0px;
      color: #fff;
    }
    .service-logo {
      width: 60%;
      margin-right: 20px;
      margin: 0px auto;
    }
    .service-logo img {
      width: 100%;
      align-items: center;
    }
    .service-explanation h3 {
      font-weight: bold;
      letter-spacing: 0.2em;
      font-size: 16px;
      margin: 0px;
    }
    .service-explanation ul {
      list-style: none;
      padding: 0px;
    }
    .service-explanation li {
      font-size: 10px;
      background: #fff;
      padding: 4px 8px;
      margin-bottom: 4px;
      border-radius: 4px;
      display: inline-block;
    }
  } 

  /* 特徴 */
  #features{
    width: 90%;
    margin: 40px auto;
    text-align: center;
  }

  #feature-posts{
    flex-direction: column;
  }

  .feature-post {
    background: #F2F2F2;
    padding: 40px;
    border-radius: 20px;
    text-align: left;
    background-image: url(img/background-paper.png);
  }
  .feature-post-title{
    display: flex;
    margin-bottom: 16px;
    align-items: center;
  }

  .number-circle{
    width: 80px;
    height: 80px;
    content: "";
    background: #fff;
    border-radius: 40px;
    margin-right: 20px;
    text-align: center;
  }
  .number-circle span {
    font-size: 12px;
  }
  .feature-post-count {
    font-size: 36px;
    margin-top: -16px;
  }
  .feature-post-title h3 {
    font-size: 24px;
  }
  .multiply{
    font-size: 30px;
    color: #2F5E82;
    font-weight: bold;
  }
  .multiply:last-child{
    display: none;
  }

  /* TOPお問い合わせ */
  #contact{
    padding: 20px 0px;
    text-align: center;
    background: #2F5E82;
    color: #fff;
  }
  #contact h3{
    color: #fff;
    font-weight: normal;
    margin: 0px;
  }
  #contact a {
    width: 50%;
  }

  /* よくある質問 */
  #faq{
    width: 90%;
    margin: 20px auto;
    text-align: center;
  }
  .faq-post-content {
    display: flex;
    justify-content: center;
　}
 .faq-post-content span {
    margin-right: 4px;
  }
  .faq-post {
    margin-bottom: 20px;
  }
  .faq-post-title h3 {
    margin: 0px;
  }

  /* prenext */
  #prenext{
    justify-content: center;
    text-align: center;
    display: flex;
    margin-top: 40px;
    margin-bottom: 10px;
  } 
  #prenext a{
    color: #000;
    text-decoration: none;
  }
  #pre{
    margin: 0px 30px;
  }

  /*---------------------- 会社紹介ページ ---------------------------*/
  #page-title {
    background: #2F5E82;
    color: #fff;
    text-align: center;
    padding: 20px 0px;
  }
  #page-title h1 {
    color: #fff;
  }

  .introduction-text {
    margin: 40px auto;
    width: 90%;
  }

  #company-introduction table {
    width: 90%;
    margin: 0px auto;
    border-collapse: collapse;
    border-spacing: 0;
  }
  th {
    text-align: left;
    background: #dae3f3;
    padding: 10px;
  }
  td {
    text-align: left;
    padding: 10px;
  }
  
  /* スクロールボタン */
  .scroll-btn {
    display: flex;
    justify-content: center;
  }
  .scroll-btn a {
    background: #2F5E82;
    color: #fff;
    font-size: 14px;
    padding: 15px 30px;
    border-radius: 10px;
    margin: 0px 10px;
  }

  .introduction-text{
    margin: 40px auto;
  }
  
  /* 会社概要 */
  #overview{

  }
  /* 沿革 */
  #history{

  }
  /* アクセス */
  #access {
    width: 90%;
    margin: 0px auto;
  }

  /*---------------------- 事業内容ページ ---------------------------*/
  #service-introduction{
    overflow: hidden;
  }
  #service-introduction ul {
    border: 1px solid rgba(71,110,140);
    border-radius: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 40px;
  }
  .page-top-text {
    background: rgba(71,110,140, 0.2);
    padding: 20px 20px;
  }

  /*---------------------- 採用情報ページ ---------------------------*/
  #recrit {
    width: 90%;
    margin: 0px auto;
  }
  /* 採用メッセージ */
  .recruit-message-box {
    border: 6px solid #bfbfbf;
    border-radius: 15px;
    padding: 20px 20px;
  }

  /* 募集職種 */
  .occupation-contents {
    justify-content: center;
  }
  .occupation-content {
    background: #313131;
    color: #fff;
    padding: 10px 40px;
    margin-right: 20px;
    /* border-radius: 10px; */
  }

  /* 募集要項 */
  .tabs {
    display: flex;
    flex-wrap: wrap;
    margin: 0px auto;
    justify-content: center;
  }
  .tab_label {
    color: #313131;
    font-weight: bold;
    border: solid 2px #313131;
    position: relative;
    z-index: 1;
    cursor: pointer;
    padding: 8px 14px;
    margin: 0 10px;
    margin-bottom: 20px;
    text-align: center;
  }
  .tab_label:hover {
    opacity: 0.75;
  }
  .tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
  }
  input[name="tab_switch"] {
    display: none;
  }
  .tabs input:checked + .tab_label {
    color: #fff;
    background-color: #313131;
  }
  .tabs input:checked + .tab_label::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #313131 transparent transparent transparent;
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    transition: all 0.3s ease 0s;
  }
  .tabs label {
    font-size: 14px;
  }
  #tab1:checked ~ #tab1_content,
  #tab2:checked ~ #tab2_content,
  #tab3:checked ~ #tab3_content {
    display: block;
  }
  .tab_content{
    position: relative;
    animation: fadeIn 1s ease;
  }
  #recrit table {
    width: 100%;
    margin: 0px auto;
    border-collapse: collapse;
    border-spacing: 0;
  }
  .tab_content th {
    width: 20%;
  }
  .tab_content td {
    width: 80%;
  }

  /* 応募方法・選考の流れ */
  #recruit-flow {
    background-color: #eaeaea;
    padding-bottom: 20px;
    border-radius: 15px;
    margin-top: 24px;
  }
  .flow-contents {
    margin-left: 20px;
    margin-right: 20px;
    overflow: scroll;
  }
  .flow-content {
    border: 1px solid #313131;
    padding: 20px;
    border-radius: 15px;
    margin: 0px 16px;
    background: #fff;
    position: relative;
    margin-bottom: 20px;
  }
  .flow-content:first-child {
    margin-left: 0px;
  }
  .flow-contents::-webkit-scrollbar {
    width: 0px;
    height: 10px;
  }
  .flow-content::after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 16px;
    background: url(img/flow.svg) no-repeat center/contain;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-117%, -50%);
  }
  .flow-content:first-child::after {
    content: none;
  }
  .flow-content a {
    margin: 0px;
    border-radius: 10px;
    width: 100%;
    padding: 8px 0px;
  }
  .flow-title-logo {
    margin-right: 10px;
  }
  .flow-title-logo img {
    width: 64px;
  }
  .flow-title {
    border-bottom: 1px solid #2F5E82;
    margin-bottom: 10px;
  }
  .flow-title p {
    margin: 0px;
  }
  .flow-title span {
    color: #BFBFBF;
  }

  /*----------------------- 固定ページ ------------------------------*/
  #page{
    width: 90%;
    margin: 40px auto;
  }
  .fixed-page-title {
    display: block;
    text-align: center;
    line-height: 1;
    font-weight: 900;
    margin-top: 20px;
  }

  /* お問い合わせ */
  #contact-form {
    margin-top: 20px;
  }
  #contact-form > p {
    margin-top: 10px;
  }
  .form-message {
    padding: 10px 0px;
  }
  form.wpcf7-form {
    width: 100%;
    margin: 0px auto;
  }
  #contact-form input:not(#entry-btn, [type="file"], [type="checkbox"], [type="radio"]), #contact-form textarea {
    height: 40px;
    border-radius: 5px;
    border: 1px solid #313131;
    background: #eaedf2;
    margin-top: 10px;
    padding-left: 8px;
  }
  input[name="your-name"] {
    width: 80%;
  }
  input[name="your-email"] {
    width: 80%;
  }
  input[name="your-subject"] {
    width: 100%;
  }
  #contact-form textarea{
    height: 120px;
    width: 100%;
    padding: 8px;
  }
  #contact-form label {
    font-size: 14px;
  }
  span.required-box{
    font-size: 10px;
    padding: 2px 3px;
    background: #2F5E82;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 8px;
    margin-bottom: 2px;
    display: inline-block;
  }
  span.free-box{
    font-size: 10px;
    padding: 2px 3px;
    background: #AAA;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 8px;
    margin-bottom: 2px;
    display: inline-block;
  }
  span.any-box{
    font-size: 10px;
    padding: 2px 3px;;
    background: #96abce;
    color: #ffffff;
    border-radius: 2px;
    margin-right: 2px;
    margin-bottom: 2px;
    display: inline-block;
  }
  .wpcf7-list-item{
    display: block;
    margin-top: 4px;
    margin-bottom: 4px;
  }
  .btn-submit {
    text-align: center;
  }
  .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    padding: 4px 10px;
    margin: 20px 0px 10px;
    font-size: 14px;
  }
  .wpcf7-spinner{
    display: none;
  }

  /* サンクスページ */
  .thanks{
    text-align: center;
  }

  /* サービスTOP */
  #service-top #toc_container {
    display: none;
  }
  .service-info {
    margin: 40px 0px;
  }
  #service-info-contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
    width: 100%;
    margin-bottom: 40px;
  }
  .service-info-content{
    width: calc(50% - 10px);
    text-align: center;
  }
  .service-info-content i {
    margin-left: 6px;
　}
  .service-info-content h3{
    margin: 0px;
  }
  .service-info-content img {
    width: 100%;
    height: auto;
    aspect-ratio: auto 640 / 360;
  }

  /* 採用情報 */
  .su-column-inner p{
    margin:0px;
  }
  .tr-title {
    padding: 5px 10px;
    display: inline-block;
    margin-bottom: 0px;
    line-height: 1.9em;
    border: 2px solid #777777;
    border-radius: 10px;
  }

  /* FAQ */
  #ewd-ufaq-faq-list {
    margin: 0px 40px;
  }

  #ewd-ufaq-faq-list #toc_container{
    display: none;
  }

  /* 404 */
  .not-found{
    margin: 10px 40px;
  }

  /* reCAPTCHAロゴ非表示 */
  .grecaptcha-badge { visibility: hidden; }

  /*---------------------- フッター ---------------------------*/
  #footer-nav{
    border-bottom: 1px solid #ddd;
    line-height: 1;
    padding: 16px 0px;
    text-align: center;
  }
  #footer-nav ul{
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    row-gap: 20px;
    justify-content: space-between;
    margin: 10px;
  }
  #footer-nav li {
    margin-bottom: 8px;
  }

  #footer-contents{
    width: 100%;
    margin: 40px auto;
  }
  #footer-contents li{
    position: relative;
    padding-left: 10px;
  }

  .sitemap-section {
    margin-bottom: 24px;
  }
  .sitemap-contents-title {
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
  }
  .sitemap-contents-title p {
    margin: 0px;
    font-size: 12px;
  }
  .sitemap-contents-title h4 {
    margin: 0px;
    font-weight: normal;
  }
  .sitemap-section a:before{
    content: "-";
    margin-right: 10px;
  } 

  #footer-logo {
    text-align: center;
  }

  /* ページTOPへ */
  footer ul .arrow {
    position: relative;
    display: inline-block;
    padding-left: 12px;
    color: #333;
  } 
  footer ul .arrow::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #333;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -6px;
  }
  
  .footer-logo{
    text-align: center;
  }
  .copyright {
      text-align: center;
  }

  /*---------------------- モノクローム ---------------------------*/
  #monochrome-header{
    .contact-link {
      background: #653784;
    }
    .breadcrumbs{
      display: none;
    }
  }
  #monochrome{
    h1,h2{
      color: #653784;
    }
    table {
      width: 100%;
    }
    th{
      background: rgba(0, 0, 0, 0.7);
      width: 20%;
      color: #fff;
    }
    /* 事業内容 */
    .service-content {
      width: 100%;
      text-align: left;
    }
    .service-text {
      width: 100%;
      background: -webkit-linear-gradient(top left, #8a9caa, #653784);
    }
    .service-logo {
      margin: 0px;
      margin-right: 20px;
    }
    /* 特徴 */
    .feature-post {
      background: rgba(0, 0, 0);
      color: #fff;
      padding: 40px;
      margin-bottom: 40px;
      border-radius: 20px;
      text-align: left;
      background-image: url(img/background-paper.png);
    }
    .introduction-text {
      text-align: center;
    }
    /* 会社概要 */
    #overview {
      width: 90%;
      margin: 0px auto;
    }
    /* お問い合わせフォーム */
    form.wpcf7-form {
      width: 90%;
      margin: 0px auto;
    }
    span.required-box {
      background: #653784;
  　}
    #entry-btn:hover {
      background-color: #653784;
  　}
    /* アクセス */
    #access {
      width: 90%;
      margin: 0px auto;
    }
    
  }
  #monochrome-footer{
    background: #653784;
    color: #fff;
    padding-right: 40px;
    padding-left: 40px;
    margin-top: 30px;
    .contact-btn {
      color: #653784;
    }
    .contact-btn:hover {
      color: #fff;
    }
  }

  /*---------------------- 音楽事業 ---------------------------*/
  #music-business{
    h1, h2{
      color: #000;
    }
    h1{
      font-size: 44px;
      line-height: 1.4em;
      margin-bottom: 0px;
    }
    p{
      margin: 0px;
    }
    ul{
      list-style: none;
      padding: 0px;
    }
    table {
      width: 100%;
      margin: 0px auto;
      border-collapse: collapse;
      border-spacing: 0;
    }
    th {
      background: rgba(185,185,185,0.5);
      width: 20%;
    }
    #music-production-box {
      background: #F3F2F3;
      padding: 26px 0px;
    }
    /* 画像切り替え */
    .music-img-container{
      width: 80%;
      margin: 0px auto;
    }
    .music-mini-img-box {
      margin: 20px 0px;
      justify-content: flex-end;
    }
    .music-mini-img-box img {
      width: 50px;
      height: 50px;
      margin-left: 10px;
    }
    /* 音楽制作 */
    #music-production{
      width: 70%;
      margin: 0px auto;
      position: relative;
      margin-bottom: 40px;
    }
    .music-production-title{
      background-image: url(img/sound-waveform-purple.png);
      background-position: center;
      background-size: cover;
      width: calc(100%);
      height: 220px;
    }
    /* アーティスト */
    #artist{
      background: #fff;
    }
    #artist-contents{
      flex-wrap: wrap;
      justify-content: space-between;
      width: 80%;
      margin: 0px auto;
    }
    .artist-content{
      width: calc(25% - 40px);
      margin-bottom: 80px;
    }
    .artist-img{
      display: inline-block;
      position: relative;
      width: 100%;
      max-width: 270px;
    }
    .artist-img::before{
      content: "";
      display: block;
      padding-top: 100%;
    }
    .artist-img img{
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      object-fit: cover;
      object-position: 0 0;
    }
    /* スタジオ紹介  */
    .title-img, .title-text{
      width: 50%;
      height: 180px;
    }
    .title-img img{
      width: 100%;
      height: 180px;
      opacity: 0.4;
    }
    .studio-name{
      text-align: center;
      padding: 80px;
      background-image: url(img/studio-img-1.jpg);
      background-position: center;
      background-color: rgba(255,255,255,0.5);
      background-blend-mode:lighten;
      background-repeat: repeat;
    }
    .studio-sub-img{
      width: 100%;
      justify-content: space-between;
      margin: 10px 0px;
    }
    .studio-sub-img a {
      width: calc(25% - 10px);
    }
    .studio-sub-img img{
      width: 100%;
    }
    .title-text {
      padding: 20px 40px;
      background-color: #000;
      h1, p{
        color: #fff;
      }
    }
    .studio-explanation{
      width: 80%;
      margin: 40px auto;
      margin-top: 60px;
      justify-content: space-between;
    }
    .studio-explanation p {
      font-size: 16px;
      margin-bottom: 10px;
    }
    .studio-list-box{
      width: 80%;
      margin: 20px auto;
    }
    .studio-list-box li{
      margin-bottom: 20px;
    }
    /* 電話をかけるボタン */
    #tel-btn{
      color: #fff;
      margin: 0px;
      width: 240px;
      height: 100px;
      border-radius: 100vh;
    }
    #tel-btn .tel{
      font-size: 20px;
    }
    #tel-btn i{
      color: #fff;
      margin-right: 8px;
    }
  }
}

