/* Drifter responsive table of contents: mobile only, 2026-11-11.
   Show major H2 sections; keep H3 headings in the article itself. */
@media screen and (max-width: 767px) {
  #ez-toc-container {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
    margin-top: 56px !important;
    margin-bottom: 56px !important;
    padding: 16px 18px !important;
  }

  #ez-toc-container nav > ul,
  #ez-toc-container nav > ol {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  #ez-toc-container nav ul ul,
  #ez-toc-container nav ol ol,
  #ez-toc-container nav ul ol,
  #ez-toc-container nav ol ul {
    display: none !important;
  }

  #ez-toc-container nav > ul > li,
  #ez-toc-container nav > ol > li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  }

  #ez-toc-container nav > ul > li:last-child,
  #ez-toc-container nav > ol > li:last-child {
    border-bottom: 0;
  }

  #ez-toc-container nav > ul > li > a.ez-toc-link,
  #ez-toc-container nav > ol > li > a.ez-toc-link {
    display: block !important;
    margin: 0 !important;
    padding: 9px 0 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    text-indent: 0 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
  }

  #ez-toc-container .ez-toc-title-container {
    margin-bottom: 8px !important;
  }

  /* Headings lower than H2 must never be top-level mobile entries. */
  #ez-toc-container nav > ul > li.ez-toc-heading-level-3,
  #ez-toc-container nav > ul > li.ez-toc-heading-level-4,
  #ez-toc-container nav > ol > li.ez-toc-heading-level-3,
  #ez-toc-container nav > ol > li.ez-toc-heading-level-4 {
    display: none !important;
  }

  /* Older articles with H3-only sections should not show an empty TOC. */
  #ez-toc-container:not(:has(.ez-toc-heading-level-2)) {
    display: none !important;
  }
}


/* Existing typography is preserved. Only the TOC and known layout gaps change. */
#ez-toc-container { max-width:100% !important; box-sizing:border-box !important; }
#ez-toc-container li, #ez-toc-container a.ez-toc-link { line-height:1.7 !important; }
#ez-toc-container a.ez-toc-link { overflow-wrap:anywhere; }
button.openbtn { padding:0 !important; border:0 !important; background:transparent !important; appearance:none !important; color:inherit; }
button.openbtn:focus-visible { outline:2px solid currentColor !important; outline-offset:6px !important; }
#mainnavi a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.drifter-archive-title { font-size:3.6rem !important; line-height:1.5 !important; font-weight:500 !important; overflow-wrap:anywhere; }
.drifter-repaired-archive .blog01 h2 { font-size:1.8rem !important; line-height:1.6 !important; margin:1.6rem 0 !important; }
.drifter-archive-item { clear:both; padding:28px 0; border-bottom:1px solid #ddd; font-size:16px; line-height:1.8; }
.drifter-archive-item h2 { margin:0 0 12px; font-size:20px; line-height:1.6; }
.drifter-archive-pagination { clear:both; float:none !important; padding:40px 5%; line-height:2; }
.drifter-archive-pagination a, .drifter-archive-pagination span { display:inline-block; margin:4px; }
@media(max-width:820px) { .drifter-archive-title { font-size:26px !important; } .drifter-repaired-archive .blog01 h2 { font-size:18px !important; } }

/* Extend the existing mobile layout through tablet portrait widths. */
@media screen and (min-width: 740px) and (max-width: 820px) {
  html {
    font-size: 62.5% !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  header {
    height: 8rem !important;
    overflow: hidden !important;
    padding: 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  header #mainnavi .navibox h2 {
    margin-bottom: 4rem !important;
  }
  header #mainnavi .navibox h2 img {
    max-width: 60% !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  header #mainnavi .navibox .navi01 {
    width: 50% !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  header #mainnavi .navibox .navi01 li a {
    font-size: 1.4rem !important;
    letter-spacing: 0.02em !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  header #mainnavi .navibox .en_btn {
    font-size: 1.5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  header #mainnavi .navibox .sns {
    margin-right: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  header #mainnavi .navibox .sns li {
    margin-right: 0.8rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .header-logo {
    width: 38% !important;
    max-width: 15rem !important;
    min-width: 12rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .header-logo h1 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .header-menu {
    display: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .openbtn {
    width: 8rem !important;
    position: fixed !important;
    top: 3.9rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .openbtn span:nth-of-type(2)::after {
    right: -4.5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .openbtn.active span:nth-of-type(2)::after {
    top: -2.4rem !important;
    right: -4.5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer {
    padding: 7rem 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap {
    width: 90% !important;
    min-width: initial !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap h3 {
    float: left !important;
    position: relative !important;
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap .footer_navibox {
    display: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap .footer_navibox .footer_navi {
    width: 77.2% !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap .footer_navibox .en_btn {
    padding: 1rem 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap .address {
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap .address dt {
    width: 100% !important;
    font-size: 1.4rem !important;
    line-height: 3.2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_wrap .address dd {
    width: 100% !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .footer_info {
    width: 100% !important;
    max-width: initial !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  footer .sns {
    float: left !important;
    width: 11rem !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #contact {
    height: auto !important;
    margin-top: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #contact .contactbox {
    width: 100% !important;
    background-color: hsla(0, 0%, 20%, 0.5) !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #contact .contactbox .contact01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    color: #FFF !important;
    text-align: center !important;
    padding: 7rem 0 !important;
    box-sizing: border-box !important;
    top: 0 !important;
    transform: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #contact .contact_img {
    width: 100% !important;
    height: 100% !important;
    float: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: -1 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #information .infobox a {
    width: 49.8% !important;
    height: 24rem !important;
    text-align: center !important;
    padding: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #information .infobox a h4 {
    text-align: center !important;
    font-size: 1.2rem !important;
    letter-spacing: 0em !important;
    margin-bottom: 1rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #information .infobox a .image {
    display: inline-block !important;
    max-width: 13rem !important;
    margin: 0 auto !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #information .infobox a .btn {
    display: inline-block !important;
    bottom: 2rem !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 1rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #price {
    margin-top: 10rem !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #price .price_btn {
    font-size: 1.6rem !important;
    background-position: right 4rem center !important;
    padding: 2.7rem 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .btn01 {
    display: inline-block !important;
    min-width: 16rem !important;
    position: relative !important;
    font-size: 1.2rem !important;
    letter-spacing: 0.1em !important;
    background-image: url("../images/icon_arrow01.svg") !important;
    background-position: right 2.2rem center !important;
    background-repeat: no-repeat !important;
    background-size: 0.7rem auto !important;
    padding: 1rem 7.6rem 1rem 0 !important;
    box-sizing: border-box !important;
  }
  .btn01:before {
    content: "" !important;
    width: 5rem !important;
    height: 5rem !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    margin-top: -2.5rem !important;
    background-color: #FFF !important;
    border-radius: 5rem !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    z-index: -1 !important;
  }
  .btn02 {
    display: inline-block !important;
    min-width: 20rem !important;
    position: relative !important;
    text-align: center !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.1em !important;
    background-color: #FFF !important;
    background-image: url("../images/icon_arrow01.svg") !important;
    background-position: right 3rem center !important;
    background-repeat: no-repeat !important;
    background-size: 0.6rem auto !important;
    border-radius: 10rem !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    padding: 0.5rem 0 0.9rem 0 !important;
    box-sizing: border-box !important;
  }
  .btn03 {
    display: inline-block !important;
    width: 30rem !important;
    max-width: 100% !important;
    position: relative !important;
    text-align: center !important;
    font-size: 1.4rem !important;
    letter-spacing: 0em !important;
    background-color: #000000 !important;
    background-image: url("../images/icon_arrow03.png") !important;
    background-position: left 1rem top 1.5rem !important;
    background-repeat: no-repeat !important;
    background-size: 4rem auto !important;
    border-radius: 4.3rem !important;
    padding: 1rem 1rem 1rem 2rem !important;
    box-sizing: border-box !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .wp-pagenavi {
    margin-top: 10rem !important;
  }
  .wp-pagenavi a {
    margin-bottom: 2rem !important;
  }
  .wp-pagenavi .previouspostslink {
    width: 7rem !important;
    margin-right: 2rem !important;
  }
  .wp-pagenavi .larger {
    margin-right: 2rem !important;
  }
  .wp-pagenavi .current {
    margin-right: 2rem !important;
  }
  .wp-pagenavi .nextpostslink {
    width: 7rem !important;
  }
  .pagenavi {
    margin-top: 7rem !important;
  }
  .pagenavi .previouspostslink a {
    width: 7rem !important;
  }
  .pagenavi .nextpostslink a {
    width: 7rem !important;
  }
  .pagenavi .backpostslink a {
    width: 12rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #pagetitle {
    margin-bottom: 10rem !important;
  }
  #pagetitle .main_img {
    height: 26rem !important;
    overflow: hidden !important;
  }
  #pagetitle .main_img img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
  }
  #pagetitle h3 {
    font-size: 2.5rem !important;
    padding-bottom: 2.5rem !important;
    margin-top: 5rem !important;
  }
  #pagetitle_base {
    margin-bottom: 4rem !important;
  }
  #pagetitle_base h3 {
    font-size: 2rem !important;
    line-height: 4rem !important;
  }
  .subtitle01 {
    margin-bottom: 4rem !important;
  }
  .subtitle01 .en {
    font-size: 2.4rem !important;
    line-height: 4.2rem !important;
  }
  .subtitle02 {
    font-size: 2rem !important;
    line-height: 3.6rem !important;
    margin-bottom: 4rem !important;
  }
  .subtitle02 .en {
    margin-top: 0.5rem !important;
  }
  .subtitle03 {
    margin-bottom: 4rem !important;
  }
  .subtitle04 {
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .modal {
    height: 100% !important;
  }
  .modal__content {
    float: left !important;
    width: 90% !important;
    height: 95% !important;
    position: relative !important;
    margin-top: 5% !important;
    margin-left: 5% !important;
    padding: 2rem !important;
    overflow-y: scroll !important;
    top: 0 !important;
    left: 0 !important;
    min-width: initial !important;
    max-width: initial !important;
    transform: none !important;
  }
  .modal .close {
    width: 2.5rem !important;
    height: 2.5rem !important;
    top: 3rem !important;
    right: 2rem !important;
  }
  .modal .story01 {
    margin-bottom: 2rem !important;
  }
  .modal .story01 dt {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 1.4rem !important;
  }
  .modal .story01 dt:before {
    content: none !important;
  }
  .modal .story01 dt:after {
    content: none !important;
  }
  .modal .story01 dd {
    font-size: 1.4rem !important;
    line-height: 3rem !important;
    padding-left: 0 !important;
  }
  .modal .story01:last-child {
    margin-bottom: 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #breadclumb {
    width: 100% !important;
    position: absolute !important;
    right: 0 !important;
    text-align: right !important;
    line-height: 2rem !important;
    padding: 0 1.5rem !important;
    box-sizing: border-box !important;
  }
  .top1000 {
    top: 35rem !important;
  }
  .top160 {
    top: 9rem !important;
  }
  #breadclumb a {
    display: inline-block !important;
    position: relative !important;
    font-size: 1rem !important;
    letter-spacing: 0.1em !important;
    padding-right: 1.5rem !important;
    box-sizing: border-box !important;
    margin-right: 0.5rem !important;
  }
  #breadclumb a:hover {
    text-decoration: underline !important;
  }
  #breadclumb a:before {
    content: ">" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
  }
  #breadclumb a:last-child {
    margin-right: 0 !important;
    padding-right: 0 !important;
  }
  #breadclumb a:last-child:before {
    display: none !important;
  }
  #breadclumb span {
    font-size: 1rem !important;
    letter-spacing: 0.1em !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #splash {
    /*fixedで全面に固定*/
    position: fixed !important;
    z-index: 999 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: #f9f9f9 !important;
    text-align: center !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #containar {
    padding-top: 80px !important;
    overflow: hidden !important;
  }
  .box02 {
    width: 100% !important;
  }
  .wrapbox01 {
    width: 90% !important;
    min-width: initial !important;
    max-width: initial !important;
  }
  .wrapbox02 {
    width: 90% !important;
    min-width: initial !important;
    max-width: initial !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .list001 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    border-bottom: 0.1rem solid #ddd !important;
    padding: 3rem 1rem !important;
    box-sizing: border-box !important;
  }
  .list001 dt {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 0.5rem !important;
    left: 0 !important;
    top: 0 !important;
  }
  .list001 dd {
    padding-left: initial !important;
  }
  .list002 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 3rem !important;
  }
  .list002 dt {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 2rem !important;
  }
  .list002 dd {
    padding-left: initial !important;
  }
  .list003 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 2rem !important;
  }
  .list003 dt {
    float: left !important;
    width: 100% !important;
  }
  .list003 dd {
    float: left !important;
    width: 100% !important;
  }
  .list004 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 4rem !important;
  }
  .list004 dt {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 1rem !important;
  }
  .list004 dd {
    padding-left: initial !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  /* clearfix */
  .clearfix:after {
    content: "." !important;
    display: block !important;
    height: 0 !important;
    clear: both !important;
    visibility: hidden !important;
    color: #CC9900 !important;
  }
  .clearfix {
    display: inline-table !important;
    min-height: 1% !important;
    margin-bottom: 0px !important;
    overflow: auto !important;
  }
  /* Hides from IE-mac \*/
  * html .clearfix {
    height: 1% !important;
  }
  .clearfix {
    display: block !important;
    overflow: hidden !important;
  }
  /* clearfix */
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .mt150 {
    margin-top: 5rem !important;
  }
  .mt60 {
    margin-top: 3rem !important;
  }
  .mt30 {
    margin-top: 1.5rem !important;
  }
  .mb340 {
    margin-bottom: 10rem !important;
  }
  .mb250 {
    margin-bottom: 10rem !important;
  }
  .mb200 {
    margin-bottom: 10rem !important;
  }
  .mb170 {
    margin-bottom: 10rem !important;
  }
  .mb100 {
    margin-bottom: 5rem !important;
  }
  .mb80 {
    margin-bottom: 4rem !important;
  }
  .mb60 {
    margin-bottom: 3rem !important;
  }
  .mb50 {
    margin-bottom: 2.5rem !important;
  }
  .mb40 {
    margin-bottom: 2rem !important;
  }
  .s_mb40 {
    margin-bottom: 4rem !important;
  }
  .s_mb20 {
    margin-bottom: 2rem !important;
  }
  .mr20 {
    margin-right: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_containar {
    overflow: hidden !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_contents {
    padding-top: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_main {
    width: 100% !important;
    height: 90svh !important;
    min-height: 630px !important;
    max-height: 800px !important;
    margin-top: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_main #slideshow-area {
    padding: 0 !important;
    height: 100% !important;
    min-height: initial !important;
    max-height: initial !important;
    display: block !important;
  }
  #idx_main #slideshow-area:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: radial-gradient(circle at 0% 50%, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.1) 100%) !important;
    z-index: 2 !important;
    pointer-events: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_main #slideshow-area .slideshow-container {
    background-color: hsla(0, 0%, 0%, 0.3) !important;
    aspect-ratio: initial !important;
    max-width: initial !important;
    height: 100% !important;
    width: 100% !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_main #slideshow-area .slideshow-container .dots-container {
    bottom: 2rem !important;
    right: 2rem !important;
    gap: 0.8rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_main .main01 {
    width: 24rem !important;
    height: auto !important;
    position: absolute !important;
    align-items: flex-start !important;
    top: 50% !important;
    left: 2.5rem !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_main .main01 .textbox .text {
    color: #FFF !important;
    font-size: 1.5rem !important;
    line-height: 2.4 !important;
    text-shadow: 0.1rem 0.1rem 0.1rem hsla(0, 0%, 0%, 0.3), 0.2rem 0.2rem 0.7rem hsla(0, 0%, 0%, 0.6), 0rem 0rem 4rem hsla(0, 0%, 0%, 0.5) !important;
    margin-bottom: 1rem !important;
  }
  #idx_main .main01 .textbox .text:not(:first-child) {
    margin-top: 1em !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_main .main01 .btn01 {
    position: relative !important;
    color: #FFF !important;
    text-shadow: 0.1rem 0.1rem 0.3rem hsla(0, 0%, 0%, 0.5) !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_wrapbox01 {
    min-width: initial !important;
    max-width: initial !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_wrapbox02 {
    min-width: initial !important;
    max-width: initial !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art {
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide {
    position: relative !important;
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide .textbox {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin-bottom: 6rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide .textbox h3 {
    font-size: 2.4rem !important;
    line-height: 3.4rem !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide .textbox h3 .en {
    font-size: 1rem !important;
    line-height: 2rem !important;
    margin-top: 0.5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide .textbox .text {
    line-height: 2.8rem !important;
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide .slidebox {
    padding: 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide .btn01 {
    float: left !important;
    width: 100% !important;
    text-align: center !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_art .idx_slide .btn {
    width: 100% !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    text-align: center !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_concert {
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_music {
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_attitude {
    height: auto !important;
    padding: 5rem 0 !important;
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_attitude .attitudebox {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_attitude .attitude01 {
    width: 100% !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin-bottom: 5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_attitude .attitude01 h3 {
    font-size: 2rem !important;
    line-height: 3.2rem !important;
    margin-bottom: 1.5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_attitude .attitude01 .text {
    line-height: 2.8rem !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_attitude .attitude_img {
    float: left !important;
    width: 100% !important;
    margin-right: 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_about .aboutbox {
    padding: 5rem 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_about .aboutbox .about01 {
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_about .aboutbox .about01 h3 {
    font-size: 2rem !important;
    line-height: 3.2rem !important;
    margin-bottom: 1rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_about .aboutbox .about01 .text {
    line-height: 2.8rem !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_about .aboutbox .about_img {
    width: 100% !important;
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_about .aboutbox .about_btn {
    float: left !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    text-align: center !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_about .aboutbox .about_btn .btn01 {
    float: none !important;
    display: inline-block !important;
    background-position: right 2.2rem center !important;
    background-size: 0.7rem auto !important;
    padding: 1rem 7.6rem 1rem 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_blog {
    margin-top: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_blog h3 {
    font-size: 2.4rem !important;
    line-height: 4.2rem !important;
    margin-bottom: 1.5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_blog .text {
    line-height: 3.8rem !important;
    margin-bottom: 4rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_blog .btn {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
    margin-top: 1rem !important;
    z-index: 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_shop {
    margin-top: 12rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_shop .shop01 {
    padding: 6rem 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_shop .shop01 .shop_img {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    padding: 0 !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_shop .shop01 .shop_info {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_shop .shop01 .shop_info h4 {
    float: left !important;
    width: 100% !important;
    line-height: 3rem !important;
    padding-top: 0 !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_shop .shop01 .shop_info .btn {
    display: inline-block !important;
    float: none !important;
    width: 10rem !important;
    height: 10rem !important;
    position: relative !important;
    text-align: center !important;
    background-color: #FFF !important;
    border-radius: 50% !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    padding-top: 1.5rem !important;
    box-sizing: border-box !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns {
    margin-top: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns h3 {
    font-size: 2.4rem !important;
    line-height: 4.2rem !important;
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns .sns_list li {
    width: 47.5% !important;
    margin-right: 0 !important;
    margin-bottom: 2rem !important;
  }
  #idx_sns .sns_list li:nth-child(2n) {
    float: right !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns .sns_list li a {
    background-position: left 2rem center !important;
    padding: 1.5rem 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns .sns_list li a.instagram {
    background-size: 2.1rem auto !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns .sns_list li a.fb {
    background-size: 2.1rem auto !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns .sns_list li a.youtube {
    background-size: 2.8rem auto !important;
    height: auto !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  #idx_sns .sns_list li span {
    padding-left: 3rem !important;
    box-sizing: border-box !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .slider {
    width: 120% !important;
    height: 40rem !important;
    margin-left: -10% !important;
    margin-bottom: 5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .slider-item {
    height: 40rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .slick-dots {
    left: 4rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide {
    position: relative !important;
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide .textbox {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin-bottom: 6rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide .textbox h3 {
    font-size: 2.4rem !important;
    line-height: 3.4rem !important;
    margin-bottom: 2rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide .textbox h3 .en {
    font-size: 1rem !important;
    line-height: 2rem !important;
    margin-top: 0.5rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide .textbox .text {
    line-height: 2.8rem !important;
    margin-bottom: 3rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide .slidebox {
    padding: 0 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide .btn01 {
    float: none !important;
    display: inline-block !important;
    text-align: center !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .idx_slide .btn {
    width: 100% !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    text-align: center !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .philosophy:before {
    content: "" !important;
    width: 100% !important;
    height: 0.1rem !important;
    position: absolute !important;
    top: -0.1rem !important;
    left: 0 !important;
    background-color: #f9f9f9 !important;
    z-index: 1 !important;
  }
  .philosophy01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .philosophy01 h3 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    line-height: 4.4rem !important;
    box-sizing: border-box !important;
  }
  .philosophy01 h3 .en {
    display: inline-block !important;
    width: 100% !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 2.5rem !important;
    margin-top: 1rem !important;
  }
  .philosophy01 .copy01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    padding-top: 4rem !important;
    box-sizing: border-box !important;
    margin-bottom: 4rem !important;
  }
  .philosophy_img {
    float: left !important;
    width: 64.8% !important;
    position: relative !important;
    left: 50% !important;
    margin-left: -32.4% !important;
    background-color: #f9f9f9 !important;
  }
  .philosophy_img img {
    mix-blend-mode: multiply !important;
  }
  .purpose01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .purpose01 h4 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 2.1rem !important;
    font-weight: 400 !important;
    line-height: 3.8rem !important;
    margin-bottom: 4rem !important;
  }
  .purpose01 h4 .en {
    display: inline-block !important;
    width: 100% !important;
    position: relative !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 2.5rem !important;
    margin-top: 1rem !important;
  }
  .purpose01 .copy01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 4rem !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 4rem !important;
  }
  .purpose01 .image01 {
    float: left !important;
    width: 52% !important;
    position: relative !important;
  }
  .purpose01 .image02 {
    float: right !important;
    width: 45% !important;
    position: relative !important;
  }
  .principals01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 4rem !important;
  }
  .principals01 .copy01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 2rem !important;
    line-height: 7rem !important;
    letter-spacing: 0.1em !important;
  }
  .principals_img {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .principals_img .image01 {
    float: left !important;
    width: 46% !important;
    position: relative !important;
  }
  .principals_img .image02 {
    float: right !important;
    width: 50% !important;
    position: relative !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .attitude .main_img {
    background-color: #FFF !important;
  }
  .attitude01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 6rem !important;
  }
  .attitude01 .copy01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
    margin-bottom: 7rem !important;
  }
  .attitude01 .image01 {
    float: left !important;
    width: 64% !important;
    position: relative !important;
  }
  .attitude01 .image02 {
    float: right !important;
    width: 32% !important;
    position: relative !important;
  }
  .attitude02 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 6rem !important;
  }
  .attitude02 .copy01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
    margin-bottom: 6rem !important;
  }
  .attitude02 .image01 {
    float: left !important;
    width: 39.6% !important;
    position: relative !important;
    margin-right: 4% !important;
  }
  .attitude02 .image02 {
    float: left !important;
    width: 28.3% !important;
    position: relative !important;
    margin-right: 4% !important;
  }
  .attitude02 .image03 {
    float: left !important;
    width: 23.5% !important;
    position: relative !important;
  }
  .attitude03 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
  }
  .ourview {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 6rem !important;
  }
  .ourview li {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 4rem !important;
  }
  .ourview li:last-child {
    margin-bottom: 0 !important;
  }
  .ourview li .image01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 2rem !important;
  }
  .ourview li h4 {
    float: left !important;
    width: 100% !important;
    font-size: 2.1rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 1rem !important;
  }
  .ourview li .text {
    float: left !important;
    width: 100% !important;
    line-height: 3.8rem !important;
  }
  .photogallery {
    float: left !important;
    width: 120% !important;
    position: relative !important;
    margin-left: -10% !important;
  }
  .photogallery li {
    float: left !important;
    width: 49.8% !important;
    height: 14rem !important;
    position: relative !important;
    margin-right: 0.26% !important;
    margin-bottom: 0.1rem !important;
  }
  .photogallery li:nth-child(2n),
  .photogallery li:last-child {
    margin-right: 0 !important;
  }
  .photogallery li a {
    float: left !important;
    width: 100% !important;
    height: 100% !important;
  }
  .photogallery li a:hover {
    opacity: 0.5 !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .creative01 {
    float: left !important;
    width: 47.5% !important;
    position: relative !important;
    background-color: #FFF !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    margin-bottom: 2rem !important;
    margin-right: 0 !important;
  }
  .creative01:nth-child(2n) {
    float: right !important;
  }
  .creative01 .image01 {
    float: left !important;
    width: 100% !important;
    height: 16rem !important;
    position: relative !important;
  }
  .creative01 .image01 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .creative01 h4 {
    float: left !important;
    width: 100% !important;
    min-height: 11rem !important;
    position: relative !important;
    font-size: 1.3rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    line-height: 2.5rem !important;
    padding: 1.5rem 1rem 2rem 1.5rem !important;
    box-sizing: border-box !important;
  }
  .creative01 h4 .en {
    float: left !important;
    width: 100% !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
  }
  .creative01:hover,
  .blog01:hover {
    opacity: 0.5 !important;
  }
  .creative_base .mainimg {
    float: left !important;
    width: 100% !important;
    height: 28rem !important;
    position: relative !important;
    text-align: center !important;
    background-color: #FFF !important;
    margin-bottom: 6rem !important;
  }
  .creative_base .mainimg img {
    width: auto !important;
    height: 100% !important;
  }
  .client {
    background-color: #FFF !important;
    padding: 3rem !important;
    box-sizing: border-box !important;
  }
  .creative_wrap img {
    max-width: 100% !important;
    height: auto !important;
  }
  .comment {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    background-color: #FFF !important;
    margin-top: 7rem !important;
    padding: 3rem !important;
    box-sizing: border-box !important;
  }
  .comment h4 {
    float: left !important;
    width: 100% !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 2.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .tag_list {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-top: 5rem !important;
  }
  .tag_list dt {
    width: 8rem !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 3rem !important;
  }
  .tag_list dt:before {
    content: "" !important;
    width: 3.6rem !important;
    height: 0.1rem !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    background-color: #000000 !important;
  }
  .tag_list dd {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 3rem !important;
    padding-left: 10rem !important;
    box-sizing: border-box !important;
  }
  .tag_list dd a {
    font-size: 1.4rem !important;
    letter-spacing: 0.1em !important;
    margin-right: 1rem !important;
  }
  .tag_list dd a:last-child {
    margin-right: 0 !important;
  }
  .tag_list dd a:hover {
    text-decoration: underline !important;
  }
  .works_base .mainimg {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 6rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .pricebox {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    background-color: #FFF !important;
    padding: 3rem 2rem 4rem 2rem !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    margin-bottom: 3rem !important;
    box-sizing: border-box !important;
  }
  .pricebox:last-child {
    margin-bottom: 0 !important;
  }
  .pricebox h4 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 1.8rem !important;
    font-weight: 400 !important;
    letter-spacing: 0em !important;
  }
  .pricebox .price_text {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 2rem !important;
  }
  .pricebox .price_section {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    box-sizing: border-box !important;
    margin-bottom: 2rem !important;
  }
  .pricebox .price_section:first-child {
    margin-top: 5rem !important;
  }
  .pricebox .price_section:last-child {
    margin-bottom: 0 !important;
  }
  .pricebox .price_section:first-child:before {
    content: "" !important;
    width: 2.8rem !important;
    height: 0.1rem !important;
    position: absolute !important;
    top: -3rem !important;
    left: 0 !important;
    background-color: #000000 !important;
  }
  .pricebox .price_section dt {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 3.2rem !important;
  }
  .pricebox .price_section dd {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 3.2rem !important;
  }
  .pricebox .price_list {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .pricebox .price_list li {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 3.2rem !important;
  }
  .pricebox .price_list li .price {
    float: right !important;
  }
  .works_btn {
    display: inline-block !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
    font-size: 1.4rem !important;
    letter-spacing: 0em !important;
    background-color: #000000 !important;
    background-image: url("../images/icon_arrow03.png") !important;
    background-position: left 1rem top 1.5rem !important;
    background-repeat: no-repeat !important;
    background-size: 4rem auto !important;
    border-radius: 4.3rem !important;
    padding: 1rem 1rem 1rem 2rem !important;
    box-sizing: border-box !important;
  }
  .works_btn:hover {
    background-position: left 2rem top 1.5rem !important;
  }
  .faq_list {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 4rem !important;
  }
  .faq_list li {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 2rem !important;
  }
  .faq_list li:last-child {
    margin-bottom: 0 !important;
  }
  .faq_list li a {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 1.4rem !important;
    letter-spacing: 0em !important;
    line-height: 2.4rem !important;
    background-color: #FFF !important;
    padding: 1.8rem 4rem 1.8rem 2rem !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    box-sizing: border-box !important;
  }
  .faq_list li a:before {
    content: "" !important;
    width: 0.7rem !important;
    height: 0.7rem !important;
    position: absolute !important;
    top: 50% !important;
    right: 1.8rem !important;
    margin-top: -0.3rem !important;
    border-top: 0.1rem solid #000000 !important;
    border-right: 0.1rem solid #000000 !important;
    box-sizing: border-box !important;
    transform: rotate(45deg) !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .aboutbox {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .aboutbox .about01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .aboutbox .about01 .about_text {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }
  .aboutbox .about01 .about_text .type {
    float: left !important;
    width: 100% !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    line-height: 2.5rem !important;
    margin-bottom: 1rem !important;
  }
  .aboutbox .about01 .about_text h4 {
    float: left !important;
    width: 100% !important;
    font-weight: 400 !important;
    margin-bottom: 2rem !important;
  }
  .aboutbox .about01 .about_text h4 .en {
    display: inline-block !important;
    font-size: 2.5rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em !important;
    margin-right: 2rem !important;
  }
  .aboutbox .about01 .about_text .text {
    float: left !important;
    width: 100% !important;
    font-size: 1.6rem !important;
    line-height: 4.2rem !important;
    margin-bottom: 2.5rem !important;
  }
  .aboutbox .about_img {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 3rem !important;
  }
  .aboutbox p.box02 {
    line-height: 4.2rem !important;
  }
  .staff01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .staff01 .image01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 1rem !important;
  }
  .staff01 .staff_info {
    float: left !important;
    width: 100% !important;
    position: relative !important;
  }
  .staff01 .staff_info h4 {
    float: left !important;
    width: 100% !important;
    font-weight: 400 !important;
    margin-bottom: 2rem !important;
  }
  .staff01 .staff_info h4 .en {
    float: left !important;
    font-size: 2.2rem !important;
    letter-spacing: 0.1em !important;
    line-height: 3.8rem !important;
    margin-right: 1.5rem !important;
  }
  .staff01 .staff_info .katagaki {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.1em !important;
  }
  .staff01 .staff_info .profile {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    margin-bottom: 2rem !important;
  }
  .staff01 .staff_info .profile dt {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.1em !important;
    line-height: 2.8rem !important;
    padding-left: 2.1rem !important;
    box-sizing: border-box !important;
  }
  .staff01 .staff_info .profile dt:before {
    content: "" !important;
    width: 1.3rem !important;
    height: 0.1rem !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    background-color: #000000 !important;
  }
  .staff01 .staff_info .profile dd {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 3.2rem !important;
  }
  .map {
    float: left !important;
    width: 120% !important;
    height: 40rem !important;
    position: relative !important;
    overflow: hidden !important;
    margin-top: 5rem !important;
    margin-left: -10% !important;
  }
  .map iframe {
    width: 100% !important;
    height: 40rem !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .space01 {
    padding: 4rem 2rem !important;
    margin-bottom: 7rem !important;
  }
  .space_photo {
    width: 120% !important;
    margin-left: -10% !important;
  }
  .space_photo li {
    width: 49.7% !important;
    height: 16rem !important;
    margin-right: initial !important;
  }
  .space_photo li:nth-child(2n) {
    float: right !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .blog_menubox {
    margin-top: 10rem !important;
    padding-top: 7rem !important;
    margin-bottom: 0 !important;
  }
  .blog_menubox:before {
    width: 100% !important;
    left: 0 !important;
  }
  .blog_menu h2,
  .widget h2 {
    float: left !important;
    width: 17.8rem !important;
    position: relative !important;
  }
  .blog_menu ul,
  .widget ul {
    padding-left: 0 !important;
  }
  .blog_menu ul li,
  .widget ul li {
    line-height: 3.4rem !important;
    margin-right: 2rem !important;
  }
  .tagcloud {
    padding-left: 0 !important;
  }
  .tagcloud a {
    line-height: 3.4rem !important;
    margin-right: 2rem !important;
  }
  .blog_wrap h1 {
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    line-height: 3.4rem !important;
    margin-bottom: 1rem !important;
  }
  .blog_wrap iframe {
    width: 100% !important;
    height: 30rem !important;
  }
  blockquote {
    padding: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .writer_info {
    padding: 3rem !important;
    margin-top: 5rem !important;
  }
  .youtube {
    height: 30rem !important;
  }
  .youtube iframe {
    height: 30rem !important;
  }
  .blog01 {
    width: 100% !important;
    margin-bottom: 3rem !important;
  }
  .blog01:last-child {
    margin-bottom: 0 !important;
  }
  .blog01 .blog_img {
    height: 26rem !important;
  }
  .blog01 .copy01 {
    display: none !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .faq01 {
    float: left !important;
    width: 100% !important;
    min-height: 8rem !important;
    position: relative !important;
    background-color: #FFF !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    margin-bottom: 2rem !important;
  }
  .faq01:last-child {
    margin-bottom: 0 !important;
  }
  .faq01 .q {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    padding: 1.7rem 5rem 1.7rem 2rem !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
  }
  .faq01 .q:before {
    content: "" !important;
    width: 1.7rem !important;
    height: 0.1rem !important;
    position: absolute !important;
    top: 4rem !important;
    right: 2rem !important;
    background-color: #000000 !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
  }
  .faq01 .q:after {
    content: "" !important;
    width: 0.1rem !important;
    height: 1.7rem !important;
    position: absolute !important;
    top: 3.2rem !important;
    right: 2.8rem !important;
    background-color: #000000 !important;
  }
  .faq01 .q.select:after {
    display: none !important;
  }
  .faq01 .q dt {
    position: absolute !important;
    top: 1.6rem !important;
    left: 2rem !important;
    font-size: 2rem !important;
    line-height: 2.8rem !important;
  }
  .faq01 .q dd {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 2.8rem !important;
    padding-left: 3rem !important;
    font-size: 1.6rem !important;
    box-sizing: border-box !important;
  }
  .faq01 .a {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    padding: 0 2rem 2rem 5rem !important;
    box-sizing: border-box !important;
    display: none !important;
  }
  .faq01 .a dt {
    position: absolute !important;
    top: 0 !important;
    left: 2rem !important;
    font-size: 2rem !important;
  }
  .faq01 .a dd {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    line-height: 3.2rem !important;
    padding-top: 0.7rem !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }
}
@media screen and (min-width: 740px) and (max-width: 820px) {
  .form01 {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    background-color: #FFF !important;
    box-shadow: 0 0.1rem 1rem hsla(0, 0%, 0%, 0.08) !important;
    padding: 3rem !important;
    box-sizing: border-box !important;
    margin-top: 6rem !important;
  }
  .tag01 {
    display: inline-block !important;
    width: 4.6rem !important;
    height: 2.2rem !important;
    text-align: center !important;
    font-size: 1.3rem !important;
    line-height: 2.1rem !important;
    background-color: #f3e521 !important;
    border-radius: 0.3rem !important;
    box-sizing: border-box !important;
    margin-right: 1rem !important;
  }
  .tag02 {
    display: inline-block !important;
    width: 4.6rem !important;
    height: 2.2rem !important;
    text-align: center !important;
    color: #FFF !important;
    font-size: 1.3rem !important;
    line-height: 2.1rem !important;
    background-color: #8e8e8e !important;
    border-radius: 0.3rem !important;
    box-sizing: border-box !important;
    margin-right: 1rem !important;
  }
  #mailform input,
  #mailform select,
  #mailform textarea {
    float: left !important;
    position: relative !important;
    font-size: 1.6rem !important;
    background-color: #FFF !important;
    border: 0.2rem solid #e2e2e2 !important;
    border-radius: 0.3rem !important;
    padding: 1rem 1.5rem !important;
    box-sizing: border-box !important;
  }
  #mailform input[type=text],
  #mailform input[type=email],
  #mailform input[type=tel] {
    width: 100% !important;
    height: 5.2rem !important;
  }
  #mailform input[type=radio] {
    width: 2rem !important;
    height: 2rem !important;
    margin: 1rem 0 0 0 !important;
  }
  #mailform select {
    width: 100% !important;
    height: 5rem !important;
  }
  .select_form01 {
    width: 51.7% !important;
    min-width: 30.5rem !important;
  }
  #mailform textarea {
    width: 100% !important;
    height: 20rem !important;
  }
  .text_form01 {
    width: 51.7% !important;
    min-width: 30.5rem !important;
    margin-right: 1.5rem !important;
  }
  .text_form02 {
    width: 38.2% !important;
    margin-right: 1rem !important;
  }
  #mailform input[type=checkbox] {
    width: 2rem !important;
    height: 2rem !important;
    margin: 0.8rem 1rem 0 0 !important;
  }
  #mailform label {
    float: left !important;
    width: auto !important;
  }
  .send {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
    margin-top: 3rem !important;
  }
  .sendbtn01 {
    display: inline-block !important;
    width: 26rem !important;
    height: 7rem !important;
    position: relative !important;
    color: #FFF !important;
    font-size: 1.8rem !important;
    font-family: zen-old-mincho, sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    background-color: #000000 !important;
    background-image: url("../images/icon_arrow03.svg") !important;
    background-position: left 1rem center !important;
    background-repeat: no-repeat !important;
    background-size: 6rem auto !important;
    border: none !important;
    border-radius: 4.3rem !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    padding-bottom: 0.6rem !important;
    box-sizing: border-box !important;
  }
  div.wpcf7-response-output {
    float: left !important;
    width: 100% !important;
    position: relative !important;
    text-align: center !important;
    box-sizing: border-box !important;
    margin: 40px 0 0 0 !important;
  }
  span.wpcf7-not-valid-tip {
    float: left !important;
    width: 100% !important;
  }
  #mailform span.wpcf7-list-item {
    margin: 5px 0 0 0 !important;
  }
  #mailform .wpcf7-list-item-label {
    float: right !important;
    font-size: 16px !important;
    line-height: 2.3em !important;
    padding-left: 5px !important;
    margin-right: 20px !important;
  }
}
/* Keep the complete menu reachable in short windows and at high zoom. */
header #mainnavi { overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; }
@media (max-height:640px) {
 header #mainnavi .navibox { top:0; transform:none; padding:80px 0 32px; box-sizing:border-box; }
}
@media (max-width:820px) {
 button.openbtn { min-height:44px; background:#fff !important; }
}
/* YouTube embeds in the custom Works template otherwise retain a 500px width. */
.creative_wrap iframe[src*="youtube.com/embed/"],
.creative_wrap iframe[src*="youtube-nocookie.com/embed/"] {
 display:block; width:100% !important; max-width:100%; height:auto !important; aspect-ratio:16 / 9;
}
#soundtrack, #listen, #watch, #lecture-video { scroll-margin-top:80px; }
