@charset "UTF-8";
@media screen and (min-width:1921px) {
  .top-mv img, .ftr-img img {
    width: 100%;
  }
  .sec03 .sec-ttl {
    margin-top: -4vw;
  }
}
@media screen and (max-width:1680px) {
  .sec03 .sec-ttl {
    margin-top: -5.6vw;
  }
  .sec04 p.link-profile {
    top: -2rem;
  }
  .sec04 p.name {
    margin-top: -1rem;
  }
}
@media screen and (max-width:1560px) {
  header .mypage.login {
    top: 2.5rem;
  }
  .drawer--right .drawer-nav .mypage {
    margin-top: -2.5rem;
  }
  .sec03 .sec-ttl {
    margin-top: -6vw;
  }
}
@media screen and (max-width:1440px) {
  /*-----------------------

         header          

-----------------------*/
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    width: 6.9479vw;
    height: 5.3854vw;
  }
  .drawer-hamburger-icon {
    margin-top: 1vw;
  }
  .drawer-hamburger-icon:before {
    top: -0.5vw;
  }
  .drawer-hamburger-icon:after {
    top: 0.8vw;
  }
  .drawer-hamburger .text {
    margin-top: 1.5vw;
  }
  header .mypage.login {
    right: 12vw;
    top: 3rem;
  }
  .drawer--right .drawer-nav .mypage {
    margin-top: -2rem;
  }
  .drawer--right .drawer-nav .mypage.loginBtn.login {
    margin-top: 1rem;
    margin-right: 9vw;
  }
  /*-----------------------

         TOP          

-----------------------*/
  .sec03 .sec-ttl {
    margin-top: -6.2vw;
  }
}
@media screen and (max-width:1368px) {
  .drawer--right .drawer-nav .mypage.loginBtn.login {
    margin-top: 0.5rem;
  }
  .sec03 .sec-ttl {
    margin-top: -6.4vw;
  }
}
@media screen and (max-width:1280px) {
  /*-----------------------

         COMMON          

-----------------------*/
  .container, .wrapper {
    width: 100%;
  }
  /*-----------------------

         下層ページ共通          

-----------------------*/
  .content-header .page-header {
    left: 2rem;
  }
  /*-----------------------

         TOP          

-----------------------*/
  .sec03::before {
    width: 100vw;
  }
  .sec03 .sec-ttl {
    margin-top: -6.6vw;
  }
  .sec05 .contents2Wrap {
    gap: 7rem 4rem;
  }
}
@media screen and (max-width:1024px) {
  /*-----------------------

         common          

-----------------------*/
  .swiper-button-prev, .swiper-button-next {
    transform: translateY(-5vw);
  }
  .contents2Wrap {
    gap: 4rem;
  }
  .contents2Wrap > li, .contents2Wrap > div {
    width: calc((100% - 4rem) / 2);
  }
  /*-----------------------

         header          

-----------------------*/
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    width: 7.9479vw;
  }
  .drawer-hamburger-icon {
    margin-top: 0.5vw;
  }
  .drawer--right .drawer-nav .mypage.login {
    margin-right: 0;
    margin-top: -2.5rem;
    right: 9vw;
  }
  .drawer--right .drawer-nav .flex-c {
    gap: 10vw;
  }
  .drawer--right header .drawer-nav .drawer-menu li ul.sub-menu {
    width: 28rem;
  }
  header .drawer-menu li.hover:hover ul {
    visibility: hidden;
    opacity: 0;
  }
  header .drawer-menu li.hover li a + ul.sub-menu {
    visibility: hidden;
    opacity: 0;
  }
  header .drawer-menu li.hover li a.on + ul.sub-menu {
    transition: .4s;
    visibility: visible;
    opacity: 1;
  }
  header .mypage.login {
    right: 13vw;
    top: 2.5rem;
  }
  .mypage-list {
    top: 7rem;
    right: 13vw;
  }
  /*-----------------------

         TOP          

-----------------------*/
  .sec02 dt {
    width: 11%;
  }
  .sec02 dd {
    width: 89%;
    padding: 0 4rem;
  }
  .sec01 .menuWrap li a span {
    font-size: 1vw;
    padding: 0.1rem 0.5rem;
  }
  .sec03 .sec-ttl {
    margin-top: -7.5vw;
  }
  /*modal*/
  .modal__contentInner {
    width: 85vw;
  }
}
@media screen and (max-width:959px) {
  .drawer--right .drawer-nav .mypage.loginBtn.login {
    margin-top: 0;
  }
  .sec02 dt {
    width: 12%;
  }
  .sec02 dd {
    width: 88%;
  }
  .sec04 p.link-profile {
    padding: 0 2.5rem;
  }
}
@media screen and (max-width:821px) {
  /*-----------------------

         header          

-----------------------*/
  .drawer--right .drawer-nav .flex-c {
    gap: 15vw;
  }
  header .mypage.login {
    right: 14vw;
    top: 2.5rem;
  }
  .drawer--right .drawer-nav .mypage.login {
    margin-top: -2.5rem;
  }
  .drawer--right .drawer-nav .mypage.loginBtn.login {
    margin-top: 0rem;
  }
  .mypage-list {
    right: 14vw;
  }
  /*-----------------------

          TOP          

-----------------------*/
  .sec01 .menuWrap li a img {
    height: 5.8rem;
    object-fit: contain;
  }
  .sec01 .menuWrap li a span {
    padding: 0.1rem 0.2rem;
  }
  .sec02 dt {
    width: 14%;
    padding-left: 2rem;
  }
  .sec02 dd {
    width: 86%;
    padding: 0 2rem;
  }
  .sec03 .sec-ttl {
    margin-top: -8.5vw;
  }
  .sec04 p.link-profile {
    padding: 0.2rem 2.2rem;
    font-size: 1.3rem;
  }
  .contents_Wrap .box {
    padding: 3rem 2rem;
  }
  .contents_Wrap .box .btnG {
    gap: 0.5rem;
  }
  .contents_Wrap .box .btnG .flex-c {
    flex-direction: column;
    width: 65%;
  }
  .archive-btn a, .live-btn a {
    padding: 1rem;
    line-height: 1.4;
    font-size: 1.4rem;
  }
  .arrow_box {
    font-size: 1.4rem;
  }
  /*modal*/
  .modal__contentInner .flex {
    flex-direction: column;
  }
  .modal__contentInner .flex figure {
    width: 75%;
    margin: 0 auto;
  }
  .modalClosebtn {
    width: 10vw;
    height: 10vw;
  }
  .textArea-Wrap {
    width: 100%;
  }
  /*-----------------------

       コンテンツ          

-----------------------*/
  .contents_Wrap .box .photoWrap .box2 .flex {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width:559px) {
  /*-----------------------

       Common          

-----------------------*/
  html {
    overflow-y: initial;
  }
  p {
    font-size: 1.4rem;
  }
  body {
    font-size: 1.4rem;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .flex, .flex-c, .flex-e {
    flex-direction: column;
  }
  .container, .wrapper {
    padding: 0 5%;
  }
  section .wrapper {
    padding: 0;
  }
  .wide2 {
    width: 100vw;
  }
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    width: 6rem;
    height: 3.5rem;
    right: 1rem;
    top: 1.5rem;
    padding: 1.5rem 0.75rem 2.5rem;
  }
  .drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after, .drawer--left.drawer-open .drawer-hamburger-icon {
    height: 0.3rem;
    width: 65%;
  }
  .drawer--right.drawer-open .drawer-hamburger {
    right: 1rem;
  }
  .drawer-hamburger-icon:after {
    top: 1rem;
  }
  .drawer-hamburger .text {
    margin-top: 1.5rem;
  }
  .drawer-open .drawer-overlay {
    background: none;
  }
  .drawer--right.drawer-open .drawer-nav {
    background: #fff;
  }
  .drawer--right.drawer-open .drawer-nav {
    right: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    padding: 0;
    padding-bottom: 3rem;
  }
  .drawer-open .drawer-nav a {
    color: #5a5a5a;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
  .drawer-open .drawer-nav .wrapper {
    padding: 3rem 6%;
    margin-top: 0;
    position: relative;
  }
  .drawer-open .drawer-nav p.login {
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    width: 100%;
    text-align: left;
    border-bottom: solid 1px #323232;
  }
  .drawer--right .drawer-nav .flex-c {
    flex-direction: column;
  }
  .drawer--right .drawer-nav .drawer-menu {
    width: 100%;
  }
  .drawer--right .drawer-nav .drawer-menu:nth-child(2) {
    border-top: solid 1px;
    padding-top: 1rem;
  }
  .drawer--right .drawer-nav .drawer-menu.hover {
    border-top: solid 1px;
    padding-top: 1.5rem;
  }
  .drawer--right .drawer-nav .drawer-menu.hover a {
    font-size: 1.2rem;
    padding: 0.5rem 0;
  }
  .drawer-open .drawer-nav li a {
    padding: 1rem 0;
    display: block;
  }
  .drawer--right .drawer-nav .drawer-menu a {
    font-size: 1.6rem;
    padding: 1rem 0;
  }
  .drawer--right .drawer-nav .drawer-menu:nth-child(2) a {
    font-size: 1.2rem;
  }
  .drawer--right .drawer-nav .drawer-menu li.hover {
    padding: 0;
  }
  .drawer-open .drawer-nav li a img {
    vertical-align: baseline;
    margin-left: 1rem;
  }
  .drawer--right .drawer-nav .mypage.login {
    border-bottom: solid 1px;
    margin: 0 auto 3.5rem;
    text-align: center;
    position: static;
    background-color: transparent;
    border-radius: 0;
    margin-top: 0;
  }
  .drawer--right .drawer-nav p.logo {
    margin-top: 1rem;
    /* margin-left: 1rem; */
    margin-left: 2rem;
  }
  .drawer-open .drawer-nav ul {
    padding-left: 3.5rem;
  }
  .drawer-open .drawer-nav .sub-menu {
    /*    transition: .4s;*/
    visibility: hidden;
    opacity: 0;
    position: absolute;
    padding: 1rem 6%;
    background: var(--mainColor);
  }
  .drawer--right header .drawer-nav .drawer-menu li ul.sub-menu {
    top: auto;
    left: auto;
    width: 80%;
  }
  .drawer--right header .drawer-nav .drawer-menu li ul.sub-menu li:not(:last-child) {
    border-bottom: dashed 1px #fff;
  }
  .drawer-open .drawer-nav li a.on + .sub-menu {
    transition: .4s;
    visibility: visible;
    opacity: 1;
    width: auto;
  }
  .drawer-open .drawer-nav li a.on + .sub-menu a, header .drawer-menu li.hover:hover ul.sub-menu li a {
    color: #fff;
    letter-spacing: 0.05em;
    font-size: 1.4rem;
  }
  span.under-line::after {
    width: calc(100% + 1rem);
    height: 2rem;
  }
  .slider-sec-ttlG {
    margin-top: -3.5rem;
  }
  .slider-sec-ttlG h2 + p {
    border-radius: 0.8rem;
    margin-bottom: 0;
    padding: 0.2rem 1.5rem 0.4rem;
    margin: 1rem 0 2rem;
  }
  /*段組み*/
  .contents3Wrap, .contents4Wrap {
    gap: 2rem;
    flex-direction: row;
    justify-content: flex-start;
  }
  .contents2Wrap > li, .contents2Wrap > div {
    width: 100%;
  }
  .contents3Wrap > li, .contents3Wrap > div {
    width: calc((100% - 2rem) / 2);
  }
  .contents4Wrap > li, .contents4Wrap > div {
    width: calc((100% - 2rem) / 2);
  }
  .contents-inner .contents2Wrap {
    gap: 3.5rem;
  }
  /*BTN*/
  .detail-btn a, .detail-btn2 a {
    width: 100%;
    height: 6rem;
  }
  .detail-btn a::after, .detail-btn2 a::after {
    width: 2.6rem;
    height: 1.9rem;
  }
  /*見出し*/
  .sec-ttl {
    margin-bottom: 4rem;
  }
  .sec-ttl span {
    display: block;
    margin-left: 0;
    top: 1rem;
  }
  .sec-ttl span::after {
    width: 7rem;
    height: 1.2rem;
  }
  /*swiper*/
  .swiper-button-prev, .swiper-button-next {
    width: 3.2rem;
    height: 3.2rem;
    transform: translateY(-4.5rem);
  }
  .swiper-button-next {
    right: 0.5rem;
  }
  .swiper-button-prev {
    left: 0.5rem;
  }
  /*-----------------------

        header          

-----------------------*/
  header h1, header p.logo {
    top: 1rem;
    left: 1rem;
    width: 9.5rem;
  }
  /*-----------------------

        footer          

-----------------------*/
  footer.main-footer p.copy {
    padding: 2rem 0 1rem;
  }
  footer.main-footer .ftr-inner {
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 4rem);
    bottom: 3rem;
  }
  footer.main-footer .ftr-navi ul {
    padding: 0.5rem 4rem;
    border-radius: 4rem;
    flex-wrap: wrap;
  }
  footer.main-footer p.copy small {
    font-size: 1.2rem;
  }
  footer.main-footer {
    margin-top: 5rem;
  }
  /*-----------------------

       下層ページ共通          

-----------------------*/
  .content-header {
    background: url(../img/under-mv_sp.webp) no-repeat center top;
    background-size: 100% 12.8rem;
    height: auto;
  }
  .content-header .page-header {
    border-radius: 0;
    background-color: transparent;
    position: static;
    padding: 14rem 5% 0;
    max-width: 100%;
  }
  .content-header .page-header span {
    display: block;
    margin-left: 0;
  }
  .content-header .page-header span::after {
    width: 6.6rem;
    height: 1.1rem;
  }
  /*-----------------------

         TOP          

-----------------------*/
  .sec01 .menuWrap {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem 1rem;
  }
  .sec01 .menuWrap li {
    width: calc((100% - 2rem) / 3);
  }

  .body-page-detail-top .navigator .menuWrap li {
    width: calc((100% - 2rem) / 2);
  }

  .sec01 .menuWrap li a img {
    height: 7.1rem;
  }
  .sec01 .menuWrap li a span {
    padding: 0.1rem 0.2rem;
    font-size: 1.1rem;
  }
  .sec02 .sec-ttl img.line {
    margin-left: 0;
    top: 2rem;
    display: block;
    width: 60%;
  }
  .sec02 .sec-ttl2 img.line {
    margin-left: 0;
    top: 1rem;
    display: block;
    width: 60%;
  }
  .sec02 dl {
    margin-top: 2rem;
  }
  .sec02 dl div {
    padding: 1rem 0 1.5rem;
  }
  .sec02 dt {
    padding-left: 0;
    padding-bottom: 0;
  }
  .sec02 dt, .sec02 dd {
    width: 100%;
    padding: 0;
  }
  .sec03 {
    padding: 6rem 0 4rem;
    margin-top: 6rem;
  }
  .sec03 .sec-ttl {
    margin-top: -20.5vw;
  }
  .sec04 p.link-profile {
    padding: 0.2rem 2.2rem;
    font-size: 1.4rem;
    letter-spacing: -0.1em;
  }
  .sec04 p.link-profile::after {
    right: 0.5em
  }
  .sec04 p.name {
    margin-top: -1.5rem;
  }
  .contents_Wrap .box .photoWrap {
    flex-direction: row;
    gap: 1.5rem 0.5rem;
  }
  .contents_Wrap .box .photoWrap .box2 {
    width: calc((100% - 1rem) / 3);
  }
  .contents_Wrap .box .navigatorWrap {
    margin-bottom: 2rem;
  }
  .contents_Wrap .box .btnG {
    position: static;
    transform: translateX(0);
    gap: 2rem;
  }
  .archive-btn {
    height: 6rem;
    width: 92%;
  }
  .contents_Wrap .box .btnG .flex-c {
    flex-direction: column;
    width: 92%;
  }
  .archive-btn a, .live-btn a {
    font-size: 1.6rem;
  }
  .archive-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .archive-btn img {
    position: absolute;
    right: 1em;
  }
  .arrow_box {
    width: 99%;
  }
  .contents_Wrap .box .photoWrap .box2 .name {
    width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
  }
  /*modal*/
  .top-close {
    width: 5rem;
    height: 5rem;
    top: 2rem;
    right: 2rem;
  }
  .modal__contentInner {
    height: 80vh;
  }
  .modal__contentInner .flex figure {
    width: 90%;
    padding: 2rem;
  }
  .modal__contentInner .modal-ttl ruby {
    margin-bottom: 2rem;
    letter-spacing: 0.1em;
  }
  /*-----------------------

       コンテンツ

-----------------------*/
  .cat-Area ul {
    flex-wrap: wrap;
    gap: 1.5rem 1rem;
  }
  .cat-Area ul li.all {
    width: 100%;
  }
  .cat-Area ul li a {
    padding: 0.4rem 1rem;
  }
  .cat-Area dl {
    margin: 2.5rem 0 2rem;
    flex-direction: row;
  }
  .body-page-list-contents .cat-Area .flex {
    display: block;
  }
  /*-----------------------

       アーカイブ

-----------------------*/
  .body-shelf-list select {
    -moz-appearance: menulist;
    -webkit-appearance: menulist;
    font-size: 1.8rem;
    height: 5rem;
  }
  .body-shelf-list select::-ms-expand {
    display: block;
  }
  /*-----------------------

    サポート・お問い合わせ

-----------------------*/
  .body-page-detail-office .sec02 dt {
    margin-bottom: 0.5rem;
  }
  .faqWrap h4 {
    flex-direction: row;
    padding-left: 0;
    text-indent: 0;
  }
  /*-----------------------

   　　 お知らせ

-----------------------*/
  .body-page-list-info .wide {
    position: static;
    width: 100%;
    transform: translateX(0);
  }
  .body-page-list-info .flex-c {
    flex-direction: row;
  }
  .prev img, .next img {
    width: 50%;
  }
  .pager p a {
    width: 4.2rem;
    height: 4.2rem;
  }
  .single-pager .flex-c {
    flex-direction: row;
  }
  /*-----------------------

   　　 よくある質問

-----------------------*/
  .faq-wrap .accordion_one .accordion_header {
    padding: 1.2rem 5rem 1.2rem 2rem;
  }
  .faq-wrap .accordion_one .accordion_header .i_box .one_i:before {
    height: 13px;
    top: 6px;
  }
  .faq-wrap .accordion_one .accordion_header .i_box .one_i:after {
    height: 13px;
  }
  .faq-wrap .accordion_one .accordion_header.open .i_box .one_i:before {
    top: 4px;
    left: 2px;
  }
  .faq-wrap .accordion_one .accordion_header.open .i_box .one_i:after {
    left: 8px;
  }
  .faq-wrap .accordion_one .accordion_header.faq {
    padding-right: 17%;
    padding-bottom: 1rem;
  }
  .faq-wrap .accordion_one .accordion_header.faq .i_box {
    top: -9px;
  }
  .faq-wrap .accordion_one .accordion_header.faq.open .i_box .one_i {
    left: 7px;
    top: 1px;
  }
  /*-----------------------

  セレクトボックスの矢印対応

-----------------------*/
  /*セレクトボックスの矢印カスタマイズ*/
  .shelf-nav-sp {
    width: 100%;
    margin: 3rem auto 0;
    position: relative;
  }
  .shelf-nav-sp::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1rem 0.7rem 0 0.7rem;
    border-color: var(--mainColor) transparent transparent transparent;
    position: absolute;
    top: 55%;
    right: 1.5rem;
    transform: translateY(-50%);
    pointer-events: none;
  }
  .breadcrumb.form-control {
    width: 100%;
    padding: 1rem;
    /*デフォルトの矢印を削除*/
    -webkit-appearance: none;
    appearance: none;
  }
  /*-----------------------

  アーカイブ動画再生対応

-----------------------*/
  .shelf-box .shelf-cover {
    z-index: 1 !important;
  }
}
@media screen and (max-width:375px) {
  /*-----------------------

       下層ページ共通          

-----------------------*/
  /*-----------------------

          TOP          

-----------------------*/
  .sec03 .sec-ttl {
    margin-top: -23.5vw;
  }
  .sec04 p.link-profile {
    font-size: 1.3rem;
  }
  .contents_Wrap .box .photoWrap .box2 .name {
    width: 9.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /*modal*/
  .top-close {
    top: 1rem;
    right: 1rem;
  }
  .modal__contentInner {
    height: 75vh;
  }
  .modal__contentInner .flex figure {
    width: 85%;
    margin-bottom: 0;
  }
}
/*20240216 add*/
@media screen and (max-width:559px) {
  .modal__contentInner .degree {
    font-size: 1.8rem;
    text-align: center;
  }
}
/*20240216 add*/
/*-----------------------

          通常TOP          

-----------------------*/
@media screen and (max-width:1440px) {
  .usually-top .menuWrap {
    justify-content: center;
    margin-right: 0;
  }
  .usually-top .sec03 .card-wrap .box {
    width: calc((100% - 2rem) / 4);
  }
}
@media screen and (max-width:1368px) {
  .drawer--right .usually-top .drawer-nav .menuWrap, .usually-top nav {
    margin-top: 15rem;
  }
}
@media screen and (max-width:1280px) {
  .modal__contentInner .flex figure {
    padding: 2rem;
  }
  .usually-top .sec01 h2 span {
    font-size: 3.6rem;
  }
  .usually-top .sec01 h2 {
    font-size: 4.7rem;
  }
  .usually-top .sec01 h2 + p {
    font-size: 2.6rem;
  }
  .usually-top .sec01 .text-area p {
    font-size: 1.8rem;
  }
  .usually-top .sec02 .sec-ttl {
    font-size: 3.2rem;
    margin-top: -6rem;
  }
  .usually-top .sec02::before {
    width: 100vw;
  }
  .usually-top .sec02 .flex {
    gap: 4rem;
  }
  .usually-top .sec02 .textArea p {
    line-height: 1.75;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  .usually-top .sec03 {
    margin-top: 14rem;
  }
  .usually-top .sec03 .card-wrap {
    padding: 0;
  }
  .usually-top .sec03 .card-wrap .detail-wrap .information .flex p {
    font-size: 1.8rem;
  }
  .usually-top .sec03 .card-wrap .detail-wrap .information .flex + p {
    font-size: 1.4rem;
  }
  .usually-top .sec03 .card-wrap .detail-btn {
    text-align: right;
    margin-top: 2rem;
    position: static;
  }
  .usually-top .sec03 .card-wrap .detail-btn a {
    border-radius: 3rem;
    padding: 0.5rem 1.5rem;
    align-items: center;
    font-size: 1.4rem;
    letter-spacing: 0.025em;
    justify-content: flex-end;
    display: inline-flex;
  }
  .usually-top .sec04 h3 {
    font-size: 4rem;
  }
  .usually-top .sec04 h3 + p {
    font-size: 2rem;
  }
  .usually-top .sec04 dt {
    font-size: 2.2rem;
  }
  .usually-top .sec05 h2 {
    font-size: 3.2rem;
  }
  .usually-top .sec05 p {
    font-size: 1.6rem;
  }
  .usually-top .sec05 h3 {
    font-size: 2.8rem;
  }
}
@media screen and (max-width:559px) {
  .drawer--right .usually-top .drawer-nav {
    padding: 0 6% 3rem;
  }
  .drawer--right .usually-top .drawer-nav .menuWrap, .usually-top nav {
    margin-top: 11rem;
  }
  .drawer--right .usually-top .drawer-nav ul {
    padding-left: 0;
  }
  .drawer--right .usually-top .drawer-nav li {
    width: calc((100% - 2rem) / 3);
  }
  .usually-top .menuWrap li a {
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .drawer--right.drawer-open .drawer-nav li a img {
    margin: 0;
    height: 9rem;
  }
  .drawer--right .usually-top .drawer-nav p.logo {
    margin-top: 0;
    margin-left: 0;
  }
  .drawer--right .usually-top .drawer-hamburger, .drawer--right.drawer-open .usually-top .drawer-hamburger {
    right: 1rem;
    top: 1rem;
  }
  .drawer--right.drawer-open .usually-top .drawer-hamburger {
    background-image: none;
  }
  .drawer--right.drawer-open .usually-top .drawer-hamburger .text {
    color: var(--mainColor);
  }
  .drawer--right.drawer-open .usually-top .drawer-hamburger-icon:before, .drawer--right.drawer-open .usually-top .drawer-hamburger-icon:after {
    background-color: var(--mainColor);
  }
  .drawer--right .usually-top .drawer-nav .wrapper {
    margin-top: 4rem;
  }
  .drawer-open .usually-top .drawer-nav .wrapper {
    padding: 0;
  }
  .drawer--right .usually-top .drawer-nav .drawer-menu li {
    width: 100%;
  }
  /*TOP*/
  .usually-top nav {
    margin-top: 13rem;
  }
  .usually-top .menuWrap {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .usually-top .menuWrap li {
    width: calc((100% - 2rem) / 3);
  }
  .usually-top .sec01 h2 {
    font-size: 3.2rem;
  }
  .usually-top .sec01 h2 span {
    font-size: 2.6rem;
  }
  .usually-top .sec01 h2 span.color-base {
    font-size: 1.8rem;
  }
  .usually-top .sec01 h2 span:last-child {
    margin-top: -3.8rem;
    display: block;
  }
  .usually-top .sec01 h2 + p::before {
    margin-right: 0;
  }
  .usually-top .sec01 h2 + p::after {
    margin-left: 0;
  }
  .usually-top .sec01 h2 + p {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
  .usually-top .sec01 .illustG {
    margin: 2rem 0;
    flex-direction: row;
  }
  .usually-top .sec01 .text-area {
    margin: 4rem 0 0;
  }
  .usually-top .sec01 .text-area p {
    font-size: 1.6rem;
    text-align: justify;
  }
  .usually-top .sec02 {
    margin-top: 6.5rem;
    padding: 2.5rem 0 3.5rem;
  }
  .usually-top .sec02::before {
    width: 88%;
  }
  .usually-top .sec02 .flex {
    gap: 2rem;
  }
  .usually-top .sec02 .sec-ttl {
    font-size: 2.2rem;
    margin-top: -4rem;
    margin-bottom: 2rem;
    letter-spacing: 0.05em;
  }
  .usually-top .sec02 .sec-ttl span {
    display: inline;
  }
  .usually-top .sec02 .sec-ttl span::before {
    width: 7.7rem;
    height: 1rem;
    top: -1rem;
    left: 0.7rem;
  }
  .usually-top .sec02 .wrapper {
    padding: 0 calc(6% + 2rem);
  }
  .usually-top .sec02 .textArea {
    width: 100%;
  }
  .usually-top .sec02 .image {
    width: 88%;
    margin: 0 auto;
  }
  .usually-top .sec03 {
    margin-top: 6rem;
    padding-bottom: 0;
  }
  .usually-top .sec03 .card-wrap {
    gap: 3rem;
    grid-template-columns: repeat(1, 1fr);
    padding: 0 6%;
  }
  .usually-top .sec03 .card-wrap .photoWrap {
    flex-direction: row;
  }
  .usually-top .sec03 .card-wrap .detail-wrap .information .flex {
    flex-direction: row;
    margin-bottom: 0.5rem;
  }
  .usually-top .sec03 .card-wrap .detail-btn a {
    font-size: 1.6rem;
  }
  .usually-top .sec03 .card-wrap .detail-btn a {
    height: 3rem;
    width: 13.5rem;
  }
  .usually-top .sec03 .card-wrap .detail-btn a img {
    width: 1.5rem;
  }
  .usually-top .sec04 .inner {
    padding: 3.5rem 2rem;
  }
  .usually-top .sec04 h3 {
    font-size: 2.8rem;
  }
  .usually-top .sec04 h3 + p {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
  .usually-top .sec04 p, .usually-top .sec04 dd {
    font-size: 1.2rem;
  }
  .usually-top .sec04 .deco {
    margin: 1rem 0;
  }
  .usually-top .sec04 .deco img {
    width: 5.8rem;
  }
  .usually-top .sec04 dl {
    margin: 2.5rem 0;
  }
  .usually-top .sec04 dt {
    font-size: 1.8rem;
  }
  .usually-top .sec04 dt::before, .usually-top .sec04 dt::after {
    width: 3.4rem;
    height: 0.8rem;
    top: 0;
  }
  .usually-top .sec04 dt.type2::before, .usually-top .sec04 dt.type2::after {
    top: 1rem;
  }
  .usually-top .sec04 dd {
    margin-bottom: 2.5rem;
  }
  .usually-top .sec05 p {
    font-size: 1.6rem;
    width: 100%;
    line-height: 2;
  }
  .usually-top .sec05 h2 {
    font-size: 2.4rem;
    margin: 4rem 0 2rem;
    line-height: 1.5;
  }
  .usually-top .sec05 .link-btn {
    margin: 3rem 0 3.5rem;
  }
  .usually-top .sec05 .link-btn-top {
    margin: 3rem 0 0rem;
  }
  .usually-top .sec05 .link-btn-bottom {
    margin: 0rem 0 3.5rem;
  }
  .usually-top .sec05 h3 {
    font-size: 2.2rem;
    padding-top: 2.5rem;
    margin-top: 0;
  }
  /*	modal*/
  .usually-top .modal__contentInner {
    padding: 3.5rem 2rem;
  }
  .usually-top .modal__contentInner .flex figure {
    width: 65%;
    padding: 0;
  }
  .usually-top .modal__contentInner .modal-ttl {
    display: block;
    text-align: center;
    font-size: 2.7rem
  }
  .usually-top .modal__contentInner .name {
    font-size: 2rem;
    margin-top: -3rem;
    text-align: center;
  }
  .usually-top .modal__contentInner .degree {
    font-size: 1.8rem;
    text-align: center;
  }
  .usually-top .link-btn a {
    width: 100%;
  }
  /*アニメーション*/
  .usually-top .sec01 .illustG p:last-child img {
    top: 4rem
  }
  @keyframes flying {
    0% {
      transform: translateY(0) rotate(0);
    }
    50% {
      transform: translateY(-30px) rotate(30deg);
    }
    100% {
      transform: translateY(0) rotate(0);
    }
  }
}
@media screen and (max-width:375px) {
  /*		TOP*/
  .usually-top .sec02 .sec-ttl {
    font-size: 2rem;
    letter-spacing: 0.025em;
    margin-top: -3.5rem;
  }
  .usually-top .sec02 .sec-ttl span::before {
    left: 0.5rem;
  }
  .usually-top .sec04 h3 {
    font-size: 2.6rem;
  }
  .usually-top .sec04 dt {
    font-size: 1.7rem;
  }
  .usually-top .sec04 dd {
    letter-spacing: 0.05em;
  }
  .usually-top .sec05 h2 {
    font-size: 2.3rem;
    letter-spacing: 0.025em;
  }
  .usually-top .sec05 p {
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width:559px) {
  .body-shelf-list .flex-c {
    flex-direction: row;
  }
  /*-----------------------

   OKAERI♡Sanctuary       

-----------------------*/
  .body-page-detail-okaeri-sanctuary .sec01 p {
    text-align: left !important;
  }
  .body-page-detail-okaeri-sanctuary .modal__contentInner .flex {
    gap: 1rem !important;
  }
  .body-page-detail-okaeri-sanctuary .modal__contentInner .textArea {
    margin-top: 2.5rem !important;
  }
  .body-page-detail-okaeri-sanctuary .sec02 .container-fluid .color-main, .body-page-detail-okaeri-sanctuary .modal-ttl.color-main, .body-page-detail-okaeri-sanctuary .modal .textArea a.color-main {
    font-weight: 700;
  }
}
/*-----------------------

   navigator slider 1130add     

-----------------------*/
@media screen and (max-width:1024px) {
  .navigator .wrapper {
    padding-inline: 0;
  }
  .navigator .swiper-button-prev, .navigator .swiper-button-next {
    transform: translateY(0);
  }
}
@media screen and (max-width:559px) {
  .body-page-detail-top .navigator .sec-ttl {
    padding-inline: 6%;
  }
  .body-page-detail-top .navigator .menuWrap {
    justify-content: inherit;
  }
  .navigator .navigator-slider__navi {
    flex-direction: row;
    justify-content: flex-start;
    gap: 1.5rem;
    margin-left: 6%;
    margin-top: 0;
    margin-bottom: 2rem;
  }
  .navigator .swiper-button-next:after, .navigator .swiper-rtl .swiper-button-prev:after, .navigator .swiper-button-prev:after, .navigator .swiper-rtl .swiper-button-next:after {
    width: 3rem;
    height: 3rem;
  }

  .body-page-detail-top .menuWrap li a .name {
    /* font-size: 1.1rem; */
    font-size: 0.98rem;
  }
  .body-page-detail-zen-top .sec01 .menuWrap {
    align-items: center;
    justify-content: left;
    gap: 1rem;
  }

  .body-page-detail-top .sec01 .menuWrap.navi, .body-page-detail-zen-top .sec01 .menuWrap.navi {
    gap: 1rem;
  }

  p.online30-date {
    text-align: left;
  }


}