@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; }
}


/* 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%; }
@media screen and (max-width:1100px) {
  .design_content { 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; }
  .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) {
  .design_content { display:block; }
	.design_content .main_content { width:auto; 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; }
	.design_content .desc_bottom { line-height:2; display:block; 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; }
  .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; }
  #page_header .catch .mobile { display:block; }
  .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 { op:-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; }
}



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


/* タイトルエリア */
@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 { height:calc(100vh - 80px); height:calc(100dvh - 80px); }
@media screen and (max-width:1100px) {
  #no_search_result { height:calc(100vh - 60px); height:calc(100dvh - 60px); }
}
@media screen and (max-width:800px) {
  #no_search_result .desc { line-height:2; padding:0 20px; }
	#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; }
}




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
/*  WordPress プリセットスタイル */
@media screen and (max-width:800px) {
  .post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { }
  .post_content p { line-height:2; }
	body.page .post_content > p:first-child { margin-top:-5px; }
  .post_content li, .post_content dt, .post_content dd { line-height:1.8; }
  .post_content td, .post_content th { line-height:1.8; padding:14px 15px; }
	.post_content .wp-caption-text { font-size:12px; }
}




/* ----------------------------------------------------------------------
 目次（モーダル）
---------------------------------------------------------------------- */
@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 モバイル用スタイルシート */