
/*----------------------------------------------------------------
 inside .is-root-container
----------------------------------------------------------------*/
/* -----------------------------------------------------
 elements
-----------------------------------------------------*/
/* heading
-----------------------------------------------------*/
.is-root-container h2{
	font-family			: var(--font-serif);
	margin-top			: 60px;
	margin-bottom		: 30px;
	border-bottom		: 3px solid var(--sub-color);
	padding-bottom		: 20px;
	font-size			: 28px;
	color				: var(--heading-color);
}
.is-root-container>h2:first-child{ margin-top: 0; }

.is-root-container h3{
	margin				: 40px 0 15px 0;
	border-left			: 5px solid var(--link-color);
	padding				: 10px 0 10px 20px;
	font-size			: 18px;
	font-weight			: bold;
	line-height			: 1.3;
}

.is-root-container h4{
	margin				: 0 0 15px 0;
	font-size			: 20px;
	font-weight			: bold;
	color				: var(--text-color);
}

/* list
-----------------------------------------------------*/

/* table
-----------------------------------------------------*/

/* block elements
-----------------------------------------------------*/
.is-root-container>ul,
.is-root-container>ol,
.is-root-container>dl,
.is-root-container p		{ margin: 0 0 calc(var(--line-height) * 1em) 0; }
.is-root-container p + p	{ margin: calc(var(--line-height) * 1em) 0 0 0; }

.is-root-container>ul,
.is-root-container>ol{
	margin-left: 15px;
}
.is-root-container>ul li{
	list-style: disc;
}
.is-root-container>ol li{
	list-style: decimal;
}


.is-root-container figcaption{
	font-size: 14px;
	color: var(--main-color);
	padding: 5px 0;
}
/* -----------------------------------------------------
 default class
-----------------------------------------------------*/
.is-root-container .has-small-font-size{ font-size: 14px; }
.is-root-container .wp-block-embed__wrapper{
	height				: 0;
	overflow			: hidden;
	padding-top			: 56.25%;
	position			: relative;
}
.is-root-container .wp-block-embed__wrapper iframe{
	position			: absolute;
	top					: 0;
	left				: 0;
	width				: 100%;
	height				: 100%;
}


.is-root-container .wp-block-separator{
	margin: 50px auto;
	clear: both;
	border: none;
	border-top: 2px solid var(--sub-color);
	height: 0;
	width: 25%;
}
.is-root-container .wp-block-separator.is-style-wide{
	width: 100%;
}

.is-root-container .wp-block-quote{
	margin-top: 30px;
	margin-bottom: 30px;
	position: relative;
	font-size: 15px;
	line-height: 2;
	border: 1px solid var(--sub-color);
	padding: 20px;
	background: rgba(255, 255, 255, 0.3);
}
.is-root-container .wp-block-quote::after{
	content: "“";
	font-size: 120px;
	line-height: 1;
	color: var(--link-color);
	position: absolute;
	left: -20px;
	top: -25px;
	font-family: var(--font-serif);
}
.is-root-container .wp-block-quote cite{
	display: block;
	font-size: 14px;
	color: var(--main-color);
	padding: 5px 0;
	text-align: right;
}

/* -----------------------------------------------------
 custom class
-----------------------------------------------------*/
/* works-tabs
-----------------------------------------------------*/
.is-root-container .works-tabs .ghostkit-tabs-buttons{
	display				: flex;
	flex-direction		: row;
	padding				: 10px 0 0 0;
}
.is-root-container .works-tabs .ghostkit-tabs-buttons::after{
	content				: "";
	position			: absolute;
	top					: 0;
	z-index				: -1;
	display				: block;
	margin				: 0 calc(50% - 50vw);
	width				: 100vw;
	width				: calc(100vw - 16px);
	height				: 75px;
	background			: var(--base-color);
}
_::-webkit-full-page-media, _:future, :root .ghostkit-tabs-buttons::after{
	width				: 100vw!important;
}

.is-root-container .works-tabs .ghostkit-tabs-buttons>.ghostkit-tabs-buttons-item{
	position			: relative;
	flex				: 1;
	border				: none;
	border-radius		: 10px 10px 0 0;
	height				: 65px;
	padding				: 15px 0 0 0;
	background			: var(--base-color);
	text-align			: center;
	opacity				: 1;
}
.is-root-container .works-tabs .ghostkit-tabs-buttons>.ghostkit-tabs-buttons-item::after{
	content				: "";
	display				: block;
	width				: 18px;
	height				: 18px;
	background			: url(../images/angle-right-solid.svg) left top /contain no-repeat;
	position			: absolute;
	left				: 48%;
	transform			: rotate(90deg) translateX(-50%);
	bottom				: -10px;
}
.is-root-container .works-tabs .ghostkit-tabs-buttons>.ghostkit-tabs-buttons-item.ghostkit-tabs-buttons-item-active{
	background			: var(--bg-color);
	font-weight			: bold;
	color				: var(--link-color);
}
.is-root-container .works-tabs .ghostkit-tab{ padding: 20px 0; }

/* works-table
-----------------------------------------------------*/
.is-root-container .wp-block-table{ margin: calc(var(--line-height) * 1em) auto; }


.is-root-container .wp-block-table table{ font-size: 14px; }

.is-root-container .wp-block-table thead,
.is-root-container .wp-block-table thead th{
	border-top: 0px solid transparent;
	border-bottom: 0px solid transparent;
}
.is-root-container .wp-block-table table thead th,
.is-root-container .wp-block-table table tbody td{
	padding				: 5px 10px;
	text-align			: left;
	border-left: 3px solid var(--base-color);
	border-right: 3px solid var(--base-color);
}

.is-root-container .wp-block-table table tbody td{
	vertical-align: top;
}
.is-root-container .wp-block-table table thead th:not(:last-child),
.is-root-container .wp-block-table table tbody td:not(:last-child){ margin: 0 5px 0 0; }
.is-root-container .wp-block-table table thead th{ background: var(--sub-color); }
.is-root-container .wp-block-table table tbody td{ border-bottom: 1px solid var(--sub-color); }
.is-root-container .wp-block-table table tbody tr:first-child td{
	margin-top			: 10px;
	border-top			: 1px solid var(--sub-color);
}

.is-root-container .works-table.wp-block-table table,
.is-root-container .works-table.wp-block-table table thead,
.is-root-container .works-table.wp-block-table table tbody,
.is-root-container .works-table.wp-block-table table tr,
.is-root-container .works-table.wp-block-table table td,
.is-root-container .works-table.wp-block-table table th{ display: block; }
.is-root-container .works-table.wp-block-table table tr{
	display					: grid;
	grid-template-columns	: 1fr 2fr 5fr 4fr 3fr 3fr;
}

.is-root-container .wp-block-table figcaption{
	text-align: center;
}

.is-root-container .works-table.wp-block-table table thead th,
.is-root-container .works-table.wp-block-table table tbody td{
	border-left: 0px solid var(--base-color);
	border-right: 0px solid var(--base-color);
}

.is-root-container .wp-block-image figcaption{
	text-align: center;
}

/* wpcf7
-----------------------------------------------------*/
.is-root-container .wpcf7{
	margin				: 40px 0;
	padding				: 20px 30px;
	background			: var(--base-color);
}
.is-root-container .wpcf7 .must{ color: var(--focus-color); }
.is-root-container .wpcf7 p{ font-size: 14px; }
.is-root-container .wpcf7 dl{ margin: 15px 0; }

.is-root-container .wpcf7 textarea,
.is-root-container .wpcf7 input[type="text"],
.is-root-container .wpcf7 input[type="email"],
.is-root-container .wpcf7 input[type="tel"]{
	border				: 0;
	background			: #EEE;
	padding				: 2px;
}

.is-root-container .wpcf7 .next{
	text-align: center;
	margin: 20px 0 0 0;
}
.is-root-container .wpcf7 .wpcf7-submit{
	margin: 0 auto;
	background: var(--main-color);
	display: block;
	width: 300px;
	height: 50px;
	font-weight: bold;
	border: none;
	color: var(--base-color);
}
.is-root-container .wpcf7 #wpcf7cpcnf{
	padding				: 20px 30px;
	max-height: 895px;
	overflow-y: scroll;
}
.is-root-container .wpcf7 #wpcf7cpcnf p{
	font-size: 16px;
	margin: 0;
}
.is-root-container .wpcf7 #wpcf7cpcnf th{
font-weight: normal;
}

.is-root-container .wpcf7 #wpcf7cpcnf table,
.is-root-container .wpcf7 #wpcf7cpcnf tr,
.is-root-container .wpcf7 #wpcf7cpcnf td,
.is-root-container .wpcf7 #wpcf7cpcnf th,
.is-root-container .wpcf7 #wpcf7cpcnf thead,
.is-root-container .wpcf7 #wpcf7cpcnf tbody,
.is-root-container .wpcf7 #wpcf7cpcnf tfoot{
	display: block;
}

.is-root-container .wpcf7 #wpcf7cpcnf tr{ margin: 15px 0; }

.is-root-container .wpcf7 #wpcf7cpcnf .wpcf7cp-cfm-edit-btn{
	margin: 0 auto 30px 0;
	background: var(--base-color);
	display: block;
	width: 200px;
	height: 30px;
	font-weight: bold;
	border: 1px solid var(--main-color);
	color: var(--main-color);
}

/* ghostkit-button
-----------------------------------------------------*/
.is-root-container .ghostkit-button{
	border				: 1px solid var(--link-color);
	border-radius		: 0;
	padding				: 13px 25px;
	background			: transparent;
	color				: var(--link-color);
}
.is-root-container .ghostkit-button:hover{
	border				: 1px solid var(--link-color);
	background			: var(--link-color);
	color				: var(--base-color);
}