/*!
Theme Name: violin
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: violin
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

violin is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
 ## Links
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
 ## Header
 ## Menus
 ## Posts and pages
  ### Archive
 ## Strings Search
  ### regulation
  ### Search tab
  ### Select Instrument
  ### Search by Manufacturer
  ### String Select Form
 ## Item list  String series
  ### Strings detail Common
  ### Strings detail table
  ### Strings detail (package)
  ### Strings detail (Manufacturers Item List)
  ### Strings detail (Manufacturers)
 ## Footer
 ## Toppage
 ## Comments
# Infinite scroll
# Media
 ## Captions
 ## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
@font-face {
    font-family: 'futura-light';
    src: url('fonts/Futura-Lig.woff') format('woff'),
    url('fonts/Futura-Lig.ttf') format('opentype');
    font-weight: normal;
    font-style: normal;
    }
    @font-face {
    font-family: 'futura-medium';
    src: url('fonts/Futura-Med.woff') format('woff'),
    url('fonts/Futura-Med.ttf') format('opentype');
    font-weight: normal;
    font-style: normal;
    }
    html {
     font-family: 'futura-medium';
     -webkit-text-size-adjust: 100%;
     -ms-text-size-adjust: 100%;
    }
    
    body {
     margin: 0;
    }
    
    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    main,
    menu,
    nav,
    section,
    summary {
     display: block;
    }
    
    audio,
    canvas,
    progress,
    video {
     display: inline-block;
     vertical-align: baseline;
    }
    
    audio:not([controls]) {
     display: none;
     height: 0;
    }
    
    [hidden],
    template {
     display: none;
    }
    
    a {
     background-color: transparent;
    }
    
    a:active,
    a:hover {
     outline: 0;
    }
    
    abbr[title] {
     border-bottom: 1px dotted;
    }
    
    b,
    strong {
     font-weight: bold;
    }
    
    dfn {
     font-style: italic;
    }
    
    h1 {
     font-size: 1.6em;
     margin: 0.67em 0;
    }
    
    mark {
     background: #ff0;
     color: #000;
    }
    
    small {
     font-size: 80%;
    }
    
    sub,
    sup {
     font-size: 75%;
     line-height: 0;
     position: relative;
     vertical-align: baseline;
    }
    
    sup {
     top: -0.5em;
    }
    
    sub {
     bottom: -0.25em;
    }
    
    img {
     border: 0;
     vertical-align: middle;
    }
    
    svg:not(:root) {
     overflow: hidden;
    }
    
    figure {
     margin: 1em 40px;
    }
    
    hr {
     box-sizing: content-box;
     height: 0;
    }
    
    pre {
     overflow: auto;
    }
    
    code,
    kbd,
    pre,
    samp {
     font-family: monospace, monospace;
     font-size: 1em;
    }
    
    button,
    input,
    optgroup,
    select,
    textarea {
     color: inherit;
     font: inherit;
     margin: 0;
    }
    
    button {
     overflow: visible;
    }
    
    button,
    select {
     text-transform: none;
    }
    
    button,
    html input[type="button"],
    input[type="reset"],
    input[type="submit"] {
     -webkit-appearance: button;
     cursor: pointer;
    }
    
    button[disabled],
    html input[disabled] {
     cursor: default;
    }
    
    button::-moz-focus-inner,
    input::-moz-focus-inner {
     border: 0;
     padding: 0;
    }
    
    input {
     line-height: normal;
    }
    
    input[type="checkbox"],
    input[type="radio"] {
     box-sizing: border-box;
     padding: 0;
    }
    /* Radio ボタン装飾 */
    .radio-input{
      display: none;
    }
    .radio-parts{
      padding-left: 20px;
      position:relative;
      margin-right: 20px;
    }
    .radio-parts::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 17px;
      height: 17px;
      border: 1px solid #999;
      border-radius: 50%;
    }
    .radio-input:checked + .radio-parts{
      color: #009a9a;
    }
    .radio-input:checked + .radio-parts::after{
      content: "";
      display: block;
      position: absolute;
      top: 3px;
      left: 3px;
      width: 11px;
      height: 11px;
      background: #009a9a;
      border-radius: 50%;
    }
    
    
    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
     height: auto;
    }
    
    input[type="search"]::-webkit-search-cancel-button,
    input[type="search"]::-webkit-search-decoration {
     -webkit-appearance: none;
    }
    
    fieldset {
     border: 1px solid #c0c0c0;
     margin: 0 2px;
     padding: 0.35em 0.625em 0.75em;
    }
    
    legend {
     border: 0;
     padding: 0;
    }
    
    textarea {
     overflow: auto;
    }
    
    optgroup {
     font-weight: bold;
    }
    
    table {
     border-collapse: collapse;
     border-spacing: 0;
    }
    
    td,
    th {
     padding: 0;
    }
    /*--------------------------------------------------------------
    # Typography
    --------------------------------------------------------------*/
    body,
    button,
    input,
    select,
    optgroup,
    textarea {
     color: #404040;
     font-family: 'futura-medium';
     font-size:16px;
    /**/
      font-size:140%;
    /**/
     font-size: 0.94rem;
     line-height: 1.7;
    }
    h1, h2, h3, h4, h5, h6 {
     clear: both;
     font-weight: normal;
    }
    
    p {
     margin-bottom: 1.5em;
    }
    
    dfn, cite, em, i {
     font-style: italic;
    }
    
    blockquote {
     margin: 0 1.5em;
    }
    
    address {
     margin: 0 0 1.5em;
    }
    
    pre {
     background: #eee;
     font-family: "Courier 10 Pitch", Courier, monospace;
     font-size: 15px;
     font-size: 0.9375rem;
     line-height: 1.6;
     margin-bottom: 1.6em;
     max-width: 100%;
     overflow: auto;
     padding: 1.6em;
    }
    
    code, kbd, tt, var {
     font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
     font-size: 15px;
     font-size: 0.9375rem;
    }
    
    abbr, acronym {
     border-bottom: 1px dotted #666;
     cursor: help;
    }
    
    mark, ins {
     background: #fff9c0;
     text-decoration: none;
    }
    
    big {
     font-size: 125%;
    }
    
    /*--------------------------------------------------------------
    # Elements
    --------------------------------------------------------------*/
    html {
     box-sizing: border-box;
    }
    
    *,
    *:before,
    *:after {
     /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
     box-sizing: inherit;
    }
    
    body {
     background: #fff;
     /* Fallback for when there is no custom background color defined. */
    }
    
    hr {
     background-color: #ccc;
     border: 0;
     height: 1px;
     margin-bottom: 1.5em;
    }
    
    ul, ol {
     /*margin: 0 0 1.5em 3em*/;
     margin: 0;
     padding: 0;
    }
    
    ul {
     list-style: disc;
    }
    
    ol {
     list-style: decimal;
    }
    
    li > ul,
    li > ol {
     margin-bottom: 0;
     margin-left: 1.5em;
    }
    
    dt {
     font-weight: bold;
    }
    
    dd {
     margin: 0 1.5em 1.5em;
    }
    
    img {
     height: auto;
     /* Make sure images are scaled correctly. */
     max-width: 100%;
     /* Adhere to container width. */
    }
    
    figure {
     margin: 1em 0;
     /* Extra wide images within figure tags don't overflow the content area. */
    }
    
    table {
     margin: 0 0 1.5em;
     width: 100%;
    }
    
    /*--------------------------------------------------------------
    # Forms
    --------------------------------------------------------------*/
    button,
    input[type="button"],
    input[type="reset"],
    input[type="submit"] {
     border: 1px solid;
     border-color: #ccc #ccc #bbb;
     border-radius: 3px;
     background: #e6e6e6;
     color: rgba(0, 0, 0, 0.8);
     font-size: 12px;
     font-size: 0.75rem;
     line-height: 1;
     padding: .6em 1em .4em;
    }
    
    button:hover,
    input[type="button"]:hover,
    input[type="reset"]:hover,
    input[type="submit"]:hover {
     border-color: #ccc #bbb #aaa;
    }
    
    button:active, button:focus,
    input[type="button"]:active,
    input[type="button"]:focus,
    input[type="reset"]:active,
    input[type="reset"]:focus,
    input[type="submit"]:active,
    input[type="submit"]:focus {
     border-color: #aaa #bbb #bbb;
    }
    
    input[type="text"],
    input[type="email"],
    input[type="url"],
    input[type="password"],
    input[type="search"],
    input[type="number"],
    input[type="tel"],
    input[type="range"],
    input[type="date"],
    input[type="month"],
    input[type="week"],
    input[type="time"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="color"],
    textarea {
     color: #666;
     border: 1px solid #ccc;
     border-radius: 3px;
     padding: 3px;
    }
    
    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="url"]:focus,
    input[type="password"]:focus,
    input[type="search"]:focus,
    input[type="number"]:focus,
    input[type="tel"]:focus,
    input[type="range"]:focus,
    input[type="date"]:focus,
    input[type="month"]:focus,
    input[type="week"]:focus,
    input[type="time"]:focus,
    input[type="datetime"]:focus,
    input[type="datetime-local"]:focus,
    input[type="color"]:focus,
    textarea:focus {
     color: #111;
    }
    
    select {
     border: 1px solid #ccc;
    }
    /* select の初期化 */
    select{
        outline:none;
        text-indent: 0.01px;
        text-overflow: '';
        background: none transparent;
        vertical-align: middle;
        font-size: inherit;
        color: inherit;
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
    }
    select option{
      background-color: #fff;
      color: #333;
    }
    select::-ms-expand {
      display: none;
    }
    select:-moz-focusring {
      color: transparent;
      text-shadow: 0 0 0 #828c9a;
    }
    
    textarea {
     width: 100%;
    }
    /* select 装飾 */
    @font-face{font-family:"IonIcons";src:url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1");src:url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"),url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.ttf?v=2.0.1") format("truetype"),url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.woff?v=2.0.1") format("woff"),url("//code.ionicframework.com/ionicons/2.0.1/fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg");font-weight:normal;font-style:normal}
    .select-wrap {
        position: relative;
    }
    .select-wrap:before {
        z-index: 1;
        position: absolute;
        right: 15px;
        top: 0;
        content: "\f123";
        font-family: "IonIcons";
        line-height: 43px;
        color: #7F878C;
        pointer-events: none;
    }
    select{
        outline:none;
        -moz-appearance: none;
        text-indent: 0.01px;
        text-overflow: '';
        background: none transparent;
        vertical-align: middle;
        font-size: inherit;
        color: inherit;
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        height: 40px;
        padding: 8px 12px;
        border:1px solid #ddd;
        color:#000;
        width:100%;
        border-radius:3px;
    }
    select option{
      background-color: #fff;
      color: #333;
    }
    select::-ms-expand {
      display: none;
    }
    select:-moz-focusring {
      color: transparent;
      text-shadow: 0 0 0 #000;
    }
    /*--------------------------------------------------------------
    # Navigation
    --------------------------------------------------------------*/
    /*--------------------------------------------------------------
    ## Links
    --------------------------------------------------------------*/
    a {
     color: #23cbb1;
     text-decoration: none;
    }
    
    a:visited {
     color: #169985;
    }
    
    a:hover, a:focus, a:active {
     color: #58d7ca;
    }
    
    a:focus {
     outline: thin dotted;
    }
    
    a:hover, a:active {
     outline: 0;
    }
    /*--------------------------------------------------------------
    # Accessibility
    --------------------------------------------------------------*/
    /* Text meant only for screen readers. */
    .screen-reader-text {
     clip: rect(1px, 1px, 1px, 1px);
     position: absolute !important;
     height: 1px;
     width: 1px;
     overflow: hidden;
     word-wrap: normal !important;
     /* Many screen reader and browser combinations announce broken words as they would appear visually. */
    }
    
    .screen-reader-text:focus {
     background-color: #f1f1f1;
     border-radius: 3px;
     box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
     clip: auto !important;
     color: #21759b;
     display: block;
     font-size: 14px;
     font-size: 0.875rem;
     font-weight: bold;
     height: auto;
     left: 5px;
     line-height: normal;
     padding: 15px 23px 14px;
     text-decoration: none;
     top: 5px;
     width: auto;
     z-index: 100000;
     /* Above WP toolbar. */
    }
    
    /* Do not show the outline on the skip link target. */
    #content[tabindex="-1"]:focus {
     outline: 0;
    }
    
    /*--------------------------------------------------------------
    # Alignments
    --------------------------------------------------------------*/
    .alignleft {
     display: inline;
     float: left;
     margin-right: 1.5em;
    }
    
    .alignright {
     display: inline;
     float: right;
     margin-left: 1.5em;
    }
    
    .aligncenter {
     clear: both;
     display: block;
     margin-left: auto;
     margin-right: auto;
    }
    
    /*--------------------------------------------------------------
    # Clearings
    --------------------------------------------------------------*/
    .clear:before,
    .clear:after,
    .entry-content:before,
    .entry-content:after,
    .comment-content:before,
    .comment-content:after,
    .site-header:before,
    .site-header:after,
    .site-content:before,
    .site-content:after,
    .site-footer:before,
    .site-footer:after {
     content: "";
     display: table;
     table-layout: fixed;
    }
    
    .clear:after,
    .entry-content:after,
    .comment-content:after,
    .site-header:after,
    .site-content:after,
    .site-footer:after {
     clear: both;
    }
    
    /*--------------------------------------------------------------
    # Widgets
    --------------------------------------------------------------*/
    .widget {
     margin: 0 0 1.5em;
     /* Make sure select elements fit in widgets. */
    }
    
    .widget select {
     max-width: 100%;
    }
    
    /*--------------------------------------------------------------
    # Content
    --------------------------------------------------------------*/
    /*--------------------------------------------------------------
    ## Header
    --------------------------------------------------------------*/
    .site-header{
     position: relative;
    }
    .site-branding{
      height:66px;
      border-bottom: 2px solid #DBDBDB;
    }
    .site-title{
     padding:16px 0 0 8px;
     margin: 0;
     width: 70%;
    }
    @media screen and (min-width:600px) and ( max-width:959px) {
     .site-title{
      width: 240px;
     }
    }
    @media screen and (min-width:960px) {
     .site-title{
      width: inherit;
     }
    }
    
    /*--------------------------------------------------------------
    ## Menus    /*--------------------------------------------------------------
    ## Menus
    --------------------------------------------------------------*/
    .main-navigation ul {
     display: none;
     list-style: none;
     margin: 0;
     padding-left: 0;
    }
     .main-navigation ul a,
     .main-navigation ul a:visited
     {
      color: #333;
     }    
    .main-navigation.toggled ul{
     display: block;
    }
      /* モバイルの場合は異なるルールを適用 */
    @media screen and (max-width: 599px) {
        .main-navigation ul {
            display: block !important; /* モバイルでは常にblockにしてアニメーションを有効にする */
        }
        .main-navigation.toggled ul{
            display: block !important;
        }
    }
    .menu-label{
      display: none;
    }
    .menu-toggle{
     display: none;
    }      /* モバイル用スライドハンバーガーメニュー */
    @media screen and (max-width: 599px) {
        .menu-toggle-wrapper {
            position: absolute;
            top: 10px;
            right: 15px;
            z-index: 1001;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .menu-label {
            font-size: 12px;
            color: #333;
            margin-bottom: 0;
            display: block;
            font-weight: normal;
        }

        .menu-toggle {
            display: block;
            background: none;
            border: none;
            padding: 8px;
            cursor: pointer;
            position: relative;
        }
        
        .hamburger-icon {
            display: block;
            width: 25px;
            height: 20px;
            position: relative;
        }

        .hamburger-icon span {
            display: block;
            height: 4px;
            width: 100%;
            background: #333;
            margin-bottom: 4px;
            transition: 0.3s ease;
            border-radius: 1px;
        }

        .hamburger-icon span:last-child {
            margin-bottom: 0;
        }        /* ×印のアニメーション位置調整 */
        .main-navigation.toggled .hamburger-icon span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }
        
        .main-navigation.toggled .hamburger-icon span:nth-child(2) {
            opacity: 0;
        }
        
        .main-navigation.toggled .hamburger-icon span:nth-child(3) {
            transform: rotate(-45deg) translate(5px, -5px);
        }
        
        /* スライドメニューのヘッダーテキスト */
        .main-navigation ul::before {
            content: "Menu";
            display: block;
            padding: 20px;
            font-size: 18px;
            font-weight: bold;
            color: #333;
            border-bottom: 1px solid #eee;
            background: #f8f8f8;
        }
        
        .main-navigation ul {
            position: fixed;
            top: 0;
            left: -300px; /* 幅よりも少し大きな値で完全に隠す */
            width: 280px;
            height: 100vh;
            background: #fff;
            box-shadow: 2px 0 10px rgba(0,0,0,0.2);
            z-index: 999;
            transition: left 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* より滑らかなアニメーション */
            overflow-y: auto;
            list-style: none;
            margin: 0;
            padding-left: 0;
            visibility: visible; /* 常に見える状態 */
            opacity: 1; /* 不透明度は1に固定 */
        }
        
        .main-navigation.toggled ul {
            left: 0 !important; /* 重要度を高くして確実に適用 */
        }
        
        .main-navigation ul li {
            display: block;
            width: 100%;
            float: none;
        }
        
        .main-navigation ul li a {
            display: block;
            padding: 10px 20px;
            border-bottom: 1px solid #b5b5b5;
            margin: 0;
            text-align: left;
            color: #333;
            text-decoration: none;
            line-height: 18px;
        }
        
        .main-navigation ul li a:hover {
            background: #f5f5f5;
        }
        
        .main-navigation ul li a img {
            max-height: 24px;
            vertical-align: middle;
        }
        
        .main-navigation ul li:last-child a {
            border-bottom: none;
        }
        
        /* メニューが開いている時の背景オーバーレイ */
        .main-navigation.toggled::before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background: rgba(0,0,0,0.5);
            z-index: 998;
        }
        
        /* メニューが開いている時はボディのスクロールを無効 */
        body.menu-open {
            overflow: hidden;
        }
          /* メニューラベルのスタイリング */
        .menu-toggle-wrapper {
            position: absolute;
            top: 10px;
            right: 15px;
            z-index: 1001;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .menu-label {
            font-size: 13px;
            color: #555;
            margin-bottom: 0px;
            display: block;
            font-weight: bold;
            letter-spacing: 0.5px;
        }

        /* ハンバーガーアイコンのリセット */
        .menu-toggle {
            display: block;
            background: none;
            border: none;
            padding: 8px;
            cursor: pointer;
            position: relative;
            bottom: 8px;
        }
        
        /* ×印の位置修正 */
        .main-navigation.toggled .hamburger-icon span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 6px);
        }
        
        .main-navigation.toggled .hamburger-icon span:nth-child(3) {
            transform: rotate(-45deg) translate(6px, -6px);
        }
          /* スライドメニューのヘッダーテキスト */
        .main-navigation ul::before {
            content: "Menu";
            display: block;
            padding: 20px;
            font-size: 16px;
            font-weight: bold;
            color: #333;
            border-bottom: 1px solid #b5b5b5;
            background: #FFF;
            letter-spacing: 1px;
        }
    }
    /* #instagram */
    /* *テスト環境とIDが違うので注意* */
    li#menu-item-648 a{
        width: 36px;
        height: 36px;
        margin-right: 0;
    }
    li#menu-item-648 a br{
        display: none;
    }
    li#menu-item-648 a img{
        width: 100%;
    }
    @media screen and (min-width:600px) {
     .main-navigation ul{
      clear: both;
      display: block;
      position: absolute;
      top: 18px;
      right: 12px;
     }
     .main-navigation ul li ul.sub-menu{
      display: none;
     }
     .main-navigation ul li.focus ul.sub-menu{
      background: #fff;
      display: block;
     }
     .main-navigation ul li.focus ul.sub-menu li a{
      padding: 14px 0;
      border-bottom: 1px solid #ccc;
     }
     ul.sub-menu{
      background: #FFF;
      box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
      /* float: left; */
      /* position: absolute; */
      top: 100%;
      left: -999em;
      z-index: 99999;*/
     }
     .main-navigation ul ul ul {
      left: -999em;
      top: 0;
     }
     .main-navigation ul ul li:hover > ul,
     .main-navigation ul ul li.focus > ul {
      left: 100%;
     }
    
     .main-navigation ul ul a {
      width: 200px;
     }
    
     .main-navigation ul li:hover > ul,
     .main-navigation ul li.focus > ul {
      left: auto;
     }
    
     .main-navigation li {
      float: left;
      position: relative;
      text-align: center;
      line-height: 1.2;
     }
     .main-navigation a {
      display: block;
      text-decoration: none;
      margin: 0 12px;
     }
     .main-navigation li a span{
      font-size: 80%;
     }
    }
    @media screen and (max-width: 599px){
    #responsive-menu-pro-container.slide-left #responsive-menu-pro li.responsive-menu-pro-item a{
       min-height: 50px;
       line-height: 18px;
       padding:  10px 20px;
     }
     /* #responive toggle button */
     .responsive-menu-pro-box{
        height: 4px !important;
     }
     /* #Instagram hidden */
     li#responsive-menu-pro-item-371{
        display: none !important;
     }
    }
    
    /*--------------------------------------------------------------
    ## Posts and pages
    --------------------------------------------------------------*/
    .content-area{
     float: none;
     width: 100%;
    }
    .entry-title{
     margin-top: 94px;
     border-bottom: 2px dotted #aaaaaa;
     padding-left: 4px;
     text-transform: uppercase;
    }
    @media screen and (min-width:600px) {
     .entry-title{
      padding-left: 32px;
     }
    }
    .entry-title .text_jp{
     font-size: 90%;
    }
    .site-content-inner{
     max-width: 96%;
     margin: 0 auto;
     padding: 20px 0;
    }
    @media screen and (min-width:600px) and ( max-width:959px) {
     .site-content-inner{
      max-width: 90%;
      margin: 0px auto;
      padding: 30px 0;
     }
    }
    @media screen and (min-width:960px) and ( max-width:1280px) {
     .site-content-inner{
      max-width: 90%;
      margin: 0px auto;
      padding: 60px 0;
     }
    }
    @media screen and (min-width:1281px) {
     .site-content-inner{
      max-width: 1024px;
      margin: 0px auto;
      padding: 60px 0;
     }
    }
    
    .home .site-content-inner{
     max-width: 1024px;
     margin: 0 auto;
    }
    @media screen and (min-width:600px){
    .entry-content{
     padding: 0 36px;
    }
    }
    
    .entry-content p{
     text-indent: 16px;
    }
    /* 英字調整 */
    .term-eleven-contemporary-violin-makers .entry-content p{
     font-size: 110%;
    }
    @media screen and (min-width:960px){
     .archive .content-area,
     .single .content-area{
      width: 74%;
      float: left;
      padding: 0 26px 20px;
     }
     .archive .widget-area,
     .single .widget-area{
      width: 24%;
      float: right;
     }
    }
    .site-main .comment-navigation, .site-main
    .posts-navigation, .site-main
    .post-navigation {
     margin: 0 0 1.5em;
     overflow: hidden;
    }
    
    .comment-navigation .nav-previous,
    .posts-navigation .nav-previous,
    .post-navigation .nav-previous {
     float: left;
     width: 50%;
    }
    
    .comment-navigation .nav-next,
    .posts-navigation .nav-next,
    .post-navigation .nav-next {
     float: right;
     text-align: right;
     width: 50%;
    }
    /*--------------------------------------------------------------
    ### Archive
    --------------------------------------------------------------*/
    .archive .entry-title{
     padding-left: 4px;
     padding-right: 4px;
     margin-top: 20px;
     font-size: 120%;
     padding-bottom: 10px;
    }
    .archive-title{
     max-width: 980px;
     line-height: 1.0;
     margin: 40px auto 46px;
    }
    .archive-title a{
     color: #000;
    }
    .archive-title a>span{
     display: block;
     font-weight: 100;
    }
    .archive-title .lang-en{
     font-size: 150%;
    }
    .archive-title .lang-ja{
     color: #717171;
     font-size: 80%;
    }
    .archive .entry-title a{
     color: #333;
    }
    .archive .archive-post-date{
     font-size: 70%;
    }
    /*--------------------------------------------------------------
    ## Strings Search
    --------------------------------------------------------------*/
    /* ### regulation
    --------------------------------------------------------------*/
    .string-search .entry-title{
     margin-top: 20px;
     margin-bottom: 30px;
    }
    .string-search ul{
     margin: 0;
     padding: 0;
    }
    .string-search ul li{
     list-style: none;
     font-size: 130%;
    }
    .string-search ul li .item_name-jp{
     font-size: 90%;
    }
    .search-title{
     max-width: 980px;
     padding-left: 20px;
     line-height: 1.0;
     margin: 40px auto 46px;
    }
    .search-title a{
     color: #000;
    }
    .search-title a>span{
     display: block;
     font-weight: 100;
    }
    .search-title .lang-en{
     font-size: 150%;
    }
    .search-title .lang-ja{
     color: #717171;
     font-size: 80%;
    }
     .strings-search-content{
      padding: 0 10px;
     }
    @media screen and (min-width:600px) and ( max-width:959px) {
     .strings-search-content{
      padding: 0 40px;
     }
    }
    @media screen and (min-width:960px){
     .strings-search-content{
      padding: 0 80px;
     }
    }
    /* ### Search tab
    --------------------------------------------------------------*/
    .search-tab{
     background: #dbdbdb;
     font-size: 110%;
     min-height: 40px;
    }
    .search-tab .text_jp{
     font-size: 70%;
    }
    .search-tab ul{
     margin: 0 auto;
     padding: 2px 0;
    }
    .search-tab li{
     background: #FFF;
     list-style: none;
     width: 98%;
     margin: 0 auto;
     text-align: center;
     position: relative;
    }
    .search-tab li a{
     color: #868686;
     text-decoration:none;
     display: block;
     padding: 6px;
     height: 36px;
     width: 100%;
     position: relative;
     top: 0;
     background: #fff;
    }
    .search-tab li.current a{
     color: #FFF;
     text-decoration:none;
     background: #B09D8F;
    }
    .search-tab li img{
     vertical-align: middle;
     margin-right: 8px;
    }
    .search-tab li:first-child{
     margin-bottom: 2px;
    }
    @media screen and (min-width:600px){
     .search-tab ul{
      max-width: 980px;
      height: 40px;
     }
     .search-tab li{
      width: 49.8%;
     }
     .search-tab li a{
      position: absolute;
     }
     .search-tab li:first-child{
      float: left;
      margin-bottom: none;
     }
     .search-tab li:last-child{
      float: right;
     }
    }
    /* ### Select Instrument
    --------------------------------------------------------------*/
    .select-instrument{
     max-width: 720px;
     margin: 0 auto;
     margin-top: -80px;
    }
    .select-instrument li{
     list-style: none;
     display: block;
     width: 29%;
     float: left;
     text-align: center;
     margin: 0 10.4%;
     position: relative;
     height: 240px;
     font-size: 140%;
     margin-bottom: 20px;
     line-height: 1.1;
    }
    .select-instrument li a{
     display: block;
     position: absolute;
     bottom: 0;
     color: #000;
     text-decoration: none;
    }
    .select-instrument li img{
     width: 100%;
     vertical-align: baseline;
    }
    .select-instrument li span{
     display: block;
    }
    @media screen and (min-width:600px) and ( max-width:959px) {
     .select-instrument li{
       width: 156px;
       margin: 0 72px;
     }
    }
    @media screen and (min-width:960px){
     .select-instrument li{
       width: 156px;
       margin: 0 90px;
     }
    }
    /* ### Search by Manufacturer
    --------------------------------------------------------------*/
    .string-search .manufacturers-list{
     max-width: 98%;
     margin: 0 auto;
    }
    .manufacturers-list li{
     width: 80%;
     margin: 0 auto 10px;
     text-align: center;
     position: relative;
    }
    .manufacturers-list li a{
     width: 100%;
     font-size: 90%;
     border: 1px solid #e5e5e5;
     display: block;
     padding: 5px;
     bottom: 10px;
     position: relative;
     height: 176px;
     color: #333;
    }
    .manufacturers-list li img{
     position: relative;
     top: 50%;
     -webkit-transform: translateY(-70%);
     -ms-transform: translateY(-70%);
     transform: translateY(-70%);
     max-width: 90%;
    }
    .manufacturers-name{
     display: block;
     position: absolute;
     bottom: 5px;
     text-align: center;
     width: 96%;
     padding: 10px 0 0;
     border-top: 1px solid #e5e5e5;
     white-space: nowrap;
    }
    .manufacturers-name{
     display: block;
     position: absolute;
     bottom: 5px;
     text-align: center;
     width: 96%;
     padding: 10px 0 0;
     border-top: 1px solid #e5e5e5;
    }
    @media screen and (min-width:600px) and ( max-width:959px) {
     .manufacturers-list li{
      float: left;
      width: 29.9%;
      margin: 10px 0 20px 5.1%;
     }
     .manufacturers-list li:nth-of-type(3n+1){
      margin-left: 0;
     }
     .manufacturers-list li a{
      height: 176px;
     }
    }
    @media screen and (min-width:960px) and ( max-width:1280px) {
     .manufacturers-list li{
      float: left;
      width: 31.2%;
      margin: 10px 0 20px 30px;
     }
     .manufacturers-list li:nth-of-type(3n+1){
      margin-left: 0;
     }
     .manufacturers-list li a{
      height: 176px;
     }
    }
    @media screen and (min-width:1281px){
     .string-search .manufacturers-list{
      max-width: 980px;
     }
     .manufacturers-list li{
      float: left;
      width: 31.2%;
      margin: 10px 0 20px 30px;
     }
     .manufacturers-list li:nth-of-type(3n+1){
      margin-left: 0;
     }
     .manufacturers-list li a{
      height: 176px;
      font-size: 110%;
     }
    }
    
    .string-search.item-list .entry-title,
    .string-search.string-series .entry-title,
    .string-search.string .entry-title{
     padding-left: 4px;
     font-size: 170%;
     font-weight: normal;
     margin-bottom: 10px;
     font-size: 190%;
    }
    .string-search.item-list .entry-title .item_name-jp,
    .string-search.string-series .entry-title .item_name-jp,
    .string-search.string .entry-title .item_name-jp{
     font-size: 88%;
    }
    .strings-detail caption{
     font-size: 130%;
     text-align: left;
    }
    /* ### String Select Form
    --------------------------------------------------------------*/
    .page-description{
      font-size: 1rem;
    }
    .page-description .text_jp{
      font-size: 0.8rem;
    }
    .string-select-form{
     margin: 0 auto;
    }
    @media screen and (min-width:960px){
     .string-select-form{
      max-width: 600px;
     }
    }
    .string-select-form p.page-description{
     margin-left: 0px;
     margin-bottom: 20px;
    }
    @media screen and (min-width:600px) and ( max-width:959px) {
     .string-select-form p.page-description{
      margin-bottom: 30px;
     }
    }
    @media screen and (min-width:960px){
     .string-select-form p.page-description{
      margin-bottom: 60px;
     }
    }
    .string-select-form .btn-bloc{
     margin: 60px auto;
    }
    .string-select-form .btn-submit{
     background: #404040;
     color: #fff;
     width: 49%;
     padding: 12px;
     font-size: 100%;
    }
    .select-stringtype-bloc ul li{
     margin: 18px 0;
     width: 96%;
     margin: 8px auto;
    }
    .select-stringtype-bloc ul li img{
     width: 90%;
    }
    /* 以下の項目については、弦情報の確認が終わったら削除すること */
    /*.page-id-281 .site-content-inner{
     max-width: inherit;
    }
    .tension img{
     max-width:400px;
     width: 400px;
    }*/
    /*--------------------------------------------------------------
    ## Item list  String series
    --------------------------------------------------------------*/
    /*--------------------------------------------------------------
    ### Strings detail Common
    --------------------------------------------------------------*/
    .string-search.item-list .entry-title,
    .string-search.string-series .entry-title,
    .string-search.string .entry-title{
     padding-left: 4px;
     font-size: 160%;
     font-weight: normal;
     margin-bottom: 10px;
     color: #000;
    }
    @media screen and (min-width:960px){
     .string-search.item-list .entry-title,
     .string-search.string-series .entry-title,
     .string-search.string .entry-title{
      font-size: 190%;
     }
    }
    .string-search.item-list .entry-title .item_name-jp,
    .string-search.string-series .entry-title .item_name-jp,
    .string-search.string .entry-title .item_name-jp{
     font-size: 88%;
    }
    /*--------------------------------------------------------------
    ### Strings detail table
    --------------------------------------------------------------*/
    .strings-detail caption{
     font-size: 130%;
     text-align: left;
    }
    .strings-detail th{
     color: #000;
     font-size: 90%;
     font-weight: 500;
    }
    .strings-detail th,
    .strings-detail td{
     border: 1px solid #e5e5e5;
     padding: 4px 4px;
    }
    .strings-detail th{
    min-width: 40px;
    background: rgba(217,217,217,1);
    background: -moz-linear-gradient(top, rgba(217,217,217,1) 0%, rgba(199,199,199,1) 100%);
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(217,217,217,1)), color-stop(100%, rgba(199,199,199,1)));
    background: -webkit-linear-gradient(top, rgba(217,217,217,1) 0%, rgba(199,199,199,1) 100%);
    background: -o-linear-gradient(top, rgba(217,217,217,1) 0%, rgba(199,199,199,1) 100%);
    background: -ms-linear-gradient(top, rgba(217,217,217,1) 0%, rgba(199,199,199,1) 100%);
    background: linear-gradient(to bottom, rgba(217,217,217,1) 0%, rgba(199,199,199,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d9d9d9', endColorstr='#c7c7c7', GradientType=0 );
    }
    .strings-detail tr{
     cursor: pointer;
     bottom: #fff;
    }
    .strings-detail.no-link tr{
     cursor: default;
    }
    .strings-detail.series tr.tr_odd{
      background: #FFF;
    }
    .strings-detail tr:nth-child(even),
    .strings-detail.series tr.tr_even{
     background: #f5f5f5;
    }
    .strings-detail tr:hover{
     background: #E8E2DD;
    }
    .strings-detail td.note,
    .strings-detail td.tension{
     text-align: center;
    }
    @media screen and (min-width:600px){
    .strings-detail td.tailpiece,
    .strings-detail td.peg{
     max-width: 240px;
    }
    }
    
    .strings-detail td.tension-title,
    .strings-detail td.tension,
    .strings-detail td.itme-no{
     white-space: nowrap;
     text-align: center;
    }
    @media (max-width: 600px) {
      .strings-detail th{
       display: none;
      }
      .strings-detail {
        border-collapse: separate;
        border-spacing: 0  20px;
      }
      .strings-detail thead {
        display: none;
      }
      .strings-detail tr:nth-child(even){
        background: inherit;
       }
      .strings-detail td:nth-child(odd) {
        background-color: #f6f6f6;
      }
      .strings-detail td {
        border: none;
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: 1px solid #dddddd;
      }
      .strings-detail td.col-6 {
        float: left;
        width: 50%;
      }
      .strings-detail td.txt-right {
        text-align: right;
      }
      .strings-detail td:before {
        content: attr(data-title) " ";
      }
      .strings-detail .clear {
        clear: both;
      }
      .strings-detail td.note,
      .strings-detail td.tension{
        text-align: left;
      }
     }
    /*--------------------------------------------------------------
    ### Strings detail (package)
    --------------------------------------------------------------*/
    .more-series{
      position: relative;
      float: right;
    }
    .more-series .ico-moreseries{
      background: url(images/ico-moreseries.png) center left no-repeat;
      display: block;
      width: 18px;
      height: 80%;
      position: absolute;
      top: 10%;
      left: 8px;
      border-right: 1px solid #968375;
    }
    .more-series a{
      background: #B09D8F;
      color: #FFF;
      display: inline-block;
      border-top: 2px solid #c0aea1;
      border-left: 2px solid #c0aea1;
      border-bottom: 2px solid #a18e81;
      border-right: 2px solid #a18e81;
      padding: 4px 12px 4px 32px;
    }
    .more-series .lang-ja{
      font-size: 84%;
    }
    @media screen and (max-width:600px){
      .more-series{
        float: none;
        width: 100%;
        display: block;
      }
      .more-series a{
        width: 100%;
        display: block;
      }
    }
    .strig-package-pic{
     border: 1px solid #e5e5e5;
     width: 300px;
     height: 300px;
     text-align: center;
     margin: 0 auto;
    }
    .strig-package-pic img{
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
    }
    @media screen and (min-width:960px){
     .strig-package-pic{
       position: absolute;
     }
     .string-summary{
      min-height: 320px;
      padding-left: 320px;
     }
    }
    /*--------------------------------------------------------------
    ### Strings detail (Manufacturers Item List)
    --------------------------------------------------------------*/
    .manufacturers-info{
     margin-bottom: 30px;
    }
    .string-search .manufacturers-item-list{
     font-size: 110%;
    }
    .manufacturers-item-list li{
     border-bottom: 1px solid #e5e5e5;
    }
    .manufacturers-item-list li a{
     margin: 12px 0;
     padding:10px 8px;
     -webkit-border-radius: 4px;
             border-radius: 4px;
     display: block;
     color: #333;
    }
    .manufacturers-item-list li a:hover{
     background: #f5f5f5;
    }
    .manufacturers-item-list li img{
     max-width: 70px;
     margin-right: 14px;
     vertical-align: middle;
    }
    
    .flag{
     font-size: 50%;
     margin-left: 10px;
    }
    .flag img{
     width: 18px;
     margin-left: 4px;
    }
    .manufacturers-site{
     font-size: 100%;
     text-align: right;
    }
    .manufacturers-logo{
     border: 1px solid #e5e5e5;
     width: 300px;
     height: 200px;
     text-align: center;
     margin: 0 auto 40px;
     position: relative;
    }
    .manufacturers-logo img{
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-70%);
      -ms-transform: translateY(-70%);
      transform: translateY(-70%);
    }
    .strig-package-pic img{
      position: relative;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
    }
    
    @media screen and (min-width:960px){
     .manufacturers-logo{
      position: absolute;
     }
     .brand-info-bloc{
      padding-left: 320px;
     }
    }
    /*--------------------------------------------------------------
    ## Footer
    --------------------------------------------------------------*/
    .site-footer{
     margin-top: 40px;
     background: #F7F7F7;
    }
    /* #Add Instagram link above footer for mobile */
    .mobile-instagram-link{
        display: flex;
        justify-content: center;
        background: #FFF;
        padding-bottom: 16px;
    }
    .mobile-instagram-link a{
        display: block;
        width: 44px;
    }
    @media screen and (min-width:599px){
        .mobile-instagram-link{
            display: none;
        }
    }
    /* #footer sitemap */
    .footer-sitemap{
     max-width: 1024px;
     margin: 0 auto;
     padding-bottom: 22px;
    }
    .footer-sitemap>div{
     width: 33.33333%;
    }
    .footer-sitemap ul{
     padding: 30px 0 50px;
     margin: 0;
    }
    .footer-sitemap ul li{
     list-style: none;
     text-align: center;
    }
    .footer-sitemap ul li a{
     color: #000;
     text-decoration: none;
    }
    .footer-sitemap ul li:first-child a{
     font-size: 110%;
     font-weight: bold;
    }
    .menu-footer-left-menu-container, .menu-footer-center-menu-container{
     float: left;
     border-right: 1px solid #d3d3d3;
    }
    .menu-footer-right-menu-container{
     float: right;
    }
    .site-info{
     border-top: 1px solid #d3d3d3;
    }
    .site-info .copyright{
     text-align: center;
    }
    /* Widgetエリア */
    .widget-area{
     padding: 60px 10px;
    }
    .widget-area ul li{
     list-style: none;
    }
    .widget-area ul li a{
     border-bottom: 1px solid #ccc;
     padding: 8px 0 8px 6px;
     display: block;
     line-height: 1.1;
     margin: 10px 0;
     color: #333;
    }
    .widget-area ul li a:before{
     content: "\f125";
     font-family: "IonIcons";
     margin-right: 10px;
    }
    .slb_data_content {
        display: none;
    }
    
    article.company-outline table td,
    article.company-outline table th{
     border: 1px solid #ccc;
     padding: 8px 10px;
    }
    article.company-outline table th{
     background: #f6f6f6;
    }
    table.history-cont-vn-makers{
     margin-top: 30px;
    }
    table.history-cont-vn-makers td{
     border-bottom: 1px solid #ccc;
     vertical-align: middle;
     padding: 8px 8px;
    }
    
    
    /*--------------------------------------------------------------
    ## Toppage
    --------------------------------------------------------------*/
    .main-image{
     text-align: center;
     /*max-height: 664px;*/
     overflow: hidden;
     position: relative;
    }
    .main-image img{
     position: relative;
     bottom: 0;
     right: 0;
     display: block;
    }
    .top-navigator{
     margin: 20px auto 24px;
    }
    .top-navigator ul li{
     text-align: center;
     list-style: none;
     line-height: 1.4;
    }
    .top-navigator ul li a{
     display: block;
     font-size: 120%;
     padding: 8px 0;
     color: #333;
    }
    .top-navigator ul li a:hover{
     background: #f2f2f2;
    }
    .top-navigator ul li .text_jp{
      font-size: 84%;
    }
    @media screen and (min-width:600px){
     .top-navigator{
      margin: 0;
      padding: 30px 0 20px;
     }
     .top-navigator ul{
     }
     .top-navigator ul li{
      float: left;
      width: 32.4%;
      margin-right: 0.8%;
     }
    /* .topnavi-img{
      background: #ececec;
      padding: 11px 10px;
     }
     .top-navigator ul li:last-child{
      margin-right: 0;
     }
     .top-navigator ul li a{
      color: #000;
      text-decoration: none;
      font-size: 110%;
     }
     .top-navigator ul li span{}
     .top-navigator ul li img{
      display: block;
      margin: 0 auto;
     }*/
    }
    
    /* Snap Photo Gallery */
    .snap-album{
     display: none;
    }
    @media screen and (min-width:600px){
     .snap-album{
      display: inherit;
      padding: 34px 0 44px;
     }
     .snap-album ul {
      max-width: 746px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
     }
     .snap-album ul li{
      list-style: none;
      float: left;
      display: block;
      margin-left: 9px;
      margin-bottom: 9px;
     }
     .snap-album ul li:nth-of-type(9n+1){
      margin-left: 0;
      clear: left;
     }
    }
    /* News */
    .infobloc{
     border-top: 1px solid #D3D3D3;
     width: 90%;
     margin: 0 auto;
    }
    .infobloc h2{
     text-align: center;
    }
    .feed dt{
     font-weight: 100;
     margin-right: 12px;
     margin-top: 4px;
    }
    .feed dd{
     margin: -4px 0 8px;
     line-height: 1.2;
    }
    .feed dd a{
     color: #000;
     text-decoration: underline;
    }
    .post-categories{
     background: #2E2E2E;
     color: #fff;
     display: inline-block;
     -webkit-border-radius: 4px;
             border-radius: 4px;
     padding: 3px 4px 0px;
     font-size: 60%;
     margin-right: 8px;
    }
    .archive .entry-title .post-categories a{
     color: #FFF;
    }
    .feed dd>p{
     font-size: 100%;
     margin: 0;
    }
    .feed dd>p a{
     text-decoration: none;
    }
    @media screen and (min-width:600px) {
     .infobloc{
      max-width: 800px;
      margin: 0 auto;
      padding: 52px 114px;
     }
     .feed dt{
      float: left;
     }
     .feed dd{
      position: relative;
      margin-bottom: 8px;
      line-height: inherit;
     }
    }
    
    
    @media screen and (min-width:960px) and ( max-width:1280px) {
    /* 通常のデスクトップに適用したいスタイル */
}


@media screen and (min-width:1281px) {
    /* 横幅の広いデスクトップに適用したいスタイル */
}
