@charset "utf-8";


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body {
	touch-action: manipulation;
}

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

	html:has(body.hide_global_menu) {
		scroll-padding-top: 100px;
	}
}

@media screen and (max-width:800px) {
	html {
		scroll-padding-top: 80px;
	}

	html:has(body.hide_global_menu) {
		scroll-padding-top: 80px;
	}

	body.admin-bar {
		padding-top: 46px;
	}

	body.show_footer_bar {
		padding-bottom: 48px;
	}

	body.error404.show_footer_bar {
		padding-bottom: 0;
	}

	body.search-no-results.show_footer_bar {
		padding-bottom: 0;
	}

	* {
		-webkit-tap-highlight-color: transparent;
	}

	br.mobile_break {
		display: block;
	}
}

/*GLUE専用見出し*/
@media screen and (max-width:1200px) {
	.glue_headline {
		padding: 20px 1em !important;
		margin-top: 40px !important;
		margin-bottom: 40px !important;
		font-size: 16px !important;
		font-weight: 600 !important;
		height: 60px;
	}
}


/* レイアウト */
@media screen and (max-width:1200px) {
	#main_content {
		width: 800px;
		margin: 0 auto;
		display: block;
	}

	#main_col {
		width: auto;
	}

	#side_col {
		width: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

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

@media screen and (max-width:900px) {
	body.single body.hide_sidebar #main_content {
		width: auto;
	}
}

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

	#side_col {
		margin-top: 40px;
	}
}

@media screen and (max-width:600px) {
	#side_col {
		display: block;
	}
}


/* 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;
	}
}




/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */

@media screen and (max-width:1200px) {
	.design_button {
		width: 240px;
		height: 60px;
	}

	#header_top {
		display: block !important;
	}

	body.start_scroll #header {
		box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2);
	}

	#header {
		position: sticky;
	}

	#header.mobile_logo_position_left #header_logo {
		left: 0;
		transform: none;
		padding-left: 20px;
	}

}

@media screen and (max-width:800px) {
	.design_button {
		height: 50px;
		font-size: 14px;
	}
}





/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
/*#header_slider_container { height:540px; aspect-ratio:unset; }
@media screen and (max-width:1000px) {
  #header_slider_container { height:540px; }
}
/*@media screen and (max-width:800px) {
  #header_slider_container { height:calc(100vh - 134px); height:calc(100svh - 134px); }
	#header_slider_container:not(.has_header_news) { height:calc(100vh - 60px); height:calc(100svh - 60px); }
}*/


/* コンテンツ */
.header_slider_content {
	padding: 0 100px;
}

@media screen and (max-width:1200px) {
	#header_slider {
		touch-action: pan-y !important;
	}

	#header_slider .item {
		pointer-events: none;
	}

	.header_slider_content .button {
		width: 240px;
	}

	body.home.show_sidebar #main_col {
		width: auto;
	}
}

@media screen and (max-width:1000px) {
	.header_slider_content {
		padding: 0 50px;
	}

	.header_slider_content:has(.logo) {
		padding: 0;
	}

	.header_slider_content .logo img.pc {
		display: none;
	}

	.header_slider_content .logo img.mobile {
		display: block;
	}
}

@media screen and (max-width:800px) {
	#header_slider .bg_image .mobile {
		display: block;
	}

	#header_slider .bg_image .pc {
		display: none;
	}

	.header_slider_content .desc {
		line-height: 2;
		font-size: 14px;
	}

	.header_slider_content .catch+.desc {
		margin: 20px 0 0 0;
	}

	.header_slider_content .button {
		height: 50px;
		line-height: 50px;
		font-size: 14px;
		margin: 30px auto 0;
	}

	.no_post_contents_text {
		font-size: 14px;
	}
}


/* ニュースティッカー */
@media screen and (max-width:1200px) {
	#news_ticker_inner {
		width: 100%;
		height: 60px;
		border-left: none;
		border-right: none;
	}

	#news_ticker .headline {
		font-size: 16px;
		height: 60px;
		line-height: 60px;
		width: 150px;
	}

	#news_ticker_carousel {
		width: calc(100% - 270px);
		height: 60px;
	}

	#news_ticker .item {
		height: 60px;
		line-height: 60px;
	}

	#news_ticker .swiper-nav-button {
		height: 60px;
		width: 60px;
	}

	#news_ticker .news_ticker_prev {
		right: 60px;
	}
}

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

	#news_ticker .headline {
		font-size: 16px;
		width: 120px;
	}

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

	#news_ticker .date-title-wrapper {
		display: block;
	}
}

@media screen and (max-width:1000px) {
	#news_ticker_inner {
		display: block;
		height: 80px;
		align-items: flex-start;
		/* スマホでは左詰めに変更 */
	}

	#news_ticker .headline {
		display: none;
	}

	#news_ticker_carousel {
		width: 100%;
		height: 80px;
	}

	#news_ticker .item {
		flex-direction: column;
		justify-content: center;
		/* スマホでは左詰めに変更 */
		align-items: flex-start;
		/* スマホでは左詰めに変更 */
		height: 80px;
		line-height: 1.6;
		padding: 0 20px;
	}

	#news_ticker .date {
		margin-bottom: 5px;
	}

	#news_ticker .title {
		width: 100%;
		font-size: 14px;
		max-width: 100%;
	}
}

@media screen and (max-width:1100px) {
	#header_post_slider .post_list::after {
		display: none;
	}
}





/* 固定ページを表示する場合 */
#front_page_contents {
	margin: 0 auto;
}

@media screen and (max-width:1200px) {
	#front_page_contents {
		padding: 100px 0;
		margin: 0 100px;
	}
}

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

@media screen and (max-width:800px) {
	#front_page_contents {
		padding: 35px 0;
		margin: 0 20px;
	}
}

@media screen and (max-width:1200px) {
	body.page-template-default.show_sidebar #main_col {
		width: auto;
	}

	body.page-template-default #archive_headline_no_image {
		padding-top: 0;
	}

	body.search.show_sidebar #main_col {
		width: auto;
	}

	body.tax-news_category.show_sidebar #main_col {
		width: auto;
	}
}

@media screen and (max-width:900px) {
	body.page-template-default #bread_crumb {
		width: auto;
	}
}




/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#archive_headline .desc {
	padding: 0 100px;
}

body.page #archive_headline .desc {
	padding: 0;
}

@media screen and (max-width:1200px) {
	#page_header.no_image {
		border-top: 1px solid #ddd;
		height: 60px;
	}

	#page_header:not(.blog_page_header)+#archive_headline {
		border-top: none;
		margin-top: -90px;
		padding-top: 0;
	}

	body.page #archive_headline.type2 {
		margin-top: 0px;
	}

	body.page.no_header_image #archive_headline {
		border-top: none;
	}

	body.archive .no_image #bread_crumb,
	body.search #container {
		border-top: 1px solid #ddd;
	}

	#page_header {
		height: auto !important;
		aspect-ratio: 830/210;
	}
}

@media screen and (max-width:1150px) {
	body.page #archive_headline .desc {
		margin-left: 100px;
		margin-right: 100px;
		width: auto;
	}
}

@media screen and (max-width:1000px) {
	#archive_headline .headline {
		font-size: calc((var(--headline_font_size) + var(--headline_font_size_sp)) / 2);
	}

	#page_header:not(.blog_page_header)+#archive_headline {
		margin-top: -80px;
	}

	#archive_headline .desc {
		width: auto;
		padding: 0 50px;
	}

	body.page #archive_headline .desc {
		margin-left: 50px;
		margin-right: 50px;
	}
}

@media screen and (max-width:800px) {
	#page_header {
		height: 100px;
	}

	#page_header.type2 {
		height: 60px;
		margin-bottom: 0;
	}

	body.single #page_header.type2 {
		margin-bottom: 30px;
	}

	#page_header:not(.blog_page_header)+#archive_headline {
		margin-top: -60px;
	}

	#page_header.type2+#archive_headline.type2 {
		margin-top: 30px;
	}

	body.page.no_header_image #archive_headline {
		margin-top: 0;
	}

	body.page #archive_headline.type2 {
		padding-top: 35px;
		padding-bottom: 5px;
	}

	#archive_headline .headline {
		font-size: var(--headline_font_size_sp);
		line-height: 1.2;
		padding: 0 15px;
	}

	#archive_headline.type2 {
		margin: 0;
	}

	#archive_headline.type2 .headline {
		font-size: 20px;
	}

	#archive_headline .desc {
		padding: 0 20px;
		line-height: 2;
		margin: 40px auto -5px;
	}

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

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

	#archive_headline.type2 .desc {
		margin: 25px auto -5px;
	}

	body.page #archive_headline .desc {
		margin-left: 20px;
		margin-right: 20px;
	}

	.p-slider-contents__pr_label {
		margin-bottom: 20px;
	}

	.p-slider-ad__date {
		margin-top: 20px;
	}
}

/* ヘッダー　*/
@media screen and (max-width:800px) {
	#header_top {
		border-bottom: 1px solid #ddd;
	}

	body.home #header_top {
		border-bottom: none;
	}
}

@media screen and (max-width:1200px) {
	.p-header-site_catch {
		display: none;
	}
}

/*トップページ　ヘッダーコンテンツ　記事スライダー*/
@media screen and (max-width:1200px) {
	.l-header__search {
		display: none;
	}

	#header_top {
		border-bottom: 1px solid #ddd;
	}

	#news_ticker {
		border-right: 1px solid #ddd;
		border-left: 1px solid #ddd;
	}

	.footer_widget_content {
		width: calc((100% / 2) - 50px);
	}

	#header_post_slider {
		width: 100%;
	}

	#news_ticker {
		width: 100% !important;
	}

	#header_post_slider .image_wrap {
		height: auto;
		aspect-ratio: 580/365;
		object-fit: unset;
	}
}

@media screen and (max-width:1100px) {
	#news_ticker {
		border-right: none;
		border-left: none;
	}
}

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

	.post_slider_cotents {
		padding: 30px;
		height: 180px !important;
	}

	.p-slider-contents__category {
		margin-bottom: calc(20px - 0.1em);
	}

	.p-slider-contents__date {
		margin-top: 20px;
		font-size: 14px;
	}

	#header_slider_container {
		height: auto;
	}

	#header_post_slider {
		height: auto;
	}

	.type_post_slider {
		height: auto !important;
	}

	.post_slider_pagination {
		margin-top: 20px;
		height: 15px;
	}

	.post_slider_pagination span {
		width: 12px;
		height: 12px;
	}
}

@media screen and (max-width:1100px) {
	#header_post_slider {
		width: 100%;
	}

	#header_slider {
		width: 100% !important;
	}

	#header_slider_container {
		margin-top: 0;
	}
}


/*トップページ　ヘッダーコンテンツ　画像スライダー*/
@media screen and (max-width:900px) {
	#header_slider {
		height: 300px;
		width: 100% !important;
	}

	#header_slider_container.height_type2 {
		height: auto !important;
	}

	#header_slider.height_type2 {
		height: auto !important;
		max-height: calc(100vh - 60px);
	}

	#header_slider .item {
		height: 300px;
	}

	#header_slider .swiper-pagination span {
		height: 12px;
		width: 12px;
	}

	#header_slider .swiper-pagination {
		bottom: 20px !important;
	}

	#news_ticker {
		height: 80px;
		width: 100% !important;
	}

	#header_slider_container {
		height: 300px;
	}

}

@media screen and (max-width:1200px) {
	#index_tab li {
		font-size: 14px;
	}
}



@media screen and (max-width:1200px) {
	#header_slider {
		width: 800px;
	}

	#news_ticker {
		width: 800px;
	}

	body.home #side_col {
		margin-top: 70px;
	}
}

/*トップページ　メインコンテンツ*/
@media screen and (max-width:900px) {
	body.home #main_content {
		width: auto;
	}

	#index_tab {
		margin-right: 50px;
		margin-left: 50px;
	}

	#index_tab_post_list .post_list.type2 .item {
		padding-right: 50px;
		padding-left: 50px;
	}

	body.home #side_col {
		margin-right: 50px;
		margin-left: 50px;
	}

	#single_banner_top {
		margin: 0 50px 40px;
	}
}

@media screen and (max-width:1000px) {
	.p-slider-contents__title {
		font-size: 18px !important;
		line-height: 1.6;
		margin: -0.3em 0;
		height: 3.2em;
	}

	.top_main_inner {
		margin-top: 40px;
	}
}

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


	#single_banner_top {
		margin: 0 20px 40px;
	}

	body.home #side_col {
		margin-right: 20px;
		margin-left: 20px;
		margin-top: 40px !important;
	}

	#index_tab {
		margin: 0px;
	}

	#index_tab_post_list .post_list.type2 .item {
		padding: 20px;
	}

	#index_tab a {
		height: 60px;
	}

	#index_tab {
		height: auto;
	}

	body.home #main_content {
		margin-right: 0;
		margin-left: 0;
	}

	#index_tab ol {
		padding: 0 20px;
	}

	#index_tab li.active a {
		height: 60px;
	}
}

@media screen and (max-width:600px) {
	#index_tab ol {
		width: 100%;
		flex-wrap: nowrap;
		overflow-x: scroll;
		/* 右端のマージンを無効に */
		padding: 0 20px;
		/* 右側にスクロールが行き渡るように */
	}

	#index_tab ol::after {
		content: '';
		display: inline-block;
		width: 20px;
		/* 最後に20pxのマージン */
	}

	#index_tab ol::before {
		content: '';
		display: inline-block;
		width: 20px;
		/* 左側の余白 */
	}

	#index_tab ol::-webkit-scrollbar {
		display: none;
	}

	#index_tab a {
		width: 140px;
	}

	#index_tab_post_list .post_list.type2 .item {
		flex-wrap: wrap;
	}

	#index_tab_post_list .post_list.type2 .item {
		display: block;
	}

	#index_tab_post_list .post_list.type2 .image_wrap {
		margin-right: 0;
		width: 100%;
		height: auto;
		aspect-ratio: 340/210;
	}

	#index_tab_post_list .post_list.type2 .content_inner {
		padding: 20px 0 0 0;
	}

	.ajax_post_list_wrap .post_list_more span {
		margin-top: 40px;
	}

	#index_tab_post_list .post_list.type2 .title {
		font-size: 16px;
		height: 3.2em;
	}

	#index_tab_post_list .post_list.type2 .pr_title {
		height: auto !important;
	}

	#index_tab_post_list .post_list.type2 .no_news_img_title {
		height: 1.6em !important;
	}

	.no_img_news_inner {
		padding-top: 0 !important;
	}

	.no_img_pr_inner {
		padding-top: 0 !important;
	}

	.post_list .item:first-child .no_img_news_inner {
		padding-top: 20px !important;
	}

	.no_news_img_excerpt span {
		-webkit-line-clamp: 2;
		line-height: 2.2;
	}

	.no_news_img_excerpt {
		height: 4.4em !important;
	}

	#index_tab_post_list .post_list.type2 .content_inner {
		gap: 20px;
	}
}


@media screen and (max-width:700px) {
	.no_news_img_title {
		height: 1.6em !important;
	}
}

/* サイドバー */
.widget_media_image img {
	width: 100%;
}

@media screen and (max-width:1200px) {
	#side_col .widget_content {
		width: calc((100% / 2) - 25px);
	}

	.custom_image_widget .image_wrap {
		height: auto;
		aspect-ratio: 300/140;
	}

	.custom_image_widget .animate_background .image_wrap:before {
		height: 150px;
	}
}


/* フッターウィジェットエリア */
@media screen and (max-width:800px) {
	#footer {
		padding-top: 0;
		padding-bottom: 0;
	}

	#footer_widget_area {
		padding-top: 40px;
	}

	.footer_widget_content {
		padding-top: 0 !important;
	}

	.footer_widget_headline {
		margin-bottom: 20px;
	}

	.widget_tab_post_list .title_area {
		justify-content: center;
		flex-flow: column;
		align-items: unset;
		height: 100px;
		width: calc(100% - 100px);
	}

	.widget_tab_post_list .pr_label_contents {
		margin-bottom: 15px;
	}

	.widget_tab_post_list .image_wrap {
		height: 100px;
		width: 100px;
	}
}

@media screen and (max-width:900px) {
	#footer_widget_area {
		padding-right: 50px;
		padding-left: 50px;
		width: auto !important;
	}
}

@media screen and (max-width:1200px) {
	#footer_widget_area {
		width: 800px;
	}

	.footer_widget_content {
		width: calc((100% / 2) - 25px);
	}
}

/*フッターナビエリア */
/* スマホ画面用（800px以下） */
@media (max-width: 900px) {
	#footer_nav {
		overflow-x: auto;
		/* 横スクロールを可能にする */
		padding: 0 20px;
		/* 両端に20pxのマージンを追加 */
	}

	#footer_nav ul {
		flex-wrap: nowrap;
		/* メニュー項目が折り返されずに横並びにする */
		justify-content: center;
		/* 左寄せ */
		width: auto;
		/* 幅を自動にして横スライドを有効にする */
	}

	#footer_nav::-webkit-scrollbar {
		display: none;
	}

	#footer_nav li {
		flex: 0 0 auto;
		/* 各項目が固定サイズになるように設定 */
	}

	#footer_nav li a {
		white-space: nowrap;
		/* メニュー項目が複数行にならないようにする */
	}

	#footer_nav li a {
		height: 60px;
		line-height: 60px;
	}

	#footer_nav li a:last-child {
		padding-right: 20px;
	}

	#footer_nav li a:first-child {
		padding-left: 0px;
	}

	.footer_bottom {
		height: 60px;
	}
}

@media (max-width: 600px) {
	#footer_nav ul {
		justify-content: flex-start;
	}
}


/* 検索フォーム */
#drawer_menu_search {
	margin: 30px 20px 0;
	position: relative;
	width: auto;
}

#drawer_menu_search .input_area {
	background: #f6f6f6;
	width: 100%;
	height: 50px;
	border-radius: 50px;
	position: relative;
}

#drawer_menu_search .input_area input {
	font-size: 14px;
	border: none;
	background: none;
	height: 50px;
	width: calc(100% - 50px);
	position: absolute;
	left: 0px;
	top: 2px;
	padding: 0 10px 0 25px;
	color: #000;
}

#drawer_menu_search .button_area {
	width: 50px;
	height: 50px;
	position: absolute;
	right: 0px;
	top: 0px;
}

#drawer_menu_search .button_area input {
	width: 50px;
	height: 50px;
	border: none;
	background: none;
	cursor: pointer;
}

#drawer_menu_search .button_area:before {
	display: block;
	text-align: center;
	cursor: pointer;
	z-index: 1;
	pointer-events: none;
	position: absolute;
	font-family: 'normal_icon';
	color: #000;
	font-size: 16px;
	content: '\e94c';
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transition: color 0.25s ease;
	transition: color 0.25s ease;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}


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

/*@media screen and (max-width:1130px) {
	#page_contents .post_content { width:auto; margin:0 100px !important; }
}*/
@media screen and (max-width:1000px) {
	#page_contents .post_content {
		margin: 0 50px !important;
		width: auto;
	}
}

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

	body.page-template-page-tcd-lp #page_contents {
		padding-top: 40px;
	}

	#page_contents .post_content {
		margin: 0 20px !important;
	}
}

/* 固定ページ */

/*固定ページ　ヘッダー */
@media screen and (max-width:1200px) {
	body.page-template-page-tcd-lp.normal_header_height #lp_page_header {
		height: 450px !important;
	}

	body.page-template-page-tcd-lp #lp_page_header.layout_type3 {
		height: 100vh !important;
		height: 100dvh !important;
	}

	#page_header_desc .catch {
		font-size: calc((var(--catch_font_size) + var(--catch_font_size_sp)) / 2);
		margin-top: 0;
	}

	#page_headline {
		margin: 0px auto 100px;
		width: 150px;
		height: 150px;
		padding: 20px 10px;
		font-size: calc((var(--headline_font_size) + var(--headline_font_size_sp)) / 2);
	}

	body.page-template-page-tcd-author.show_sidebar #main_col {
		width: auto;
	}

	body.archive.show_sidebar #main_col {
		width: auto;
	}

	#archive_headline_no_image {
		padding-top: 40px;
		margin-bottom: 40px;
	}

	body.no_side_wijet #bread_crumb {
		width: 800px;
	}

	body.page-template-default #bread_crumb {
		width: 800px;
	}


}

@media screen and (max-width:1100px) {
	body.page-template-page-tcd-lp #lp_page_header.layout_type1 {
		margin: 50px 50px 0;
		width: calc(100% - 100px);
	}

	#lp_page_header .content {
		width: 100% !important;
		padding: 0 50px;
	}

	body.page-template-page-tcd-lp #lp_page_header.layout_type1 {
		margin: 0;
		width: 100%;
	}

	body:has(#header) #container:has(#page_header.layout_type1) {
		border-top: none;
	}

	body.page-template-page-tcd-lp #page_header.layout_type1 .content {
		padding: 0 50px;
	}

	#page_header_desc {
		width: auto;
		margin: 0 50px;
	}

	body.search #page_header_desc {
		margin-bottom: 90px;
	}

	body.search #page_header_desc .catch {
		font-size: 25px;
	}

	body.page #page_header+#main_content {
		margin-top: 90px;
	}

	body.page-template-default #bread_crumb {
		border-top: none !important;
	}
}

@media screen and (max-width:1000px) {
	body.page-template-page-tcd-lp.normal_header_height #page_header {
		height: 400px !important;
	}

	body.page-template-page-tcd-lp #page_header.layout_type3 {
		height: 100vh !important;
		height: 100dvh !important;
	}

	#page_headline {
		width: 130px;
		height: 130px;
	}

	body.page-template-default #bread_crumb {
		margin: 20px auto 40px;
		border-top: none !important;
	}

	body.page-template-default #bread_crumb {
		padding-right: 50px;
		padding-left: 50px;
	}

	body.page-template-default #side_col {
		margin: 40px 50px 0;
	}

	body.page-template-default #footer_widget_area {
		width: auto;
	}

	body.page-template-page-tcd-lp #footer_widget_area {
		width: auto;
	}
}

@media screen and (max-width:800px) {
	#lp_page_header {
		height: 250px;
		aspect-ratio: unset;
	}

	body.page-template-page-tcd-lp.normal_header_height #lp_page_header {
		height: 250px !important;
	}

	body.page-template-page-tcd-lp #lp_page_header.layout_type3 {
		height: 100vh !important;
		height: 100dvh !important;
	}

	#lp_page_header .content {
		padding: 0 20px;
		align-items: center !important;
		text-align: center !important;
	}

	body.page-template-page-tcd-lp #lp_page_header.layout_type1 .content {
		padding: 0 20px;
	}

	#lp_page_header .catch {
		font-weight: 600;
	}

	body.mobile_device #lp_page_header .catch {
		font-weight: 500;
	}

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

	#lp_page_header .catch .mobile {
		display: block;
	}

	#lp_page_header .sub_catch .pc {
		display: none;
	}

	#lp_page_header .sub_catch .mobile {
		display: block;
	}

	#lp_page_header .catch+.link_button {
		margin-top: 15px;
	}

	#lp_page_header .headline {
		font-size: var(--headline_font_size_sp);
		width: 110px;
		height: 110px;
	}

	#lp_page_header .image.pc {
		display: none;
	}

	#lp_page_header .image.mobile {
		display: block;
	}

	#lp_page_header .bg_image.pc {
		display: none;
	}

	#lp_page_header .bg_image.mobile {
		display: block;
	}

	#page_header_desc {
		margin: 0 20px;
	}

	#page_header_desc .catch {
		font-size: var(--catch_font_size_sp);
		font-weight: 600;
	}

	#page_header_desc .catch+.desc,
	#page_header_desc .catch+.desc+.desc {
		margin-top: 17px;
	}

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

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

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

	#page_headline {
		font-size: var(--headline_font_size_sp);
		width: 110px;
		height: 110px;
		margin: 0px auto 30px;
	}

	body.page #page_headline {
		margin-top: 40px;
	}

	#bread_crumb+#page_headline {
		margin-top: 40px;
	}

	body.page #page_header+#main_content {
		margin-top: 35px;
	}

	body.no_side_wijet #bread_crumb {
		width: auto !important;
	}

	body.page-template-default #bread_crumb {
		margin: 0 auto;
	}

	#archive_headline_no_image {
		margin-bottom: 40px;
		border-top: 1px solid #ddd;
	}

	body.page-template-default #main_content {
		margin: 0;
	}

	body.page-template-default #bread_crumb {
		padding-right: 20px;
		padding-left: 20px;
		width: auto;
	}

	body.page-template-default #side_col {
		margin: 40px 20px 0;
	}

	body.page-template-default #footer_widget_area {
		width: auto;
	}

	body.page-template-default #footer_widget_area {
		padding-right: 20px;
		padding-left: 20px;
	}

	body.page-template-page-tcd-lp #footer_widget_area {
		width: auto;
	}

	body.page-template-page-tcd-lp #footer_widget_area {
		padding-right: 20px;
		padding-left: 20px;
	}

	body.page-template-default #bread_crumb {
		border-bottom: 1px solid #ddd;
	}

	body.page-template-default #archive_headline_no_image {
		margin-top: 40px;
	}
}





/* 共通パーツ */
@media screen and (max-width:1100px) {
	.short {
		padding: 0;
	}
}

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

	.short h1:first-child,
	.short h2:first-child,
	.short h3:first-child,
	.short h4:first-child,
	.short h5:first-child,
	.short h6:first-child {
		margin-top: 50px !important;
		margin-bottom: 20px !important;
	}

	.short p:last-child {
		margin-bottom: 30px;
	}

	p:has(img)+.short h1:first-child,
	p:has(img)+.short h2:first-child,
	p:has(img)+.short h3:first-child,
	p:has(img)+.short h4:first-child,
	p:has(img)+.short h5:first-child,
	p:has(img)+.short h5:first-child {
		margin-top: 35px !important;
	}

	body.page .post_content p.spacer {
		margin: -35px 0 20px 0;
	}

	body.page .post_content .short+p.spacer {
		margin-top: -35px !important;
	}

	body.page .post_content .page_headline {
		font-size: 16px !important;
		padding: 18px 20px 16px !important;
	}

	body.page .post_content .page_headline+p:not(.image_wrap) {
		margin-top: 35px;
	}

	body.page .post_content p:has(img)+.page_headline {
		margin-top: 40px !important;
	}

	body.page .post_content p:has(img)+p.spacer {
		margin-top: -35px !important;
	}

	body.page .post_content p:has(img)+.q_button_wrap {
		margin-top: 40px;
	}

	body.page .post_content hr+.q_button_wrap {
		margin-top: 40px;
	}
}


/* ABOUT */
@media screen and (max-width:800px) {
	.page_headline_number {
		margin: 40px 0 30px 0 !important;
	}

	p:has(img)+.page_headline_number {
		margin-top: 35px !important;
	}

	.page_headline_number .num {
		font-size: 50px;
	}

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

	.post_content .before-image {
		margin-bottom: -0.5em;
	}

	.post_content .after-image {
		margin-top: -0.5em;
	}

	.post_content p:has(img) {
		margin-top: 40px !important;
		margin-bottom: 40px !important;
	}
}


/* ACCESS */
@media screen and (max-width:800px) {
	.post_content .colored_table {
		margin-bottom: 40px !important;
	}

	.post_content .colored_table th {
		width: 100px;
		padding: 0 10px;
	}

	.post_content .colored_table td {
		width: calc(100% - 100px);
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* LP */
@media screen and (max-width:1200px) {
	#lp_page_header {
		height: 450px;
	}

	#lp_page_header .logo img.pc {
		display: none;
	}

	#lp_page_header .logo img.mobile {
		display: block;
	}

	#lp_page_header.no_image {
		border-top: 1px solid #ddd;
	}
}

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

@media screen and (max-width:800px) {
	#lp_page_header {
		height: 400px;
	}

	#lp_page_title {
		padding: 0 20px;
	}

	#lp_page_title .sub_title {
		margin-top: 10px;
		font-size: 14px;
	}

	#lp_page_header.no_image {
		padding-top: 35px;
	}

	.lp_content {
		padding: 40px 0;
	}

	.lp_content>h3:first-child {
		font-size: 20px !important;
	}

	.lp_content>h3:first-child+p {
		margin-bottom: 35px !important;
		margin-top: 20px !important;
	}

	.lp_content>p:first-child {
		margin-bottom: 35px !important;
	}

	body.page-template-page-tcd-lp .post_content h1 {
		margin-bottom: 20px;
		margin-top: 35px;
		font-size: 20px;
	}

	body.page-template-page-tcd-lp .post_content h2 {
		margin-bottom: 20px;
		margin-top: 35px;
		font-size: 20px;
	}

	body.page-template-page-tcd-lp .post_content h3 {
		margin-bottom: 20px;
		margin-top: 35px;
		font-size: 20px;
	}

	body.page .post_content p.spacer+h1 {
		margin-top: 20px;
	}

	body.page .post_content p.spacer+h2 {
		margin-top: 20px;
	}

	body.page .post_content p.spacer+h3 {
		margin-top: 20px;
	}
}

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

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



/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */

/*投稿アーカイブ*/
@media screen and (max-width:600px) {
	.blog_list .item {
		border-bottom: 1px solid #ddd !important;
		width: 100% !important;
	}

	.blog_list .item:last-child {
		border-bottom: none !important;
	}
}

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


@media screen and (max-width:700px) {
	.no_desc {
		padding-bottom: 40px !important;
	}

	.blog_list .blog_contents {
		margin-top: 20px;
		gap: 20px;
	}

	.blog_list .title {
		height: 3.2em;
	}

	.blog_list .item {
		flex-wrap: wrap;
	}

	#page_header {
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
	}

	body.blog #main_content {
		width: 100% !important;
		margin-left: 0 !important;
	}

	body.blog .blog_list {
		margin: 0 !important;
	}

	body.blog .blog_list .item {
		display: block;
		padding: 20px !important;
		margin: 0 !important;
	}

	body.archive #main_content {
		margin-left: 0 !important;
		width: 100% !important;
	}

	body.archive .blog_list {
		margin: 0 !important;
	}

	body.archive .blog_list .item {
		display: block;
		padding: 20px !important;
		margin: 0 !important;
	}

	.blog_list .image_wrap {
		width: 100%;
		height: auto;
		aspect-ratio: 340/210;
	}

	.blog_list .animate_background {
		margin-right: 0;
	}

	body.blog #side_col {
		margin-top: 0;
		margin-right: 20px;
		margin-left: 20px;
	}

	body.archive #side_col {
		margin-top: 0;
		margin-right: 20px;
		margin-left: 20px;
	}

	#archive_headline_no_image {
		margin-bottom: 40px;
		padding-top: 40px;
	}

	body.page-template-default #archive_headline_no_image {
		border-top: none;
	}

	#archive_headline_no_image .headline {
		font-size: var(--headline_font_size_sp);
	}

	.no_side_contents_main {
		width: 100% !important;
	}

	body.blog #bread_crumb {
		padding-right: 20px !important;
		padding-left: 20px !important;
		margin: 0 !important;
		width: auto;
	}

	body.archive #bread_crumb {
		padding-right: 20px !important;
		padding-left: 20px !important;
		margin: 0 !important;
		width: auto;
	}

	body.page-template-page-tcd-author #bread_crumb {
		padding-right: 20px !important;
		padding-left: 20px !important;
		margin: 0 !important;
		width: auto;
	}

	.archive_desc_contents {
		margin-right: 20px !important;
		margin-left: 20px !important;
	}

	.archive_desc {
		line-height: 2.2;
		margin: -0.6em 0;
	}

	#archive_blog {
		padding-top: 40px;
	}

	#archive_news {
		padding-top: 40px;
	}

	.page_navi {
		margin-top: 40px !important;
	}

	#archive_blog {
		margin-bottom: 40px !important;
	}

	.blog_no_image {
		padding-top: 0 !important;
	}

	.blog_no_header {
		padding-top: 0 !important;
	}

	.cate_no_border_sort {
		margin-bottom: 0 !important;
	}

	#blog_category_sort_wrap {
		margin: 40px 20px 40px !important;
	}

	#blog_category_sort_wrap.cate_no_border_sort {
		margin-bottom: 0 !important;
	}

	body.archive #footer_widget_area {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	body.blog #footer_widget_area {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	body.single-news #footer_widget_area {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	body.home #footer_widget_area {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.mobile_desc_bottom {
		margin-bottom: 40px;
	}

	.desc_bottom {
		margin-bottom: 40px;
	}

	#footer_widget_area {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}

@media screen and (max-width:1000px) {
	.cate_no_border_sort {
		margin-bottom: 0 !important;
	}

	#blog_category_sort_wrap {
		margin: 40px 0px 0;
	}

	#blog_category_sort_wrap.cate_no_border_sort {
		margin-bottom: 0 !important;
	}

	.blog_list .item {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body.blog #footer_widget_area {
		width: 800px;
		padding-right: 0;
		padding-left: 0;
	}

	body.archive #footer_widget_area {
		width: 800px;
		padding-right: 0;
		padding-left: 0;
	}

	body.single #footer_widget_area {
		width: 800px;
		padding-right: 0;
		padding-left: 0;
	}
}

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

	body.archive #main_content {
		width: auto;
		margin: 0 50px;
	}

	body.blog #bread_crumb {
		padding-right: 50px;
		padding-left: 50px;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.archive #bread_crumb {
		padding-right: 50px;
		padding-left: 50px;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.archive #footer_widget_area {
		width: auto;
		padding-right: 50px;
		padding-left: 50px;
	}

	body.blog #footer_widget_area {
		width: auto;
		padding-right: 50px;
		padding-left: 50px;
	}

	body.single #footer_widget_area {
		width: auto;
		padding-right: 50px;
		padding-left: 50px;
	}
}

@media screen and (max-width:800px) {
	body.archive #bread_crumb {
		margin: 0 !important;
		width: auto;
	}

	.no_banner_img_content {
		margin-top: 0 !important;
	}

	.add-border-left {
		border-left: none;
	}

	#blog_category_sort_wrap {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	#blog_category_sort {
		overflow-x: scroll;
		white-space: nowrap;
		position: relative;
	}

	/* 左右の余白用のスペースを確保 */
	.swiper-space-left {
		width: 20px;
		/* 左右の余白を確保 */
		flex-shrink: 0;
		border-right: 1px solid #ddd;
	}

	.sp_tab_active {
		border-right: none !important;
	}

	.swiper-space-right {
		width: 20px;
		/* 左右の余白を確保 */
		flex-shrink: 0;
	}

	#blog_category_sort {
		opacity: 1;
		/* 初期状態では透明にして非表示にする */
		visibility: visible;
		/* スライダーが初期化されるまで見えないようにする */
	}

	#blog_category_sort::-webkit-scrollbar {
		display: none;
	}

	.blog_category_sort_button {
		display: flex;
	}
}


@media screen and (max-width:1200px) {
	body.blog #bread_crumb {
		margin: 20px auto 20px;
	}

	body.archive #bread_crumb {
		margin: 20px auto 20px;
	}

	.blog_list .item {
		border-top: 1px solid #ddd;
	}

	.blog_list {
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
	}

	.blog_list .item:first-child {
		border: none;
	}

	.blog_list .item:nth-child(n+2) {
		border: none;
	}

	.blog_list .item {
		border-bottom: 1px solid #ddd !important;
		width: 100% !important;
	}

	.blog_list .item:last-child {
		border-bottom: none !important;
	}

	body.blog #bread_crumb {
		width: 800px;
	}

	.blog_category_sort_button_next {
		display: none;
	}

	.cate_no_border_sort {
		margin-bottom: 0 !important;
	}

	#blog_category_sort_wrap {
		width: auto;
		margin-bottom: 40px;
	}

	#blog_category_sort_wrap.cate_no_border_sort {
		margin-bottom: 0 !important;
	}

	body.blog.show_sidebar #main_col {
		width: auto;
	}

	body.archive.show_sidebar #main_col {
		width: auto;
	}

	#archive_blog {
		margin-bottom: 70px;
		padding-top: 40px;
	}

	#archive_news {
		padding-top: 40px;
	}

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

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

	#page_header {
		margin-bottom: 40px;
	}

	.archive_desc_contents {
		margin-bottom: 35px;
	}
}


@media screen and (max-width:1130px) {
	#archive_blog {
		width: auto;
		overflow: hidden;
	}

	#blog_category_sort {
		overflow: hidden;
	}

	#blog_category_sort:after,
	#blog_category_sort:before {
		display: none !important;
	}

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

	#blog_category_sort .item {
		width: 233px;
	}

	#blog_category_sort.small_size .item {
		flex: 0 0 auto;
		width: auto;
	}

	#blog_category_sort .item a {
		border-right: 1px solid #ddd;
	}

	#blog_category_sort .item:first-of-type a {
		border-left: 1px solid #ddd;
	}

	#blog_category_sort .item a:after {
		display: none;
	}

	#blog_category_sort .before-active a {
		border-right: none !important;
	}

	body:not(.home):not(.single-post) .style_list {
		width: auto;
		margin: 0 100px -30px;
	}
}

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

	#archive_headline+#archive_style #blog_category_sort_wrap {
		margin-top: 35px;
	}

	#blog_category_sort .mobile_item_width {
		width: calc(100% / 2) !important;
	}

	#blog_category_sort .item {
		width: 200px;
	}

	#blog_category_sort .item a {
		height: 60px;
		font-size: 14px;
	}

	body.blog #bread_crumb {
		margin: 0 !important;
		width: auto;
	}

	body.single-post .post_list_1_culam .item:nth-child(2) {
		border-left: 1px solid #ddd;
	}

	body.single-post .post_list_1_culam .item:nth-child(2n+4) {
		border-left: 1px solid #ddd;
	}
}

@media screen and (max-width:600px) {
	#blog_category_sort .mobile_item_width {
		width: calc(100% / 2) !important;
	}

	#blog_category_sort .item {
		width: 140px;
	}

	#blog_category_sort_wrap.no_margin_left {
		margin-left: 0 !important;
		/* 左端に到達していないときは左側のマージンを削除 */
	}

	#blog_category_sort_wrap.no_margin_right {
		margin-right: 0 !important;
		/* 右端に到達していないときは右側のマージンを削除 */
	}
}


/* 月別アーカイブ */
/*@media screen and (max-width:600px) {
body.date #main_content { margin: 0;}
body.date .blog_list .item { padding: 20px !important; display: block;}
body.date #side_col { margin-right: 20px; margin-left: 20px;}
body.date #archive_headline_no_image { margin-top: 0 !important;}
}

@media screen and (max-width:800px) {
body.date #archive_headline_no_image { margin-top: 40px;}
}

@media screen and (max-width:1000px) {
body.date .blog_list .item { padding-right: 20px !important; padding-left: 20px !important;}
}*/





/* ----------------------------------------------------------------------
 スタッフ一覧ページ
---------------------------------------------------------------------- */

@media screen and (max-width:800px) {
	body.page.show_sidebar #archive_headline {
		margin-bottom: 35px;
	}

	#author_list {
		margin: 40px 20px -30px;
	}

	#author_list .item {
		height: 160px;
	}
}

@media screen and (max-width:600px) {
	#author_list {
		display: block;
		margin: 40px 20px 0;
	}

	#author_list .item {
		width: auto;
		margin: 0;
	}

	#author_list .item:last-of-type {
		margin-bottom: 0;
	}

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

/*投稿者一覧ページ */
@media screen and (max-width:800px) {
	body.page-template-page-tcd-author #main_content {
		margin: 0 50px;
	}

	#author_list {
		margin: 40px 0 0 !important;
	}

	body.page-template-page-tcd-author #side_col {
		margin-top: 40px !important;
	}

	.design_author_list .image_wrap {
		width: 80px;
		height: 80px;
	}

	.design_author_list .avatar_area {
		margin-right: 20px;
	}

	.design_author_list .writer_contents {
		display: block;
	}

	.design_author_list .writer_contents .writer_name_date .name {
		margin-right: 0;
		line-height: 1;
	}

	.design_author_list .writer_contents .desc {
		font-size: 14px;
	}

	.design_author_list .writer_contents .writer_name_date .name {
		font-size: 16px;
	}

	.design_author_list .writer_contents .writer_name_date {
		display: grid;
		gap: 15px;
		margin-bottom: 15px;
		margin-top: 0;
		line-height: 1;
	}

	.design_author_list .writer_contents .writer_name_date .job {
		padding: 0;
	}

	.design_author_list .writer_contents .writer_name_date .job {
		margin-top: 0px;
		line-height: 1;
	}

	.design_author_list .writer_contents .sns_button_list {
		display: none;
	}

	.design_author_list .writer_contents .desc {
		line-height: 1.7;
		margin: -0.35em 0;
		height: 3.4em;
	}

	.design_author_list .avatar_area {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.design_author_list .image_wrap {
		margin-bottom: 0 !important;
	}

	body.page-template-page-tcd-author #side_col {
		margin-right: 20px;
		margin-left: 20px;
	}

	.writer_archive_headline .headline {
		font-size: var(--headline_font_size_sp);
	}

	body.page-template-page-tcd-author #bread_crumb {
		border-bottom: 1px solid #ddd;
	}

	body.page-template-page-tcd-author #bread_crumb {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.design_author_list .item {
		padding: 30px 20px;
		border-right: none;
		border-left: none;
	}

	.writer_archive_headline {
		margin-top: 40px;
	}
}

@media screen and (max-width:900px) {
	body.page-template-page-tcd-author #main_content {
		width: auto;
		margin: 0 50px;
	}

	body.page-template-page-tcd-author #bread_crumb {
		padding-right: 50px;
		padding-left: 50px;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

@media screen and (max-width:700px) {
	body.page-template-page-tcd-author #footer_widget_area {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	body.page-template-page-tcd-author #main_content {
		margin: 0;
	}
}

@media screen and (max-width:1200px) {
	body.page-template-page-tcd-author #side_col {
		margin-top: 70px;
	}
}




/* ----------------------------------------------------------------------
 スタッフ詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width:1130px) {
	#author_data {
		width: auto;
		margin: 0 100px;
	}

	#archive_blog .headline {
		width: auto;
		margin: 0 100px 100px;
	}

	body.author #archive_blog .headline {
		margin-bottom: 70px;
	}
}

@media screen and (max-width:1200px) {
	body.author #archive_blog .headline {
		margin-bottom: 40px;
	}

	body.author .blog_list {
		border-top: none;
	}
}

@media screen and (max-width:1000px) {
	#author_header_type1 .author_info .swiper-nav-button {
		display: none;
	}

	#author_data {
		margin: 0 50px;
	}

	#archive_blog .headline {
		margin: 0 50px 100px;
	}
}

@media screen and (max-width:700px) {
	body.author #archive_blog .headline {
		margin-bottom: 40px;
	}
}


@media screen and (max-width:800px) {
	#author_image_carousel_container {
		margin-bottom: 27px;
		aspect-ratio: 490 /570;
		width: 100%;
		height: auto;
		max-width: 490px;
	}

	#author_image_carousel_container .job {
		padding: 13px 20px 12px;
	}

	#author_header_type2 {
		padding: 40px 0 40px 0;
	}

	#author_header_type2 .author_image {
		width: 120px;
		height: 120px;
		margin: 0 auto 20px;
	}

	#author_header_type2 .name {
		font-size: 18px;
	}

	#author_header_type2 .sns_button_list {
		justify-content: center;
		margin-top: 20px;
	}

	#author_header_type2 .desc {
		width: auto;
		margin: 35px 20px 0;
		line-height: 2.2;
	}

	#author_header_type2 .staff_page_link {
		margin: 35px auto 10px;
	}

	#author_data {
		margin: 0 20px;
		padding: 40px 0;
	}

	#author_data .headline {
		font-size: 18px;
		height: 60px;
		line-height: 60px;
	}

	#author_data .content {
		border: 1px solid #ddd;
		margin: 0 0 -1px 0;
		padding: 25px 30px;
	}

	#author_data .sub_headline {
		font-size: 18px;
		margin: 5px 0 25px 0;
	}

	#author_data .desc {
		line-height: 2;
		margin-bottom: -5px;
	}

	#author_data .link {
		margin-top: 40px;
	}

	#author_style {
		padding: 40px 0 35px;
	}

	#author_header_type2+#author_style {
		margin-top: 40px;
	}

	#author_style .headline {
		font-size: 20px;
		margin-bottom: 35px;
	}

	#archive_blog .headline {
		margin: 0 20px 40px;
		height: 60px;
		line-height: 60px;
		font-size: 20px;
	}
}


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

	body.author #bread_crumb {
		border-bottom: 1px solid #ddd;
	}

	body.author #main_content {
		margin: 0 !important;
	}

	#author_header_type2 .desc {
		margin: 30px 40px 0 40px !important;
		margin-bottom: -0.6em !important;
	}

	#author_header_type2 .job {
		margin-top: 20px;
	}

	body.author #archive_blog {
		border-top: 1px solid #ddd;
	}

	body.author .blog_list .item:first-child {
		border-top: none;
		padding-top: 0 !important;
	}

	body.author .blog_list .item {
		padding: 20px !important;
	}

	#archive_blog .headline {
		height: auto !important;
		line-height: unset !important;
	}

	body.author .blog_list .animate_background {
		width: auto;
	}

	body.author .blog_list {
		margin: 0 !important;
	}

	body.author #side_col {
		margin: 0 20px;
	}

	.bottom_related_post {
		width: 100% !important;
	}

	.single_post_bottom_contents {
		flex-wrap: wrap;
		gap: 40px;
	}

	.bottom_related_post .headline {
		margin-bottom: 20px;
		font-size: 18px;
	}

	body.author #footer_widget_area {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}



/* ----------------------------------------------------------------------
 お知らせアーカイブページ
---------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
	body.post-type-archive-news.show_sidebar #main_col {
		width: auto;
	}

	#archive_news {
		margin-bottom: 70px;
	}
}

@media screen and (max-width:1000px) {
	body.post-type-archive-news #bread_crumb {
		margin: 20px auto 20px;
	}

	.archive_desc_contents {
		margin-right: 0;
		margin-left: 0;
		margin: -0.6em 0;
	}
}

@media screen and (max-width:600px) {
	.news_list .item {
		display: block;
	}

	.news_list .animate_background {
		width: 100%;
		margin: 0 0 15px 0;
	}

	.news_list .content {
		width: auto;
		padding-left: 0;
		gap: 20px;
	}

	.news_list .category {
		margin: 0 0 15px;
	}

	.news_list .date_area {
		margin-top: 5px;
	}

	body.post-type-archive-news #bread_crumb {
		margin: 0 auto;
	}
}

/*お知らせアーカイブ*/
@media screen and (max-width:700px) {
	body.no_side_wijet #bread_crumb {
		width: 100% !important;
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	body.post-type-archive-news #side_col {
		margin-left: 20px;
		margin-right: 20px;
	}

	body.post-type-archive-news #main_content {
		width: 100% !important;
		margin-left: 0;
	}

	body.post-type-archive-news .news_list {
		margin: 0 !important;
	}

	body.post-type-archive-news .news_list .item {
		display: block;
		padding: 20px !important;
		margin: 0 !important;
	}

	.news_list .image_wrap {
		width: 100%;
		height: auto;
		aspect-ratio: 340/210;
	}

	.news_list .animate_background {
		margin-right: 0;
	}

	.news_list .content {
		padding-right: 0;
	}

	.news_list .animate_background {
		margin-bottom: 20px !important;
	}

	.news_list .date_area {
		margin-top: 0 !important;
	}

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

	.excerpt_margin {
		margin-bottom: 0 !important;
	}

	.news_list .excerpt {
		height: 4.4em;
	}

	.news_list .excerpt span {
		-webkit-line-clamp: 2;
	}

	body.tax-news_category #main_content {
		width: 100% !important;
		margin-left: 0;
	}

	body.tax-news_category .news_list {
		margin: 0 !important;
	}

	body.tax-news_category .news_list .item {
		display: block;
		padding: 20px !important;
		margin: 0 !important;
	}

	#archive_news {
		margin-bottom: 40px !important;
	}

}

@media screen and (max-width:900px) {
	.no_side_contents_main {
		width: auto !important;
		padding-bottom: 40px !important;
	}
}




/* ----------------------------------------------------------------------
 お知らせ詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width:1130px) {
	#recent_news_list .post_list {
		width: auto !important;
		margin: 0 100px;
	}

	body.single-news.show_sidebar #main_col {
		width: auto;
	}
}

@media screen and (max-width:1200px) {
	body.single-news.show_sidebar #main_col {
		width: auto;
	}

	body.single-news #side_col {
		margin-top: 70px;
	}

	body.single #side_col {
		margin-top: 40px;
	}
}

@media screen and (max-width:1000px) {
	#recent_news_list .post_list {
		margin: 0 50px;
	}

	body.single-news #single_share_top {
		margin: 40px 20px;
	}

	body.single-news .post_content {
		margin: 0 20px !important;
	}

	body.single-news #next_prev_post {
		margin: 40px 20px;
	}

	.single_post_bottom_contents {
		width: auto;
	}
}

@media screen and (max-width:900px) {
	body.single #main_content {
		margin-right: 50px;
		margin-left: 50px;
		width: auto;
	}

	body.single-news #bread_crumb {
		padding-right: 50px;
		padding-left: 50px;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

@media screen and (max-width:700px) {
	body.hide_sidebar #single_news_header {
		margin-top: 0px;
	}

	#single_news_header .title_area {}

	#single_news_header .title_area:has(.date) {
		margin-bottom: 30px;
	}

	#single_news_header .title {
		font-size: var(--single_title_font_size_sp);
		text-align: left;
	}

	#single_news_header .category+.title {
		margin-top: 0;
	}

	#single_news_header .category {
		margin-bottom: 25px;
	}

	#single_news_header .meta {
		margin-top: 5px;
		justify-content: flex-start;
	}

	#single_news_header {
		margin-bottom: 40px;
	}

	#single_news_header+.post_content {
		margin-top: -7px;
	}

	#recent_news_list {
		padding: 40px 0;
	}

	#recent_news_list .headline {
		font-size: 18px;
		margin: 0 0 37px 0;
	}

	#recent_news_list .post_list {
		margin: 0 20px;
	}

	#recent_news_list .post_list+#single_free_space {
		margin-top: 40px;
	}

	#recent_news_list .post_list .item {
		display: block;
		height: auto;
		line-height: 1.4;
		padding: 21px 25px;
	}

	#recent_news_list .date {
		margin: 0 0 5px 0;
	}

	#recent_news_list .title {
		font-size: 14px;
		width: 100%;
		line-height: 1.6;
		max-height: 3.2em;
		text-overflow: clip;
		white-space: normal;
		overflow: hidden;
		visibility: visible;
	}

	#recent_news_list .title span {
		display: -webkit-inline-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.news_list .item {
		padding: 20px !important;
	}
}

/*お知らせ詳細ページ*/
@media screen and (max-width:800px) {
	.bottom_related_post_list {
		border-top: 1px solid #ddd;
	}

	.bottom_related_post .bottom_related_post_list .item {
		border-top: none;
	}

	#single_news_header .image {
		height: 220px;
		width: 100% !important;
		margin-top: 30px !important;
	}

	#single_news_header .title_area {
		margin-top: 30px !important;
	}

	body.single-news #bread_crumb {
		border-bottom: 1px solid #ddd;
	}

	#single_news_header .category {
		margin-bottom: 20px !important;
	}

	#single_news_header .meta {
		margin-top: 0;
		margin-bottom: 20px;
	}

	body.single-news #main_content {
		margin: 0;
	}

	#single_news_header .title_area {
		margin-right: 20px;
		margin-left: 20px;
	}

	body.single-news #side_col {
		margin-right: 20px;
		margin-left: 20px;
	}

	body.single-news .post_list_1_culam .item:nth-child(2) {
		border-left: 1px solid #ddd;
	}

	body.single-news .post_list_1_culam .item:nth-child(2n+4) {
		border-left: 1px solid #ddd;
	}

	body.single-news #side_col {
		margin-top: 40px;
	}

	body.single-news #bread_crumb {
		width: auto;
		margin: 0 !important;
		padding: 0 20px;
	}
}




/* ----------------------------------------------------------------------
 ページ上部　ヘッダー
---------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
	#header {
		height: 60px;
	}

	/*	body.start_scroll #header { box-shadow:0 0 10px 1px rgba(0,0,0,0.2); }*/
	#header_top {
		height: 100%;
	}

	#header_bottom {
		display: none;
	}
}

@media screen and (max-width: 1200px) {
	body.start_scroll .shadow {
		box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.1);
	}
}


/* ロゴ */
@media screen and (max-width:1200px) {
	#header_logo img {
		/*! max-height:30px; */
		/*! height:auto; */
	}

	#header_logo img.pc {
		display: none;
	}

	#header_logo img.mobile {
		display: block;
	}
}

/* サイトのキャッチフレーズ */
@media screen and (max-width:1200px) {
	#site_catch {
		display: none;
	}

	#site_catch_mobile {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		color: #fff;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		width: 100%;
		height: 60px;
		line-height: 1.4;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		text-align: center;
		z-index: 100;
	}

	#site_catch_mobile a {
		color: #fff;
	}
}

@media screen and (max-width:800px) {
	#site_catch_mobile {
		font-size: 14px;
		height: auto;
		line-height: 1.6;
		padding: 13px 20px;
	}
}


/* SNS */
@media screen and (max-width:1200px) {
	#header_sns {
		display: none;
	}
}

/* 検索窓 */
@media screen and (max-width:1200px) {
	.l-header__icon {
		right: 40px;
	}
}

@media screen and (max-width:600px) {
	.l-header__icon {
		right: 15px;
	}
}


/* グローバルメニュー */
#global_menu>ul>li {
	font-size: var(--global_menu_font_size_sp);
}

#global_menu>ul>li>a {
	padding: 0 20px;
}

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


/* ボタン */
#header_button a {
	min-width: inherit;
	font-size: var(--global_menu_font_size_sp);
}

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


/* メッセージ */
#header_message {
	margin-bottom: 0;
}

@media screen and (max-width:1250px) {
	#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;
	}
}


/* パンくずリンク */
@media screen and (max-width:1200px) {}

@media screen and (max-width:1130px) {
	#bread_crumb {
		width: auto;
	}

	body.archive #bread_crumb ul,
	body.page #bread_crumb ul {
		width: 100%;
	}
}

@media screen and (max-width:800px) {
	#bread_crumb {
		padding: 0 20px;
		margin: 0 auto;
		height: 50px;
		overflow: auto;
		overflow-y: hidden;
		scrollbar-width: thin;
	}

	#bread_crumb ul {
		height: 50px;
		line-height: 50px;
		overflow: visible;
	}
}



/* ----------------------------------------------------------------------
 モバイル用ドロワーメニュー
---------------------------------------------------------------------- */
/* ドロワーメニュー開閉ボタン */
@media screen and (max-width:1200px) {
	#drawer_menu_button {
		width: 60px;
		height: 60px;
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		cursor: pointer;
	}

	#drawer_menu_button span {
		width: 22px;
		height: 2px;
		background: #000;
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: all 0.4s ease;
	}

	#drawer_menu_button span:nth-child(1) {
		top: 23px;
	}

	#drawer_menu_button span:nth-child(2) {
		top: 29px;
	}

	#drawer_menu_button span:nth-child(3) {
		top: 35px;
	}
}


/* ドロワーメニュー */
@media screen and (max-width:1250px) {
	#drawer_menu {
		display: block;
	}

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

	.open_drawer_menu #drawer_menu_overlay {
		opacity: 1;
		pointer-events: auto;
	}
}

@media only screen and (max-width: 600px) {
	#drawer_menu {
		width: 100%;
	}

	.open_menu #container {
		transform: translate3d(-100%, 0, 0);
	}
}


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

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

#drawer_mneu_close_button:before {
	color: #fff;
	font-family: 'normal_icon';
	content: '\e91a';
	font-size: 20px;
	display: block;
	top: 17px;
	left: 12px;
	position: absolute;
}


/* グローバルメニュー */
#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 20px;
	height: 50px;
	line-height: 50px;
	overflow: hidden;
	text-decoration: none;
	color: #231815 !important;
	font-size: var(--global_menu_font_size_sp);
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	transition: none;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	visibility: visible;
}

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


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

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

#mobile_menu .child_menu_button:after {
	content: '';
	display: block;
	width: 12px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 24px;
	left: 15px;
}

#mobile_menu .child_menu_button:before {
	content: '';
	display: block;
	width: 2px;
	height: 12px;
	background: #fff;
	position: absolute;
	top: 19px;
	left: 20px;
}

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

/*#mobile_menu li.open > a { border-bottom:none;}*/
#mobile_menu li li a {
	background: color-mix(in srgb, var(--main_color) 80%, white);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
}

#mobile_menu>ul>li.open>ul>li:last-child a {
	border: none;
}

#mobile_menu li li.menu-item-has-children>a:after {
	display: none;
}

#mobile_menu li li.open>a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#mobile_menu li ul {
	background: #000;
}


/* ボタン */
#mobile_button {
	margin: 20px;
}

#mobile_button a {
	height: 50px;
	line-height: 50px;
	display: block;
	border: 1px solid var(--main_color_light2);
	color: #fff;
	font-size: 18px;
	text-align: center;
}

#mobile_button a[href^="tel:"] {
	color: var(--main_color_light2);
}

#mobile_button a+a {
	margin-top: 20px;
}

#mobile_button a.normal {
	background: var(--main_color_light2);
	font-size: 16px;
}


/* SNS */
#mobile_sns {
	margin: 30px 20px -10px;
	gap: 15px;
}

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



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


/* タイトルエリア */
@media screen and (max-width:1000px) {
	#footer_widget_area {
		padding-right: 50px;
		padding-left: 50px;
		width: auto;
	}
}

@media screen and (max-width:900px) {
	#single_post_header .title {
		font-size: var(--single_title_font_size_sp);
	}
}

@media screen and (max-width:800px) {
	#single_post_header .date_area .date .top {
		height: 30px;
		line-height: 30px;
		font-size: 12px;
	}

	#single_post_header .date_area .date .bottom {
		font-size: 20px;
	}

	#single_post_header .date_area .update {
		font-size: 14px;
	}

	#single_post_header .date_area2 {
		margin-top: -23px;
	}

	body.single #footer_widget_area {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}


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


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

	#single_copy_title_url_btm {
		margin: 40px 0 0;
	}

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


/* ページ分割 */
@media screen and (max-width:800px) {
	#post_pagination {
		margin-top: 35px;
	}
}


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

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

	body.single-service #single_banner_top,
	body.single-case_study #single_banner_top {
		margin-top: 40px;
	}

	body.single-service #single_banner_bottom,
	body.single-case_study #single_banner_bottom {
		margin-bottom: 10px;
	}

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


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

	#next_prev_post .item {
		height: 60px;
	}

	#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: 14px;
		line-height: 1;
	}

	#next_prev_post .prev_post:before {
		content: '\e90f';
		left: 15px;
		font-size: 14px;
	}

	#next_prev_post .next_post:before {
		content: '\e910';
		right: 15px;
		font-size: 14px;
	}
}

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


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

	#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);
		height: auto;
	}

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

	.author_profile .name {
		font-size: 14px !important;
	}

	.author_profile .desc {
		font-size: 14px;
		max-height: 3.4em;
		line-height: 1.7;
		margin: -0.35em 0;
	}

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


/* 関連記事 */
@media screen and (max-width:1130px) {
	#single_related_post {
		width: auto;
		margin: 0 100px 65px;
	}

	#related_post_carousel {
		overflow: visible;
	}

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

	#single_related_post .post_list .item {
		width: 290px !important;
	}

	#single_related_post .post_list .item .item:last-of-type {
		margin-right: 0 !important;
	}

	#single_related_post .date_area {
		margin: 0 0 -40px 30px;
	}

	#single_related_post .date {
		width: 70px;
		height: 70px;
	}
}

@media screen and (max-width:1000px) {
	#single_related_post {
		width: auto;
		margin: 0 50px 65px;
	}
}

@media screen and (max-width:800px) {
	#single_related_post {
		margin: 0 20px 35px;
	}

	#single_related_post .post_list .image_wrap {
		margin-bottom: 15px;
	}
}

/*スタイルカルーセル*/
@media screen and (max-width: 800px) {
	#single_style_carousel .headline {
		margin-bottom: 40px;
		font-size: 18px;
	}

	#single_style_carousel {
		margin-bottom: 35px;
	}
}


/* カテゴリー一覧 */
@media screen and (max-width:1130px) {
	#single_category_list {
		width: auto;
		margin: 0 100px 70px;
	}
}

@media screen and (max-width:1000px) {
	#single_category_list {
		margin: 0 50px 70px;
	}
}

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

	#single_related_post .headline {
		margin-bottom: 40px;
		font-size: 18px;
	}

	#single_category_list {
		width: auto;
		margin: 0 20px 40px;
	}

	#single_category_list .headline {
		height: 60px;
		line-height: 60px;
		font-size: 18px;
	}

	#single_category_list li {
		width: calc(100% / 3);
	}

	#single_category_list li a {
		height: 60px;
		line-height: 60px;
		font-size: 14px;
	}
}

@media screen and (max-width:600px) {
	#single_category_list li {
		width: 50%;
	}
}


/* アーカイブ・検索 */
@media screen and (max-width:1130px) {
	#single_archive_search_area {
		width: auto;
		margin: 0 100px 70px;
		padding: 40px 40px;
	}

	#single_archive_area {
		width: calc(50% - 20px);
	}

	#sigle_search_area {
		width: calc(50% - 20px);
	}
}

@media screen and (max-width:1000px) {
	#single_archive_search_area {
		margin: 0 50px 70px;
	}
}

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

	#single_archive_area {
		width: calc(50% - 10px);
	}

	#sigle_search_area {
		width: calc(50% - 10px);
	}

	body.search #main_content {
		margin: 0;
	}

	body.search .blog_list .item {
		padding: 20px !important;
	}
}

@media screen and (max-width:600px) {
	#single_archive_search_area {
		display: block;
		background: none;
		border: none;
		padding: 0;
	}

	#single_archive_area {
		width: auto;
	}

	#sigle_search_area {
		width: auto;
		margin-top: 40px;
	}
}

@media screen and (max-width:700px) {
	body.search .blog_list .item {
		display: block;
	}

	body.search .blog_list .image_wrap {
		margin-bottom: 20px;
	}
}

@media screen and (max-width:900px) {
	body.search #search_archive_headline {
		margin-top: 40px;
	}

	body.search .blog_list .item {
		padding-right: 20px;
		padding-left: 20px;
	}

	body.search #search_archive_headline .desc {
		margin-top: 40px;
	}

	body.search #side_col {
		margin-right: 20px;
		margin-left: 20px;
	}
}



/* フリースペース */
@media screen and (max-width:1130px) {
	#single_free_space {
		width: auto;
		margin: 50px 0 0;
	}

	body.single-news.hide_sidebar #single_free_space {
		width: auto;
	}
}

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

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


/* 記事カルーセル */
@media screen and (max-width:1130px) {
	#single_post_carousel {
		width: auto;
		margin: 0 0 140px;
		padding: 0 100px;
	}

	#single_post_carousel .swiper {
		overflow: visible;
	}

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

	.recommend_post_carousel .post_list .item {
		width: 290px !important;
	}

	.recommend_post_carousel .post_list .item:last-of-type {
		margin-right: 0 !important;
	}
}

@media screen and (max-width:1000px) {
	#single_post_carousel {
		width: auto;
		margin: 0 0 140px;
		padding: 0 50px;
	}

	#single_share_top {
		margin: 40px 20px;
	}

	body.single-post #single_banner_top {
		margin: 0 20px 40px
	}

	body.single .post_content {
		margin: 0 20px;
	}

	#single_banner_bottom {
		margin: 40px 20px 0px !important;
	}

	.author_profile {
		margin: 40px 20px 0;
		height: auto;
	}

	#single_share_bottom {
		margin: 40px 20px 0;
	}

	#next_prev_post {
		margin: 50px 20px;
	}

	#single_free_space {
		margin: 0 20px !important;
	}

	.bottom_related_post {
		width: calc(50% - 50px);
	}
}

@media screen and (max-width:800px) {
	#single_post_carousel_header {
		margin: 0 -20px 40px;
	}

	#single_post_carousel_header .item {
		height: 60px;
		line-height: 60px;
		font-size: 14px;
	}

	#single_post_carousel {
		width: auto;
		margin: 0 0 35px;
		padding: 0 20px;
	}

	#single_post_carousel.one_carousel #single_post_carousel_header .item {
		margin-bottom: 40px;
		font-size: 18px;
	}

	#single_widget_area+#single_post_carousel.one_carousel {
		margin-top: 40px;
	}

	.recommend_post_carousel .post_list .image_wrap {
		margin-bottom: 15px;
	}

	.style_margin_top {
		margin-top: 40px !important;
	}

	.margin_bottom_style {
		margin-bottom: 40px !important;
	}

	.single_post_bottom_contents {
		margin: 70px 20px 0;
	}
}

@media screen and (max-width:600px) {
	.recommend_post_carousel .post_list .item {
		width: 220px !important;
	}
}


/* ブログ詳細ページ */
@media screen and (max-width:800px) {
	body.single-post #main_content {
		width: 100% !important;
		margin-left: 0;
	}

	#single_post_header .image {
		width: 100% !important;
	}

	#single_post_header {
		margin: 30px 0 !important;
	}

	#single_post_header .category {
		margin: 20px !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	#single_post_header .category a {
		white-space: nowrap;
		/* 各カテゴリーが改行されないようにする */
	}

	#single_post_header .title {
		padding: 0 20px;
		margin: -0.25em 0;
	}

	#single_post_header .date_area {
		margin: 20px 20px 0 20px;
	}

	#single_post_header .image {
		margin-top: 30px;
	}

	body.single-post .post_content {
		margin: 0 20px;
	}

	body.single-post #single_share_top {
		margin: 40px 20px;
	}

	body.single-post .author_profile {
		margin-right: 20px;
		margin-left: 20px;
	}

	body.single-post .author_profile .writer_name_date {
		margin-bottom: calc(20px - 0.35em);
		flex-wrap: wrap;
		line-height: 1.7;
	}

	body.single-post #single_share_bottom {
		margin: 40px 20px;
	}

	body.single-post #next_prev_post {
		margin: 40px 20px;
	}

	body.single .single_post_bottom_contents {
		width: unset;
		margin-top: 40px;
		margin-right: 20px;
		margin-left: 20px;
	}

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

	.bottom_related_post .item .image_wrap {
		width: 100px;
		height: 100px;
		margin-right: 20px;
	}

	body.single-post #bread_crumb {
		border-bottom: 1px solid #ddd;
	}

	body.single-post.show_sidebar #side_col {
		margin-right: 20px;
		margin-left: 20px;
	}

	body.single-post #main_content {
		margin: 0 !important;
	}

	body.single-post #bread_crumb {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.bottom_related_post .item .title_contents {
		font-size: 14px;
		width: calc(100% - 100px);
	}

	.bottom_related_post .item {
		height: 140px;
	}
}

@media screen and (max-width:1000px) {
	body.single-post #main_col {
		width: auto;
	}
}

@media screen and (max-width:1200px) {
	body.single-post #main_col {
		width: auto;
	}

	body.single-post.show_sidebar #main_col {
		width: auto;
	}

	#bread_crumb {
		width: 800px;
	}
}

@media screen and (max-width:1000px) {
	body.single-post #bread_crumb {
		width: auto;
		padding-right: 50px;
		padding-left: 50px;
	}
}





/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
@media screen and (max-width:1300px) {

	body.search-no-results.header_fix,
	body.error404.header_fix {
		padding-top: 60px;
	}

	body.search-no-results #no_search_result:not(:has(.bg_image)) {
		border-top: 1px solid #ddd;
	}

	#no_search_result {
		height: calc(100vh - 60px);
		height: calc(100dvh - 60px);
	}

	#no_search_result:not(.has_image) {
		border-top: 1px solid #ddd;
	}

	#no_search_result .desc {
		padding: 0 50px;
		width: auto;
	}
}

@media screen and (max-width:1100px) {
	#no_search_result .tag_list {
		width: auto;
		padding: 0 50px;
	}
}

@media screen and (max-width:800px) {
	#no_search_result .headline {
		font-size: 24px;
		margin-bottom: 30px;
	}

	#no_search_result .desc {
		padding: 0 20px;
		line-height: 2;
		margin-bottom: 35px;
	}

	#no_search_result .tag_list {
		padding: 0 20px;
		margin-top: 40px;
	}

	#no_search_result .desc+.tag_list {
		margin-top: 30px;
	}

	#no_search_result .wp-tag-cloud a {
		font-size: 12px !important;
	}
}

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

	#no_search_result form {
		max-width: 400px;
		width: 100%;
	}
}

@media screen and (max-width:800px) {
	body.error404 #header_top {
		display: block;
	}

	body.search-no-results #header_top {
		display: block;
	}
}



/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
	#footer_logo {
		height: 70px;
	}

	#footer_logo img {
		max-height: 30px;
		width: auto;
	}

	#footer_logo img.pc {
		display: none;
	}

	#footer_logo img.mobile {
		display: block;
	}

	.footer_widget_content:nth-child(3n) {
		border-right: 1px solid rgba(255, 255, 255, 0.3);
	}

	.footer_widget_content:nth-child(2n) {
		border-right: none;
	}
}

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

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

@media screen and (max-width:800px) {
	.footer_widget_content {
		padding: 40px 0;
	}

	#footer .bg_image.mobile {
		display: block;
	}

	#footer .bg_image.pc {
		display: none;
	}

	.widget_tab_post_list li {
		padding: 20px;
	}

	.widget_tab_post_list .title {
		font-size: 14px;
		max-height: 5.4em;
	}

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

@media screen and (max-width:600px) {
	#footer_widget_area {
		display: block;
	}

	.footer_widget_content {
		width: auto;
		border-right: none;
		padding: 40px 0;
	}
}






/* SNS */
@media screen and (max-width:1100px) {
	#footer_sns {
		display: flex;
		justify-content: center;
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		z-index: 4;
		height: 60px;
		align-items: center;
	}
}

/* コピーライト */
@media screen and (max-width:1100px) {
	#copyright {
		padding: 19px 20px;
		width: auto;
		transform: relative;
		top: auto;
		transform: none;
		border-top: 1px solid rgba(255, 255, 255, .2);
	}

	.footer_bottom {
		height: auto;
	}
}


/* ページ上部へ戻るボタン */
@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;
		left: 18.5px;
	}

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

	#return_top {
		right: 25px;
	}
}




/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width:1200px) {
	#side_col .widget_content {
		width: calc(50% - 25px);
	}

	#side_col .widget_content:last-of-type {
		margin-bottom: 40px;
	}
}

@media screen and (max-width:600px) {
	#side_col .widget_content {
		width: auto;
	}
}



/* 予約情報 */
@media screen and (max-width:800px) {
	.reserve_widget .desc {
		line-height: 2;
	}
}


/* タブ記事 */
@media screen and (max-width:800px) {
	.widget_tab_post_list_button div {
		height: 60px;
		line-height: 60px;
	}

	#footer_widget_area .widget_tab_post_list .title_area {
		padding-left: 20px;
	}

	#footer_widget_area .widget_tab_post_list li {
		padding-right: 25px !important;
	}

	#footer .index_tab_padding li {
		padding-top: 20px !important;
		padding-left: 20px !important;
		padding-right: 30px !important;
	}
}


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

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


/* デフォルトのカテゴリー */
@media screen and (max-width:800px) {
	.widget_categories li {
		font-size: 16px;
	}

	.widget_categories li a {
		height: 60px;
		line-height: 60px;
	}

	.widget_categories li .post-count {
		top: 9px;
		width: 35px;
		height: 35px;
		line-height: 35px;
		font-size: 11px;
	}

	#side_col .widget_categories li a {
		padding: 0 20px;
		height: 60px;
		line-height: 60px;
		font-size: 14px;
	}

	#side_col .widget_tab_post_list .image_wrap {
		width: 120px;
		height: 120px;
	}

	#side_col .widget_tab_post_list .title_area {
		height: 120px;
	}

	#side_col .widget_tab_post_list .title_area {
		width: calc(100% - 120px);
		padding-left: 20px;
	}

	.widget_content {
		margin-bottom: 40px;
	}

	#footer_widget_area .widget_categories li a {
		height: 60px;
		line-height: 60px;
		padding: 0 20px;
		font-size: 14px;
	}

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


/* デフォルトのアーカイブ */
@media screen and (max-width:800px) {
	.widget_archive li {
		font-size: 14px;
	}

	.widget_archive li a {
		height: 50px;
		line-height: 50px;
	}

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

	.widget_headline {
		margin-bottom: 20px !important;
	}

	#side_col .widget_content:last-child {
		margin-bottom: 0 !important;
	}
}


/* デフォルトのナビ　*/
@media screen and (max-width:800px) {
	.widget_nav_menu li {
		font-size: 14px;
	}

	.widget_nav_menu li a {
		height: 50px;
		line-height: 50px;
	}
}


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

	#searchform #s {
		padding: 0 20px;
		height: 60px;
		width: calc(100% - 60px);
	}

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

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

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


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

	.widget_recent_entries li a {
		font-size: 14px;
	}
}


/* デフォルトのコメントウィジェット */
@media screen and (max-width:800px) {
	.widget_recent_comments li {
		font-size: 14px;
		padding: 20px 20px 15px;
	}
}


/* デフォルトの固定ページ */
@media screen and (max-width:800px) {
	.widget_pages li {
		font-size: 14px;
	}

	.widget_pages li a {
		height: 50px;
		line-height: 50px;
	}
}


/* デフォルトのナビ */
@media screen and (max-width:800px) {
	.widget_nav_menu li {
		font-size: 14px;
	}

	.widget_nav_menu li a {
		height: 50px;
		line-height: 50px;
	}
}


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


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

	.widget_text .textwidget p {
		line-height: 2;
	}
}


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

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

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

	.widget_archive .screen-reader-text:before,
	.widget_categories .screen-reader-text:before {
		top: 27px;
		right: 23px;
	}
}


/* RSS */
@media screen and (max-width:800px) {
	.widget_rss li {
		padding: 20px 20px 15px;
		font-size: 14px;
	}
}




/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
@media screen and (max-width:1200px) {
	#no_search_result {
		height: calc(100vh - 120px);
		height: calc(100dvh - 120px);
	}

	#no_search_result.has_sns_icon {
		height: calc(100vh - 180px);
	}

	#no_search_result .desc {
		padding: 0 50px;
		width: auto;
	}
}

@media screen and (max-width:800px) {
	#no_search_result .headline {
		font-size: 24px;
		margin-bottom: 30px;
	}

	#no_search_result .desc {
		padding: 0 20px;
		line-height: 2;
		margin-bottom: 35px;
	}
}

@media screen and (max-width:600px) {
	#no_search_result .search_form {
		padding: 0 50px;
	}

	#no_search_result form {
		max-width: 400px;
		width: 100%;
	}
}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media screen and (max-width:800px) {
	#comments {
		margin: 40px 20px 0;
	}

	#comments .headline {
		font-size: 18px;
		margin-bottom: 40px;
	}
}




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
/*  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: 800px) {
	.s_table {
		margin-right: -20px;
		margin-left: -20px;
		padding: 0 0 0 20px;
	}

	.s_table table {
		overflow: visible;
		position: relative;
	}

	.s_table table:after {
		content: '';
		position: absolute;
		top: 0;
		left: 100%;
		height: 1px;
		width: 20px;
	}
}




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