/*
Theme Name: Twenty Twenty-One-child
Template: twentytwentyone
Theme URI: https://wordpress.org/themes/twentytwentyone/
*/

/* 全固定ページで非表示 */
.page .entry-title {
    display: none;
}

/**********************************************************************************
RESET
***********************************************************************************/
html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object,
a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,
strong, sub, sup, tt, var, legend, fieldset {
	margin: 0;
	padding: 0;
}

img, fieldset {
	border: 0;
}

/* set image max width to 100% */
img {
	max-width: 100%;
	height: auto;
	width: auto\9; /* ie8 */
}

/* set html5 elements to block */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
    display: block;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


/**********************************************************************************
CLEARFIX
***********************************************************************************/
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.clearfix { display: inline-block; }
.clearfix { display: block; zoom: 1; }


/**********************************************************************************
GENERAL STYLING
***********************************************************************************/
html, body {
	font-family:"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica Neue","Helvetica","Arial",sans-serif;
	font-size:14px;
	line-height:20px;
	text-align:left;
	color:#000;
	background-color:#fff;
}

a {
	text-decoration: none;
	outline: none;
}
/*a:hover {
	text-decoration: underline;
}*/
a:hover img.link {
	filter: alpha(opacity=80);
	-webkit-opacity:0.8;
	-moz-opacity:0.8;
	-o-opacity:0.8;
	-ms-opacity:0.8;
	opacity:0.8;
}


/**********************************************************************************
wrapper
***********************************************************************************/
.wrapper {
	width:980px;
	margin:0 auto;
	overflow:hidden;
}


/**********************************************************************************
background
***********************************************************************************/
#back_footer {
	background-color:#78206e;
}

#back_navi {
	background-color:#f2cfee;
	width:100%;
}


/**********************************************************************************
h
***********************************************************************************/
h1.title {
	margin:0;
	padding:20px 0;
	text-align:left;
	color:#78206e;
	font-size:25px;
}
h1.title a {
	color:#78206e;
}

h2.title {
	font-size:22px;
	line-height:28px;
	text-align:left;
	padding-bottom:20px;
}
h2.title2 {
	font-size:22px;
	line-height:28px;
	text-align:left;
	color:#78206e;
	margin-top:20px;
	padding:5px 0 5px 20px;;
	border-left:5px solid #78206e;
}


/************************************************************************************
breadcrumb
*************************************************************************************/
ul.bc {
	margin:0;
	padding:0 0 20px 0;
	list-style-type:none;
}
ul.bc li {
	float:left;
	font-size:12px;
	text-align:left;
	padding-right:10px;
}
ul.bc li a:link, ul.bc li a:visited {
	color:#f00;
	text-decoration: none;
}
ul.bc li a:hover {
	color:#f00;
	text-decoration: none;
}


/**********************************************************************************
header
***********************************************************************************/
#header_left {
	float:left;
}
#header_right {
	float:right;
}


/**********************************************************************************
navi
***********************************************************************************/
#menu {
	width:100%;
	max-width:980px;
	margin:0 auto;
	padding:0;
}
#menu li {
	display:block;
	float:left;
	font-size:14px;
	font-weight:bold;
	width:20%;
	margin:0;
	padding:0;
}

#menu li a {
	display:block;
	padding:15px 0 10px;
	background:#f2cfee;
	color:#000;
	text-align:center;
	text-decoration:none;
}
#menu li a:hover {
	background:#d86ecc;
}

/* 矢印つきリスト2 */
ul.list li a {
	position: relative;
	display: block;
	padding: 15px 25px 15px 10px;
	border-bottom: 1px solid #ccc;
}
ul.list li a::after {
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}


/************************************************************************************
button
*************************************************************************************/
.btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 180px;
	height: 40px;
	color: #78206e;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.3s;
	border: 1px solid #78206e;
	border-radius: 30px;
}

.btn a:hover {
	color: #fff;
}

.button01 a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: rotate(45deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #78206e;
}

.button01 a:hover {
	background-color: #e59edd;
	border: 1px solid #e59edd;
	color:#000;
}

.button01 a:hover::after {
	border-color: #000 #000 transparent transparent;
}


/**********************************************************************************
index
***********************************************************************************/
#index_box {
	position: relative;
	width:100%;
	height:520px;
}

#index_left {
	float:left;
	width:400px;
	margin-right:40px;
}
#index_right {
	margin-left:440px;
}


/**********************************************************************************
about
***********************************************************************************/
ul.about {
	margin:0;
	padding:0 0 0 15px;
}
ul.about li {
	padding-bottom:10px;
}
ul.about li:last-child {
	padding:0;
}


/**********************************************************************************
cultivation
***********************************************************************************/
#cultivation_left {
	float:left;
	width:300px;
	margin-right:40px;
}
#cultivation_right {
	margin-left:340px;
}

ul.cultivation_img {
	margin:0;
	padding:0;
	list-style-type:none;
}
ul.cultivation_img li {
	padding-bottom:20px;
}
ul.cultivation_img li:last-child {
	padding:0;
}

ul.cultivation {
	margin:0;
	padding:0 0 0 15px;
}
ul.cultivation li {
	padding-bottom:10px;
}
ul.cultivation li:last-child {
	padding:0;
}


/**********************************************************************************
thesis
***********************************************************************************/
.thesis_left {
	float:left;
	width:720px;
	margin-right:36px;
}
.thesis_right {
	margin-left:756px;
	text-align:center;
}

p.thesis_txt {
	text-decoration:underline;
	padding-top:10px;
}

/* アコーディオンパネルの設定 */
.accordion-area {
	list-style: none;
}
.accordion-area li {
	margin: 10px 0;
}
.accordion-area section {
	border: #78206e 2px solid;
	border-radius: 5px;
}
.tit {								/* アコーディオンのタイトル */
	position: relative;
	cursor: pointer;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 10px 10px 50px;
	transition: all .5s ease;
}
.tit::before,							/* アコーディオンのアイコン */
.tit::after {
	position: absolute;
	content: '';
	width: 15px;
	height: 2px;
	background: #78206e;
}
.tit::before {
	top: 48%;
	left: 15px;
	transform: rotate(0deg);
}
.tit::after {
	top: 48%;
	left: 15px;
	transform: rotate(90deg);
}
.tit.close::before {
	transform: rotate(45deg);
}
.tit.close::after {
	transform: rotate(-45deg);
}
.box {									/* アコーディオンの内容 */
	display: none;
	padding: 20px;
	/*margin: 0 20px 20px 20px;
	background: #eee;*/
}


/**********************************************************************************
patent
***********************************************************************************/
table.patent {
	width:100%;
	border-collapse:collapse;
}
table.patent th.cell1 {
	width:10px;
	padding:10px;
	text-align:center;
	border:1px solid #000;
}
table.patent th.cell2 {
	padding:10px;
	text-align:center;
	border:1px solid #000;
}
table.patent th.cell3 {
	width:160px;
	padding:10px;
	text-align:center;
	border:1px solid #000;
}
table.patent th.cell4 {
	width:100px;
	padding:10px;
	text-align:center;
	border:1px solid #000;
}
table.patent th.cell5 {
	width:80px;
	padding:10px;
	text-align:center;
	border:1px solid #000;
}
table.patent td.cell1 {
	padding:10px;
	text-align:center;
	border:1px solid #000;
}

table.patent td.cell2 {
	padding:10px;
	text-align:left;
	border:1px solid #000;
}
table.patent td.cell3 {
	padding:10px;
	text-align:right;
	border:1px solid #000;
}
table.patent td.cell4 {
	padding:10px;
	text-align:left;
	border:1px solid #000;
}
table.patent td.cell5 {
	padding:10px;
	text-align:center;
	border:1px solid #000;
}

.notel {
	pointer-events:none;
	color:#000;
}

/* IMAGE LIGHTBOX SELECTOR */

		#imagelightbox
		{
			cursor: pointer;
			position: fixed;
			z-index: 10000;

			-ms-touch-action: none;
			touch-action: none;

			-webkit-box-shadow: 0 0 3.125em rgba( 0, 0, 0, .75 ); /* 50 */
			box-shadow: 0 0 3.125em rgba( 0, 0, 0, .75 ); /* 50 */
		}


		/* ACTIVITY INDICATION */

		#imagelightbox-loading,
		#imagelightbox-loading div
		{
			border-radius: 50%;
		}
		#imagelightbox-loading
		{
			width: 2.5em; /* 40 */
			height: 2.5em; /* 40 */
			background-color: #444;
			background-color: rgba( 0, 0, 0, .5 );
			position: fixed;
			z-index: 10003;
			top: 50%;
			left: 50%;
			padding: 0.625em; /* 10 */
			margin: -1.25em 0 0 -1.25em; /* 20 */

			-webkit-box-shadow: 0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */
			box-shadow: 0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */
		}
			#imagelightbox-loading div
			{
				width: 1.25em; /* 20 */
				height: 1.25em; /* 20 */
				background-color: #fff;

				-webkit-animation: imagelightbox-loading .5s ease infinite;
				animation: imagelightbox-loading .5s ease infinite;
			}

			@-webkit-keyframes imagelightbox-loading
			{
				from { opacity: .5;	-webkit-transform: scale( .75 ); }
				50%	 { opacity: 1;	-webkit-transform: scale( 1 ); }
				to	 { opacity: .5;	-webkit-transform: scale( .75 ); }
			}
			@keyframes imagelightbox-loading
			{
				from { opacity: .5;	transform: scale( .75 ); }
				50%	 { opacity: 1;	transform: scale( 1 ); }
				to	 { opacity: .5;	transform: scale( .75 ); }
			}


		/* OVERLAY */

		#imagelightbox-overlay
		{
			background-color: #fff;
			background-color: rgba( 255, 255, 255, .9 );
			position: fixed;
			z-index: 9998;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
		}


		/* "CLOSE" BUTTON */

		#imagelightbox-close
		{
			width: 2.5em; /* 40 */
			height: 2.5em; /* 40 */
			text-align: left;
			background-color: #666;
			border-radius: 50%;
			position: fixed;
			z-index: 10002;
			top: 2.5em; /* 40 */
			right: 2.5em; /* 40 */

			-webkit-transition: color .3s ease;
			transition: color .3s ease;
		}
		#imagelightbox-close:hover,
		#imagelightbox-close:focus { background-color: #111; }

			#imagelightbox-close:before,
			#imagelightbox-close:after
			{
				width: 2px;
				background-color: #fff;
				content: '';
				position: absolute;
				top: 20%;
				bottom: 20%;
				left: 50%;
				margin-left: -1px;
			}
			#imagelightbox-close:before
			{
				-webkit-transform: rotate( 45deg );
				-ms-transform: rotate( 45deg );
				transform: rotate( 45deg );
			}
			#imagelightbox-close:after
			{
				-webkit-transform: rotate( -45deg );
				-ms-transform: rotate( -45deg );
				transform: rotate( -45deg );
			}


		/* CAPTION */

		#imagelightbox-caption
		{
			text-align: center;
			color: #fff;
			background-color: #666;
			position: fixed;
			z-index: 10001;
			left: 0;
			right: 0;
			bottom: 0;
			padding: 0.625em; /* 10 */
		}


		/* NAVIGATION */

		#imagelightbox-nav
		{
			background-color: #444;
			background-color: rgba( 0, 0, 0, .5 );
			border-radius: 20px;
			position: fixed;
			z-index: 10001;
			left: 50%;
			bottom: 3.75em; /* 60 */
			padding: 0.313em; /* 5 */

			-webkit-transform: translateX( -50% );
			-ms-transform: translateX( -50% );
			transform: translateX( -50% );
		}
			#imagelightbox-nav button
			{
				width: 1em; /* 20 */
				height: 1em; /* 20 */
				background-color: transparent;
				border: 1px solid #fff;
				border-radius: 50%;
				display: inline-block;
				margin: 0 0.313em; /* 5 */
			}
			#imagelightbox-nav button.active
			{
				background-color: #fff;
			}


		/* ARROWS */

		.imagelightbox-arrow
		{
			width: 3.75em; /* 60 */
			height: 7.5em; /* 120 */
			background-color: #444;
			background-color: rgba( 0, 0, 0, .5 );
			vertical-align: middle;
			display: none;
			position: fixed;
			z-index: 10001;
			top: 50%;
			margin-top: -3.75em; /* 60 */
		}
		.imagelightbox-arrow:hover,
		.imagelightbox-arrow:focus	{ background-color: rgba( 0, 0, 0, .75 ); }
		.imagelightbox-arrow:active { background-color: #111; }

			.imagelightbox-arrow-left	{ left: 2.5em; /* 40 */ }
			.imagelightbox-arrow-right	{ right: 2.5em; /* 40 */ }

			.imagelightbox-arrow:before
			{
				width: 0;
				height: 0;
				border: 1em solid transparent;
				content: '';
				display: inline-block;
				margin-bottom: -0.125em; /* 2 */
			}
				.imagelightbox-arrow-left:before
				{
					border-left: none;
					border-right-color: #fff;
					margin-left: -0.313em; /* 5 */
				}
				.imagelightbox-arrow-right:before
				{
					border-right: none;
					border-left-color: #fff;
					margin-right: -0.313em; /* 5 */
				}

		#imagelightbox-loading,
		#imagelightbox-overlay,
		#imagelightbox-close,
		#imagelightbox-caption,
		#imagelightbox-nav,
		.imagelightbox-arrow
		{
			-webkit-animation: fade-in .25s linear;
			animation: fade-in .25s linear;
		}
			@-webkit-keyframes fade-in
			{
				from	{ opacity: 0; }
				to		{ opacity: 1; }
			}
			@keyframes fade-in
			{
				from	{ opacity: 0; }
				to		{ opacity: 1; }
			}

		@media only screen and (max-width: 41.250em) /* 660 */
		{
			#container
			{
				width: 100%;
			}
			#imagelightbox-close
			{
				top: 1.25em; /* 20 */
				right: 1.25em; /* 20 */
			}
			#imagelightbox-nav
			{
				bottom: 1.25em; /* 20 */
			}

			.imagelightbox-arrow
			{
				width: 2.5em; /* 40 */
				height: 3.75em; /* 60 */
				margin-top: -2.75em; /* 30 */
			}
			.imagelightbox-arrow-left	{ left: 1.25em; /* 20 */ }
			.imagelightbox-arrow-right	{ right: 1.25em; /* 20 */ }
		}

		@media only screen and (max-width: 20em) /* 320 */
		{
			.imagelightbox-arrow-left	{ left: 0; }
			.imagelightbox-arrow-right	{ right: 0; }
		}


/**********************************************************************************
footer
***********************************************************************************/
#footer {
	clear: both;
	background-color:#78206e;
}
#footer a {
	color: #fff;
	text-decoration:none;
}

.footer_navi {
	position: relative;
	overflow: hidden;
	padding:20px 0 0 0;
}
.footer_navi ul {
  position: relative;
  left: 50%;
  float: left;
}
.footer_navi ul li {
  position: relative;
  left: -50%;
  float: left;
  list-style: none;
}
.footer_navi ul li.item {
	padding:0 30px;
	color:#fff;
}


/**********************************************************************************
copyright
***********************************************************************************/
#copyright {
	clear: both;
	width:100%;
	padding:20px 0;
	font-size:10px;
	color:#fff;
	text-align:center;
	font-weight:bold;
}


/**********************************************************************************
hr
***********************************************************************************/
.hr01 {
	width:100%;
	height:1px;
	background-color:#78206e;
	border:none;
	color:#78206e;
	margin:20px 0
}

.hr02 {
	color:#444;
	display:flex;
	align-items:center;
}
.hr02:before, .hr02:after {
	content: "";
	flex-grow:1;
	height:1px;
	background:#444;
	display:block;
}
.hr02:before {
	margin-right:20px;
}
.hr02:after {
	margin-left:20px;
}


/**********************************************************************************
padding
***********************************************************************************/
.pd20 {
	padding:20px;
}

.pd_tb10 {
	padding:10px 0;
}
.pd_tb20 {
	padding:20px 0;
}
.pd_tb30 {
	padding:30px 0;
}


/**********************************************************************************
height
***********************************************************************************/
.height10 {
	height:10px;
}
.height20 {
	height:20px;
}
.height30 {
	height:30px;
}
.height40 {
	height:40px;
}
.height50 {
	height:50px;
}
