@charset "utf-8";



/*------------------------------------------------------------------------
◆設定リスト
--------------------------------------------------------------------------
共通
ヘッダー
コンテナ
ラッパー
グローバルナビ
	ドロップダウン
	トグル（モバイル）
パンくず
	yoast プラグイン
キービジュアル
カラム
	2カラム
	3カラム
	2/3カラム
	4カラム
	5カラム
	2/5カラム
	3/5カラム
コンテンツ
	ホーム
	固定ページ　共通レイアウト
	固定ページ（親ページ）共通レイアウト
	ホームテンプレート
	LPテンプレート
	１カラムテンプレート
	投稿ページ　共通レイアウト
	共通モジュール
コンテンツ下部
コンテンツ下部メニュー
サブメニュー
サブコンテンツ
テーブル
カテゴリー
アーカイブ
タグ
ページ上部
フッター
ボトム固定
サイトマップ
検索フォーム
検索
メールフォーム
	contact form 7 プラグイン
◆WPプラグイン 関連記事（Yet Another Related Posts Pluginプラグイン）
◆WPプラグイン WordPress Popular Posts
◆WPプラグイン Recent Post Extended
◆ウィジェット　最近の投稿
検索フォーム
検索結果
404
WordPressデフォルト
メディア画像
記事更新用
ユーティリティ
------------------------------------------------------------------------*/



/*------------------------------------------------------------------------
◆共通
------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {
	input,select,textarea{
		font-size: 16px !important;
	}
}

/*------------------------------------------------------------------------
◆ヘッダー
------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	#header_wrap{
		width: 100%;
		padding: 0 4%;
		box-sizing: border-box;
	}

	#hnav_sub_container{
		display: none;
	}

	#header_right{
		display: none;
		right: 0;
		margin: 0;
	}

	#header_right.nav{
		display: block;
	}

	#header_right .tel{
		display: none;
	}

	#header_right .contact {
	    margin: 2px 0;
		display: none;
	}

	#header_right .contact a {
	    width: 40px;
	    min-width: 24px;
	    height: 16px;
	    padding: 2px;
	    padding-top: 30px;
	    overflow: hidden;
	}

	#header_right .contact a.icon-mail-alt:before {
	    top: -26px;
	    position: relative;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	#header_wrap h1 img{
		max-width: 208px;
	}

	#header_wrap .desc {
		display: none;
	}

	#hnav_sub_container{
		display: none;
	}
}

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

	#header_wrap{
		width: 100%;
		padding: 0 4%;
		box-sizing: border-box;
	}

	#header_wrap h1{
		margin: 16px 0;
		font-size: 120%;
	}

	#header_wrap h1 img{
		max-width: 208px;
	}

	#header_wrap .desc {
	    font-size: 68%;
	    line-height: 1.4;
		display: none;
	}

	#hnav_sub_container{
		display: none;
	}

	#header_right{
		display: none;
		right: -4%;
		bottom: auto;
		margin: 0;
	}

	#header_right.nav{
		display: block;
	}

	#header_right .tel{
		display: none;
	}

	#header_right .contact {
	    margin: 3px 0;
		display: none;
	}

	#header_right .contact a {
	    width: 40px;
	    min-width: 24px;
	    height: 16px;
	    padding: 2px;
	    padding-top: 30px;
	    overflow: hidden;
	}

	#header_right .contact a.icon-mail-alt:before {
	    top: -26px;
	    position: relative;
	}

}


/*------------------------------------------------------------------------
◆コンテナ
------------------------------------------------------------------------*/
@media screen and (min-width: 1023px) and (max-width: 1296px){

	#header_container,
	#nav_container,
	#contents_container,
	#footer_container > *{
	}

}


@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	#nav_container{
		height: auto;
		border-bottom: none;
	}

	#nav_container.flow{
		position: absolute;
	}

	#nav_container.flow + *{
		margin-top: 54px;
	}

	#footer_container.bottom_fix_on #footer_container_bottom{
		padding-bottom: 48px;
	}
}

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

	#nav_container{
		height: auto;
		border-bottom: none;
	}

	#footer_container.bottom_fix_on #footer_container_bottom{
		padding-bottom: 48px;
	}
}

/*------------------------------------------------------------------------
◆ラッパー
------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) and (max-width: 1296px){


}


@media screen and (min-width: 881.28px) and (max-width: 1023px){

	#contents_wrap{
		max-width: 816px;
		margin: 0 auto;
		padding-left: 4%;
		padding-right: 4%;
	}

}

@media screen and (min-width: 521px) and (max-width: 881.27px){

	#main_wrap > *{
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

	#sub_wrap > *{
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

}


@media screen and (min-width: 521px) and (max-width: 1023px){

	#contents_wrap{
		width: 100%;
		padding: 24px 0;
		box-sizing: border-box;
	}

	#contents_wrap > *{
		padding-left: 4%;
		padding-right: 4%;
	}

	#main_wrap{
	    float: none;
		width: 100%;
		padding: 0;
	}

	#main_wrap > section > *{
		padding: 0 4%;
	}

	#main_wrap h1{
		font-size: 148%;
	}

	#main_wrap h2 {
	    font-size: 120%;
	}

	#main_wrap h3 {
	    font-size: 112%;
	}

	#sub_wrap {
	    float: none;
		width: 100%;
		margin-top: 0;
		padding: 0;
	}
}

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

	#contents_wrap{
		width: 100%;
		padding: 24px 0;
		box-sizing: border-box;
	}

	#contents_wrap > *{
		padding-left: 4%;
		padding-right: 4%;
	}

	#main_wrap{
	    float: none;
		width: 100%;
		padding: 0;
	}

	#main_wrap{
		font-size: 92%;
	}

	#main_wrap h1{
		font-size: 136%;
	}

	#main_wrap h2 {
	    font-size: 120%;
	}

	#main_wrap h3 {
	    font-size: 116%;
	}

	#main_wrap > *{
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

	#sub_wrap {
	    float: none;
		width: 100%;
		margin-top: 0;
		padding: 0;
	}

	#sub_wrap > *{
		width: 100%;
		margin: 0 auto;
		max-width: 100%;
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

}


/*------------------------------------------------------------------------
◆グローバルナビ
------------------------------------------------------------------------*/





/* ドロップダウン
------------------------------------------------------------------------*/
@media screen and (min-width: 1025px) {
	#gnav > li > ul.sub-menu{
		position: absolute;
		z-index: 999999;
	}
}


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

	#gnav li:hover ul.sub-menu{
		display: none;
	}

	#gnav ul.sub-menu{
		display: block;
		position: relative;
		left: auto;
		z-index: 0;
		width:100%;
	}

	#gnav > li > ul.sub-menu{
		opacity: 1;
		position: relative;
		width:100%;
	}

	/* 英語併記*/
	#nav_wrap ul li a span{
		display: none;
	}

	#nav_wrap ul#gnav{
		border-top: 1px solid #d3d3d3;
		border-left: none;
	}

	#nav_wrap ul#gnav > li.current-menu-item > a:after,
	#nav_wrap ul#gnav > li.current-menu-ancestor > a:after,
	#nav_wrap ul#gnav > li.current-post-ancestor > a:after,
	#nav_wrap ul#gnav > li.current-page-ancestor > a:after,
	#nav_wrap ul#gnav > li.current-page-ancestor > a:after{
/*
		display: none;
		content: "";
		border-bottom: none;
		position: relative;
		top: 8px;
*/
	}

	#header_right #hnav_sub_container{
		display: none;
	}
}

/* トグル（モバイル）
-----------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){

	/* 開閉ボタン(タブレット時のヘッダー高さ) */
	#gnav-switch{
		height: 80px !important;
		padding-top: 29px !important;
		width: 80px !important;
	}

	#nav_wrap{
	}
}

@media screen and (min-width: 521px) and (max-width: 650px){

	/* 開閉ボタン(タブレット時のヘッダー高さ) */
	#gnav-switch{
		height: 75px !important;
		padding-top: 26px !important;
		width: 75px !important;
	}

	#nav_wrap{
	}
}

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

	/* 開閉ボタン */
	#gnav-switch{
		display: block;
		float: right;
		height: 62px;
		width: 70px;
		padding-top: 20px;
		text-align: center;
		line-height: 60%;
		cursor: pointer;
		font-size: 120%;
		box-sizing: border-box;
	}

	#gnav-switch span.text{
		display: block;
	    font-size: 8px;
	    margin-top: 2px;
	}

	#gnav-switch span.text.close{
		display: none;
	}

	#gnav-switch.text.on span.text.menu{
		display: none;
	}

	#gnav-switch.text.on span.text.close{
		display: block;
	}

	/* アイコン */
	.menu-icon,
	.menu-icon span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		position: relative;
		z-index: 1;
	}
	.menu-icon {
		position: relative;
		width: 24px;
		height: 22px;
	}
	.menu-icon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #000;
	}

	.menu-icon span:nth-of-type(1) {
		top: 0;
	}
	.menu-icon span:nth-of-type(2) {
		top: 8px;
	}
	.menu-icon span:nth-of-type(3) {
		bottom: 4px;
	}

	/* アイコン押下時 */
	.on .menu-icon span {
		/*background-color: #fff;*/
	}

	/* アイコン×ボタンに変更 */
	.on .menu-icon span:nth-of-type(1) {
		-webkit-transform: translateY(20px) rotate(-45deg);
		transform: translateY(20px) rotate(-45deg);
		top: -10px;
	}
	.on .menu-icon span:nth-of-type(2) {
		opacity: 0;
		top: 0;
	}
	.on .menu-icon span:nth-of-type(3) {
		-webkit-transform: translateY(-20px) rotate(45deg);
		transform: translateY(-20px) rotate(45deg);
		bottom: -10px;
	}



	/* 開閉ボタン　押下時 */
	#gnav-switch.on{
		/*background: #999 !important;*/
		color: #000;
	}

	#gnav-switch .toggle-label:after{
		content: "";
		display: block;
		clear: both;
	}


	#nav_wrap{
		position: relative;
		height: auto;
		z-index: 99999;
		margin: 0px auto;
		overflow: hidden;
		margin-bottom: 0px;
		width: 100%;
		-webkit-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-moz-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-ms-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-o-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
	}

	/* たたむ型 */
	nav#nav_container.bundle{
		position: absolute;
		width: 100%;
	}

	nav#nav_container.bundle + *{
		margin-top: 53px;
	}

	.bundle #nav_wrap{
		display: none;
	}

	.bundle #nav_wrap ul li a,
	.burger #nav_wrap ul li a{
		display: block;
	}

	.bundle #menu_bt{
		display: block;
	}

	/* フロー型 */
	nav#nav_container.flow #menu_bt{
		display: none;
	}

	nav#nav_container.flow #nav_wrap {
		overflow-x: scroll;
	}

	#nav_wrap ul#gnav {
	    table-layout: auto;
	}

	nav#nav_container.flow #nav_wrap ul li{
		display: table-cell !important;
	}

	nav#nav_container.flow #nav_wrap ul li a{
		display: block;
		width: auto;
		border-bottom: none;
		padding: 12px 16px;
	}

	nav#nav_container.flow #nav_wrap ul li #gnav > li > ul.sub-menu{
		display: none !important;
	}
/*
	html{
	}

	body{
		left: 0%;
		position: relative;
		-webkit-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-moz-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-ms-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-o-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
	}

	body.nav_active{
		left: -256px;
		position: relative;
		-webkit-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-moz-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-ms-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		-o-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
		transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
	}
*/

	#nav_wrap ul li{
		display: block !important;
		float: none;
		position: relative;
		width: 100%;
	}

	#nav_wrap ul li a{
		display: none;
		height: auto;
		width: 100%;
		padding: 12px 4%;
		border-bottom: 1px solid #ccc;
		border-right: none;
		border-left: none;
		font-size: 90%;
		font-weight: bold;
		line-height: 200%;
		text-align: left;
		text-decoration: none;
		text-shadow: none;
		-webkit-tap-highlight-color: #333;
	}

	/* バーガー型 */
	.burger #nav_wrap{
	    position: absolute;
	    width: 100%;
	    left: 0;
	    top: 90px;
		display: none;
	}

	#nav_container.burger #nav_wrap{
    	top: auto;
	}

	body.nav_active #header_container,
	body.nav_active #header_wrap,
	body.nav_active #header_right.nav{
		position: static;
	}

	.burger #nav_wrap ul li a{
		display: block;
	}

	#nav_wrap ul li a:hover{
		background: #fff;
		color: #333;
	}

	#nav_wrap ul li:first-child a {
		border-left: none;
	}

	#nav_wrap ul li a.tap{
		color: #FFFFFF !important;
		border: 1px solid #0763A4;
	}

	#nav_wrap ul li a.tap:after{
		border-top: 3px solid #FFFFFF;
		border-right: 3px solid #FFFFFF;
	}

	/* 現在の場所 */
	#nav_wrap ul li.current-menu-item > a,
	#nav_wrap ul li.current-menu-ancestor > a,
	#nav_wrap ul li.current-post-ancestor > a,
	#nav_wrap ul li.current-page-ancestor > a{
		color: #333;
	}

	#nav_wrap ul li.current-menu-item > a:after,
	#nav_wrap ul li.current-menu-ancestor > a:after,
	#nav_wrap ul li.current-post-ancestor > a:after,
	#nav_wrap ul li.current-page-ancestor > a:after,
	#nav_wrap ul li.current-page-ancestor > a:after{
		display: none;
	}

	/* 親ページ 閉じている時 */
	#gnav > li a.toggleclose{
		color: #ffffff !important;
	}

	/* 親ページ 閉じている時のアイコン状態 */
	#gnav > li.menu-parent-item > a.toggleclose:after,
	#gnav > li.menu-parent-item > a:after{
		font-family: "fontello";
	    content: '\f107';
	    color: #333;
	    display: block !important;
	    /* width: 13px !important; */
	    /* height: 2px !important; */
	    /* border-top: none !important; */
	    /* border-right: none; */
	    /* background: #333; */
	    position: absolute !important;
	    top: 0.8em !important;
	    right: 4% !important;
	}

	/* 親ページ 開けている時 */
	#gnav > li a.toggleopen{
		border-bottom: 1px solid #000000 !important;
		background: #000000 !important;
		color: #FFFFFF !important;
		text-shadow: none !important;
	}

	/* 親ページ 開けている時のアイコン状態 */
	#gnav > li.menu-parent-item > a.toggleopen:after {
	    -moz-transform: rotate(-180deg);
	    -webkit-transform: rotate(-180deg);
	    -o-transform: rotate(-180deg);
	    -ms-transform: rotate(-180deg);
	    transform: rotate(-180deg);
		color: #FFFFFF;
	}

	/* 親ページ 閉じている時のタップ時の状態　初回 */
	#gnav > li.menu-parent-item > a.tap{
		border: 1px solid #000000;
		background: #000000;
		color: #FFFFFF;
	}

	/* 親ページ 閉じている時のタップ時　2回目以降 */
	#gnav > li.menu-parent-item > a.toggleclose:active{
		border: 1px solid #000000 !important;
		background: #000000 !important;
		color:#FFFFFF !important;
	}

	/* 親ページ 閉じている時のアイコン状態　タップ時　初回 */
	#gnav > li.menu-parent-item > a.tap:after{
		border-top: none;
		border-right: none;
		background: #FFFFFF;
	}

	/* 親ページ 閉じている時のアイコン状態　タップ時　2回目以降 */
	#gnav > li.menu-parent-item > a.toggleclose.tap:after{
		background: #FFFFFF !important;
	}

	/* 子ページ */
	#gnav ul.sub-menu{
		-moz-box-shadow:none !important;
		-webkit-box-shadow:none !important;
		box-shadow:none !important;
	}

	#gnav ul.sub-menu li a{
		background: #fff;
		color: #333;
		width: 100%;
		font-size: 88%;
		padding: 16px 4%;
		border-top: none;
	    border-bottom: 1px solid #ccc;
		opacity: 1;
	}

	#gnav ul.sub-menu li a:before{
		content: "-";
		margin-right: 8px;
	}

	#gnav ul.sub-menu li a:hover{
	}

	#gnav ul.sub-menu li:first-child a {
	}

	#gnav ul.sub-menu li a.tap {
		color: #FFFFFF !important;
		border-top: 1px solid #0763A4;
		border-bottom: 1px solid #0763A4;
	}

	#gnav > li > ul.sub-menu li.current-menu-item > a, 
	#gnav > li > ul.sub-menu li.current-menu-ancestor > a, 
	#gnav > li > ul.sub-menu li.current-post-ancestor > a, 
	#gnav > li > ul.sub-menu li.current-page-ancestor > a, 
	#gnav > li > ul.sub-menu li a:hover{
		background: #fff;
		color: #333;
	}

	/* 孫ページ 表示非表示 */
	#gnav ul.sub-menu ul.sub-menu{
		display:none !important;
	}

	/* モバイル専用メニュー */
	#nav_wrap ul#rnav,
	#nav_wrap ul#mnav{
		display:block;
		overflow:hidden;
	}

	#nav_wrap ul#rnav li,
	#nav_wrap ul#mnav li{
		display: block;
		float: none;
		width: 100%;
	}

	#nav_wrap ul#rnav li a,
	#nav_wrap ul#mnav li a{
/*
		padding-left: 8%;
		padding-right: 8%;
*/
	}

	#nav_wrap ul#rnav li a:after,
	#nav_wrap ul#mnav li a:after{
		border: none !important;
	}

	#nav_wrap ul#rnav li:nth-child(even) a,
	#nav_wrap ul#mnav li:nth-child(even) a{
		/*border-left: 1px solid #ccc;*/
	}

	#nav_wrap #searchform{
		display: block;
		padding: 16px 4%;
		text-align: center;
		border-top: 1px solid #464646;
	}

	#nav_wrap #searchform input[type="text"] {
	    padding: 0px 16px;
	    box-sizing: border-box;
	    width: 100%;
		height: 26px;
		max-width: 183px;
	}

	#nav_wrap #searchform input[type="image"] {
	    padding: 4px 16px;
	    vertical-align: bottom;
	}

	.disable_filter{
		position: absolute;
		z-index: 9999;
		width: 100%;
		background: #333;
		opacity: 0.9;
	}

	#menu_bt > a{
		height: auto;
		width: 100%;
		padding: 12px 4%;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		border-right: none;
		border-left: none;
		font-size: 90%;
		font-weight: bold;
		line-height: 200%;
		text-align: left;
		text-decoration: none;
		text-shadow: none;
		-webkit-tap-highlight-color: #333;

		display: block;
		text-align: center;
		background: #fff;
		color: #333;
	}

	#menu_bt.active > a{
		background: #000;
		color: #fff;
	}

	#menu_bt > a.icon-menu:before{
		padding-right: 4px;
	}

	#menu_bt.active a.icon-menu:before{
		content: '\e80d';
		color: #fff;
	}
}



/*------------------------------------------------------------------------
◆パンくず
------------------------------------------------------------------------*/


/* yoast プラグイン
------------------------------------------------------------------------*/
@media screen and (min-width: 991px) and (max-width: 1024px){/* グローバルメニュー表示 */
	.breadcrumbs{
		width: 100%;
	}
}

@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */
	.breadcrumbs{
		width: 100%;
	}
}

@media screen and (max-width: 520px) {
	.breadcrumbs{
		width: 100%;
	}
}


/*------------------------------------------------------------------------
◆キービジュアル
------------------------------------------------------------------------*/
@media screen and (min-width: 1024px)  and (max-width: 1200px) {

	.home .keyvisual_wrap.image{
		width: 100%;
	}
}

@media screen and (min-width: 961px)  and (max-width: 1023px) {

	.home .keyvisual_wrap{
		width: 100%;
	    box-sizing: border-box;
	}

	.home .keyvisual_wrap.slider_back{
	    padding-left: 0;
	    padding-right: 0;
	}

	.home .keyvisual_wrap.text{
		display: table;
	}

	.home #keyvisual_container .pc{
		display: block;
	}

	.home #keyvisual_container .tb{
		display: none;
	}

	.home #keyvisual_container .sp{
		display: none;
	}

}

@media screen and (min-width: 521px)  and (max-width: 960px) {

	.home #keyvisual_container .pc{
		display: none;
	}

	.home #keyvisual_container .tb{
		display: block;
	}

	.home #keyvisual_container .sp{
		display: none;
	}

	.home .keyvisual_wrap{
		width: 100%;
	    box-sizing: border-box;
	}

	#keyvisual_container .tb .keyvisual_wrap.text{
		display: table;
	    padding: 40px 4%;
	    box-sizing: border-box;
	}

	#keyvisual_container .tb .keyvisual_wrap.text.va{
		display: table-cell;
	}

	#keyvisual_container .tb .keyvisual_wrap.text .button a{
	    box-sizing: border-box;
	}

	#keyvisual_container .tb .keyvisual_wrap img{
		width: 100%;
	}

	#mainimage_text {
		width: 100%;
	}
}

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

	.home #keyvisual_container .pc{
		display: none;
	}

	.home #keyvisual_container .tb{
		display: none;
	}

	.home #keyvisual_container .sp{
		display: block;
	}

	.home .keyvisual_wrap{
		width: 100%;
	    box-sizing: border-box;
	}

	.keyvisual_wrap{
		display: block;
		text-align: center;
		line-height: 0;
		position: relative;
		width: 100%;
		margin: 0 auto;
	}

	.home .keyvisual_wrap.text{
		display: none;
	    padding-right: 4%;
	    padding-left: 4%;
	}

	.home #keyvisual_container .sp .keyvisual_wrap.text{
		display: table;
	    padding: 40px 4%;
	    box-sizing: border-box;
	}

	.home #keyvisual_container .sp .keyvisual_wrap.text .va{
		display: table-cell;
	}

	.home #keyvisual_container .sp .keyvisual_wrap.text .button a{
	    box-sizing: border-box;
	}

	#keyvisual_container .sp .keyvisual_wrap img{
		width: 100%;
	}

	#mainimage_text {
		width: 100%;
	}


}


/*--------------------------------------------------------------------------
◆カラム
--------------------------------------------------------------------------*/
@media screen and (min-width: 951px) and (max-width: 960px){/* グローバルメニュー表示 */

	.column_wrap{
		width:100%;
	}
}

@media screen and (min-width: 521px) and (max-width: 950px){/* 可変＋サイドメニュー */

	.column_wrap{
		width:100%;
	}
}

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

	.column_wrap{
		width:100%;
		margin: 0;
	}

	.column_wrap .box{
		padding:0.7em 0.7em 0.7em 0.7em;
	}
}

/* 2カラム
----------------------------------------------------------------*/
@media screen and (max-width: 520px) {

	.column2{
		width:100%;
	}

	.column2.box{
		width:100%;
		margin-bottom:1em;
	}

	.column2.column_left,
	.column2.column_right{
		float:none;
	}

	.column2 img{
		width: 49% !important;
		float: left;
		margin-right: 2%;
	}

	.column2.column_right img{
		margin-right: 0;
	}
}

/* 3カラム
----------------------------------------------------------------*/
@media screen and (max-width: 960px) {

	.column3.box{
		width: 32.666%;
	}

	.column3.column_center.box{
		margin: 0 1%;
	}
}

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

	.column3{
		width: 100%;
	}

	.column3.box{
		width: 100%;
	}

	.column3 img{
		width: 32% !important;
		float: left;
		margin-right: 2%;
	}

	.column3 img + p{
		padding-left: 3%;
		overflow: hidden;
	}

	.column3.column_right img{
		margin-right: 0%;
	}

	.column3 h3{
		clear: none;
	}

	.column3.box p{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.column3.column_left{
		float: none;
	}

	.column3.column_center{
		float: none;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.column3.column_right{
		float: none;
		margin-right: 5%;
	}

}

/* 2/3カラム
----------------------------------------------------------------*/
@media screen and (max-width: 520px) {
	.column3_2.column_left,
	.column3_2.column_right{
		float:none;
		width:100%;
	}
}

/* 4カラム
----------------------------------------------------------------*/
@media screen and (max-width: 520px) {
	.column4 *{
	}

	.column4 img{
		width:100% !important;
		margin-right: 1em;
	}

	.column4 h3{
		/*overflow: hidden;*/
		clear: none;
	}

	.column4.box p{
		overflow:hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.column4.column_left{
		float:left;
		width:25%;
	}

	.column4.column_center_left{
		float:left;
		width:25%;
		margin-left:0 !important;
		margin-right:0 !important;
	}

	.column4.column_center_right{
		clear:none;
		float:left;
		width:25%;
		margin-left:0 !important;
		margin-right:0 !important;
	}

	.column4.column_right{
		float:left;
		width:25%;
	}
}

/* 3/4カラム
----------------------------------------------------------------*/
@media screen and (max-width: 520px) {
	.column4_3 *{
		float:left;
		width:73%;
	}
}

/* 5カラム
----------------------------------------------------------------*/
@media screen and (max-width: 520px) {

	.column5{
		width:100%;
	}

	.column5 img{
		width:33% !important;
		float:left;
		margin-right: 1em;
	}

	.column5.column_center_left{
		float:left;
		margin:0;
	}

	.column5.column_center{
		float:left;
		margin:0;
	}

	.column5.column_center_right{
		float:left;
		margin:0;
	}
}

/* 2/5カラム
----------------------------------------------------------------*/
@media screen and (max-width: 520px) {
	.column5_2 *{
		float:left;
		width:48%;
	}
}

/* 3/5カラム
----------------------------------------------------------------*/
@media screen and (max-width: 520px) {
	.column5_3 *{
		float:left;
		width:48%;
	}
}



/*--------------------------------------------------------------------------
◆コンテンツ
--------------------------------------------------------------------------*/


/* ホーム
------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) and (max-width: 1296px){

	.home #contents_container.sidebar_off #contents_wrap{
	    padding: 0;
	}

	.home #contents_container.sidebar_off #contents_wrap section > *{
	    padding-right: 4%;
	    padding-left: 4%;
    	max-width: 100%;
	}

}


@media screen and (min-width: 521px) and (max-width: 1023px){

	.home #contents_wrap{
		width: 100%;
	}

	.home #main_wrap > *{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.home #main_wrap section{
		padding: 56px 0;
	}

	.home #main_wrap > section > *{
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

	.home #contents_container.sidebar_off #main_wrap > :not(section){
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

	.home #contents_wrap h2 {
	    font-size: 160%;
	    margin: 0 auto 0;
	}

	.home #contents_wrap .pr_wrap > li.column3 {
	    padding: 0 2%;
	}

	.home #contents_wrap .pr_wrap a > h3:first-child {
	    font-size: 112%;
	}

	.home #contents_wrap .column_wrap.contact{
		width: 100%;
	}



	.home #contents_container.sidebar_on #contents_wrap {
	    margin-top: 32px;
	    padding-bottom: 24px;
	}

	.home #contents_container.sidebar_on #contents_wrap > *:first-child{
		padding-top: 0;
	}

	.home #contents_container.sidebar_on #main_wrap{
		float: none;
		width: 100%;
		margin-top: 32px;
		padding-right: 4%;
		padding-left: 4%;
	}

	.home #contents_container.sidebar_on #main_wrap section:last-child{
		padding: 0 0 0;
	}

	.home #contents_container.sidebar_on #main_wrap h2{
		margin: 32px auto 0.81em;
	}

	.home #contents_container.sidebar_on #main_wrap h2:first-child{
		margin-top: 32px;
	}

	.home #contents_container.sidebar_on #main_wrap h2#news_h {
		padding-left: 0 !important;
	    padding-right: 0 !important;
	}

	.home #contents_container.sidebar_on #main_wrap ul#news{
		margin-bottom: 0;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.home #contents_container.sidebar_on #sub_wrap{
		margin: 0 auto 32px;
	    padding-right: 4%;
	    padding-left: 4%;
	}



}


@media screen and (min-width: 521px) and (max-width: 960px){

	.home #main_wrap .blog {
	    gap: 24px;
	}

	.home #main_wrap .blog > li {
	    width: calc(50% - 12px);
	}

}


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

	.home #contents_wrap{
		width: 100%;
		padding: 0;
	}

	.home #main_wrap > *{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.home #main_wrap > section > *{
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

	.home #contents_container.sidebar_off #main_wrap > :not(section){
		padding-left: 4% !important;
		padding-right: 4% !important;
	}

	.home #main_wrap section{
		padding: 32px 0;
	}

	.home #contents_wrap h2{
		font-size: 128%;
		margin: 0 auto;
		padding-bottom: 16px;
	}

	.home #contents_wrap h2 span{
		font-size: 12px;
	}

	.home #contents_wrap .news{
		padding-top: 0;
		padding-bottom: 0;
	}

	.home #contents_wrap .news li a{
	    display: block;
	    border-bottom: 1px solid #ccc;
		padding: 12px 0;
	}

	.home #contents_wrap .news li a .title {
	    display: block;
	    line-height: 1.6;
		float: none;
		width: 100%;
	}

	.home #contents_wrap .news li a .time{
		display: block;
		float: none;
		margin-right: 0;
		width: 100%;
	}

	.home #main_wrap > p,
	.home #main_wrap > ul,
	.home #main_wrap > ol,
	.home #main_wrap > dl,
	.home #main_wrap > table{
		padding-top: 0;
		padding-bottom: 0;
	}




	.home #contents_container.sidebar_on #contents_wrap {
	    margin-top: 24px;
		padding-bottom: 24px;
	}

	.home #contents_container.sidebar_on #contents_wrap > *:first-child{
		padding-top: 0;
	}

	.home #contents_container.sidebar_on #main_wrap{
		float: none;
		width: 100%;
		margin-top: 24px;
		padding-top: 0;
		padding-bottom: 0;
		padding-right: 4%;
		padding-left: 4%;
	}

	.home #contents_container.sidebar_on #main_wrap h2{
		font-size: 128%;
		margin: 24px auto 0.81em;
	}

	.home #contents_container.sidebar_on #main_wrap h2:first-child{
		margin-top: 24px;
	}

	.home #contents_container.sidebar_on #main_wrap section:last-child{
		padding: 0 0 0;
	}

	.home #contents_container.sidebar_on #main_wrap h2#news_h {
	    padding: 16px 0 8px;
		font-size: 128%;
		padding-left: 0 !important;
	    padding-right: 0 !important;
	}

	.home #contents_container.sidebar_on #main_wrap ul#news{
		margin-bottom: 0;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	.home #contents_container.sidebar_on #sub_wrap{
		margin: 0px auto 32px;
	}



	/* pr_wrap */
	.home #contents_wrap .pr_wrap > li{
		border-right: none;
		margin-top: 32px !important;
		height: auto !important;
	}

	.home #contents_wrap .pr_wrap > li:first-child {
	    border-left: none;
		margin-top: 0 !important;
	}

	.home #contents_wrap .pr_wrap a > h3:first-child{
		font-size: 112%;
	    padding: 0 0 4px;
	    margin-bottom: 12px !important;
		height: auto !important;
	}

	.home #contents_wrap .pr_wrap .column3 ,
	.home #contents_wrap .pr_wrap .column4 {
	    width: 100%;
	    padding: 0;
	}

	.home #contents_wrap .pr_wrap .column3 img ,
	.home #contents_wrap .pr_wrap .column4 img {
	    width: 100% !important;
		float: none;
	    margin-right: 0;
	}

	.home #contents_wrap .pr_wrap .column3 img + div,
	.home #contents_wrap .pr_wrap .column4 img + div{
	    padding-left: 0;
	}



	/* widget版PR */
	.home #contents_wrap .pr_wrap.widget .column3:nth-child(3n+1) {
	    border-left: none;
	}

	.home #contents_wrap .pr_wrap.widget .column4:nth-child(4n+1) {
	    border-left: none;
	}



	.home #contents_wrap .pr_wrap .desc {
	    margin-bottom: 12px !important;
	    height: auto !important;
	}




	/* blog */
	.home #main_wrap .blog{
    	gap: 0;
	}

	.home #main_wrap .blog > li{
	    width: 100%;
	}

	.home #main_wrap .blog li a {
		display: flex;
	    width: 100%;
    	padding: 0;
	    border: 1px solid #ccc;
	    border-top: none;
	}

	.home #main_wrap .blog li:first-child a {
	    border-top: 1px solid #ccc;
	}

	.home #main_wrap .blog li a .thumb {
	    width: 30%;
	}

	.home #main_wrap .blog li a .thumb img {
	    height: 100%;
	    object-fit: cover;
	}

	.home #main_wrap .blog li a .wrap {
	    width: 70%;
    	padding: 16px;
	}

	.home #main_wrap .blog li a .title{
	    margin: 0;
	    padding: 0;
		font-size: 88%;
	    overflow: hidden;
	}

	.home #main_wrap .blog li a .time {
		margin-top: 0;
	    padding: 0;
	    font-size: 72%;
	    overflow: hidden;
	}

	.home #main_wrap .blog li a .excerpt {
    	display: none;
	}



	.home #main_wrap .column_wrap.contact{
		width: 100%;
	}

	.home #main_wrap .column_wrap.contact .column_left > p {
		text-align: center;
	}

	.home #main_wrap .column_wrap.contact .column_right > p {
		text-align: center;
	}

	.home #main_wrap .tel:before{
		margin-left: 0;
	}

}


/* 固定ページ　共通レイアウト
------------------------------------------------------------------------*/


/* 固定ページ（親ページ）共通レイアウト
------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	.page-parent article ul.box a{
		margin-top: 16px;
	}

	.page-parent #main_wrap ul.box a .imgleft{
		max-width: 112px;
	}
}

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

	.page-parent article ul.box a{
		margin-top: 0px;
	}

	.page-parent #main_wrap ul.box a{
		border-top: none;
		border-collapse: collapse;
		position: relative;
		width: 100%;
		box-sizing: border-box;
	}

	.page-parent #main_wrap ul.box li:first-child a{
		border-top: 1px solid #DCDCDC;
	}

	.page-parent article ul.box li:nth-child(even) a{
		margin-left: 0px;
	}

	.page-parent #main_wrap ul.box a .imgleft{
		max-width: 88px;
	}

	.page-parent #main_wrap ul.box a .info_wrap{
		margin-right: 0;
		margin-left: 4%;
		height: auto;
		width: 56%;
		word-break: break-word;
	}

	.page-parent #main_wrap ul.box a .imgleft + .info_wrap{
		margin-left: 4%;
	}

	.page-parent #main_wrap a h2{
		display: block;
		background: none !important;
		padding: 0.5em 10% 0.5em 5% !important;
		margin-bottom: 0 !important;
		width: 100%;
	}

	.page-parent #main_wrap ul.box a:after{
		content: "";
		width: 7px;
		height: 7px;
		border-top: 2px solid #333333;
		border-right: 2px solid #333333;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		right: 15px;
		top: 50%;
		margin-top: -4px;
	}

	.page-parent #main_wrap ul.box a p{
		padding-right: 5%;
	}
}

@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	.page-parent #main_wrap ul.box a .info_wrap h1{
		font-size: 100% !important;
	}
}

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

	.page-parent #main_wrap ul.box a h1{
		font-size: 100% !important;
	}

	.page-parent #main_wrap ul.box a p{
		white-space:nowrap;
		text-overflow: ellipsis;
		overflow:hidden;
	}

	.page-parent #main_wrap a:after{
		top: 50%;
	}
}





/* LPテンプレート
------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) and (max-width: 1089px){/* 横幅1008px固定 */

	.page-template-page-lp #main_wrap > * {
	    padding-left: 4% !important;
	    padding-right: 4% !important;
	}

	.page-template-page-lp #main_wrap section > *{
		max-width: 100%;
		width: 100%;
		padding: 0;
	}

	.page-template-page-lp #main_wrap section.wide{
	    padding-left: 0 !important;
	    padding-right: 0 !important;
	}


}

@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	.page-template-page-lp #main_wrap{
		width: 100%;
		padding: 24px 4%;
	}

	.page-template-page-lp #main_wrap section{
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.page-template-page-lp #main_wrap section > *{
		max-width: 100%;
		width: 100%;
		padding: 0;
	}

	.page-template-page-lp #main_wrap section.wide{
	    padding-left: 0 !important;
	    padding-right: 0 !important;
	}

	.page-template-page-lp #main_wrap h2{
		font-size: 156% !important;
		padding: 12px 0 0;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	.page-template-page-lp #main_wrap section.wide > .column_wrap .column2,
	.page-template-page-lp #main_wrap section.wide > .column_wrap .column3{
		width: 100%;
	}
}

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

	.page-template-page-lp #main_wrap{
		width: 100%;
		padding: 24px 4%;
	}

	.page-template-page-lp #main_wrap section{
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.page-template-page-lp #main_wrap section > *{
		max-width: 100%;
		width: 100%;
	}

	.page-template-page-lp #main_wrap section.wide{
	    padding-left: 0 !important;
	    padding-right: 0 !important;
	}

	.page-template-page-lp #main_wrap section.wide > .column_wrap .column2,
	.page-template-page-lp #main_wrap section.wide > .column_wrap .column3{
		width: 100%;
	}

	.page-template-page-lp #main_wrap > p,
	.page-template-page-lp #main_wrap > ul,
	.page-template-page-lp #main_wrap > ol,
	.page-template-page-lp #main_wrap > dl,
	.page-template-page-lp #main_wrap > table{
		padding: 0;
	}

	.page-template-page-lp #main_wrap hr{
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}

	.page-template-page-lp .check{
		font-size: 108%;
	}

	.page-template-page-lp ul.check li{
		line-height: 1.4;
		margin-top: 0.4em;
	}

	.page-template-page-lp ul.check li:first-child{
		margin-top: 0;
	}

	.page-template-page-lp #main_wrap h2{
	}

	.page-template-page-lp #main_wrap h2:before{
		display: none;
	}

	.page-template-page-lp #main_wrap h3{
		margin: 0 0 8px;
		font-size: 112%;
	}

	.page-template-page-lp #main_wrap .embox{
		font-size: 128%;
		padding: 24px 4%;
	}

	.page-template-page-lp a.button{
		min-width: 100%;
		width: 100%;
		font-size: 104%;
		box-sizing: border-box;
	}

	.page-template-page-lp div.box{
		padding: 24px 4%;
	}

	.page-template-page-lp dl.tablelayout{
		padding: 16px 4% !important;
		margin-left: 0;
		margin-right: 0;
	}

	.page-template-page-lp dl.tablelayout dt{
		float: none;
		width: 100%;
		padding: 1em 0 0;
	}

	.page-template-page-lp dl.tablelayout dt:first-child{
		padding: 0;
	}

	.page-template-page-lp dl.tablelayout dd{
		padding: 0.4em 0 1em;
	}

	.page-template-page-lp dt.question{
		background: #E3F3E3;
		font-weight: bold;
		padding: 8px 4%;
	}

	.page-template-page-lp dd.answer{
		padding: 8px 4%;
	}

	.page-template-page-lp p.voice {
	    background: #fff;
		margin: 0;
    	padding: 0;
	}

	.page-template-page-lp .wlist li:before{
	    margin-right: 8px;
	    position: relative;
	    top: 2px;
	}

	.page-template-page-lp dt.check{
		line-height: 1.6;
		margin-bottom: 8px;
	}

	.page-template-page-lp dt.check:before{
		vertical-align: 0;
		margin-right: 4px;
		position: relative;
		top: 4px;
	}

	.page-template-page-lp dt.question:before{
		margin-right: 8px;
	}

	.page-template-page-lp dd.answer:before{
		margin-right: 8px;
	}

	.page-template-page-lp .voice:before{
	    margin-right: 8px;
	    position: relative;
	    top: 2px;
	}

}





/* LPテンプレート（リンク有り）
------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) and (max-width: 1089px){/* 横幅1008px固定 */

	.page-template-page-lp-link #main_wrap > * {
	    padding-left: 4% !important;
	    padding-right: 4% !important;
	}

	.page-template-page-lp-link #main_wrap section > *{
		max-width: 100%;
		width: 100%;
		padding: 0;
	}

	.page-template-page-lp-link #main_wrap section.wide{
	    padding-left: 0 !important;
	    padding-right: 0 !important;
	}


}

@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	.page-template-page-lp-link #main_wrap{
		width: 100%;
		padding: 24px 4%;
	}

	.page-template-page-lp-link #main_wrap section{
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.page-template-page-lp-link #main_wrap section > *{
		max-width: 100%;
		width: 100%;
		padding: 0;
	}

	.page-template-page-lp-link #main_wrap section.wide{
	    padding-left: 0 !important;
	    padding-right: 0 !important;
	}

	.page-template-page-lp-link #main_wrap h2{
		font-size: 156% !important;
		padding: 12px 0 0;
	}
}

@media screen and (min-width: 521px) and (max-width: 960px){

	.page-template-page-lp-link #main_wrap section.wide > .column_wrap .column2,
	.page-template-page-lp-link #main_wrap section.wide > .column_wrap .column3{
		width: 100%;
	}
}

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

	.page-template-page-lp-link #main_wrap{
		width: 100%;
		padding: 24px 4%;
	}

	.page-template-page-lp-link #main_wrap section{
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.page-template-page-lp-link #main_wrap section > *{
		max-width: 100%;
		width: 100%;
	}

	.page-template-page-lp-link #main_wrap section.wide{
	    padding-left: 0 !important;
	    padding-right: 0 !important;
	}

	.page-template-page-lp-link #main_wrap section.wide > .column_wrap .column2,
	.page-template-page-lp-link #main_wrap section.wide > .column_wrap .column3{
		width: 100%;
	}

	.page-template-page-lp-link #main_wrap > p,
	.page-template-page-lp-link #main_wrap > ul,
	.page-template-page-lp-link #main_wrap > ol,
	.page-template-page-lp-link #main_wrap > dl,
	.page-template-page-lp-link #main_wrap > table{
		padding: 0;
	}

	.page-template-page-lp-link #main_wrap hr{
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}

	.page-template-page-lp-link .check{
		font-size: 108%;
	}

	.page-template-page-lp-link ul.check li{
		line-height: 1.4;
		margin-top: 0.4em;
	}

	.page-template-page-lp-link ul.check li:first-child{
		margin-top: 0;
	}

	.page-template-page-lp-link #main_wrap h2{
		font-size: 132% !important;
		line-height: 1.4 !important;
		padding: 12px 0 0;
	}

	.page-template-page-lp-link #main_wrap h2:before{
		display: none;
	}

	.page-template-page-lp-link #main_wrap h3{
		margin: 0 0 8px;
		font-size: 112%;
	}

	.page-template-page-lp-link #main_wrap .embox{
		font-size: 128%;
		padding: 24px 4%;
	}

	.page-template-page-lp-link a.button{
		min-width: 100%;
		width: 100%;
		font-size: 104%;
		box-sizing: border-box;
	}

	.page-template-page-lp-link div.box{
		padding: 24px 4%;
	}

	.page-template-page-lp-link dl.tablelayout{
		padding: 16px 4% !important;
		margin-left: 0;
		margin-right: 0;
	}

	.page-template-page-lp-link dl.tablelayout dt{
		float: none;
		width: 100%;
		padding: 1em 0 0;
	}

	.page-template-page-lp-link dl.tablelayout dt:first-child{
		padding: 0;
	}

	.page-template-page-lp-link dl.tablelayout dd{
		padding: 0.4em 0 1em;
	}

	.page-template-page-lp-link dt.question{
		background: #E3F3E3;
		font-weight: bold;
		padding: 8px 4%;
	}

	.page-template-page-lp-link dd.answer{
		padding: 8px 4%;
	}

	.page-template-page-lp-link p.voice {
	    background: #fff;
		margin: 0;
    	padding: 0;
	}

	.page-template-page-lp-link .wlist li:before{
	    margin-right: 8px;
	    position: relative;
	    top: 2px;
	}

	.page-template-page-lp-link dt.check{
		line-height: 1.6;
		margin-bottom: 8px;
	}

	.page-template-page-lp-link dt.check:before{
		vertical-align: 0;
		margin-right: 4px;
		position: relative;
		top: 4px;
	}

	.page-template-page-lp-link dt.question:before{
		margin-right: 8px;
	}

	.page-template-page-lp-link dd.answer:before{
		margin-right: 8px;
	}

	.page-template-page-lp-link .voice:before{
	    margin-right: 8px;
	    position: relative;
	    top: 2px;
	}

}


/* １カラムテンプレート
------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */
	.page-template-page-no-sidebar #main_wrap{
		max-width: 816px;
		width: 100%;
	}

	.page-template-page-no-sidebar-bottom #main_wrap{
		width: 100%;
	}
}

@media screen and (max-width: 520px) {
	.page-template-page-no-sidebar #main_wrap{
		width: 100%;
	}

	.page-template-page-no-sidebar-bottom #main_wrap{
		width: 100%;
	}
}

/* 投稿ページ　共通レイアウト
------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {

	.single #main_wrap .section.mainimage h1{
		font-size: 120%;
		padding: 8px 0px;
		line-height: 124%;
	}

	.single #main_wrap .size-thumbnail{
		width: 100% !important;
	}

	.single #main_wrap .eyecatch,
	.single #main_wrap .eyecatch.middle{
		float:none;
		width: 100% !important;
		margin-top: 0 !important;
		margin-left: 0 !important;
		margin-bottom: 1.618em;
		min-width: 0px;
	}

	.single #main_wrap .size-thumbnail.aligncenter,
	.single #main_wrap .size-medium.aligncenter{
		width: 100% !important;
	}

	.single #sub_wrap{
		margin: 32px auto 0;
	}

	.single #main_wrap ul.term{
		width: 100%;
	    float: none;
		overflow: hidden;
	}
}


/* 共通モジュール
------------------------------------------------------------------------*/
@media screen and (min-width: 991px) and (max-width: 1023px){/* グローバルメニュー表示 */

	/* 問題点 */
	#main_wrap ul.mod_trouble {
	    padding: 16px !important;
	}
}

@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	/* 問題点 */
	#main_wrap ul.mod_trouble {
	    padding: 16px !important;
	}

	/* 電話番号表示 */
	.mod_tel{
		font-size: 164%;
	}
}


@media screen and (max-width: 520px) {/* スマートフォン */

	/* 問題点 */
	#main_wrap ul.mod_trouble {
	    padding: 16px !important;
	}

	/* フロー図 */
	#main_wrap ul.mod_flow li:first-child{
		margin-top: 0;
	}

	#main_wrap ul.mod_flow li:last-child{
		margin-bottom: 0;
	}

	#main_wrap .mod_flow img{
		width: 100% !important;
	}

	#main_wrap .mod_flow div.caption {
		max-width: 100%;
	}

	#main_wrap .mod_flow .caption > span{
		display: block;
		text-align:center;
	}


	/* 特長 */
	#main_wrap ul.mod_feature li {
	    float: none;
	    width: 100%;
	}

	#main_wrap ul.mod_feature li:nth-child(even) {
	    float: none;
	}


	/* ボックスリスト　リンク */
	#main_wrap ul.mod_boxlist.link li a{
	    float: none;
	    width: 100%;
	}

	#main_wrap ul.mod_boxlist.link li:nth-child(even) a {
	    float: none;
	}

	/* 電話番号表示 */
	.mod_tel{
		font-size: 152%;
	}

}



/* ページ別レイアウト（メインイメージ）
------------------------------------------------------------------------*/
@media screen and (min-width: 1024px) and (max-width: 1296px){

	#mainimage .section_wrap{
	    padding: 0 calc(4% + 16px);
	    max-width: 100%;
	}

}

@media screen and (min-width: 991px) and (max-width: 1023px){/* グローバルメニュー表示 */

	#mainimage h1{
		padding: 0 4%;
	}

}

@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	#mainimage {
	    background-position: 50% 50%;
	}

	#mainimage .section_wrap{
		width: 100%;
		height: 120px;
	}

	#mainimage .section_wrap.image{
		padding: 0;
		font-size: 0;
	}

	#mainimage h1{
	    font-size: 140%;
		padding: 0 4%;
	}
}

@media screen and (min-width: 521px) {

	.page-template-page-lp-link #mainimage .section_wrap.image{
		display: table;
	}

	.page-template-page-lp-link #mainimage .section_wrap.image.sp{
		display: none;
	}

}

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

	#mainimage {
	    background-position: 50% 50%;
	}

	#mainimage .section_wrap{
		width: 100%;
		height: 96px;
	}

	#mainimage .section_wrap.image{
		padding: 0;
		font-size: 0;
	}

	.page-template-page-lp-link #mainimage .section_wrap.image{
		display: none;
	}

	.page-template-page-lp-link #mainimage .section_wrap.image.sp{
		display: table;
	}

	#mainimage h1{
	    font-size: 120%;
		padding: 0 4%;
	}
}


/* ページ別レイアウト
------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {
	.jirei li a{
	    width: 100%;
	    padding: 24px;
	    float: none;
	    margin-left: 0%;
		margin-bottom: 8px;
	}
}



/*------------------------------------------------------------------------
◆コンテンツ下部
------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
◆コンテンツ下部メニュー
--------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px) {/* 可変＋サイドメニュー */

	ul#contents_bottom_menu{
		display: none;
	}
}

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

	ul#contents_bottom_menu{
		display: none;
	}
}



/*------------------------------------------------------------------------
◆サブメニュー
------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px) {/* 可変＋サイドメニュー */

	#sidenav_wrap{
		width: 100%;
	}

	#sidenav li a {
		box-sizing: border-box;
	}

	#sidenav > li.menu-parent-item.current-menu-item > a,
	#sidenav > li.menu-parent-item > a {
		float: none;
		font-size:100% !important;
	}

	#sidenav > li.menu-parent-item.current-menu-item > a:hover,
	#sidenav > li.menu-parent-item > a:hover {
		color: #FFF;
	}

	#sidenav li a {
	}
}

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

	#sidenav_wrap{
		width: 100%;
	}

	.page-parent.page-child #sidenav{
		display:block;
	}

	#sidenav li a{
		padding: 12px 16px 12px 32px;
		box-sizing: border-box;
	}

	#sidenav > li > ul.sub-menu > li > ul.sub-menu > li > a{
		padding: 10px 2em 10px 2em;
	}

	/* カテゴリー親が現在地 */
	#sidenav > li.menu-parent-item.current-menu-item > a{
		/*border-top:1px solid #ccc !important;*/
	}

	/* カテゴリー親の下階層が現在地 */
	#sidenav > li.current-category-ancestor > a{
		border-top:1px solid #E2E2E2 !important;
	}

	/* 末端階層 その都度「ul.sub-menu > 」の数を調整必要 */
	#sidenav > li.current_page_parent > ul.sub-menu > li:last-of-type a{
	}

	#sidenav > li a{
		position: relative;
	}

	#sidenav li a:hover{
		/*border: 1px solid #006199 !important;*/
		border-top: none;
	}

	#sidenav > li a:after{
		content: "";
		display: none;
		width: 7px;
		height: 7px;
		border-top: 2px solid #333333;
		border-right: 2px solid #333333;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		right: 12px;
		top: 50%;
		margin-top: -5px;
	}

	/* 起点親ページ */
	#sidenav li.current-menu-ancestor.current-menu-parent > a:after{
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}

	/* 現在のページ */
	#sidenav li.current-menu-item > a,
	#sidenav li.current-post-parent > a{
	}

	#sidenav li.current-menu-item > a:hover,
	#sidenav li.current-post-parent > a:hover{
	}

	#sidenav > li a:hover:after,
	#sidenav li.current-menu-item > a:after,
	#sidenav li.current-post-parent > a:after,
	#sidenav > li.menu-parent-item.current-menu-item > a:after{
		border-top: 2px solid #FFFFFF;
		border-right: 2px solid #FFFFFF;
	}
}


/*--------------------------------------------------------------------------
◆サブコンテンツ
--------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px) {/* 可変＋サイドメニュー */

	#sub_wrap > * {
		/*margin-bottom: 0;*/
	}

	#sub_wrap .sidebar_bottom_widget h2:first-child + a{
		margin-left: 0px;
	}
}

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

	#sub_wrap > * {
		margin-bottom: 0;
	}
}


/*--------------------------------------------------------------------------
◆テーブル
--------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {

	table{
		width: 100%;
		text-align: left;
	}

	table tr{

	}

	table th{

	}

	table td{

	}

	table.responsive tr{
		display: block;
		padding: 0;
	}

	table.responsive th{
		display: block;
		background: #E5E5E5;
		width: auto;
		border: none;
		padding: 6px 8px;
	}

	table.responsive td{
		display: block;
		border: 1px solid #E5E5E5;
		background: #fff;
		border: none;
		line-height: 160%;
		padding: 8px 4px;
	}
}



/*--------------------------------------------------------------------------
◆カテゴリー
--------------------------------------------------------------------------*/
@media screen and (min-width: 991px) and (max-width: 1023px){/* グローバルメニュー表示 */
	.category.archive #main_wrap a.box{
		min-height: 0;
	}
}

@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	.category.archive #main_wrap .section{
		width: 100%;
	}

	.category.archive #main_wrap a.box .imgleft {
		display: none;
	}

	.category.archive #main_wrap a.box .info_wrap {
		padding: 24px 0;
	}

	.category.archive #main_wrap a.box h1{
		font-size: 120% !important;
	}
}

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

	.category.archive #main_wrap .section{
		width: 100%;
	}

	.category.archive #main_wrap .section.category_description a:after{
		display: none !important;
	}

	.category.archive #main_wrap .section.mainimage .section_wrap > h1,
	.single #main_wrap .section.mainimage .section_wrap > h1{
		font-size: 120%;
		padding: 8px 16px;
	}

	.category.archive #main_wrap a.box{
		box-sizing: content-box;
		border-top: none;
		border-collapse: collapse;
		min-height: 0;
		padding: 16px 0;
	}

	.category.archive #main_wrap a.box h1{
		font-size: 108% !important;
		margin-bottom: 0em !important;
		padding-right: 2em !important;
	}

	.category.archive #main_wrap a.box .imgleft {
		display: none;
	}

	.category.archive #main_wrap a.box .info_wrap {
		margin-left: 0;
		padding: 8px 0;
	}

	.category.archive #main_wrap a.box .status{
		margin-bottom: 0 !important;
	}

	.category.archive #main_wrap .section a{
		position: relative;
	}

	.category.archive #main_wrap .section a:after{
		content: "";
		display: block;
		width: 7px;
		height: 7px;
		border-top: 2px solid #333333;
		border-right: 2px solid #333333;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		right: 1em;
		top: 50%;
		margin-top: -8px;
	}

	.category.archive #main_wrap p.status + p{
		display:none;
	}

	.category.archive .excerpt{
		display:none;
	}
}


/*--------------------------------------------------------------------------
◆アーカイブ
--------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	.archive #main_wrap .section{
		width: 100%;
	}
}

@media screen and (max-width: 520px) {
	.archive #main_wrap .section{
		width: 100%;
	}
}


/*--------------------------------------------------------------------------
◆タグ
--------------------------------------------------------------------------*/


/*------------------------------------------------------------------------
◆ページナビ
------------------------------------------------------------------------*/
@media screen and (max-width: 520px){

	.pagination {
		margin-right:-4px;
	}

	.pagination span,
	.pagination a {
		margin: 2px 4.8px 2px 0;
	}

	.pagination a:after{
		border:none !important;
	}
}


/*--------------------------------------------------------------------------
◆ページ上部
--------------------------------------------------------------------------*/
@media screen and (max-width: 1023px) {

	#pagenav {
		bottom: 8px;
		right: 8px;
		padding: 0;
	}

	#pagenav a{
		width: 34px;
		height: 34px;
		opacity: 0.9;
		background-size: contain;
	}

	#pagenav a:hover{
		opacity: 1;
	}

	#pagenav.bottom_fix_on{
		bottom: 60px;
	    -moz-transition: all 0.3s ease;
	    -o-transition: all 0.3s ease;
	    transition: all 0.3s ease;
	}
}



/*--------------------------------------------------------------------------
◆フッター
--------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	#footer_container{
		margin-top: 0;
	}

	#footer_middle_info{
		float: none;
		width: 100%;
		text-align: center;
	}

	#footer_middle_menu {
		float: none;
	    width: 100%;
	}

	#footer_middle_menu .fnav_container {
	    display: block;
	    width: 100%;
	    float: none;
	}

	#fnav_left,
	#fnav_center_right{
		clear: both;
	    float: left;
	    display: block;
	    width: 48%;
	}

	#fnav_center_left,
	#fnav_right {
	    float: right;
	    display: block;
	    width: 48%;
	}

	#fnav {
	    text-align: center;
	}

	ul.fnav li a{
		white-space: normal;
	}

	#footer_middle_menu > div.fnav_container:nth-child(3),
	#footer_middle_menu > div.fnav_container:nth-child(4){
		margin-top: 24px;
	}

	#footer_wrap_bottom {
	    margin: 0 4%;
	}

	#footer_container_bottom.menu_in #fnav_btm {
	    float: none;
	    text-align: center;
		padding-bottom: 0;
	}

	#footer_container_bottom.menu_in #fnav_btm_container {
	    float: none;
	    text-align: center;
	}

	#footer_container_bottom.menu_in #footer_wrap_copyright {
	    float: none;
	    text-align: center;
	}

}

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

	#footer_container{
		margin-top: 0;
	}

	#footer_middle_info{
		float: none;
		width: 100%;
		text-align: center;
	}

	#footer_middle_info > *{
		padding-right: 4%;
		padding-left: 4%;
	}

	#footer_middle_menu {
		float: none;
	    width: 100%;
	}

	#fnav {
	    text-align: center;
	}

	#footer_middle_menu{
		float: none;
		width: 100%;
	}

	#footer_middle_menu .fnav_container {
		display: block;
	    width: 100%;
	    float: none;
	}

	#fnav_left,
	#fnav_center_right{
		clear: both;
	    float: left;
	    display: block;
	    width: 46%;
	}

	#fnav_center_left,
	#fnav_right {
	    float: right;
	    display: block;
	    width: 46%;
	}

	#fnav {
	    text-align: center;
	}

	ul.fnav li a{
		white-space: normal;
	}

	#footer_middle_menu > div.fnav_container:nth-child(3),
	#footer_middle_menu > div.fnav_container:nth-child(4){
		margin-top: 24px;
	}

	#footer_wrap_bottom {
	    margin: 0 4%;
	}

	#footer_container_bottom.menu_in #fnav_btm {
	    float: none;
	    text-align: center;
		padding-bottom: 0;
	}

	#footer_container_bottom.menu_in #fnav_btm_container {
	    float: none;
	    text-align: center;
	}

	#footer_container_bottom.menu_in #footer_wrap_copyright {
	    float: none;
	    text-align: center;
	}

}


/*--------------------------------------------------------------------------
◆ボトム固定
--------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	#bottom_fix_container{
		display: block;
		position: fixed;
		z-index: 999;
		bottom: 0;
		width: 100%;
	}

	#bottom_fix_wrap{
		width: 100%;
		text-align: center;
		box-sizing: border-box;
		opacity: 0.95;
		overflow: hidden;
		display: table;
		table-layout: fixed;
	}

	#bottom_fix_wrap .bottom_fix_menu{
		display: table-cell;
	}

	#bottom_fix_wrap .bottom_fix_menu a{
		font-weight: normal;
		display: block;
		font-size: 8px;
		padding: 8px 4%;
		text-decoration: none;
	}

	#bottom_fix_wrap .bottom_fix_menu a:hover{
		text-decoration: none;
	}

	#bottom_fix_wrap .bottom_fix_menu a:before {
	    display: block;
		margin: 0 auto;
		font-size: 20px;
	}
}

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

	#bottom_fix_container{
		display: block;
		position: fixed;
		z-index: 999;
		bottom: 0;
		width: 100%;
	}

	#bottom_fix_wrap{
		width: 100%;
		text-align: center;
		box-sizing: border-box;
		opacity: 0.95;
		overflow: hidden;
		display: table;
		table-layout: fixed;
	}

	#bottom_fix_wrap .bottom_fix_menu{
		display: table-cell;
	}

	#bottom_fix_wrap .bottom_fix_menu a{
		font-weight: normal;
		display: block;
		font-size: 8px;
		padding: 8px 4%;
		text-decoration: none;
	}

	#bottom_fix_wrap .bottom_fix_menu a:hover{
		text-decoration: none;
	}

	#bottom_fix_wrap .bottom_fix_menu a:before {
	    display: block;
		margin: 0 auto;
		font-size: 20px;
	}



}



/*--------------------------------------------------------------------------
◆サイトマップ
--------------------------------------------------------------------------*/



/*------------------------------------------------------------------------
◆検索フォーム
------------------------------------------------------------------------*/



/*------------------------------------------------------------------------
◆検索
------------------------------------------------------------------------*/


/*
検索結果
------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {

	.search #main_wrap .section h1{
		font-size: 120%;
		padding: 8px 0;
	}
}

/*--------------------------------------------------------------------------
◆メールフォーム
--------------------------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	#main_wrap form .middle,
	#main_wrap form .short{
		box-sizing: border-box;
		min-width: 0;
	}
}

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

	#main_wrap form table{
	    margin-top: 0;
	}

	#main_wrap form table tbody{
		border-top: 0;
	}

	#main_wrap form.wpcf7-form table tr{
		display: block;
	}

	#main_wrap form.wpcf7-form table tbody{
		border-top: none;
	}

	#main_wrap form.wpcf7-form table th,
	#main_wrap form.wpcf7-form table td{
		display: block;
		border-bottom: 0;
		padding: 2px 0;
	}

	#main_wrap form.wpcf7-form table th{
		padding: 16px 0 4px;
		width: 100%;
	}

	#main_wrap form table td label {
		margin-bottom: 0.5em !important;
	}

	#main_wrap form textarea{
		height: 8em;
	}

	#main_wrap form .long,
	#main_wrap form .middle,
	#main_wrap form .short{
		width: 100%;
		min-height: 0;
		box-sizing: border-box;
	}

	#main_wrap form table td label input[type="checkbox"] {
		position: relative;
		top: 2px;
	}

	#main_wrap form input[type="submit"] {
		font-size: 100% !important;
	}

	#sub_wrap form input[type="submit"]{
		font-size: 100% !important;
		margin-top: 0.5em;
	}
}


/* contact form 7 プラグイン
-----------------------------------------------------------*/
@media screen and (min-width: 521px) and (max-width: 1023px){/* 可変＋サイドメニュー */

	.wpcf7 textarea.long{
		width: 100% !important;
		box-sizing: border-box;
	}

	.wpcf7 td span.ex{
		display: block;
	}
}

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

	.wpcf7-list-item{
		padding-top: 4px !important;
	}

	#main_wrap form dl#mailform .wpcf7-list-item{
		padding-top: 0 !important;
	}

	#sub_wrap .wpcf7-form-control-wrap {
		display: inline;
	}

	.wpcf7-not-valid-tip {
		width: 100% !important;
		box-sizing: border-box;
	}

	.wpcf7 input.middle[type="text"]{
		width: 100%;
		box-sizing: border-box;
		min-width: 0px;
	}

	.wpcf7 textarea.long{
		width: 100% !important;
		box-sizing: border-box;
	}

	.wpcf7 td span.ex{
		display: block;
		margin-left: 0;
	}
}



/*--------------------------------------------------------------------------
◆WPプラグイン 関連記事（Yet Another Related Posts Pluginプラグイン）
--------------------------------------------------------------------------*/


/* 関連記事 非表示 */



/*--------------------------------------------------------------------------
◆WPプラグイン WordPress Popular Posts
--------------------------------------------------------------------------*/
@media screen and (max-width: 1023px) {
	.popular_post{
		display: none;
	}
}

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

	.wpp-list li a img.wpp-thumbnail{
		width: 62px !important;
		height: 62px !important;
	}
}



/*--------------------------------------------------------------------------
◆WPプラグイン Recent Post Extended
--------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
◆ウィジェット　最近の投稿
--------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
◆ウィジェット　お問い合わせ
--------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {

	#main_wrap #widget_contact {
	    padding: 16px 0;
	}

	#main_wrap #widget_contact a.tel_wrap,
	#main_wrap #widget_contact a.mail_wrap{
		width: 100%;
		padding: 0;
		box-sizing: border-box;
		margin-bottom: 0.8em;
	}

	#main_wrap #widget_contact a.mail_wrap{
		border-left: none;
	    padding-top: 0.8em;
	    margin-bottom: 0;
	    border-top: 1px dotted #999;
	}

}


/*--------------------------------------------------------------------------
◆検索フォーム
--------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
◆検索結果
--------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
◆404
--------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
◆WordPressデフォルト
--------------------------------------------------------------------------*/

/* 画像設定 */



/* ギャラリー設定 */


/* カレンダーー設定 */


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

	.alignleft{
		float: none;
		margin-right:0px;
	}
	.alignright{
		float: none;
		margin-left:0px;
	}

	img.alignleft{
		width: auto !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	img.aligncenter{
		width: auto !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	img.alignright{
		width: auto !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	.wp-caption{
		width:100% !important;
	}

	.gallery-columns-3 .gallery-item {
		float: left;
		margin-top: 10px;
		margin-left: 2%;
		text-align: center;
		width: 32% !important;
	}

}

/*--------------------------------------------------------------------------
◆モバイルリンク
--------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {

	#main_wrap img.size-full.aligncenter.mobileimglink{
		margin: 0 auto !important;
	}

	#main_wrap img.mobileimglink + a{
	    margin: 8px auto 1.618em auto !important;
	    display: block;
	    text-align: center;
		font-size: 88%;
	}

}

/*--------------------------------------------------------------------------
◆メディア画像
--------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {

/*
	#main_wrap img.alignleft.size-full,
	#main_wrap img.alignright.size-full,
	#main_wrap img.alignnone.size-full{
		width: 100% !important;
		float: none;
		margin: 0 !important;
	}
*/

	#main_wrap .wp-caption img {
	    width: 100%;
	}

}


/*--------------------------------------------------------------------------
◆記事更新用
--------------------------------------------------------------------------*/
@media screen and (max-width: 520px) {/* スマートフォン */
	#main_wrap .update{
		white-space: nowrap;
	}
}


/*--------------------------------------------------------------------------
◆ユーティリティ
--------------------------------------------------------------------------*/
@media screen and (max-width: 1024px){

	/* 動画レスポンシブ */
	.video-container {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	 
	.video-container iframe,
	.video-container object,
	.video-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}


