@media screen and (min-width:1241px){
	.pc_hide{
		display: none!important;
	}
}/*@media screen and (min-width:1201px){*/

@media screen and (max-width:1240px){
	.pad_hide{
		display: none!important;
	}


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

	.container{
		padding: 0;
        max-width: 1000px;
        width: 90%;
        min-width: 720px;
	}


	/* ===== 見出し関係 ===== */
	.c_sec_head_set01{
		gap:8px;
	}

	.c_sec_head_set01 .min_head{
		font-size: var(--sub_head_font);
	}
	.c_sec_head_set01 .big_head{
		font-size: var(--big_head_font);
	}

	.c_sec_head_set01 .big_head img{
		height:60px;
	}


	/* ===== ページネーション ===== */
	.c_page_nation{
		margin-top: 80px;
		gap:16px;
		font-size: 24px;
		line-height: 1.2;
	}

	.c_page_nation span.current{/*現在のページボタン*/
		width: 46px;
	}

	.c_page_nation a.page-numbers{/*指定のページ移動ボタン*/
		width: 36px;
	}


	/* ===== 画像 ===== */
	.c_img_frame{

	}

	.c_img_frame.medium img{
		max-width: 800px;
	}
	.c_img_frame.small img{
		max-width: 400px;
	}

	/* ===== ボタン関係 ===== */
	.c_button01{
		min-width:236px;
		min-height: 50px;
		padding:12px 32px;
	}

	.c_button01 svg{
		width:7px;
	}


	/*
	------------------------------------
	ヘッダー
	------------------------------------
	*/

	/* ===== ヘッダーパターン1 ===== */
	.header01{
		
	}

	.header01 .header_inner{
		padding-top: 8px;
		padding-inline: 8px;
	}

	.header01 .header_frame{
		padding-inline: 16px;
	}

	.header01 .header_flex{
		height: 64px;
	}

	.header01 .header_logo{
		height:calc(100% - 16px);
	}

	.header01 .header_name{
		font-size: 14px;
	}

	.header01 .drawer_open{
		width: 48px;
	}


	.header01 .drawer_open .bar{
		width:16px;
		height:2px;
	}

	.header01 .drawer_open .bar02{
		margin:4px 0;
	}

	.header01 .drawer_open .bar03{
		width:8px;
	}

	.header01 .drawer_open.active .bar03 {
		width: 16px;
	}

	.drawer_menu01{
		top:8px;
		right:8px;
		width:calc(100% - 8px);
		max-width: 340px;
	}

	.drawer_menu01 .drawer_menu_inner{
		height:calc(100dvh - 8px);
		padding-top: 80px;
	}

	.drawer_menu01 .drawer_menu_contents_frame{
		padding-inline: 24px;
	}

	.drawer_menu01 .drawer_parent_menu{

	}

	.drawer_menu01 .drawer_parent_item + .drawer_parent_item{
		margin-top: 24px;
	}

	.drawer_menu01 .drawer_parent_link{
		font-weight: 500;
	}
	/*
	------------------------------------
	フッターパターン1
	------------------------------------
	*/

	/* ===== フッターパターン1 ===== */
	.footer01{
		margin-top: 160px;
	}

	.footer01 .footer_contents{
		padding-top: 56px;
		padding-bottom: 24px;
	}

	.footer01 .footer_catch{
		bottom:calc(100% - 6px);
		font-size: 24px;
	}

	.footer01 .footer_flex{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap:32px;
	}

	.footer01 .footer_left{
		flex-shrink: 0;
		max-width: 600px;
	}

	.footer01 .footer_logo{
		display: block;
		max-width: 480px;
	}

	.footer01 .footer_info{
		margin-top: 40px;
		line-height: 1.5;
	}

	.footer01 .footer_info p + p{
		margin-top: 8px;
	}

	.footer01 .footer_right{
		min-width: 280px;
		display: flex;
		align-items: flex-end;
	}

	.footer01 .footer_right_contents{
		width: 100%;
	}

	.footer01 .footer_nav{

	}

	.footer01 .footer_parent_memu{

	}

	.footer01 .footer_parent_item + .footer_parent_item{
		margin-top: 24px;
	}

	.footer01 .footer_parent_link{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		line-height: 1.3;
		gap:8px;
	}

	.footer01 .footer_parent_link_big{
		font-size: 24px;
	}

	.footer01 .footer_parent_link_min{
		font-size: 16px;
	}

	.footer01 .footer_copy{
		margin-top: 40px;
	}

	/*
	------------------------------------
	FV関係コンポーネント
	------------------------------------
	*/


	/* ===== フルスクリーンFV ===== */
	.c_full_fv_section{
		position: relative;
	}


	.c_full_fv_section .fv_inner{
		height:100vh;
		min-height: 650px;
		max-height: 1080px;
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.c_full_fv_section .fv_catch{
		width:480px;
	}

	.c_full_fv_section .scroll_box{
		width:140px;
		bottom:80px;
		right:0;		
	}


	.c_full_fv_section .scroll_box svg{
		width:7px;
		top: calc(100% + 6px);
	}

	.c_full_fv_section .recent_news{
		bottom:80px;
		width: 450px;
		min-height:90px;
		font-size: 14px;
	}

	.c_full_fv_section .recent_title{
		padding:24px;
		width: 100%;
	}

	.c_full_fv_section .recent_head{
		width:160px;
		padding:24px;
	}


	/* ===== 下層ページ用 画像のみFV ===== */

	.c_page_img_fv_section{

	}

	.c_page_img_fv_section .fv_inner{
		position: relative;
		height:400px;
	}

	/*
	------------------------------------
	ページタイトル関係コンポーネント
	------------------------------------
	*/

	/* ===== デフォルトタイプ ===== */
	.c_page_title_section{

	}

	.c_page_title_section .frame{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap:24px 40px;
	}

	.c_page_title_section .frame.flex{
		justify-content: space-between;
		flex-direction: column;
		align-items: flex-start;
	}
	.c_page_title_section .sec_head_area{
		flex-shrink: 0;
	}

	.c_page_title_section .info_text_area{
		max-width: 1000%;
	}

	.c_page_title_section .info_text{
		line-height: 2;
	}


	/*
	------------------------------------
	理念関係コンポーネント
	------------------------------------
	*/

	/* ===== ロゴ + テキスト 横並びタイプ ===== */
	.c_purpose_section{

	}

	.c_purpose_section .purpose_flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap:40px;
	}

	.c_purpose_section .purpose_img_area{
		width: calc(300 / 960 * 100%);
		flex-shrink: 0;
	}

	.c_purpose_section .purpose_text_area{
		width: 100%;
	}

	.c_purpose_section .purpose_text{
		margin-top: 10px;
		line-height: 2;
	}


	.c_purpose_section .button_list{
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap:16px 24px;
		margin-top: 32px;
	}


	/*
	------------------------------------
	サービス関係 コンポーネント
	------------------------------------
	*/

	/* ===== サービス一覧 カード横並び式 ===== */
	.c_service_list_section{

	}

	.c_service_list_section .service_head_area{
		min-height: 120px;
		padding-top: 4px;
		padding-bottom: 4px;
	}

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

	.c_service_list_section .service_card{
		width:50%;
		height:340px;
		position: relative;
	}

	.c_service_list_section .service_card:last-child:nth-child(odd){
		width: 100%;
	}	


	.c_service_list_section .service_title_frame{
		bottom:40px;
	}

	.c_service_list_section .service_title{
		gap:16px;
		min-height: 36px;
		padding:6px 24px;		
	}

	.c_service_list_section .service_title::after{
		width:7px;
		height:13px;
	}



	/* ===== サービス紹介(画像 + ぼかし背景画像 + テキスト) ===== */

	.c_service_info_section{

	}


	.c_service_info_section .service_frame{
		min-height: min(100vh , 1080px) ;
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.c_service_info_section .service_flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap:32px;
	}

	.c_service_info_section .service_flex.reverce{
		flex-direction: row-reverse;
	}

	.c_service_info_section .service_img_area{
		width:50%;
		flex-shrink: 0;
	}

	.c_service_info_section .service_text_area{
		width: 100%;
		max-width: 480px;
	}

	.c_service_info_section .service_text{
		margin-top: 20px;
		line-height: 1.5;
	}

	.c_service_info_section .c_sec_head_set01 .min_head{
		letter-spacing: 0.15em;
	}
	.c_service_info_section .c_sec_head_set01 .big_head{
		font-size: 24px;
		letter-spacing: 0.05em;
	}

	.c_service_info_section .c_sec_head_set01 .big_head img{
		height: 24px;
	}

	/*
	------------------------------------
	サポーター関係 コンポーネント
	------------------------------------
	*/

	/* ===== サポーターについての説明 画像 + 説明の2カラム構成 ===== */
	.c_supporter_info_section {

	}

	.c_supporter_info_section .supporter_flex{
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap:32px;

	}


	.c_supporter_info_section .supporter_img_area{
		flex-shrink: 0;
		width:calc(560 / 1080 * 100%);
		order: 0;
	}

	.c_supporter_info_section .supporter_img_area.sticky{
		position: sticky;
		top:var(--c_sticky_top);
		left:0;
	}

	.c_supporter_info_section .supporter_contents_area{
		width:100%;
		max-width: 400px;
		order: 1;
		padding-top: 0;
	}

	.c_supporter_info_section .supporter_flex.reverce .supporter_img_area{
		left:auto;
		right:0;
		order: 2;
	}

	.c_supporter_info_section .supporter_contents_frame{
		width: 100%;
	}

	.c_supporter_info_section .supporter_contents_block + .supporter_contents_block{
		margin-top: 80px;
	}

	.c_supporter_info_section .supporter_contents_block .c_sec_head_set01 .min_head{
		letter-spacing: 0.15em;
	}
	.c_supporter_info_section .supporter_contents_block .c_sec_head_set01 .big_head{
		font-size: 24px;
		font-weight: 500;
		letter-spacing: 0.05em;
	}

	.c_supporter_info_section .supporter_contents_block .c_sec_head_set01 .big_head img{
		height: 24px;
	}

	.c_supporter_info_section .supporter_text{
		margin-top: 16px;
		line-height: 1.5;
	}

	.c_supporter_info_section .supporter_text strong{
		font-size: 20px;
		font-weight: 500;
	}

	.c_supporter_info_section .button_list{
		margin-top: 32px;
	}

	.c_supporter_info_section .button_list li + li{
		margin-top: 24px;
	}

	.c_supporter_info_section .company_list_area{
		margin-top: 16px;
	}

	.c_supporter_info_section .company_list li{
		line-height: 1.5;
	}

	.c_supporter_info_section .company_list_switch{
		margin-top: 16px;
	}


	/* ===== 協賛企業等のバナーリスト 通常の横並び型 ===== */

	.c_supporter_list_section{

	}

	.c_supporter_list_section .supporter_text{
		line-height: 2;
		margin-top: 16px;
	}

	.c_supporter_list_section .banner_area{
		margin-top: 72px;
	}

	.c_supporter_list_section .banner_list{
		display: grid;
	}

	.c_supporter_list_section .banner_list.two_column{
		grid-template-columns: repeat(2, 1fr);
		gap:24px;
	}
	.c_supporter_list_section .banner_list.three_column{
		grid-template-columns: repeat(3, 1fr);
		gap:16px;
	}
	.c_supporter_list_section .banner_list.four_column{
		grid-template-columns: repeat(4, 1fr);
		gap:16px;
	}

	/*
	------------------------------------
	ABOUT関係 コンポーネント
	------------------------------------
	*/

	/* ===== 画像 + テキストの2カラム構成 ===== */

	.c_about01_section{

	}

	.c_about01_section .about_flex{
		display: flex;
		justify-content: center;
		gap:20px;
	}

	.c_about01_section .about_flex.reverce{
		flex-direction: row-reverse;
	}

	.c_about01_section .about_img_area{
		flex-shrink: 0;
		/* width:min(calc(760 / 1440 * 100vw) , calc(760 / 1440 * 1440px)); */
		width:calc(700 / 1200 * 100%);
		transform: translateX(calc(min(calc(80 / 1440 * 100vw) , calc(80 / 1440 * 1440px)) * -1));
	}

	.c_about01_section .about_text_area{
		width:100%;
		padding-right: 0;
		display: flex;
		align-items: center;
	}

	.c_about01_section .about_text_contents{
		width:100%;
	}

	.c_about01_section .about_text{
		margin-top: 32px;
		line-height: 2;
	}

	.c_about01_section .about_flex.reverce .about_img_area{
		transform: translateX(min(calc(80 / 1440 * 100vw) , calc(80 / 1440 * 1440px)));
	}

	.c_about01_section .about_flex.reverce .about_text_area{
		padding-right: 0;
		padding-left: 0;
	}

	/*
	------------------------------------
	代表の声関係 コンポーネント
	------------------------------------
	*/

	/* ===== 画像 + テキストの2カラム構成 ===== */
	.c_message01_section{

	}

	.c_message01_section .message_flex{

		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap:32px;
	}

	.c_message01_section .message_flex.reverce{
		flex-direction: row-reverse;
	}

	.c_message01_section .c_sec_head_set01 .big_head{
		font-size: 32px;
		letter-spacing: 0.05em;
	}

	.c_message01_section .c_sec_head_set01 .big_head img{
		height: 40px;
	}

	.c_message01_section .message_img_area{
		width:calc(360 / 1080 * 100%);
		flex-shrink: 0;
	}

	.c_message01_section .message_text_area{
		max-width: 580px;
	}

	.c_message01_section .message_text{
		margin-top: 16px;
		line-height: 2;
	}


	/*
	------------------------------------
	会社概要 関係 コンポーネント
	------------------------------------
	*/

	/* ===== 画像 + テキストの2カラム構成 ===== */
	.c_outline01_section{

	}

	.c_outline01_section .outline_flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap:32px;
	}

	.c_outline01_section .outline_flex.reverce{
		flex-direction: row-reverse;
	}

	.c_outline01_section .outline_img_area{
		width:calc(420 / 1080 * 100%);
		flex-shrink: 0;
	}


	.c_outline01_section .outline_text_area{
		width: 100%;
		max-width: 550px;
	}

	.c_outline01_section .outline_table{
		margin-top: 40px;
	}

	.c_outline01_section .outline_item{
		padding:16px 0;
		display: flex;
		align-items: flex-start;
		line-height: 1.75;
	}

	.c_outline01_section .outline_item + .outline_item{
		border-top:1px solid var(--base_font_color);
	}

	.c_outline01_section .outline_title{
		flex-shrink: 0;
		width:140px;
		padding-right: 10px;
	}

	/*
	------------------------------------
	シンラ様用 シンラの木セクション
	------------------------------------
	*/

	.c_shinra_tree_section{
		padding-top: 120px;
		padding-bottom: 140px;
	}

	.c_shinra_tree_section .shinra_tree_bg{
		width:1424px;
	}

	.c_shinra_tree_section .shinra_tree_text{
		margin-top: 4px;
		line-height: 2;
	}

	.c_shinra_tree_section .shinra_tree_img{
		max-width: 315px;
		margin-top: 36px;
	}

	.c_shinra_tree_section .shinra_tree_count_area{
		margin-top: 20px;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
	}

	.c_shinra_tree_section .shinra_tree_count_head{
		font-size: 24px;
	}

	.c_shinra_tree_section .shinra_tree_count{
		font-size: 32px;
	}

	.c_shinra_tree_section .shinra_tree_count span{
		font-size: 64px;
	}

	.c_shinra_tree_section .shinra_tree_date{
		margin-top: 12px;
		font-size: 24px;
	}



	/*
	------------------------------------
	記事一覧関係 コンポーネント
	------------------------------------
	*/

	/* ===== スライド形式 ===== */
	.c_article_slide_section{

	}

	.c_article_slide_section .container{
		position: relative;
	}

	.c_article_slide_section .head_area{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap:24px 48px;
		padding-right: 400px;
	}

	.c_article_slide_section .slide_area{
		margin-top: 44px;
	}

	.c_article_slide_section .article_slide{
		width:350px;
		margin-inline: 20px;
	}

	.c_article_slide_section .article_category{
		min-height: 28px;
		min-width: 132px;
		padding:4px 16px;
	}

	.c_article_slide_section .article_text_frame{
		margin-top: 28px;
		max-width: 285px;
	}


	.c_article_slide_section .article_date{
		margin-top: 16px;
		font-size: 14px;
	}

	.c_article_slide_section .article_new{
		width:60px;
		font-size: 14px;
	}

	.c_article_slide_section .article_nav_flex{
		position: absolute;
		display: flex;
		align-items: flex-start;
		gap:16px;
	}

	.c_article_slide_section .article_nav{
		width:60px;
	}

	.c_article_slide_section .article_nav.prev{
		padding-right: 4px;
	}
	.c_article_slide_section .article_nav.next{
		padding-left: 4px;
	}
	.c_article_slide_section .article_nav svg{
		width:16px;
	}

	/* ===== ページネーション付きリスト形式 ===== */

	.c_article_list_section {

	}

	.c_article_list_section .article_list{
		margin-top: 40px;
	}


	.c_article_list_section .article_block{
		display: block;
		
		padding-top: 32px;
		padding-bottom: 32px;
		padding-right: 56px;
	}

	.c_article_list_section .article_flex{
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap:32px;
		max-width: 1020px;
	}

	.c_article_list_section .article_thumb{
		width:220px;
	}


	.c_article_list_section .article_text_area{
		width:100%;
	}

	.c_article_list_section .article_head_flex{
		display: flex;
		align-items: flex-start;
		gap:16px;
	}

	.c_article_list_section .article_date{
		min-width: 95px;
	}

	.c_article_list_section .article_title{
		margin-top: 16px;
		font-size: 20px;
	}

	.c_article_list_section .article_excerpt{
		margin-top: 16px;
	}


	/*
	------------------------------------
	記事詳細関係
	------------------------------------
	*/

	.c_single_block{
		line-height: 2;
		letter-spacing: 0.05em;
	}

	.c_single_block p{
		margin:24px 0;
	}

	.c_single_block h2{
		font-size: var(--c_sub_font_size);
		font-weight: 700;
		margin:32px 0;
		line-height: 1.5;
	}

	.c_single_block h3{
		font-size: 20px;
		font-weight: 700;
		margin:24px 0;
		line-height: 1.5;
	}

	.c_single_block .wp-block-image {
		margin:24px 0;
	}



	/* ===== 記事詳細パターン1 ===== */
	.single01_section{
		padding-top: 160px;
	}

	.single01_section .article_frame{
		max-width: 750px;
		margin-inline: auto;
	}

	.single01_section .article_date{
		margin-top: 16px;
	}

	.single01_section .article_title{
		margin-top: 16px;
		font-size: 20px;
		font-weight: 700;
	}

	.single01_section .single_frame{
		margin-top: 120px;
	}

	/*
	------------------------------------
	お問い合わせ 関係 コンポーネント
	------------------------------------
	*/

	/* ===== お問い合わせページの説明テキスト ===== */
	.c_contact_text_section{

	}

	.c_contact_text_section .contact_text{
		margin-top: 16px;
		line-height: 2;
	}

	.c_contact_text_section .contact_remark{
		margin-top: 8px;
		font-size: 12px;
		line-height: 2;
	}


	/* ===== お問い合わせフォーム ===== */
	.c_contact_form_section{

	}

	.c_contact_form_section .contact_frame{
		padding-top: 120px;
		padding-bottom: 120px;
	}

	.c_contact_form_section .form_line{
		padding:12px 40px;
		display: flex;
		align-items: flex-start;
	}

	.c_contact_form_section .form_line + .form_line{
		margin-top: 16px;
	}

	.c_contact_form_section .form_label{
		width:200px;
		padding-right: 8px;
		min-height: 40px;
		gap:8px;
	}


	.c_contact_form_section .form_right{
		width:100%;
	}

	.c_contact_form_section .text_input{
		height:40px;
		padding-inline: 12px;
	}

	.c_contact_form_section .wpcf7-radio{
		display: flex;
		align-items: flex-start;
		gap:16px 24px;
		padding-top: 6px;
	}


	.c_contact_form_section .wpcf7-radio label{
	
		min-height: 28px;
		padding:4px 16px;
	}

	.c_contact_form_section textarea{
		height:256px;
		border:none;
		background: none;
		padding: 8px 12px;
		font-size: 15px;
	}

	.c_contact_form_section .privacy_box{
		height:250px;
		padding:12px 0;
		font-size: 14px;
	}

	.c_contact_form_section .agree_area{
		margin-top: 16px;
	}

	.c_contact_form_section .agree_area label{
		gap:24px;
	}

	.c_contact_form_section .agree_area label::before{
		width:32px;
		height:32px;
	}

	.c_contact_form_section .agree_area label::after{
		width: 22px;
		height: 13px;
		top: 10px;
		left: 6px;
	}

	.c_contact_form_section .recaptcha_text {
		font-size: 13px;
		margin-top: 24px;
	}

	.c_contact_form_section .submit_area {
		margin-top: 40px;
	}


	.c_contact_form_section .submit_frame::after{
		width:7px;
		height:13px;
		right:32px;
		top:19px;
	}

	.c_contact_form_section .submit{
		width: 236px;
		height: 51px;
		font-size: 16px;
	}


	/*
	------------------------------------
	ページ下部 バナー関係
	------------------------------------
	*/

	/* ===== パターン1 ===== */
	.c_banner01_section{
		
	}
	.c_banner01_section:has(.banner_list){
		margin-top: var(--c_sec_space);
	}


	.c_banner01_section .banner_item + .banner_item{
		margin-top: 40px;
	}

	.c_banner01_section .banner_card{
		display: flex;
	}

	.c_banner01_section .banner_img{
		flex-shrink: 0;
		width:calc(446 / 1080 * 100%);
	}


	.c_banner01_section .banner_contents_frame{
		width: 100%;
		display: flex;
		align-items: center;
		padding:24px 40px;
	}

	.c_banner01_section .banner_contents{
		width: 100%;
	}

	.c_banner01_section .banner_head{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap:8px;
	}

	.c_banner01_section .banner_head_min{
		font-size: 14px;
		font-weight: 500;
		line-height: 1.3;
		letter-spacing: 1em;
	}
	.c_banner01_section .banner_head_big{
		font-size: 24px;
		line-height: 1.3;
	}

	.c_banner01_section .banner_text{
		margin-top: 8px;
		line-height: 1.5;
	}

	.c_banner01_section .banner_button_list{
		margin-top: 24px;
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap:16px 24px;
	}


}/*@media screen and (max-width:1240px){*/