@charset "utf-8";


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
/* レイアウト */
body {
  touch-action: manipulation;
}

#main_content {
  width: auto;
  margin: 0 100px;
}

#main_col {
  width: calc(100% - 400px);
}

#side_col {
  width: 350px;
}

@media screen and (max-width:1100px) {
  html {
    scroll-padding: 100px;
  }

  #main_content {
    display: block;
    margin: 0 auto;
    width: 700px;
  }

  #main_col {
    width: auto;
    margin-bottom: 100px;
  }

  #side_col {
    width: auto;
  }

  #side_col_inner {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width:800px) {
  * {
    -webkit-tap-highlight-color: transparent;
  }

  br.mobile_break {
    display: block;
  }

  .a_break {
    display: inline-block;
  }

  #container {
    overflow: hidden;
  }

  #main_content {
    margin: 0 30px;
    width: auto;
    padding-bottom: 40px;
  }

  #main_col {
    margin-bottom: 40px;
  }

  #main_col:last-child {
    margin-bottom: -30px;
  }

  #side_col {
    position: relative;
    margin-top: 80px;
  }

  #side_col:before {
    content: '';
    display: block;
    width: calc(100% + 60px);
    height: 1px;
    position: absolute;
    top: -40px;
    left: -30px;
    background: #ddd;
  }
}

@media screen and (max-width:650px) {
  #main_content {
    margin: 0 20px;
  }

  #side_col_inner {
    display: block;
  }

  #side_col:before {
    width: calc(100% + 40px);
    left: -20px;
  }
}


/* rayyan added profile page responsiveness */
@media screen and (max-width: 1200px) {
  .roadmap-cols{
    /* background-color: violet; */
    padding: 0px 40px;
  }
}


@media screen and (max-width: 900px) {
  .roadmap-cols{
    /* background-color: red; */
  column-gap: 20px;
  }
}

@media screen and (max-width: 800px) {
  .roadmap-cols{
    /* background-color: pink; */
    padding: 80px;
    column-gap: 12px;
  }
}


/* admin bar利用時 */
body.home.admin-bar {
  padding-top: 30px;
}

body.admin-bar.header_fix #header {
  margin-top: 32px;
}

body.admin-bar #drawer_menu {
  padding-top: 32px;
}

@media screen and (max-width:780px) {
  body.home.admin-bar {
    padding-top: 45px;
  }
}

@media screen and (max-width:600px) {
  body.admin-bar.open_header #header {
    top: 0px !important;
  }

  body.admin-bar.close_header #header {
    top: 0px !important;
  }
}




/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_catch_area {
  height: 700px;
}

#header_slider {
  height: 700px;
}

#header_slider .item {
  height: 700px;
}

#header_slider_catch_area .content {
  width: auto;
  padding: 0 50px;
  transform: scale(0.9);
}

@media screen and (max-width:1100px) {
  #header_slider_catch_area {
    height: 600px;
  }

  #header_slider {
    height: 600px;
  }

  #header_slider .item {
    height: 600px;
  }

  #header_slider_catch_area .content {
    padding: 0 30px;
    transform: scale(0.8);
  }
}

@media screen and (max-width:900px) {
  #header_slider_catch_area .content {
    padding: 0 20px;
  }
}

@media screen and (max-width:800px) {
  #header_slider_wrap {
    display: block;
    padding-top: 70px;
  }

  #header_slider {
    width: calc(100% - 40px);
    margin-left: 40px;
    height: 380px;
  }

  #header_slider .item {
    height: 380px;
  }

  #header_slider_catch_area {
    width: auto;
    padding: 0 40px 63px;
    height: auto;
  }

  #header_slider_catch_area .content {
    padding: 0;
    transform: scale(1);
  }

  #header_slider_catch_area .logo.pc {
    display: none;
  }

  #header_slider_catch_area .logo.mobile {
    display: block;
  }

  #header_slider_catch_area .catch {
    opacity: 0;
    font-size: 50px;
    line-height: 1.4;
    font-weight: 500 !important;
    margin-bottom: 15px;
  }

  #header_slider_catch_area .desc {
    line-height: 2;
  }

  #header_slider_catch_area .desc.pc {
    display: none;
  }

  #header_slider_catch_area .desc.mobile {
    display: block;
  }
}


/* ニュースティッカー */
@media screen and (max-width:1000px) {
  #news_ticker {
    margin-bottom: 0px;
  }
}

@media screen and (max-width:800px) {
  #news_ticker {
    width: 100% !important;
    border: none;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    margin: 40px 0 0;
    padding-bottom: 40px;
  }

  #news_ticker .news_item {
    width: calc(100% - 60px);
    height: 80px;
  }

  #news_ticker a {
    padding: 0 0 0 20px;
  }

  #news_ticker .content {
    width: calc(100% - 80px);
    padding: 0 0 0 20px;
    height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  #news_ticker.no_image {
    margin-top: 15px;
    padding-bottom: 15px;
  }

  #news_ticker.no_image .news_item {
    width: 100%;
    height: 65px;
    margin: -10px 0;
  }

  #news_ticker.no_image .news_item a {
    padding: 0;
  }

  #news_ticker.no_image .news_item .content {
    height: 65px;
    line-height: 65px;
    width: 100%;
    padding: 0 40px;
  }
}




/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */
/* 共通パーツ */
.cb_desc {
  padding: 0 100px;
}

@media screen and (max-width:1100px) {
  .cb_headline {
    width: 100px;
    height: 100px;
    top: -50px;
    font-size: 13px;
  }

  .cb_desc {
    margin-bottom: 50px;
    padding: 0 50px;
  }
}

@media screen and (max-width:800px) {
  .cb_headline {
    width: 90px;
    height: 90px;
    top: -45px;
    font-size: 12px;
  }

  .cb_desc {
    line-height: 2;
    margin-bottom: 35px;
    padding: 0 40px;
  }

  .cb_desc .pc {
    display: none;
  }

  .cb_desc .mobile {
    display: block;
  }
}


/* デザインコンテンツ　ページヘッダーでも使用 */
.design_content {
  width: auto;
  margin: 0 100px;
}

.design_content .main_content {
  width: 50%;
  padding-right: 70px;
}

.design_content.layout2 .main_content {
  padding-left: 70px;
}

.design_content .image_area {
  width: 50%;
}

.design_content .image1 {
  max-width: 100%;
}

.design_content .image_bottom img {
  max-width: 30%;
}

/* Rayyan Tweaks: modified the background color */
@media screen and (max-width:1100px) {
  .design_content {
    /* background-color: orange; */
    margin: 0 50px;
  }

  .design_content .main_content {
    padding-right: 50px;
  }

  .design_content.layout2 .main_content {
    padding-left: 50px;
  }

  .design_content .main_content .catch {
    margin-bottom: 20px;
  }

  .design_content .main_content .desc {
    margin-bottom: 5px;
    line-height: 2;
  }

  /*
  Tweaks: all props
  Author: Rayyan
*/
  /* .design_content .headline {
    width: 100px;
    height: 100px;
    border: 4px solid #fff;
    top: -50px;
    font-size: 13px;
  } */

  .design_content .image_bottom img {
    box-shadow: 0 0 0 4px #fff;
  }
}

@media screen and (max-width:1000px) {

  /* Rayyan Tweaks .design-content, .design-content .main_content, . */
  .design_content {
    /* background-color: blue; */
    display: block;
  }

  .design_content .main_content {
    width: auto;
    align-items: center;
    padding: 0 0 75px !important;
  }

  .design_content.type3 .main_content {
    padding: 0 0 35px !important;
  }

  .design_content .main_content .catch {
    margin-bottom: 0px;
    text-align: center;
  }

  .design_content .main_content .desc {
    display: none;
  }

  .design_content.type2 .main_content .desc {
    display: block;
    line-height: 2;
    margin: 30px 20px 0;
    max-width: 400px;
  }

  .design_content .main_content .link_button {
    display: none;
  }

  .design_content .image_area {
    width: auto;
    text-align: center;
    padding: 0;
  }

  .design_content .image1 {
    max-width: 450px;
    width: 100%;
    height: auto;
  }

  .design_content .image_bottom img {
    max-width: 200px;
    width: calc(100% - 100px);
    height: auto;
    margin: -75px 50px 0;
  }

  /* Rayyan Tweaks: added a center justify-content and text-align */
  .design_content .desc_bottom {
    line-height: 2;
    display: flex;
    text-align: center;
    justify-content: center;
    margin: 30px 20px -5px;
  }

  .design_content .link_button_bottom {
    display: block;
    text-align: center;
    margin-top: 17px;
  }

  .cb_design_content .design_content {
    padding-top: 95px;
  }

  .cb_design_content:last-child .design_content {
    padding-bottom: 40px;
  }

  .cb_gallery+.gallery_image_modal+.cb_design_content .design_content {
    padding-top: 0;
    margin-top: -10px;
  }
}

@media screen and (max-width:800px) {
  .design_content {
    margin: 0 30px;
    padding: 35px 0 45px;
  }

  /*
  Tweaks: all props
  Author: Rayyan
*/
  /* .design_content .headline {
    width: 90px;
    height: 90px;
    border: 3px solid #fff;
    top: -45px;
    font-size: 12px;
  } */

  .design_content.type2 .main_content .desc {
    max-width: inherit;
  }

  .design_content .image1 {
    max-width: 400px;
  }

  .design_content .image_bottom img {
    max-width: 172px;
  }


  .design_content .desc_bottom .pc {
    display: none;
  }

  .design_content .desc_bottom .mobile {
    display: block;
  }

  .cb_design_content .design_content {
    padding-top: 35px;
  }

  .cb_design_content:last-child .design_content {
    padding-bottom: 40px;
  }
}

@media screen and (max-width:650px) {
  .design_content {
    margin: 0 20px;
  }

  .design_content .image_area {
    padding: 0;
  }
}


/* ギャラリー */
@media screen and (max-width:1100px) {
  .cb_gallery {
    padding: 100px 0 100px;
    margin-top: 50px;
  }
}

@media screen and (max-width:1000px) {
  .cb_gallery .splide__arrows {
    display: none;
  }
}

@media screen and (max-width:800px) {
  .cb_gallery {
    padding: 75px 0 40px;
    margin-top: 45px;
  }

  .cb_gallery:last-child {
    padding-bottom: 40px;
  }

  .gallery_carousel {
    height: 130px;
    width: auto;
  }

  .gallery_carousel .item {
    width: 130px !important;
    height: 130px;
  }

  .gallery_carousel .image_wrap {
    width: 130px;
    height: 130px;
  }

  .cb_gallery .archive_link {
    margin-top: 22px;
  }
}


/* 声 */
@media screen and (max-width:1100px) {
  .cb_voice {
    padding: 100px 0 100px;
    margin-top: 50px;
  }
}

@media screen and (max-width:900px) {
  .voice_carousel {
    width: auto;
    margin: 0 50px;
  }

  .voice_carousel:after {
    width: 100%;
  }

  .cb_voice .splide__arrow {
    width: 40px;
    height: 40px;
  }

  .cb_voice .splide__arrow.splide__arrow--prev {
    left: -20px;
    top: calc(50% + 20px);
  }

  .cb_voice .splide__arrow.splide__arrow--next {
    right: -20px;
    top: calc(50% + 20px);
  }
}

@media screen and (max-width:800px) {
  .cb_voice {
    padding: 75px 0 40px;
    margin-top: 45px;
  }

  .cb_voice:last-child {
    padding-bottom: 40px;
  }

  .voice_carousel {
    margin: -10px 30px 0;
    height: 260px;
  }

  .voice_carousel:after {
    height: 250px;
    top: 30px;
  }

  .voice_carousel .item {
    height: 280px;
  }

  .voice_carousel .item .inner_item {
    display: block;
  }

  .voice_carousel .item.odd .inner_item {
    padding-top: 70px;
  }

  .voice_carousel .item.even .inner_item {
    padding-top: 70px;
  }

  .voice_carousel .image_wrap {
    width: 100px;
    height: 100px;
    margin: 0 auto 15px;
  }

  .voice_carousel .content {
    width: auto;
    padding: 0;
  }

  .voice_carousel .catch {
    font-size: 16px;
    max-height: 3.6em;
  }

  .voice_carousel .catch span {
    -webkit-line-clamp: 2;
  }

  .voice_carousel .title {
    max-width: calc(100% - 80px);
    min-width: 220px;
    top: 10px;
    height: 40px;
    line-height: 40px;
    padding: 0 15px;
    border-radius: 40px;
    font-size: 12px;
  }

  .cb_voice .archive_link {
    margin-top: 42px;
  }
}

@media screen and (max-width:650px) {
  .voice_carousel .item .inner_item {
    width: 100%;
    height: 100%;
    display: block;
  }

  .voice_carousel .item.odd .inner_item {
    padding: 70px 40px;
    border-right: none;
  }

  .voice_carousel .item.even .inner_item {
    padding: 70px 40px;
  }

  .voice_carousel .content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .voice_carousel .item.no_image .content {
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 15px;
  }
}


/* 記事一覧 */
@media screen and (max-width:800px) {
  .cb_post_list {
    padding: 75px 0 40px;
    margin-top: 45px;
  }

  .cb_post_list:last-child {
    padding-bottom: 40px;
  }

  .cb_post_list .archive_link {
    margin-top: 22px;
  }
}


/* フリースペース */
.cb_free_space .post_content {
  width: auto;
  margin: 0 100px;
}

@media screen and (max-width:1100px) {
  .cb_free_space .post_content {
    margin: 0 50px;
  }
}

@media screen and (max-width:800px) {
  .cb_free_space {
    padding: 75px 0 40px;
    margin-top: 45px;
  }

  .cb_free_space.no_headline {
    padding: 35px 0;
  }

  .cb_free_space:last-child {
    padding-bottom: 33px;
  }

  .cb_free_space .post_content {
    margin: 0 30px;
  }
}

@media screen and (max-width:650px) {
  .cb_free_space .post_content {
    margin: 0 20px;
  }
}



/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
  body.wide_content #page_contents .post_content {
    width: auto;
    margin: 0 50px;
  }
}

@media screen and (max-width:900px) {
  #page_contents .post_content {
    width: auto;
    margin: 0 50px;
  }
}

@media screen and (max-width:800px) {
  #page_contents {
    padding-bottom: 40px;
  }

  body.hide_page_header #page_contents {
    padding-top: 35px;
  }

  #page_contents .post_content {
    margin: 0 30px;
  }

  body.wide_content #page_contents .post_content {
    margin: 0 30px;
  }

  .gray_bg_content {
    padding: 25px 20px;
    margin-bottom: 40px;
  }
}

@media screen and (max-width:650px) {
  #page_contents .post_content {
    margin: 0 20px;
  }

  body.wide_content #page_contents .post_content {
    margin: 0 20px;
  }
}


/* レッスン */
@media screen and (max-width:1100px) {
  .lesson_content .top_headline {
    width: 100px;
    height: 100px;
    top: -50px;
    font-size: 13px;
  }
}

@media screen and (max-width:800px) {
  .lesson_content {
    padding: 25px 20px 30px;
    margin-bottom: 40px;
  }

  .lesson_content:first-of-type {
    margin-top: 75px;
  }

  .lesson_content .top_headline {
    width: 90px;
    height: 90px;
    top: -45px;
    font-size: 12px;
  }

  .lesson_content .headline {
    font-size: 18px;
    margin: 0 0 15px;
  }

  .lesson_content .top_headline+.headline {
    margin-top: 45px;
  }

  .lesson_content .image {
    margin: 25px -20px 20px;
    width: calc(100% + 40px);
  }

  .lesson_content .list_type1 {
    margin: 0 0 10px !important;
    font-size: 14px;
  }

  .lesson_content .s_table {
    margin-top: -10px;
  }

  .lesson_content .list_type1 td:nth-child(1) {
    width: calc(100% - 100px);
  }

  .lesson_content .list_type1 td:nth-child(2) {
    width: 100px;
    text-align: center;
  }

  .lesson_content .link_button {
    text-align: center;
  }

  .lesson_content .list_type2.pc {
    display: none;
  }

  .lesson_content .list_type2.mobile {
    display: table;
    width: 100%;
    margin: 10px 0 0 !important;
    font-size: 14px;
  }

  .lesson_content .list_type2.mobile td:nth-child(1) {
    width: 115px !important;
    text-align: center;
    color: #7ea0c8;
    font-weight: 600;
  }

  .lesson_content .list_type2.mobile td:nth-child(2) {
    width: calc(100% - 115px) !important;
  }

  .lesson_content .list_type2.mobile td[colspan]:not([colspan="1"]) {
    font-weight: 500;
    color: #000;
    width: auto !important;
    text-align: left;
  }

  .lesson_content .s_table {
    margin-bottom: 0 !important;
  }
}


/* アクセス */
@media screen and (max-width:800px) {
  #access_top_image {
    margin: 35px 0 30px;
  }

  #access_map {
    margin-top: 35px;
  }

  #access_map h3 {
    font-size: 18px;
    margin-bottom: 25px;
  }

  #access_map .qt_google_map {
    height: 280px;
    margin: 0 0 30px 0;
  }

  #access_map .qt_google_map .qt_googlemap_embed {
    height: 276px;
  }

  #access_map .s_table {
    margin-bottom: 25px;
  }

  #access_map table {
    margin-bottom: 0;
    font-size: 14px;
  }

  #access_map tr td:nth-child(1) {
    width: 100px !important;
  }

  #access_map tr td:nth-child(2) {
    width: calc(100% - 100px) !important;
  }
}


/* LPページ */
@media screen and (max-width:1100px) {
  #page_header {
    height: 450px;
  }

  .lp_content .headline {
    font-size: 30px;
  }
}

@media screen and (max-width:800px) {
  #page_header {
    height: 340px;
    margin-bottom: 35px;
  }

  #page_header .catch .pc {
    display: none;
  }

  /* Rayyan tweaks: font size on mobile */
  #page_header .catch .mobile {
    display: block;
    font-size: 40px;
    width: 100%;
  }

  .lp_content {
    padding-bottom: 35px;
    margin-bottom: 35px;
  }

  .lp_content .headline {
    font-size: 22px;
  }

  .lp_content .image {
    margin: 35px 0;
  }

  .lp_content.last {
    border: none;
    padding: 0;
  }
}

/* プロフィール */
@media screen and (max-width:800px) {
  .design_profile {
    padding: 25px 20px 30px;
  }

  .design_profile .headline {
    font-size: 18px;
    margin-bottom: 25px;
  }

  .design_profile .image {
    margin-bottom: 25px;
    border-radius: 5px;
  }

  .design_profile .name {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .design_profile .desc {
    margin-bottom: 25px;
  }

  .design_profile .sns_button_list li {
    margin: 0 4px;
  }
}


/* FAQ */
@media screen and (max-width:900px) {
  .faq_list {
    width: auto !important;
  }
}

@media screen and (max-width:800px) {
  .faq_list .headline {
    font-size: 18px;
    margin-bottom: 25px;
  }

  .faq_list {
    padding: 25px 20px 20px;
  }
}




/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
/* おすすめ記事スライダー */
.design_content .slider_area {
  width: 50%;
  height: auto;
  aspect-ratio: 550 / 650;
}

#archive_recommend_post_slider {
  width: calc(100% + 2px);
  height: 100%;
}

#archive_recommend_post_slider .splide__track {
  height: 100%;
}

#archive_recommend_post_slider .image_link {
  height: 50%;
}

#archive_recommend_post_slider .content {
  height: 50%;
  padding: 0 40px;
}

#archive_recommend_post_slider.no_image .content {
  height: 100%;
}

#archive_recommend_post_slider .title {
  font-size: 22px;
}

#archive_recommend_post_slider .desc {
  line-height: 2;
  max-height: 4em;
}

#archive_recommend_post_slider .splide__pagination {
  top: calc(50% + 20px);
  right: 30px;
}

#archive_recommend_post_slider .new_icon {
  width: 50px;
  height: 50px;
  line-height: 50px;
  left: 40px;
  top: -40px;
}

@media screen and (max-width:1100px) {
  .design_content .slider_area {
    width: 100%;
    max-width: 400px;
    margin: 75px auto 0;
  }

  #archive_recommend_post_slider .title {
    font-size: 20px;
  }

  #archive_recommend_post_slider .category {
    font-size: 12px;
    height: 32px;
    line-height: 32px;
    padding: 0 15px;
    border-radius: 32px;
  }
}

@media screen and (max-width:920px) {
  .design_content .slider_area.no_image {
    height: 250px;
    aspect-ratio: initial;
  }

  #archive_recommend_post_slider.no_image {
    height: 250px;
  }

  #archive_recommend_post_slider.no_image .desc {
    display: block;
  }

  #archive_recommend_post_slider .image_link {
    height: 55%;
  }

  #archive_recommend_post_slider .content {
    height: 45%;
    padding: 0 30px;
  }

  #archive_recommend_post_slider .title {
    margin-bottom: 0;
    font-size: 18px;
  }

  #archive_recommend_post_slider .desc {
    display: none;
  }

  #archive_recommend_post_slider .splide__pagination {
    top: calc(55% + 20px);
    right: 30px;
    height: 10px;
  }

  #archive_recommend_post_slider .splide__pagination li {
    margin: 0 4px;
  }

  #archive_recommend_post_slider .splide__pagination button {
    width: 10px !important;
    height: 10px !important;
  }

  #archive_recommend_post_slider .new_icon {
    left: 30px;
  }
}

@media screen and (max-width:800px) {
  #archive_recommend_post_slider .category {
    margin-bottom: 15px;
  }

  .design_content.no_post_carousel {
    margin-bottom: 0;
  }

  body.post-type-archive-news .design_content {
    margin-bottom: 25px;
  }
}

@media screen and (max-width:650px) {
  .design_content .slider_area {
    width: 100%;
    max-width: inherit;
    height: 360px;
    aspect-ratio: initial;
  }

  #archive_recommend_post_slider .image_link {
    height: 200px;
  }

  #archive_recommend_post_slider .content {
    height: 166px;
  }

  #archive_recommend_post_slider .splide__pagination {
    top: 220px;
    right: 30px;
  }

  body.post-type-archive-news .design_content .slider_area {
    height: 336px;
  }

  body.post-type-archive-news #archive_recommend_post_slider .content {
    height: 138px;
  }

  body.post-type-archive-news .design_content .slider_area.no_image {
    height: 216px;
  }

  body.post-type-archive-news .design_content .slider_area.no_image #archive_recommend_post_slider .content {
    height: 220px;
  }
}


/* ピックアップ記事スライダー */
#archive_pickup_post_slider_area {
  width: auto;
  height: auto;
  margin: 55px 100px 130px;
  padding: 80px 0;
}

#archive_pickup_post_slider {
  width: calc(100% - 140px);
  height: auto;
  position: relative;
  z-index: 8;
  margin: 0 auto;
  top: auto;
}

#archive_pickup_post_slider .item {
  height: auto;
}

#archive_pickup_post_slider .image_link {
  width: 40%;
  height: auto;
  aspect-ratio: 1 /1;
}

#archive_pickup_post_slider .content {
  width: 60%;
}

@media screen and (max-width:1100px) {
  #archive_pickup_post_slider_area {
    width: auto;
    margin: 55px 50px 130px;
    padding: 70px 0;
  }

  #archive_pickup_post_slider_area .headline {
    width: 100px;
    height: 100px;
    top: -50px;
    font-size: 13px;
  }

  #archive_pickup_post_slider .content {
    padding: 0 0 0 30px;
  }

  #archive_pickup_post_slider .category {
    padding: 0 15px;
    font-size: 12px;
    min-width: 100px;
    height: 32px;
    line-height: 32px;
    border-radius: 32px;
  }

  #archive_pickup_post_slider .title {
    font-size: 18px;
  }
}

@media screen and (max-width:1000px) {
  #archive_pickup_post_slider {
    width: calc(100% - 100px);
  }

  #archive_pickup_post_slider .splide__arrows {
    display: none;
  }
}

@media screen and (max-width:900px) {
  #archive_pickup_post_slider {
    width: calc(100% - 60px);
  }

  #archive_pickup_post_slider .title {
    font-size: 16px;
  }
}

@media screen and (max-width:800px) {
  body.hide_post_slider #archive_pickup_post_slider_area {
    margin-top: 90px;
  }

  #archive_pickup_post_slider_area {
    margin: 40px 0 64px;
    border-radius: 0;
    padding: 60px 0;
  }

  #archive_pickup_post_slider_area .headline {
    width: 90px;
    height: 90px;
    top: -45px;
    font-size: 12px;
  }

  #archive_pickup_post_slider {
    width: 100%;
  }

  #archive_pickup_post_slider .item {
    width: calc(100% - 70px) !important;
    padding: 0 20px 0 30px;
  }

  #archive_pickup_post_slider .image_link {
    width: 120px;
    border-radius: 5px;
  }

  #archive_pickup_post_slider .content {
    width: calc(100% - 120px);
    padding: 0 0 0 20px;
  }

  #archive_pickup_post_slider .title {
    line-height: 1.6;
  }

  #archive_pickup_post_slider .title a {
    max-height: 4.8em;
  }

  #archive_pickup_post_slider .title span {
    -webkit-line-clamp: 3;
  }

  #archive_pickup_post_slider .date {
    display: none;
  }
}

@media screen and (max-width:650px) {
  #archive_pickup_post_slider .item {
    padding: 0 10px 0 20px;
  }
}


/* ブログ一覧 */
#archive_desc {
  width: auto;
  margin: -10px 100px 90px;
}

.blog_list {
  width: auto;
  margin: 0 100px;
}

.blog_list .image_link {
  width: 37%;
  height: auto;
  aspect-ratio: 1 /1;
}

.blog_list .content {
  width: 63%;
  padding: 0 0 0 40px;
}

@media screen and (max-width:1100px) {
  #archive_desc {
    margin: -10px 50px 90px;
  }

  .blog_list {
    margin: 0 50px;
  }

  .blog_list .title {
    font-size: 18px;
  }

  .blog_list .category,
  .category,
  #blog_category_sort .item a {
    padding: 0 15px;
    font-size: 12px;
    min-width: 100px;
    height: 32px;
    line-height: 32px;
    border-radius: 32px;
  }

  body.category {
    padding: 0;
  }

  .blog_list .content {
    padding: 0 0 0 30px;
  }

  .blog_list .item {
    width: calc(50% - 25px);
    margin: 0 50px 50px 0;
  }
}

@media screen and (max-width:900px) {
  .blog_list .title {
    font-size: 16px;
  }
}

@media screen and (max-width:800px) {
  #archive_blog {
    padding: 65px 0 40px;
  }

  body.category.paged #archive_blog,
  body.tag.paged #archive_blog,
  body.paged #archive_blog {
    padding-top: 40px;
  }

  #archive_desc {
    margin: -5px 30px 30px;
    line-height: 2;
  }

  body.hide_post_carousel #archive_blog {
    margin-top: 20px;
  }

  body.hide_post_carousel.paged #archive_blog {
    margin-top: 0px;
    padding-top: 40px;
  }

  body.search #archive_blog,
  body.category #archive_blog,
  body.tag #archive_blog {
    margin-top: 65px;
  }

  #archive_blog .headline {
    top: -25px;
    min-width: 200px;
    padding: 0 15px;
    height: 50px;
    line-height: 50px;
    font-size: 16px;
    border-radius: 50px;
  }

  .blog_list {
    margin: 0 30px;
    display: block;
  }

  .blog_list .item {
    width: auto;
    margin: 0 0 30px 0;
  }

  .blog_list .item:last-of-type {
    margin: 0;
  }

  .blog_list .image_link {
    width: 120px;
    border-radius: 5px;
  }

  .blog_list .content {
    width: calc(100% - 120px);
    padding: 0 0 0 20px;
  }

  .blog_list .title {
    line-height: 1.6;
  }

  .blog_list .title a {
    max-height: 3.2em;
  }
}

@media screen and (max-width:650px) {
  #archive_desc {
    margin: -5px 20px 30px;
  }

  .blog_list {
    margin: 0 20px;
  }
}

/* ----------------------------------------------------------------------
 ブログアーカイブにカテゴリーを表示する
---------------------------------------------------------------------- */
@media screen and (max-width:800px) {
  #blog_category_sort_wrap {
    overflow: hidden;
    width: 100%;
    margin: 0 0 30px;
  }

  #blog_category_sort.multiple-rows .blog_category_sort_button {
    margin: 0 20px;
  }

  #blog_category_sort {
    overflow: visible;
  }

  #blog_category_sort_wrap .swiper-nav-button {
    display: none;
  }

  #blog_category_sort .blog_category_sort_button {
    gap: 5px;
  }

  #blog_category_sort .item {
    padding: 0 5px;
    min-width: 110px;
  }

  #blog_category_sort .item a {
    font-size: 12px;
    line-height: 32px;
    border-radius: 32px;
    height: 32px;
    padding: 0 15px;
  }

  #blog_category_sort:not(.blog_category_sort__is-pc) .blog_category_sort_button {
    gap: 0px;
  }

  #blog_category_sort:not(.blog_category_sort__is-pc) .item:first-child {
    padding-left: 20px;
  }

  #blog_category_sort:not(.blog_category_sort__is-pc) .item:last-child {
    padding-right: 20px;
  }
}

/* ページナビ */
@media screen and (max-width:800px) {
  .page_navi {
    margin: 40px 0 0 0;
  }

  .page_navi .next,
  .page_navi .prev {
    display: none;
  }

  .page_navi a,
  .page_navi span {
    font-size: 12px;
    width: 40px;
    height: 40px;
    line-height: 40px;
  }

  .page_navi span.dots {
    width: 10px;
  }
}


/* シンプルなページヘッダー */
@media screen and (max-width:900px) {
  #simple_page_header {
    margin: 0 50px -10px;
    padding-top: 90px;
    width: auto;
  }
}

@media screen and (max-width:800px) {
  #simple_page_header {
    margin: 0 30px -10px;
    padding-top: 35px;
  }

  body.hide_post_carousel.hide_post_slider #simple_page_header {
    margin-bottom: 60px;
  }

  #simple_page_header .desc {
    line-height: 2;
    margin: 15px 20px -10px;
    text-align: left;
    font-size: 16px;
  }
}

@media screen and (max-width:650px) {
  #simple_page_header {
    margin: 0 20px -10px;
  }
}




/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */

/* アーカイブ */
.news_list {
  width: auto;
  margin: 0 100px;
}

@media screen and (max-width:1100px) {
  .news_list {
    margin: 0 50px;
  }
}

@media screen and (max-width:800px) {
  #archive_news {
    padding: 60px 0 40px;
  }

  body.paged #archive_news {
    padding-top: 40px;
  }

  #archive_news.no_slider {
    margin-top: 70px;
  }

  #archive_news .headline {
    top: -25px;
    min-width: 200px;
    padding: 0 15px;
    height: 50px;
    line-height: 50px;
    font-size: 16px;
    border-radius: 50px;
  }

  .news_list {
    margin: 0 30px;
  }

  .news_list .item {
    margin: 0 0 30px 0;
  }

  .news_list .image_link {
    width: 120px;
    height: 120px;
    border-radius: 5px;
  }

  .news_list .content {
    width: calc(100% - 120px);
    padding: 0 0 0 20px;
  }

  .news_list .title {
    font-size: 16px;
    line-height: 1.6;
  }

  .news_list .title a {
    max-height: 3.2em;
  }

  .news_list .desc {
    display: none;
  }
}

@media screen and (max-width:650px) {
  .news_list {
    margin: 0 20px;
  }
}



/* ----------------------------------------------------------------------
 ギャラリー
---------------------------------------------------------------------- */
@media screen and (max-width:900px) {
  #archive_gallery .gallery_list {
    width: auto;
    margin: 0 50px 100px;
  }

  #archive_gallery .post_list .item {
    aspect-ratio: 1 /1;
    margin: 0 25px 25px 0;
    width: calc(100% / 3 - 17px);
    height: 100%;
  }

  #archive_gallery .post_list .image_wrap {
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width:800px) {
  #archive_gallery {
    padding-bottom: 40px;
  }

  #archive_gallery .gallery_list .header {
    margin: 0 -20px 30px;
    padding: 0 20px 30px;
  }

  #archive_gallery .gallery_list .headline {
    font-size: 18px;
    margin-bottom: 25px;
  }

  #archive_gallery .gallery_list .desc {
    line-height: 2;
    margin-bottom: -10px;
  }

  #archive_gallery .gallery_list {
    margin: 0 30px 40px;
    padding: 30px 20px;
  }

  #archive_gallery .gallery_list.hide_nav .post_list {
    margin-bottom: -20px;
  }

  #archive_gallery .post_list .item {
    margin: 0 20px 20px 0;
    width: calc(100% / 3 - 14px);
  }

  #archive_gallery .splide__pagination {
    margin-top: 10px;
    margin-bottom: -4px;
  }

  #archive_gallery .splide__pagination li {
    width: 40px;
    height: 40px;
    margin: 0 4px 4px;
  }

  #archive_gallery .splide__pagination li button:before {
    font-size: 12px;
  }
}

@media screen and (max-width:800px) {
  #archive_gallery .gallery_list {
    margin: 0 20px 40px;
    padding: 30px 20px;
  }
}

@media screen and (max-width:550px) {
  #archive_gallery .post_list .item {
    width: calc(50% - 10px);
    border-radius: 5px;
  }

  #archive_gallery .post_list .item:nth-child(3n) {
    margin-right: 20px;
  }

  #archive_gallery .post_list .item:nth-child(2n) {
    margin-right: 0px;
  }

  #archive_gallery .new_icon {
    width: 45px;
    height: 45px;
    line-height: 45px;
    top: 10px;
    left: 10px;
  }

  #archive_gallery .post_list .title {
    font-size: 12px;
    padding: 15px 15px;
  }
}


/* モーダル */
@media screen and (max-width:800px) {
  .gallery_image_modal {}

  .gallery_image_modal_inner {
    max-width: 710px;
    max-height: unset;
    aspect-ratio: unset;
    width: calc(100% - 20px);
  }

  .gallery_image_modal_carousel {
    max-width: 730px;
    width: auto;
    left: 0;
  }

  .gallery_image_modal .close_button {
    width: 50px;
    height: 50px;
    top: -20px;
    right: -5px;
  }

  .gallery_image_modal .close_button:before {
    top: 30px;
    right: 13px;
    width: 22px;
  }

  .gallery_image_modal .close_button:after {
    top: 30px;
    left: 15px;
    width: 22px;
  }

  .gallery_image_modal .item {
    width: 100% !important;
  }

  .gallery_image_modal .item_inner {
    padding: 15px;
  }

  .gallery_image_modal .item .image .title {
    font-size: 14px;
    padding-top: 15px;
  }

  .gallery_image_modal .splide__arrows {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
  }

  .gallery_image_modal .splide__arrow:before {
    font-size: 20px;
  }

  .gallery_image_modal .splide__arrow {
    left: -35px;
    bottom: 0;
    top: auto;
    transform: translate3d(0, 0%, 0);
    width: 30px;
  }

  .gallery_image_modal .splide__arrow--next {
    left: auto;
    right: -31px;
  }

  .gallery_image_modal .splide__arrow--prev:before {
    left: 15px;
  }

  .gallery_image_modal .splide__arrow--next:before {
    left: 17px;
  }
}




/* ----------------------------------------------------------------------
 生徒様の声
---------------------------------------------------------------------- */

/* アーカイブページ */
@media screen and (max-width:900px) {
  #archive_voice {
    width: auto;
    margin: 0 50px;
  }

  .cb_voice .voice_list {
    width: auto;
    margin: 0 50px;
  }
}

@media screen and (max-width:800px) {
  #archive_voice {
    margin: 0 30px;
    padding: 0 0 40px;
  }

  body.paged #archive_voice {
    margin-top: 35px;
  }

  .cb_voice .voice_list {
    margin: 0 30px;
  }

  .voice_list .item {
    margin-bottom: 50px;
    padding: 50px 25px 25px;
    display: block;
  }

  .voice_list .image_wrap {
    width: 100px;
    height: 100px;
    margin: 0 auto 25px;
  }

  .voice_list .title {
    top: -20px;
    font-size: 14px;
    height: 40px;
    line-height: 40px;
    padding: 0 15px;
    border-radius: 40px;
    min-width: 220px;
  }

  .voice_list .content {
    width: auto;
    padding: 0;
  }

  .voice_list .catch {
    font-size: 18px;
    margin-bottom: 18px;
    text-align: center;
  }

  .voice_list .desc {
    line-height: 2;
  }

  .voice_list a .desc {
    max-height: 4em;
  }
}

@media screen and (max-width:650px) {
  #archive_voice {
    margin: 0 20px;
  }

  .cb_voice .voice_list {
    margin: 0 20px;
  }

  .voice_list .catch {
    text-align: left;
  }
}


/* 詳細ページ ヘッダー */
#single_voice_header {
  width: auto;
  margin: 0 100px;
}

#single_voice_header .image {
  width: 50%;
}

#single_voice_header .content {
  width: 50%;
  padding: 0 70px 0 0;
}

#single_voice_header .title {
  margin-bottom: 30px;
  font-size: 14px;
  height: 40px;
  line-height: 40px;
  padding: 0 15px;
  border-radius: 40px;
  min-width: 220px;
}

#single_voice_header .catch {
  margin-bottom: 20px;
}

#single_voice_header.no_image {
  width: 800px;
  margin: 0 auto;
}

@media screen and (max-width:1100px) {
  #single_voice_header {
    margin: 0 50px;
  }

  #single_voice_header.no_image {
    width: auto;
    margin: 0 50px;
  }
}

@media screen and (max-width:800px) {
  #single_voice_header {
    margin: 0 30px;
    padding: 40px 0;
    display: block;
  }

  #single_voice_header.no_image {
    margin: 0 30px;
  }

  #single_voice_header .content {
    width: auto;
    padding: 0;
    text-align: center;
  }

  #single_voice_header .title {
    margin-bottom: 35px;
  }

  #single_voice_header .catch {
    margin-bottom: 35px;
  }

  #single_voice_header .desc {
    display: none;
  }

  #single_voice_header .image {
    width: 100%;
    margin: 0 auto;
    max-width: 400px;
  }

  #single_voice_header .desc_bottom {
    display: block;
    line-height: 2;
    margin: 35px 0 -8px;
  }
}

@media screen and (max-width:650px) {
  #single_voice_header {
    margin: 0 20px;
  }

  #single_voice_header.no_image {
    margin: 0 20px;
  }
}


/* メインコンテンツ */
@media screen and (max-width:1100px) {
  #single_voice_main_content {
    width: auto;
    margin: 0 50px;
  }
}

@media screen and (max-width:800px) {
  #single_voice_main_content {
    margin: 0 30px;
    padding-bottom: 40px;
  }

  #single_voice_main_content .post_content {
    padding: 30px 30px;
    margin-bottom: 40px;
  }

  #single_voice_main_content .voice_faq_list h2 {
    font-size: 18px;
    margin: 0 0 15px 0;
    line-height: 1.6;
  }

  #single_voice_main_content .voice_faq_list .item {
    margin-bottom: 25px;
  }

  #single_voice_main_content .voice_faq_list .item:last-of-type {
    margin: 0;
  }
}

@media screen and (max-width:650px) {
  #single_voice_main_content {
    margin: 0 20px;
  }
}


/* ナビ */
@media screen and (max-width:800px) {
  #next_prev_post2 .item {
    width: 50%;
    display: block;
    padding: 0;
    height: 50px;
    line-height: 50px;
    text-align: center;
  }

  #next_prev_post2 .image_wrap {
    display: none;
  }

  #next_prev_post2 .content {
    width: auto;
    padding: 0;
    position: relative;
  }

  #next_prev_post2 .title {
    display: none;
  }

  #next_prev_post2 .nav {
    display: block;
    font-size: 12px;
  }

  #next_prev_post2 .content:after {
    z-index: 10;
    position: absolute;
    margin-top: 2px;
    left: 15px;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: 'design_plus';
    color: #000;
    font-size: 12px;
    font-weight: 500;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }

  #next_prev_post2 .prev_post .content:after {
    content: '\e90f';
  }

  #next_prev_post2 .next_post .content:after {
    content: '\e910';
    left: auto;
    right: 15px;
  }

  #single_voice_main_content .archive_link {
    margin-top: 20px;
  }
}



/* ----------------------------------------------------------------------
 ページ上部　ヘッダー
---------------------------------------------------------------------- */
#header {
  height: 80px;
}

body.mobile_header_fixed {
  padding-top: 0px;
}

@media screen and (max-width:1100px) {
  #header {
    height: 60px;
  }

  body.header_fixed #header {
    height: 60px;
  }
}

@media screen and (max-width:800px) {
  #header {
    position: relative;
    transition: none;
  }

  #header:after {
    display: none;
  }

  body.mobile_header_fixed {
    padding-top: 60px;
  }

  body.header_fixed #header {
    background: #fff;
  }

  body.open_header #header {
    position: fixed;
    animation: open_header_animation 0.3s ease forwards;
  }

  body.close_header #header {
    position: fixed;
    animation: close_header_animation 0.2s ease forwards;
  }

  @keyframes open_header_animation {
    0% {
      transform: translate3d(0, -100%, 0);
    }

    100% {
      transform: translate3d(0, 0, 0);
    }
  }

  @keyframes close_header_animation {
    0% {
      transform: translate3d(0, 0, 0);
    }

    100% {
      transform: translate3d(0, -100%, 0);
    }
  }
}


/* ロゴ */
#header_logo a {
  padding: 0 50px;
}

#header_logo img {
  max-height: calc(100% - 40px);
  width: auto;
  height: auto;
}

body.header_fixed #header_logo a {
  padding: 0 30px;
}

body.header_fixed #header_logo img {
  transform: scale(1);
}

@media screen and (max-width:1100px) {
  #header_logo img {
    max-height: calc(100% - 30px);
  }

  body.header_fixed #header_logo a {
    padding: 0 30px;
  }
}

@media screen and (max-width:800px) {
  #header_logo img.pc {
    display: none;
  }

  #header_logo img.mobile {
    display: block;
  }

  #header_logo {
    max-width: calc(100% - 70px);
    min-width: 170px;
  }

  #header_logo a {
    padding: 0 30px;
    transition: color 0.25s ease;
  }

  body.mobile_header_fixed #header_logo {
    min-width: 50px;
  }
}

@media screen and (max-width:650px) {
  #header_logo a {
    padding: 0 20px;
  }
}

/* サイトの説明文 */
#site_desc {
  font-size: 14px;
  padding: 0 30px;
}

@media screen and (max-width:1200px) {
  #site_desc {
    display: none;
  }
}


/* ヘッダーボタン */
#header_button_list {
  right: 85px;
  height: 80px;
}

html.open_drawer_menu #header_button_list {
  margin-right: 85px;
}

@media screen and (max-width:1100px) {
  #header_button_list {
    height: 60px !important;
  }

  #header_button_list a {
    min-width: 180px;
    height: 40px;
    line-height: 40px;
    border-radius: 40px;
    padding: 0 15px;
    font-size: 14px;
  }

  #header_button_list a:nth-child(2) {
    margin-left: 10px;
  }

  #header_button_list a:nth-child(3) {
    margin-left: 10px;
  }
}

@media screen and (max-width:800px) {
  #header_button_list {
    display: none;
  }
}


/* ドロワーメニュー開閉ボタン */
.drawer_menu_button {
  width: 85px;
  height: 80px;
}

.drawer_menu_button .line {
  width: 30px;
}

.drawer_menu_button .line:nth-child(1) {
  top: 20px;
}

.drawer_menu_button .line:nth-child(2) {
  top: 28px;
}

.drawer_menu_button .line:nth-child(3) {
  top: 37px;
}

.drawer_menu_button .label {
  top: 50px;
  font-size: 12px;
}

#drawer_menu .drawer_menu_button .line {
  background: #fff;
}

html.open_drawer_menu .drawer_menu_button .line:nth-child(1) {
  transform: rotate(45deg);
  left: 28px;
  top: 30px;
}

html.open_drawer_menu .drawer_menu_button .line:nth-child(3) {
  transform: rotate(-45deg);
  left: 28px;
  top: 30px;
}

body.header_fixed .drawer_menu_button {
  width: 85px;
}

body.header_fixed .drawer_menu_button .label {
  display: block;
  color: #fff;
}

@media screen and (max-width:1100px) {
  .drawer_menu_button {
    height: 60px !important;
  }

  .drawer_menu_button .label {
    display: none !important;
  }
}

@media screen and (max-width:800px) {
  body.mobile_header_fixed .drawer_menu_button .line {
    background: #fff;
  }
}

@media screen and (max-width:600px) {
  .drawer_menu_button {
    width: 70px !important;
  }
}


/* ドロップダウンメニュー */
#dropdown_menu {
  display: none;
}

body.header_type2 .drawer_menu_button {
  display: block;
}


/* メッセージ */
#header_message {
  padding: 10px 0;
  z-index: 2000;
}

#header_message .post_content {
  width: auto !important;
  margin: 0 20px !important;
}

#header_message.show_close_button .post_content {
  margin: 0 40px !important;
}

@media screen and (max-width:750px) {
  #header_message .post_content {
    line-height: 1.8;
  }

  #header_message.show_close_button .post_content {
    margin: 0 35px !important;
  }
}


/* パンくずリンク */
#bread_crumb {
  width: auto;
  margin: 75px 100px 30px;
}

@media screen and (max-width:1100px) {
  #bread_crumb {
    width: 700px;
    margin: 75px auto 30px;
  }

  body:not(.single) #bread_crumb {
    width: unset;
    margin: 75px 50px 30px;
  }
}

@media only screen and (max-width: 800px) {
  #bread_crumb {
    overflow: auto;
    width: auto;
    height: 90px;
    margin: 0;
  }

  body:not(.single) #bread_crumb {
    margin: 0;
  }

  body.mobile_device #bread_crumb {
    height: 71px;
  }

  #bread_crumb ul {
    width: auto;
    margin: 0 30px;
    height: 70px;
    line-height: 70px;
    overflow: visible;
  }

  #bread_crumb li:last-of-type {
    padding-right: 30px;
  }
}

@media only screen and (max-width: 650px) {
  #bread_crumb ul {
    margin: 0 20px;
  }

  #bread_crumb li:last-of-type {
    padding-right: 20px;
  }

  body:not(.single) .breadcrumb+#archive_blog {
    margin-top: 30px;
  }
}




/* ----------------------------------------------------------------------
 モバイル用ドロワーメニュー
---------------------------------------------------------------------- */
#drawer_menu {
  display: none !important;
}

#drawer_menu_mobile {
  display: block;
  position: fixed;
  top: 0px;
  right: 0;
  width: 400px;
  height: 100vh;
  height: 100dvh;
  background: #161c21;
  overflow: auto;
  z-index: 99999;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
  transform: translate3d(100%, 0, 0);
}

.open_mobile_menu #drawer_menu_mobile {
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}

#container:before {
  opacity: 0;
  pointer-events: none;
  content: '';
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3000;
  transition: opacity 0.5s ease;
  backdrop-filter: blur(5px);
}

.open_mobile_menu #container:before {
  opacity: 1;
  pointer-events: auto;
}

.open_mobile_menu #container {}

.open_mobile_menu #js-footer-bar {
  display: none;
}

body.admin-bar #drawer_menu_mobile {
  top: 32px;
}

@media only screen and (max-width: 782px) {
  body.admin-bar #drawer_menu_mobile {
    top: 48px;
  }
}

@media only screen and (max-width: 450px) {
  #drawer_menu_mobile {
    width: calc(100% - 60px);
  }
}


/* ドロワーメニューのスクロールバー */
#drawer_menu_mobile .simplebar-scrollbar:before {
  background: #aaa !important;
}


/* 閉じるボタン */
#drawer_menu_mobile .header {
  position: relative;
  width: 100%;
  height: 50px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

#mobile_close_button {
  cursor: pointer;
  display: block;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 10;
}

#mobile_close_button:before {
  color: #fff;
  font-family: 'design_plus';
  content: '\e91a';
  font-size: 20px;
  display: block;
  top: 17px;
  left: 12px;
  position: absolute;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* グローバルメニュー */
#mobile_menu {
  width: 100%;
  margin: 0;
}

#mobile_menu ul {
  margin: 0;
}

#mobile_menu li ul {
  display: none;
}

#mobile_menu a {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 50px 0 30px;
  height: 50px;
  line-height: 50px;
  overflow: hidden;
  text-decoration: none;
  color: #fff !important;
  font-size: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  transition: none;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
}

#mobile_menu li li a {
  border: none;
  height: 50px;
  line-height: 50px;
}

@media screen and (max-width:850px) {
  #mobile_menu a {
    padding: 0 50px 0 20px;
  }
}


/* グローバルメニュー（子メニュー） */
#mobile_menu li {
  position: relative;
}

#mobile_menu .child_menu_button {
  display: block;
  position: absolute;
  text-align: center;
  width: 50px;
  height: 50px;
  right: 0px;
  top: -5px;
  z-index: 9;
  cursor: pointer;
}

#mobile_menu .child_menu_button:after {
  background: #fff;
  content: '';
  height: 2px;
  width: 12px;
  display: block;
  position: absolute;
  right: 22px;
  top: 30px;
  transition: background-color 0.25s ease;
}

#mobile_menu .child_menu_button:before {
  background: #fff;
  content: '';
  height: 12px;
  width: 2px;
  display: block;
  position: absolute;
  right: 27px;
  top: 25px;
  transition: background-color 0.25s ease;
}

#mobile_menu li.open>.child_menu_button:before {
  display: none;
}

#mobile_menu li.open>a {
  border-bottom: none;
}

#mobile_menu li li a {
  background: #1f272e;
}

#mobile_menu li ul {
  background: #000;
}


/* SNS */
#mobile_sns {
  text-align: left;
  padding: 30px 20px;
  margin-right: -7px;
}

#mobile_sns li {
  margin: 0 7px 7px 0;
}

#mobile_sns a {
  width: 45px;
  height: 45px;
  border: 1px solid #fff;
  border-radius: 100%;
}

#mobile_sns.color_type1 a:before {
  color: #fff;
}

#mobile_sns.color_type1 a:before {
  transition: color 0.25s ease;
}

#mobile_sns.color_type1 a:hover:before {
  opacity: 1;
}

#mobile_sns.color_type2 {
  margin-left: -7px;
}

#mobile_sns.color_type2 a {
  border: none;
  width: 30px;
  height: 30px;
}

#mobile_sns.color_type2 li a:before {}

@media screen and (max-width:850px) {
  #mobile_sns {
    left: 20px;
  }
}

#mobile_sns.sns_button_list li.note a:before {
  background-color: #fff;
}

#mobile_sns.sns_button_list li.twitter a:before {
  color: #fff;
}

#mobile_sns.sns_button_list li.tiktok a:before {
  color: #fff;
}

/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */


/* タイトルエリア */
@media screen and (max-width:800px) {
  #single_post_header {
    border-radius: 0px;
    border: none;
    border-bottom: 1px solid #ddd;
    margin: 0 -30px 30px;
  }

  #single_post_header .image {
    margin: 0;
    width: 100%;
    border-radius: 0;
  }

  #single_post_header .content {
    position: relative;
    padding: 40px 30px 28px;
  }

  #single_post_header .category {
    font-size: 12px;
    border-radius: 32px;
    top: -16px;
    left: 30px;
    height: 32px;
    line-height: 32px;
    min-width: 100px;
    padding: 0 15px;
  }

  #single_post_header .meta.top {
    margin-top: -10px;
  }
}


/* SNSボタン */
@media screen and (max-width:800px) {
  #single_share_top {
    margin: 0 0 40px 0;
  }

  #single_share_top .share-top {}

  #single_share_bottom {
    margin: 40px 0 0;
  }

  #single_share_bottom .share-btm {
    margin-bottom: 0 !important;
    padding: 0;
  }

  #single_share_top .mt10,
  #single_share_top .mt10 {
    margin: 0 !important;
  }

  #single_share_bottom .mb45,
  #single_share_bottom .mb45 {
    margin: 0 !important;
  }

  .share-type1 ul {
    text-align: center;
    margin-bottom: -5px !important;
  }

  .share-type3 ul {
    text-align: center;
    margin-bottom: -5px !important;
  }

  .share-type2 ul.type2 {
    text-align: center;
    margin-bottom: -5px !important;
  }

  .share-type4 ul.type4 {
    text-align: center;
    margin-bottom: -5px !important;
  }

  .sns_default_top {
    text-align: center;
    margin-bottom: -5px !important;
  }
}


/* コピーボタン */
@media screen and (max-width:800px) {
  #single_copy_title_url_top {
    margin: 0 0 35px;
  }

  #single_copy_title_url_btm {
    margin: 40px 0 0;
  }

  .single_copy_title_url_btn {
    border-width: 2px;
    font-size: 12px;
    line-height: 46px;
    min-width: 250px;
  }
}


/* ページ分割 */
@media screen and (max-width:800px) {}


/* 広告 */
@media screen and (max-width:800px) {
  #single_banner_top {
    width: auto;
    padding: 0;
    margin: 0 0 40px 0;
  }

  #single_banner_bottom {
    width: auto;
    margin: 40px 0 -5px;
  }

  #single_banner_shortcode {
    padding: 0 0 20px;
  }
}

@media (max-width: 767px) {
  .single_banner {
    line-height: 2;
  }
}


/* ナビゲーション */
@media screen and (max-width:1100px) {
  #next_prev_post {}

  #next_prev_post .item {
    height: 50px;
  }

  #next_prev_post .nav {
    display: block;
  }

  #next_prev_post .title {
    display: none;
  }

  #next_prev_post .nav {
    position: relative;
    text-align: center;
    width: 100%;
    font-weight: 500;
    font-size: 12px;
    line-height: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: color 0.2s ease;
    transition: color 0.2s ease;
  }

  #next_prev_post .nav:after {
    z-index: 10;
    position: absolute;
    margin-top: 2px;
    left: 15px;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: 'design_plus';
    color: #000;
    font-size: 12px;
    font-weight: 500;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }

  #next_prev_post .prev_post .nav:after {
    content: '\e90f';
  }

  #next_prev_post .next_post .nav:after {
    content: '\e910';
    left: auto;
    right: 15px;
  }
}

@media screen and (max-width:800px) {
  #next_prev_post {
    margin-top: 40px;
  }
}


/* メタ情報 */
@media screen and (max-width:800px) {
  #post_tag_list {
    margin: 40px 0 -5px;
  }

  #post_tag_list a {
    font-size: 12px;
  }
}


/* プロフィール */
@media screen and (max-width:800px) {
  .author_profile {
    margin: 40px 0 0;
    padding: 15px 20px;
  }

  .author_profile .avatar_area {
    width: 90px;
    height: 90px;
  }

  .author_profile .image_wrap {
    width: 90px;
    height: 90px;
  }

  .author_profile .info {
    width: calc(100% - 90px);
  }

  .author_profile .info_inner {
    padding: 0 0 0 20px;
  }

  .author_profile .name {
    font-size: 14px;
    margin: 5px 0 10px 0;
  }

  .author_profile .desc {
    font-size: 12px;
    max-height: 5.1em;
    line-height: 1.7;
  }

  .author_profile .desc span {
    -webkit-line-clamp: 3;
  }

  #author_sns {
    display: none;
  }
}


/* 投稿者ページ */
@media screen and (max-width:1100px) {
  #author_headline {
    font-size: 30px;
  }
}

@media screen and (max-width:900px) {
  #archive_blog .author_profile {
    width: auto;
    margin: 0 50px 100px;
  }
}

@media screen and (max-width:800px) {
  body.author #archive_blog {
    padding-top: 40px;
  }

  #author_headline {
    font-size: 22px;
    margin-bottom: 40px;
  }

  body.paged #author_headline {
    margin-bottom: 40px;
  }

  #archive_blog .author_profile {
    padding: 30px;
    margin: 0 30px 40px;
    display: block;
  }

  #archive_blog .author_profile .avatar_area {
    margin: 0 auto 30px;
    width: 100px;
  }

  #archive_blog .author_profile .image_wrap {
    width: 100px;
    height: 100px;
  }

  #archive_blog .author_profile .info {
    width: auto;
  }

  #archive_blog .author_profile .info_inner {
    padding: 0;
  }

  #archive_blog .author_profile .name {
    text-align: center;
    margin: 25px 0 25px;
    font-size: 16px;
  }

  #archive_blog .author_profile .desc {
    font-size: 16px;
    line-height: 2;
    margin: 0 0 25px 0;
  }

  #archive_blog #author_sns {
    display: block;
    text-align: center;
  }

  #archive_blog #author_sns li {
    margin: 0 4px 8px;
  }
}

@media screen and (max-width:650px) {
  #archive_blog .author_profile {
    margin: 0 20px 40px;
  }
}


/* 関連記事 */
#related_post .post_list {
  display: block;
  margin-bottom: 0px;
}

#related_post .item {
  width: auto;
  margin: 0 0 30px 0;
}

#related_post .headline {
  top: -25px;
  min-width: 200px;
  padding: 0 15px;
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  border-radius: 50px;
}

@media screen and (max-width:1100px) {
  #related_post {
    margin-top: 73px;
  }
}

@media screen and (max-width:800px) {
  #related_post {
    margin: 65px -30px 0;
    padding: 65px 30px 0;
  }

  #related_post .image_wrap {
    width: 120px;
    height: 120px;
    border-radius: 5px;
  }

  #related_post .content {
    width: calc(100% - 120px);
    padding: 0 0 0 20px;
  }
}


/* table スクロール対応 */
@media (max-width: 767px) {

  .post_content .s_table,
  .post_content .wp-block-table {
    overflow: auto;
    white-space: nowrap;
    margin-bottom: 2em;
  }

  .post_content .s_table table,
  .post_content .wp-block-table {
    margin-bottom: 0;
  }
}



/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/
#page_404_header {
  height: calc(100vh - 80px);
  height: calc(100dvh - 80px);
}

#page_404_header .content {
  padding: 0 30px;
}

@media screen and (max-width:1100px) {
  #page_404_header {
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
  }
}

@media screen and (max-width:800px) {
  #page_404_header .content {
    padding: 0 20px;
  }

  #page_404_header .desc {
    line-height: 2;
  }
}


/* 検索結果 */
#no_search_result {
  min-height: calc(100vh - 80px);
  min-height: calc(100dvh - 80px);
}

@media screen and (max-width:1100px) {
  #no_search_result {
    min-height: calc(100vh - 60px);
    min-height: calc(100dvh - 60px);
  }
}

@media screen and (max-width:800px) {
  #no_search_result .desc {
    line-height: 2;
    padding: 0 20px;
    width: auto;
  }

  #no_search_result form {
    width: 350px;
  }
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* バナー */
#footer_banner_wrap {
  padding: 0 100px;
}

#footer_banner {
  aspect-ratio: 1100 / 400;
  width: 100%;
  height: auto;
}

#footer_banner .logo_image {
  transform: translate(-50%, -50%) scale(0.7);
}

@media screen and (max-width:1100px) {
  #footer_banner_wrap {
    padding: 0 50px;
  }
}

@media screen and (max-width:1000px) {
  #footer_banner .logo_image {
    transform: translate(-50%, -50%) scale(0.6);
  }
}

@media screen and (max-width:900px) {
  #footer_banner .logo_image {
    transform: translate(-50%, -50%) scale(0.5);
  }
}

@media screen and (max-width:800px) {
  #footer_banner_wrap {
    padding: 0 30px;
  }

  #footer_banner .logo_image {
    display: none;
  }

  #footer_banner .title {
    height: 50px;
    line-height: 50px;
    font-size: 14px;
  }
}

@media screen and (max-width:650px) {
  #footer_banner_wrap {
    padding: 40px 20px;
    overflow: auto;
    position: relative;
  }

  #footer_banner {
    aspect-ratio: initial;
    width: 520px;
    height: 190px;
  }

  #footer_banner::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
    width: 20px;
    height: 1px;
    background: transparent;
  }
}


/* 住所エリア */
#footer_address {
  padding: 0 50px;
}

@media screen and (max-width:800px) {
  #footer {
    padding: 25px 0 0;
  }

  #footer_address {
    text-align: center;
    margin-top: 10px;
    padding: 0 30px;
    font-size: 14px;
  }
}

@media screen and (max-width:600px) {
  #footer_address {
    padding: 0 20px;
  }
}

/* メニュー */
@media screen and (max-width:800px) {
  #footer_nav {
    margin: 15px 0px 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .footer_menu {
    overflow: auto;
    padding: 0;
    position: relative;
    height: 40px;
  }

  .footer_menu ul {
    flex-wrap: nowrap;
    justify-content: flex-start;
    position: relative;
  }

  .footer_menu li {
    font-size: 14px;
    flex: 0 0 auto;
  }

  .footer_menu li:first-of-type {
    padding-left: 30px;
  }

  .footer_menu li:last-of-type {
    padding-right: 30px;
  }
}

@media screen and (max-width:650px) {
  .footer_menu li:first-of-type {
    padding-left: 20px;
  }

  .footer_menu li:last-of-type {
    padding-right: 20px;
  }
}


/* フッターSNS */
@media screen and (max-width:800px) {
  #footer_sns {
    margin-top: 23px;
  }

  #footer_sns li {
    margin: 0 4px;
  }
}


/* コピーライト */
@media screen and (max-width:1100px) {
  body.show_footer_bar {
    padding-bottom: 50px;
  }

  #copyright {
    height: 50px;
    line-height: 50px;
  }
}

@media screen and (max-width:800px) {
  #copyright {
    margin-top: 40px;
    font-size: 12px;
  }
}


/* ページ上部へ戻るボタン */
@media screen and (max-width:1100px) {
  body.show_footer_bar #return_top.active {
    bottom: 68px;
  }

  #return_top a {
    height: 50px;
    width: 50px;
    line-height: 50px;
  }

  #return_top a:before {
    font-size: 12px;
    width: 12px;
  }

  #return_top.active {
    transform: translate3d(0, 0, 0);
    bottom: 25px;
  }
}

@media screen and (max-width:800px) {
  .p-footer-bar+#return_top {
    bottom: 0px;
  }

  .p-footer-bar+#return_top.active {
    bottom: 68px;
  }
}




/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width:1100px) {
  .widget_content {
    width: calc(50% - 20px);
    margin: 0 40px 40px 0;
  }

  .widget_content:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width:650px) {
  .widget_content {
    width: auto;
    margin: 0 0 30px 0;
  }

  .widget_content:last-of-type {
    margin-bottom: 0;
  }
}


/* バナー */
@media screen and (max-width:800px) {
  .tcd_banner_widget .banner_inner {
    max-width: 300px;
    margin: 0 auto;
  }

  .side_banner a {
    max-width: 300px;
  }
}


/* アーカイブ　ドロップダウン */
@media screen and (max-width:800px) {
  .p-dropdown__title {
    height: 50px;
    line-height: 50px;
  }

  .widget_archive select,
  .widget_categories select {
    padding: 0 20px;
  }
}


/* デフォルトのカテゴリー */
@media screen and (max-width:800px) {
  .widget_categories li a {
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
  }

  .widget_categories li li a {
    padding-left: calc(20px + 1em);
  }

  .widget_categories li li li a {
    padding-left: calc(20px + 2em);
  }

  .widget_categories li .post-count {
    right: 12px;
    top: 12px;
  }
}


/* デフォルトのアーカイブ */
@media screen and (max-width:800px) {
  .widget_archive li a {
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
  }

  .widget_archive li li a {
    padding-left: calc(20px + 1em);
  }

  .widget_archive li li li a {
    padding-left: calc(20px + 2em);
    ;
  }

  .widget_archive li .post-count {
    right: 12px;
    top: 12px;
  }
}


/* デフォルトのナビ　*/
@media screen and (max-width:800px) {
  .widget_nav_menu li a {
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
  }

  .widget_nav_menu li li a {
    padding-left: calc(20px + 1em);
  }

  .widget_nav_menu li li li a {
    padding-left: calc(20px + 2em);
  }
}


/* 検索 */
@media screen and (max-width:800px) {
  #searchform {
    height: 50px;
  }

  #searchform #s {
    padding: 0 20px;
    height: 50px;
  }

  #searchform #searchsubmit {
    width: 50px;
    height: 50px;
  }

  #searchform .submit_button {
    width: 50px;
    height: 50px;
    top: 0px;
  }

  #searchform .submit_button:before {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 14px;
    right: -2px;
    top: 3px;
  }
}


/* デフォルトの最近の記事 */
@media screen and (max-width:800px) {
  .widget_recent_entries li {
    padding: 0 0 10px 0;
    margin-bottom: 10px;
  }

  .widget_recent_entries li:last-child {
    padding: 0;
    margin: 0;
  }

  .widget_recent_entries .post-date {
    font-size: 12px;
  }
}


/* デフォルトのブロック */
@media screen and (max-width:800px) {
  .widget_block {
    font-size: 14px;
  }
}


/* デフォルトのテキストウィジェット */
@media screen and (max-width:800px) {
  .widget_text .textwidget {
    font-size: 14px;
  }
}


/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
@media screen and (max-width:800px) {

  .widget_archive select,
  .widget_categories select {
    height: 50px;
    font-size: 14px;
  }

  .widget_archive .screen-reader-text,
  .widget_categories .screen-reader-text {
    height: 50px;
  }

  .widget_archive .screen-reader-text:before,
  .widget_categories .screen-reader-text:before {
    top: 22px;
  }
}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
#comments .headline {
  top: -25px;
  min-width: 200px;
  padding: 0 15px;
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  border-radius: 50px;
}

@media screen and (max-width:800px) {
  #comments {
    margin: 65px -30px 0;
    padding: 65px 30px 0;
  }
}




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */


/* ----------------------------------------------------------------------
 目次（モーダル）
---------------------------------------------------------------------- */
@media screen and (max-width:1100px) {

  #tcd_toc_modal,
  #tcd_toc_modal_overlay,
  #open_tcd_toc_modal {
    display: block;
  }

  body.using_tcd_toc #return_top,
  .tcd_toc_widget {
    display: none;
  }

  #tcd_toc_modal {
    padding: 30px;
    pointer-events: none;
    opacity: 0;
    width: calc(100% - 60px);
    max-width: 400px;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 500;
    background: #fff;
    border-radius: 10px;
    transition: opacity 0.75s ease;
    z-index: 1000;
  }

  body.open_tcd_toc_modal #tcd_toc_modal {
    opacity: 1;
    pointer-events: auto;
  }

  #tcd_toc_modal_content {
    overflow: auto;
    max-height: calc(100vh - 200px);
    max-height: calc(100dvh - 200px);
  }

  body.show_footer_bar #tcd_toc_modal {
    top: calc(50% - 40px);
  }

  #tcd_toc_modal_content .toc_title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 20px 0;
    text-align: center;
  }

  #tcd_toc_modal_content li {
    line-height: 2;
    font-size: 14px;
  }

  #tcd_toc_modal_content li li {
    padding-left: 1em;
  }

  #tcd_toc_modal_content li a {
    padding: 5px 0;
    display: block;
  }

  #open_tcd_toc_modal {
    pointer-events: none;
    opacity: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 50px;
    height: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    cursor: pointer;
    transition: opacity 0.75s ease;
    z-index: 400;
  }

  body.show_tcd_toc_modal_button #open_tcd_toc_modal {
    opacity: 1;
    pointer-events: auto;
  }

  body.open_tcd_toc_modal #open_tcd_toc_modal {
    opacity: 0;
    pointer-events: none;
  }

  body.show_footer_bar #open_tcd_toc_modal {
    bottom: 65px;
  }

  #open_tcd_toc_modal:after {
    font-family: "footer_bar";
    content: "\e907";
    font-size: 16px;
    position: relative;
    top: 16.5px;
    left: 16px;
  }

  #tcd_toc_modal_overlay {
    opacity: 0;
    pointer-events: none;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 500;
    transition: opacity 0.75s ease;
  }

  body.open_tcd_toc_modal #tcd_toc_modal_overlay {
    opacity: 1;
    pointer-events: auto;
  }

  #close_tcd_toc_modal {
    width: 50px;
    height: 50px;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: -50px;
    cursor: pointer;
  }

  #close_tcd_toc_modal:after {
    color: #fff;
    font-family: "design_plus";
    content: "\e91a";
    font-size: 24px;
    position: relative;
    top: 18px;
    left: 16px;
  }
}

@media screen and (max-width:850px) {
  #tcd_toc_modal {
    width: calc(100% - 40px) !important;
  }

  #open_tcd_toc_modal {
    right: 20px;
    bottom: 20px;
  }
}




/* Cherie モバイル用スタイルシート */