@charset "UTF-8";
/*
	Template: swell
	Theme Name: SWELL CHILD
	Theme URI: https://swell-theme.com/
	Description: SWELLの子テーマ
	Version: 1.0.0
	Author: LOOS WEB STUDIO
	Author URI: https://loos-web-studio.com/

	License: GNU General Public License
	License URI: http://www.gnu.org/licenses/gpl.html
*/

/*------------ WordPress管理バーを最下部に配置 ------------*/
html {
	margin-top: 0 !important;
	margin-bottom: 32px !important;
}
/* ページ上部に残る余白が気になる場合は、下記コメントアウトを解除 */
/*body {
	position: relative;
	top: -32px;
}*/
body.admin-bar {
	margin-bottom: 0;
}
#wpadminbar {
	top: auto !important;
	bottom: 0;
	position: fixed !important;
	z-index: 9999;
}

/*------------ マウスホバーで展開するメニューを上方に展開 ------------*/
#wpadminbar .ab-sub-wrapper {
	bottom: 32px;
	top: auto !important;
}
#wpadminbar .menupop.hover > .ab-sub-wrapper {
	bottom: 100%;
	top: auto !important;
}
#wpadminbar .menupop.hover ul.ab-sub-secondary {
	top: auto;
	bottom: 0;
}

/*------------ element ------------*/
p {
	margin: 0 0 1em;
	line-height: 1.8;
}

table,
table td,
table th {
	border-collapse: collapse;
	border-width: 0;
}
.post_content td,
.post_content th {
	border-width: 0;
	padding: 0;
}



/*------------ table style set ------------*/

.hpb-cnt-tb1{
	background-color: #333333;
	border-top-width: 1px;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #333333;
	border-right-color: #333333;
	border-bottom-color: #333333;
	border-left-color: #333333;
}
.hpb-cnt-tb2{
	background-color: #333333;
	border: 1px solid #333333;
}
.hpb-cnt-tb3{
	background-color: #333333;
	border: 0px solid #333333;
}
.hpb-cnt-tb-th1 {
	background-color: #BBBBBB;
	font-size: 0.8em;
	color: #333333;
	border-top-width: 0px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #333333;
	border-right-color: #333333;
	border-bottom-color: #333333;
	border-left-color: #333333;
}
.hpb-cnt-tb-th2 {
	background-color: #CCCCCC;
	font-size: 0.8em;
	color: #333333;
	border: 0px solid #333333;
}
.hpb-cnt-tb-cell1 {
	background-color: #EEEEEE;
	font-size: 0.8em;
	color: #333333;
	border-top-width: 0px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #333333;
	border-right-color: #333333;
	border-bottom-color: #333333;
	border-left-color: #333333;
}
.hpb-cnt-tb-cell2 {
	background-color: #FFFFFF;
	font-size: 0.8em;
	color: #333333;
	border-top-width: 0px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #333333;
	border-right-color: #333333;
	border-bottom-color: #333333;
	border-left-color: #333333;
}
.hpb-cnt-tb-cell3 {
	background-color: #EEEEEE;
	font-size: 0.8em;
	color: #333333;
	border: 0px solid #333333;
}
.hpb-cnt-tb-cell4 {
	background-color: #FFFFFF;
	font-size: 0.8em;
	color: #333333;
	border: 0px solid #333333;
}
.hpb-cnt-tb-cell5 {
	background-color: #FFFFFF;
	font-size: 0.8em;
	color: #333333;
	border-top-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #CCCCCC;
	border-right-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	border-left-color: #CCCCCC;
}


/*------------ ヘッダー用スタイル ------------*/

#heeadtable {
	width: 807px;
	margin: 0 auto;
}
#heeadtable td {
	text-align: center;
	vertical-align: top;
}
#headernav {
	width: 100%;
	/*background: url(./img/btp_back.gif) 0 0 repeat;*/
}

.l-header {
	box-shadow: none !important;
}

.l_header_custom {
	width: 900px;
	margin: 0 auto;
	background-color: #fff;
	/* 元のテーブルにあったbg_side01.gif（影）の代わり */
	box-shadow: 5px 0 5px -2px rgba(0,0,0,0.1), -5px 0 5px -2px rgba(0,0,0,0.1); 
	position: relative;
	box-shadow: none;
}
/* ヘッダー、パンくず、コンテンツ、フッター共通の左右の影（疑似要素） */
.l_header_custom::before,
.p-breadcrumb.-bg-on::before,
#content::before,
.l_footer_custom::before,
#gnav::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -5px; /* 左外側へ */
	width: 5px;
	background: linear-gradient(to left, rgba(0,0,0,0.1), transparent);
	pointer-events: none;
}
.l_header_custom::after,
.p-breadcrumb.-bg-on::after,
#content::after,
.l_footer_custom::after,
#gnav::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -5px; /* 右外側へ */
	width: 5px;
	background: linear-gradient(to right, rgba(0,0,0,0.1), transparent);
	pointer-events: none;
}
.l_header_custom__desc {
	font-size: 9px;
	text-align: left;
	margin: 0;
	padding: 5px 10px;
}
.l_header_custom__desc a {
	color: #000;
	text-decoration: none;
}
.l_header_custom__logo {
	display: block;
	line-height: 1;
}
.p_global_nav {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	background: url(./img/btp_back.gif) left center repeat-x;
}
.p_global_nav li a {
	display: block;
	width: 130px;
	height: 40px;
	background-image: url("img/back_gnav01.png");
	background-repeat: no-repeat;
	background-position: 0 0; /* 通常時は上半分(0-40px)を表示 */
	text-align: center;
	line-height: 40px;
	text-decoration: none;
	color: #333;
	font-size: 12px;
	font-weight: bold;;
}

.p_global_nav li a:hover {
	background-position: 0 -40px; /* ホバー時は下半分(40-80px)を表示 */
	text-decoration: none;
}

/* グローバルナビのコンテナ設定（影用） */
#gnav {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
}

/* スマホメニューボタン（PCでは非表示） */
.l-header__spNav {
	display: none;
}

/* スマホメニューボタン（PCでは非表示） */
.l_header_custom__menuBtn {
	display: none !important;
}

/*------------ パンくずリスト ------------*/
.p-breadcrumb.-bg-on {
	max-width: 900px;
	margin: 0 auto;
	background: #f7f7f7;
	box-shadow: 5px 0 5px -2px rgba(0,0,0,0.1), -5px 0 5px -2px rgba(0,0,0,0.1) !important;
	position: relative;
	box-shadow: none !important;
}

.p-breadcrumb {
	margin: 0 auto;
	padding: 8px 0;
	position: relative;
}

#content {
	position: relative;
}

/*------------ home ------------*/
body.home #content {
	padding-top: 0;
}

/*------------ contents ------------*/
.post_content img,
.l-content img {
	max-width: 100% !important;
	height: auto;
}



/*------------ フッター用スタイル ------------*/
.l_footer_custom {
	width: 900px;
	margin: 0 auto 0;
	background-color: orange;
	padding: 24px 0 0;
	text-align: center;
	position: relative;
	box-shadow: 0 5px 5px -2px rgba(0,0,0,0.1);
}
.p_footer_nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	gap: 10px 15px;
}
.p_footer_nav li {
	font-weight: bold;
}
.p_footer_nav li::before {
	content: "■";
	margin-right: 2px;
}
.p_footer_nav a {
	color: #000;
	text-decoration: none;
	font-size: 16px;
}
.p_footer_nav a:hover {
	text-decoration: underline;
}
.p_footer_info {
	font-size: 14px;
	color: #000;
	line-height: 1.6;
	margin: 0 0 8px;
}
.p_footer_info a {
	color: #000;
	text-decoration: underline;
}
#footer_text01 {
	color: #fff;
	font-size: 13px;
	text-align: center;
	background-color: #800000;
	padding: 8px;
}

/*------------ contents ------------*/
.l-content {
	max-width: 900px;
	margin: 0 auto;;
	padding: 48px 0 !important;
}

.c-shareBtns__list {
    display: flex;
    justify-content: center;
	list-style-type: none;
	padding: 0 !important
}
.p-pnLinks {
	list-style-type: none;
	padding: 0 !important
}

/*------------ form ------------*/
table.formtable {
	width: calc(100% - 64px);
	margin: 0 auto 16px;
	background: transparent;
	border-collapse: separate;
	border-spacing: 16px;
}
table.formtable th {
	width: 30%;
	text-align: right;
	background: transparent;
	vertical-align: top;
}
table.formtable th label {
	line-height: 2.5em;
}
table.formtable td {
	text-align: left;
	background: transparent;
}
.formsubmit {
	text-align: center;
}
.formsubmit input {
	font-size:16px;
	font-weight: bold;
	padding: 8px 32px;
}

/* ===============================================
// 740px以下
// =============================================== */
@media screen and (max-width: 740px) {

	/*------------ レイアウト調整 ------------*/
	.l_header_custom,
	#heeadtable,
	.p-breadcrumb.-bg-on,
	.l_footer_custom {
		width: 100%;
	}

	/* 左右の影を非表示 */
	.l_header_custom,
	.p-breadcrumb.-bg-on,
	.l_footer_custom {
		box-shadow: none !important;
	}
	.l_header_custom::before, .l_header_custom::after,
	.p-breadcrumb.-bg-on::before, .p-breadcrumb.-bg-on::after,
	#content::before, #content::after,
	.l_footer_custom::before, .l_footer_custom::after,
	#gnav::before, #gnav::after {
		display: none;
	}

	.l-content {
		padding: 24px 8px !important;
	}

	.l_header_custom__logo img {
		max-width: 100%;
		height: auto;
	}

	l-header {
		box-shadow: none !important;
	}
	.l-header, .l-header__inner {
		position: fixed;
		width: auto;
		right: 0;
		top: 0;
	}
	/* スマホメニューボタンの表示設定 */
	.l-header__spNav {
		display: flex !important;
		width: 44px;
		height: 44px;
		justify-content: center;
		align-items: center;
		color: #333;
		z-index: 9999;
		background: rgba(255,192,0,0.9);
		border: none;
	}
	.l-header__spNav .c-iconBtn__icon {
		font-size: 24px;
		line-height: 1;
	}

	/* スマホメニューボタンの表示設定 */
	.l_header_custom__menuBtn {
		display: flex !important;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 10px;
		right: 10px;
		width: 44px;
		height: 44px;
		z-index: 9999;
		background: transparent;
		border: none;
	}
	/* アイコンの線の色 */
	.l_header_custom__menuBtn .c-iconBtn__line {
		background-color: #333;
	}
	/* テーブル要素の固定幅属性（width="600"など）を無効化してレスポンシブ対応 */
	.post_content table,
	.post_content th,
	.post_content td {
		width: auto !important;
	}
	.post_content .wp-block-column p,
	.post_content .wp-block-column td,
	.post_content .wp-block-column div {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-right: 8px !important;
		margin-left: 8px !important;
	}
	.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
		padding: 0;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.wp-block-columns {
		gap: 8px !important;
		margin: 0 0 8px !important;
		padding: 0 !important;
		line-height: 1.6;
	}
	.doublelineorder {
		display: block;
		width: 100%;
		font-size: 18px !important;
		line-height: 1.5em;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	img {
		float: none !important;
	}
	img.float_l {
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important
	}
	img.float_r {
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important
	}
	.p_footer_nav {
		gap: 8px;
	}
	.p_footer_nav li,
	.p_footer_nav li a {
		font-size: 12px;
		font-weight: bold;
		text-decoration: underline;
	}
	.p_footer_nav li::before {
		content: none;
		margin-right: 0;
	}

	table.formtable {
		display: block;
		width: 100%;
		margin: 0 auto 16px;
		border-spacing: 0;
	}
	table.formtable tbody {
		display: block;
		width: 100%;
	}
	table.formtable tr {
		display: block;
		width: 100%;
	}
	table.formtable th {
		display: block;
		width: 100%;
		text-align: left;
		background: transparent;
		vertical-align: top;
	}
	table.formtable th p {
		margin: 0;
	}
	table.formtable th label {
		text-align: left;
	}
	table.formtable td {
		display: block;
		width: 100%;
		text-align: left;
		background: transparent;
	}
	table.formtable input,
	table.formtable textarea,
	table.formtable select {
		max-width: 100%;
		box-sizing: border-box;
	}
	.formsubmit {
	}
	.formsubmit span {
		display: block;
	}

	/* .company_table */
	.company_table,
	.company_table tbody,
	.company_table tr,
	.company_table th,
	.company_table td {
		display: block;
		width: 100%;
	}
	.company_table {
		margin: 0 auto 16px;
	}
	.company_table tr > :first-child {
		display: none;
	}
	.company_table th {
		font-size: 18px;
		font-weight: bold;
		line-height: 2;
		border-bottom: 1px solid #999;
		padding:0 8px;
		margin: 0 0 8px;
	}
	.company_table td {
		font-size:16px;
		line-height: 1.8;
		text-align: left;
		background: transparent;
		box-sizing: border-box;
		padding:0 8px;
		margin: 0 0 20px;
	}
	
}



/*------------ 投稿ページのカラムレイアウト強制適用 ------------*/
/* ブロックCSSが読み込まれない場合の対策 */
.single .wp-block-columns,
.archive .wp-block-columns,
.search .wp-block-columns,
.author .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}
@media (min-width: 782px) {
	.single .wp-block-columns,
	.archive .wp-block-columns,
	.search .wp-block-columns,
	.author .wp-block-columns {
		flex-wrap: nowrap;
	}
}
.single .wp-block-column,
.archive .wp-block-column,
.search .wp-block-column,
.author .wp-block-column {
	flex-grow: 1;
	min-width: 0;
	word-break: break-word;
	overflow-wrap: break-word;
}

/*------------ bits ------------*/

.flex {
	display: flex;
}
.block {
	display: block;
}
.fclear {
	clear: both;
}
.float_l {
	float: left;
}
.float_r {
	float: right;
}
p img.float_l {
	margin: 0 15px 15px 0;
}
p img.float_r {
	margin: 0 0 15px 15px;
}
.align_c {
	text-align: center !important;
}

.align_c img {
	margin-left: auto !important;
	margin-right: auto !important;
}

.align_l {
	text-align: left !important;
}

.align_r {
	text-align: right !important;
}
.w100 {
	width: 100% !important;
}
.w70 {
	width: 70% !important;
}
.w30 {
	width: 30% !important;
}
.w_auto {
	width: auto !important;
}
.nomargin {
	margin: 0 !important;
}
.margint0 {
	margin-top: 0 !important;
}
.margint8 {
	margin-top: 8px !important;
}
.margint10 {
	margin-top: 10px !important;
}
.margint16 {
	margin-top: 16px !important;
}
.margint20 {
	margin-top: 20px !important;
}
.margint30 {
	margin-top: 30px !important;
}
.margint32 {
	margin-top: 32px !important;
}
.margint40 {
	margin-top: 50px !important;
}
.margint50 {
	margin-top: 50px !important;
}
.margint2em {
	margin-top: 2em !important;
}

.marginb0 {
	margin-bottom: 0 !important;
}
.marginb8 {
	margin-bottom: 8px !important;
}
.marginb10 {
	margin-bottom: 10px !important;
}
.marginb16 {
	margin-bottom: 16px !important;
}
.marginb20 {
	margin-bottom: 20px !important;
}
.marginb30 {
	margin-bottom: 30px !important;
}
.marginb32 {
	margin-bottom: 32px !important;
}
.marginb40 {
	margin-bottom: 50px !important;
}
.marginb50 {
	margin-bottom: 50px !important;
}
.marginb2em {
	margin-bottom: 2em !important;
}

.marginr8 {
	margin-right: 8px !important;
}
.marginr16 {
	margin-right: 16px !important;
}
.marginl8 {
	margin-left: 8px !important;
}
.marginl16 {
	margin-left: 16px !important;
}



.nopadding {
	padding: 0 !important;
}
.padding16 {
	padding: 16px !important;
}
.padding24 {
	padding: 24px !important;
}
.padding32 {
	padding: 32px !important;
}
.paddingt2em {
	padding-top: 2em !important;
}
.paddingt8 {
	padding-top: 8px !important;
}
.paddingt10 {
	padding-top: 10px !important;
}
.paddingt16 {
	padding-top: 16px !important;
}
.paddingt20 {
	padding-top: 20px !important;
}
.paddingt24 {
	padding-top: 24px !important;
}
.paddingt20 {
	padding-top: 20px !important;
}
.paddingb10 {
	padding-bottom: 10px !important;
}
.paddingb16 {
	padding-bottom: 16px !important;
}
.paddingb20 {
	padding-bottom: 20px !important;
}
.paddingb24 {
	padding-bottom: 24px !important;
}
.paddingb30 {
	padding-bottom: 30px !important;
}
.paddingb32 {
	padding-bottom: 32px !important;
}
.paddingb40 {
	padding-bottom: 40px !important;
}
.paddingb48 {
	padding-bottom: 40px !important;
}
.hide {
	display: none !important;
}
.hidden {
	visibility: hidden !important;
}
.hidedisp {
	position:absolute;
	left: -1000%;
}
.underline {
	text-decoration: underline;
}
.overline {
	text-decoration: overline;
}
.doublelineorder {
	border: solid 1px #000;    	/* 内側の線になる一本線の枠線をひく*/
	outline: solid 1px #000;    /* 外側の線になる一本線の枠線をひく*/
	outline-offset: 2px;        /* 外側の線と内側の線の空き具合を調整*/
	margin: 2px;            	/* 外側の線を広げた分、要素の大きさを調整する*/
}
.ssfont {
	font-size: xx-small !important;
}
.sfont {
	font-size: x-small !important;
}
.mfont {
	font-size: medium !important;
}
.x06emfont,
.x06emfont * {
	font-size: 0.6em !important;
}
.x08emfont,
.x08emfont * {
	font-size: 0.8em !important;
}
.x10emfont {
	font-size: 1em !important;
}
.x12emfont,
.x12emfont * {
	font-size: 1.2em !important;
}
.x14emfont,
.x14emfont * {
	font-size: 1.4em !important;
}
.x16emfont,
.x16emfont * {
	font-size: 1.6em !important;
}
.x18emfont,
.x18emfont * {
	font-size: 1.8em !important;
}
.font10px {
	font-size: 10px;
}
.font9px {
	font-size: 9px;
}

.white {
	color: #fff !important;
}
.blue {
	color: #00f !important;
}

.red {
	color: #f00 !important;
}

.orange {
	color: #f60 !important;
}

.pink {
	color: #e43f7b !important;
}
.pinkline {
	background: #ffe7ef;
	padding: 1px;
}
.brown01 {
	color: #9a5000 !important;
}
/*.date {
	color: #a0a0a0;
}*/
.bold {
	font-weight: bold !important;
}
.italic {
	font-style: italic
}
.nowrap {
	white-space: nowrap;
}
.breakword {
	word-break: break-word;
}
.breakall {
	word-break: break-all;
}
hr.hidden {
	height: 1px;
	clear: both;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
br.fclear {
	clear: both;
	font-size: 1px;
	line-height: 0;
	height: 1px;
	overflow: hidden;
}
div.fclear {
	height: 1px;
	overflow: hidden ;
}
.fclear hr {
	display: none;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden ;
}

iframe.ec360_01 {
	width: 100%;
	height: 550px;
	margin: 0 0 0;
	border: 1px solid #f0f0f0;
	overflow: hidden;
}

.sp_h115 {
	max-height: 115px;
	overflow: hidden;
}
.pc_hide {
	display: none;
}
.mobile_hide {
	display: block;
}

.border_table {
	border: 1px solid #666 !important;
}
.border_table td,
.border_table th {
	border: 1px solid #666 !important;
}
.separate_table {
	border-collapse: separate !important;
	border-spacing: 2px !important;
}

@media screen and (max-width: 740px) {
	.pc_hide {
		display: block;
	}
	.mobile_hide {
		display: none;
	}
}
