/* 渋谷配下の共通ブロック4つに要る規則だけを、旧サイトのCSSと
   ページ内のstyleから抜き出したもの。
   class を持たない素の規則は、ブロックの入れ物の下へ閉じ込めてある。
   rem はページ側の基準文字サイズで結果が変わるため、旧サイトと同じ値を
   持たせた変数からの計算に置き換えてある。ページ全体の見た目は変えない。 */
@charset "UTF-8";
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    --shibuya-rem: 16px;
}
@media screen and (max-width: 767px) {
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        --shibuya-rem: 3.73333vw;
    }
}

@media screen and (min-width: 768px) {
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *, *:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        margin: 0px;
        padding: 0px
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif !important
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        font-weight: 400;
        color: #000;
        line-height: 100%;
        -webkit-text-size-adjust: 100%;
        -webkit-font-smoothing: antialiased
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) img {
        border: none;
        outline: none
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:link {
        TEXT-DECORATION: none;
        outline: none;
        transition: all 0.12s ease-in 0s
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:visited {
        TEXT-DECORATION: none;
        outline: none;
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:hover {
        TEXT-DECORATION: none;
        outline: none;
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:active {
        TEXT-DECORATION: none;
        outline: none;
    }
    .img_max_w100 {
        max-width: 100%;
        height: auto
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) ul {
        list-style-type: none
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p {
        line-height: 200%;
        font-weight: 400
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p a {
        text-decoration: underline !important;
        color: #983169 !important
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p a:hover {
        opacity: 0.8;
        -moz-opacity: 0.8;
        filter: alpha(opacity=80)
    }
    .text_center {
        text-align: center !important
    }
}
@media screen and (max-width: 769px) {
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *, *:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        margin: 0px;
        padding: 0px
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif !important
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        font-size: 1.4em;
        font-weight: 400;
        color: #000;
        line-height: 100%;
        -webkit-text-size-adjust: 100%;
        -webkit-font-smoothing: antialiased
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:link {
        TEXT-DECORATION: none;
        outline: none;
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:visited {
        TEXT-DECORATION: none;
        outline: none;
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:hover {
        TEXT-DECORATION: none;
        outline: none;
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:active {
        TEXT-DECORATION: none;
        outline: none;
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) ul {
        list-style: none
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p {
        font-size: calc(1.4 * var(--shibuya-rem));
        line-height: 200%;
        margin-bottom: 15px
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p a {
        text-decoration: underline !important;
        color: #983169 !important
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) img {
        width: 100%;
        height: auto
    }
    .text_center {
        text-align: center !important
    }
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *, *:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    -moz-box-sizing:border-box;box-sizing:border-box
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *:before, *:before:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed), :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *:after, *:after:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    -moz-box-sizing:border-box;box-sizing:border-box
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a {
    color:#337ab7;text-decoration:none
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:hover, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:focus {
    color:#23527c;text-decoration:underline
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:focus {
    outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) figure {
    margin:0
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) img {
    vertical-align:middle
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) h2 {
    font-family:inherit;font-weight:500;line-height:1.1;color:inherit
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) h2 {
    margin-top:20px;margin-bottom:10px
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) h2 {
    font-size:30px
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p {
    margin:0 0 10px
}
.text-left {
    text-align:left
}
.text-center {
    text-align:center
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) ul {
    margin-top:0;margin-bottom:10px
}
.container {
    margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px
}
.container:before, .container:after {
    content:" ";display:table
}
.container:after {
    clear:both
}
@media (min-width: 768px) {
    .container {
        width:750px
    }
}
@media (min-width: 992px) {
    .container {
        width:970px
    }
}
@media (min-width: 1200px) {
    .container {
        width:1170px
    }
}
.col-sm-6, .col-xs-12 {
    position:relative;min-height:1px;padding-left:15px;padding-right:15px
}
.col-xs-12 {
    float:left
}
.col-xs-12 {
    width:100%
}
@media (min-width: 768px) {
    .col-sm-6 {
        float:left
    }
    .col-sm-6 {
        width:50%
    }
}
.pull-left {
    float:left !important
}
.material-icons {
    font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;vertical-align:middle;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased
}
.margin_b_small {
    margin-bottom:4vw !important
}
.margin_b_medium {
    margin-bottom:8vw !important
}
.margin_s_none {
    margin-left:0 !important;margin-right:0 !important
}
.padding_b_medium {
    padding-bottom:8vw !important
}
@media screen and (min-width: 768px) {
    .margin_b_small {
        margin-bottom:19px !important
    }
    .margin_b_medium {
        margin-bottom:38px !important
    }
    .margin_s_none {
        margin-left:0 !important;margin-right:0 !important
    }
    .padding_b_medium {
        padding-bottom:38px !important
    }
}
.row_grid {
    display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex
}
.justify_center {
    -webkit-box-pack:center !important;-webkit-justify-content:center !important;-moz-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important
}
.item_center {
    -webkit-box-align:center !important;-webkit-align-items:center !important;-moz-box-align:center !important;-ms-flex-align:center !important;align-items:center !important
}
.row_grid {
    -webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-7.5px;margin-right:-7.5px;margin-left:-2vw;margin-right:-2vw
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) [class*="grid_"] {
    padding-left:7.5px;padding-right:7.5px;padding-left:2vw;padding-right:2vw;width:100%
}
.grid_1_1 {
    width:100% !important
}
.grid_1_2 {
    width:50% !important
}
.grid_xs_1_1 {
    width:100% !important
}
.grid_xs_2_12 {
    width:16.66667% !important
}
.grid_xs_4_12 {
    width:33.33333% !important
}
@media screen and (min-width: 768px) {
    .row_grid {
        margin-left:-15px;margin-right:-15px
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) [class*="grid_"] {
        padding-left:15px;padding-right:15px
    }
    .grid_sm_1_2 {
        width:50% !important
    }
    .grid_sm_1_12 {
        width:8.33333% !important
    }
    .grid_sm_2_12 {
        width:16.66667% !important
    }
}
@media all and (-ms-high-contrast: none) {
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *::-ms-backdrop, *::-ms-backdrop:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        width:100%
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *::-ms-backdrop, *::-ms-backdrop:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed), :root .row_grid>* {
        width:auto
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *::-ms-backdrop, *::-ms-backdrop:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        width:auto
    }
}
.text_around {
    display:block
}
.text_around:before, .text_around:after {
    content:"";display:block;clear:both
}
.text_around>[class*="col-"] {
    padding-right:15px;padding-left:0
}
@media (min-width: 0) and (max-width: 767px) {
    .text_around>.col-xs-12 {
        padding-left:0;padding-right:0;font:none
    }
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) div, div:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed), :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) span, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) h2, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) img, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) i, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) ul, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) li, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) figure, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) section, section:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed), :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) div, div:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed), :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) span, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) h2, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) p, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) img, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) i, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) ul, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) li, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) figure, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) section, section:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    margin:0;padding:0;border:0;font-style:normal;font-size:100%;vertical-align:baseline
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    font-style:normal
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed), :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    font-style:normal;font-size:100%
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) div, div:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed), :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) figure, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) section, section:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    display:block
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) img {
    vertical-align:bottom
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) ul {
    list-style:none
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:focus {
    outline:none
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *, *:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    word-wrap:break-word;word-break:break-all
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-size:calc(1 * var(--shibuya-rem));font-family:"游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"Helvetica Neue",Helvetica,Arial,sans-serif !important;line-height:1.7
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) img {
    max-width:100%;height:auto
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) h2 {
    line-height:1.2;font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) h2 * {
    font-family:"游ゴシック体",YuGothic,"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"Helvetica Neue",Helvetica,Arial,sans-serif !important
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a {
    color:#983169;text-decoration:underline;transition:.35s;-moz-transition:.35s;-webkit-transition:.35s;-o-transition:.35s;-ms-transition:.35s
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:hover, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:focus {
    color:#E1CED2;text-decoration:none
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a[class*="btn"] {
    text-decoration:none
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a>img {
    -webkit-backface-visibility:hidden;backface-visibility:hidden;transition:.35s;-moz-transition:.35s;-webkit-transition:.35s;-o-transition:.35s;-ms-transition:.35s
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:hover>img, :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) a:focus>img {
    opacity:.8
}
.font_weight_bold {
    font-weight:bold !important
}
.text-left {
    text-align:left !important
}
.text-center {
    text-align:center !important
}
.font_medium {
    font-size:calc(1.28571 * var(--shibuya-rem)) !important
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    font-size:calc(1 * var(--shibuya-rem)) !important
}
.font_small {
    font-size:calc(.85714 * var(--shibuya-rem)) !important
}
.font_notice {
    font-size:calc(.78571 * var(--shibuya-rem)) !important
}
.font_color_base {
    color:#000 !important
}
@media screen and (min-width: 768px) {
    .font_medium {
        font-size:calc(1.25 * var(--shibuya-rem)) !important
    }
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
        font-size:calc(1 * var(--shibuya-rem)) !important
    }
    .font_small {
        font-size:calc(.875 * var(--shibuya-rem)) !important
    }
    .font_notice {
        font-size:calc(.75 * var(--shibuya-rem)) !important
    }
}
.frame_main_medium {
    padding:30px
}
.frame_main_medium {
    border:1px solid #983169;background:#fff
}
@media screen and (min-width: 768px) {
    .content_wrap {
        position: relative;
        z-index: 3;
        width: 100%;
        max-width: 1210px;
        margin: 0 auto;
        padding: 0 40px 0;
        box-sizing: border-box
    }
    .btn_red {
        position: relative;
        display: inline-block;
        background-color: #fff;
        border: 1px solid #983169;
        color: #983169 !important;
        font-weight: 700;
        font-family: "Lora", serif;
        letter-spacing: 1px;
        line-height: 120%;
        text-align: center;
        padding: 14px 72px 14px 20px;
        box-sizing: border-box
    }
    .btn_red:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 5px;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250207);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s
    }
    .btn_red:hover {
        background-color: #983169;
        color: #fff !important
    }
    .btn_red:hover:after {
        background-image: url(../../img/shibuya/common/arrow01_white.png);
        background-position: left center
    }
    .btn_red {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        font-size: calc(1.2 * var(--shibuya-rem));
        line-height: 120%;
        padding: 20px 15% 20px 15%;
        border: 1px solid #E1CED2;
        background-color: #983169;
        color: #fff !important
    }
    .btn_red:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 5px;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250207);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s;
        background-image: url(../../img/shibuya/common/arrow02_white.png)
    }
    .btn_red:hover {
        background-color: #fff;
        color: #983169 !important
    }
    .btn_red:hover:after {
        background-image: url(../../img/shibuya/common/arrow01_long.png?20250207)
    }
    .h2_center, .h2_center_s {
        font-size: calc(2.6 * var(--shibuya-rem));
        font-weight: 600;
        font-family: "Lora", serif;
        color: #983169;
        line-height: 100%;
        letter-spacing: 4px;
        padding-bottom: 50px;
        text-align: center
    }
    .h2_center span {
        display: block;
        font-weight: 500;
        padding-top: 20px;
        letter-spacing: 1px
    }
    .h2_center_s {
        font-size: calc(3 * var(--shibuya-rem));
        font-weight: 500;
        line-height: 120%;
        letter-spacing: -2px;
        padding-bottom: 70px
    }
    .top_contact {
        position: relative;
        z-index: 1;
        padding: 0 0 120px
    }
    .top_contact ul.top {
        position: relative;
        z-index: 2;
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: nowrap;
        box-sizing: border-box
    }
    .top_contact ul.top li {
        width: 100%;
        box-sizing: border-box
    }
    .top_contact ul.top li a {
        position: relative;
        display: block;
        width: 100%;
        text-align: center;
        color: #fff;
        font-size: calc(1.6 * var(--shibuya-rem));
        font-weight: 700;
        letter-spacing: 1px;
        background-color: #983169;
        padding: 42px 10px;
        box-sizing: border-box;
        border: 1px solid #983169;
        border-bottom: none
    }
    .top_contact ul.top li a span {
        position: relative;
        padding-left: 20px
    }
    .top_contact ul.top li a span:before {
        content: "";
        position: absolute;
        display: block;
        left: -20px;
        top: -3px;
        width: 26px;
        height: 29px;
        background-image: url(../../img/shibuya/common/icon_memo_white.png);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: 100% auto;
        transition: all 0.12s ease-in 0s
    }
    .top_contact ul.top li a:hover {
        color: #983169;
        text-decoration: none;
        background-color: #fff
    }
    .top_contact ul.top li a:hover span:before {
        background-image: url(../../img/shibuya/common/icon_memo.png?20250207)
    }
    .top_group {
        position: relative;
        z-index: 3;
        background-image: url(../../img/shibuya/common/top_group_bg01.png);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        padding: 100px 0 80px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }
    .top_group ul.top_group_list li {
        width: 32%;
        margin-bottom: 20px
    }
    .top_group ul.top_group_list li a {
        position: relative;
        display: block;
        width: 100%;
        height: 188px;
        background-color: #fff;
        padding: 35px 25px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list li a:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 5px;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250207);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a:hover {
        background-color: #983169;
        text-decoration: none;
        color: #fff !important
    }
    .top_group ul.top_group_list li a:hover:after {
        text-decoration: none;
        background-image: url(../../img/shibuya/common/arrow01_white.png);
        background-position: left center
    }
    .top_group ul.top_group_list li a .name {
        color: #983169;
        font-size: calc(1.4 * var(--shibuya-rem));
        font-weight: 700;
        line-height: 120%;
        padding-bottom: 20px;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a:hover .name {
        text-decoration: none;
        color: #fff
    }
    .top_group ul.top_group_list::after {
        content: "";
        display: block;
        width: 32%
    }
    .cnt_border_top {
        position: relative;
        padding: 100px 0 140px;
        border: none
    }
    .cnt_border_top {
        border-top: 1px solid #e6e6e6
    }
    .cnt_border_top:before {
        content: "";
        position: absolute;
        display: block;
        top: -1px;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 120px;
        height: 3px;
        background-color: #983169
    }
}
@media screen and (max-width: 769px) {
    .content_wrap {
        position: relative;
        z-index: 3;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 4% 0;
        box-sizing: border-box
    }
    .btn_red {
        position: relative;
        display: inline-block;
        background-color: #fff;
        border: 1px solid #983169;
        color: #983169 !important;
        font-weight: 600;
        font-family: "Lora", serif;
        letter-spacing: 1.5px;
        text-align: center;
        padding: 14px 55px 14px 18px
    }
    .btn_red:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 0;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250207);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s
    }
    .btn_red {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        line-height: 150%;
        width: 100%;
        padding: 15px 30px 15px 10px;
        box-sizing: border-box;
        border: 1px solid #E1CED2;
        background-color: #983169;
        color: #fff !important
    }
    .btn_red:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 0;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250207);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s;
        background-image: url(../../img/shibuya/common/arrow02_white.png)
    }
    .h2_center, .h2_center_s {
        font-size: calc(2 * var(--shibuya-rem));
        font-weight: 400;
        font-family: "Lora", serif;
        color: #983169;
        line-height: 100%;
        letter-spacing: 3px;
        padding-bottom: 32px;
        text-align: center
    }
    .h2_center span {
        display: block;
        font-weight: 500;
        padding-top: 4px;
        letter-spacing: 1px
    }
    .h2_center_s {
        font-weight: 700;
        letter-spacing: -2px;
        padding-bottom: 50px;
        line-height: 150%
    }
    .top_contact {
        position: relative;
        z-index: 1;
        padding: 0 0 65px
    }
    .top_contact ul.top {
        position: relative;
        z-index: 2;
        width: 100%
    }
    .top_contact ul.top li {
        width: 100%;
        box-sizing: border-box
    }
    .top_contact ul.top li a {
        position: relative;
        display: block;
        width: 100%;
        text-align: center;
        color: #fff;
        font-size: calc(1.2 * var(--shibuya-rem));
        font-weight: 700;
        letter-spacing: 1px;
        background-color: #983169;
        padding: 32px 10px;
        box-sizing: border-box;
        border: 1px solid #983169;
        border-bottom: none
    }
    .top_contact ul.top li a span {
        position: relative;
        padding-left: 20px
    }
    .top_contact ul.top li a span:before {
        content: "";
        position: absolute;
        display: block;
        left: -15px;
        top: -7px;
        width: 22px;
        height: 29px;
        background-image: url(../../img/shibuya/common/icon_memo_white.png);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: 100% auto;
        transition: all 0.12s ease-in 0s
    }
    .top_group {
        position: relative;
        z-index: 3;
        background-image: url(../../img/shibuya/common/top_group_bg01_sp.png);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        padding: 60px 0 55px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }
    .top_group ul.top_group_list li {
        width: 100%;
        margin-bottom: 10px
    }
    .top_group ul.top_group_list li a {
        position: relative;
        display: block;
        width: 100%;
        background-color: #fff;
        padding: 20px 20px 10px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list li a:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 0;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250207);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a .name {
        color: #983169;
        font-size: calc(1.2 * var(--shibuya-rem));
        font-weight: 700;
        line-height: 120%;
        padding-bottom: 10px;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a p {
        margin-bottom: 0
    }
    .cnt_border_top {
        position: relative;
        padding: 50px 0 60px;
        border: none
    }
    .cnt_border_top {
        border-top: 1px solid #e6e6e6
    }
    .cnt_border_top:before {
        content: "";
        position: absolute;
        display: block;
        top: -1px;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 100px;
        height: 3px;
        background-color: #983169
    }
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) *, *:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
}
.gap-small {
    gap: calc(0.9 * var(--shibuya-rem));
}
@media (min-width: 768px) {
    .gap-small {
        gap: calc(1.0 * var(--shibuya-rem));
    }
}
.fixed {
    position: fixed;
}
.bottom-\[0\] {
    bottom: 0;
}
.z-\[9999\] {
    z-index: 9999;
}
.col-span-2 {
    grid-column: span 2 / span 2;
}
.col-span-3 {
    grid-column: span 3 / span 3;
}
.block {
    display: block;
}
.flex {
    display: flex;
}
.grid {
    display: grid;
}
.h-\[60px\] {
    height: 60px;
}
.w-\[19\%\] {
    width: 19%;
}
.w-full {
    width: 100%;
}
.grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.items-center {
    align-items: center;
}
.justify-center {
    justify-content: center;
}
.gap-none {
    gap: calc(0 * var(--shibuya-rem));
}
.bg-main-base {
    --tw-bg-opacity: 1;
    background-color: rgb(152 49 105 / var(--tw-bg-opacity));
}
.bg-main-light {
    --tw-bg-opacity: 1;
    background-color: rgb(243 242 243 / var(--tw-bg-opacity));
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.font-yugothic {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.\!text-\[35px\] {
    font-size: 35px !important;
}
.text-\[15px\] {
    font-size: 15px;
}
.font-bold {
    font-weight: bold;
}
.leading-\[200\%\] {
    line-height: 200%;
}
.text-\[\#F5F5F5\] {
    --tw-text-opacity: 1;
    color: rgb(245 245 245 / var(--tw-text-opacity));
}
.text-main-base {
    --tw-text-opacity: 1;
    color: rgb(152 49 105 / var(--tw-text-opacity));
}
.duration-short {
    transition-duration: 250ms;
}
.\[-webkit-font-smoothing\:antialiased\] {
    -webkit-font-smoothing: antialiased;
}
.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
}
.hover\:no-underline:hover {
    text-decoration-line: none;
}
@media (min-width: 992px) {
    .md\:hidden {
        display: none;
    }
}
.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) :root {
    --wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px
}
@media (min-resolution:192dpi) {
    :where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) :root {
        --wp-admin-border-width-focus:1.5px
    }
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) :root {
    --wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) :where(figure) {
    margin:0 0 1em
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) :root {
    --wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: calc(0.44 * var(--shibuya-rem));--wp--preset--spacing--30: calc(0.67 * var(--shibuya-rem));--wp--preset--spacing--40: calc(1 * var(--shibuya-rem));--wp--preset--spacing--50: calc(1.5 * var(--shibuya-rem));--wp--preset--spacing--60: calc(2.25 * var(--shibuya-rem));--wp--preset--spacing--70: calc(3.38 * var(--shibuya-rem));--wp--preset--spacing--80: calc(5.06 * var(--shibuya-rem));--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);
}
:where(section.cnt_border_top, section.top_contact, section.top_group, div.font_smoothing.fixed) :where(body) {
    margin: 0;
}
@media all and (min-width: 769px) {
    .top_group {
        position: relative;
        z-index: 3;
        background-image: url(../../img/shibuya/common/top_group_bg01.png);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        padding: 100px 0 80px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }
    .top_group ul.top_group_list li {
        width: 32%;
        margin-bottom: 20px
    }
    .top_group ul.top_group_list li a {
        position: relative;
        display: block;
        width: 100%;
        height: 188px;
        background-color: #fff;
        padding: 35px 25px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list li a:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 5px;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250124);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a:hover {
        background-color: #983169;
        text-decoration: none;
        color: #fff !important
    }
    .top_group ul.top_group_list li a:hover:after {
        text-decoration: none;
        background-image: url(../../img/shibuya/common/arrow01_white.png);
        background-position: left center
    }
    .top_group ul.top_group_list li a .name {
        color: #983169;
        font-size: calc(1.4 * var(--shibuya-rem));
        font-weight: 700;
        line-height: 120%;
        padding-bottom: 20px;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a:hover .name {
        text-decoration: none;
        color: #fff
    }
}
@media all and (max-width: 1100px) {
    .top_group ul.top_group_list li a {
        padding: 35px 35px 35px 15px
    }
    .top_group ul.top_group_list li a .name {
        font-size: calc(1.2 * var(--shibuya-rem))
    }
    .top_group ul.top_group_list li a p {
        line-height: 130%
    }
}
@media all and (min-width: 769px) {
    .top_group ul.top_group_list::after {
        content: "";
        display: block;
        width: 32%
    }
    .content_wrap {
        position: relative;
        z-index: 3;
        width: 100%;
        max-width: 1210px;
        margin: 0 auto;
        padding: 0 40px 0;
        box-sizing: border-box
    }
    .h2_center, .h2_center_s {
        font-size: calc(2.6 * var(--shibuya-rem));
        font-weight: 600;
        font-family: "Lora", serif;
        color: #983169;
        line-height: 100%;
        letter-spacing: 4px;
        padding-bottom: 50px;
        text-align: center
    }
    .h2_center span {
        display: block;
        font-weight: 500;
        padding-top: 20px;
        letter-spacing: 1px
    }
}
@media all and (max-width: 1100px) {
    .h2_center, .h2_center_s {
        font-size: calc(3 * var(--shibuya-rem));
        padding-bottom: 40px
    }
    .h2_center span {
        padding-top: 10px
    }
}
@media all and (max-width: 768px) {
    .top_group {
        position: relative;
        z-index: 3;
        background-image: url(../../img/shibuya/common/top_group_bg01_sp.png);
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        padding: 60px 0 55px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap
    }
    .top_group ul.top_group_list li {
        width: 100%;
        margin-bottom: 10px
    }
    .top_group ul.top_group_list li a {
        position: relative;
        display: block;
        width: 100%;
        background-color: #fff;
        padding: 20px 20px 10px;
        box-sizing: border-box
    }
    .top_group ul.top_group_list li a:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 0;
        width: 36px;
        height: 7px;
        background-image: url(../../img/shibuya/common/arrow01.png?20250124);
        background-repeat: no-repeat;
        background-position: left center;
        background-size: auto 100%;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a .name {
        color: #983169;
        font-size: calc(1.2 * var(--shibuya-rem));
        font-weight: 700;
        line-height: 120%;
        padding-bottom: 10px;
        transition: all 0.12s ease-in 0s
    }
    .top_group ul.top_group_list li a p {
        margin-bottom: 0
    }
    .content_wrap {
        position: relative;
        z-index: 3;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 4% 0;
        box-sizing: border-box
    }
    .h2_center, .h2_center_s {
        font-size: calc(2 * var(--shibuya-rem));
        font-weight: 400;
        font-family: "Lora", serif;
        color: #983169;
        line-height: 100%;
        letter-spacing: 3px;
        padding-bottom: 32px;
        text-align: center
    }
    .h2_center span {
        display: block;
        font-weight: 500;
        padding-top: 4px;
        letter-spacing: 1px
    }
}
.frame_main_medium {
    padding: 30px;
}
.frame_main_medium {
    border: 1px solid #983169;
    background: #fff;
}
