/*
Theme Name: dragon-forest
Text Domain: dragonforest
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; font-family: sans-serif;}  body { line-height:1; }  article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {  display:block; }  nav ul { list-style:none; }  blockquote, q { quotes:none; }  blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }  a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }  / change colours to suit your needs / ins { background-color:#ff9; color:#000; text-decoration:none; }  / change colours to suit your needs / mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold; }  del { text-decoration: line-through; }  abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }  table { border-collapse:collapse; border-spacing:0; }  /* change border colour to suit your needs  */ hr { display:block; height:1px; border:0;  border-top:1px solid #cccccc; margin:1em 0; padding:0; }  input, select { vertical-align:middle; } 

@charset "UTF-8";

sup	{
	vertical-align:super;
	font-size: 13px;
	color: #b00 !important;
	font-weight: 900;
}
.serif	{
	font-family: 'Noto Serif JP', serif !important;
}
.sp,.sp.ib	{
	display: none !important;
}

h1,h2,h3,h4,h5,h6,p,th,td,li,dt,dd,a,label	{
	font-family: 'Noto Sans JP', sans-serif;
	color: #333333;
	line-height: 180%;
}

iframe	{
	display: block;
	margin: 0 auto 30px;
	max-width: 100%;
}
.zoom80	{
	zoom: 0.8;
}
img	{
	max-width: 100% !important;
}
.text-center	{
	text-align: center;
}

.whitetext	{
	color: white;
}

.red	{
	color: #d8152a;
}

.p50	{
	padding: 50px;
	box-sizing: border-box;
}
.pb25	{
	padding-bottom: 25px !important;
}

.pb100	{
	padding-bottom: 100px !important;
}
.mt75	{
	margin-top: 75px !important;
}

.mb0	{
	margin-bottom: 0 !important;
}


.mb25	{
	margin-bottom: 25px !important;
}


.mb50	{
	margin-bottom: 50px !important;
}

.mb75	{
	margin-bottom: 75px !important;
}

.mb250	{
	margin-bottom: 150px !important;
}

.fs24	{
	font-size: 24px !important;
}

.fs30	{
	font-size: 30px !important;
}

.w50p	{
	width: 50% !important;
}

.w100p	{
	width: 100% !important;
}

.mw740	{
	max-width: 740px !important;
	width: calc(100% - 18px) !important;
	margin: 0 auto;
}
.postcontent	{
	margin-bottom: 100px;
}
body	{
	background-image: url(images/dragon.png);
	background-position: right top;
	background-size: 100% auto;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
header	{
	position: fixed;
	z-index: 1000;
}

.key	{
	background-image: url(images/keyback.jpg);
	width: 100vw;
	height: 100vh;
	background-position: center center;
	background-size: cover;
}

header	{
	box-sizing: border-box;
	padding: 15px 30px;
	display: flex;
	align-items: center;
	width: 100%;
	justify-content: space-between;
}
header .headtitle	{
	width: 45%;
	display: flex;
	align-items: center;
}

header nav	{
	width: 45%;
}

header nav ul	{
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}

header nav ul li a	{
	font-size: 14px;
	text-decoration: none;
	font-weight: 900;
	padding-left: 15px;
	letter-spacing: 1px;
	text-shadow: 2px 2px 2px rgba(255,255,255,0.5), -2px 2px 2px rgba(255,255,255,0.5), 2px -2px 2px rgba(255,255,255,0.5), -2px -2px 2px rgba(255,255,255,0.5);
}

header nav ul li a span.leaf i	{
	font-size: 12px;
}
header:not(.fixed) .headtitle{
	visibility: hidden;
}

.sub header .headtitle	{
	visibility: visible;
}
header.fixed	{
	background-color: rgba(255,255,255,0.5);
}
header .logo	{
	width: 80px;
}
header h1	{
	margin-left: 30px;
	text-shadow: 1px 1px 4px rgba(255,255,255,0.7), -1px 1px 4px rgba(255,255,255,0.7), 1px -1px 4px rgba(255,255,255,0.7), -1px -1px 4px rgba(255,255,255,0.7);
	font-size: 24px;
}

.key .inner	{
	margin: 0 auto;
	max-width: 1200px;
	padding: 100px 25px;
	display: flex;
	align-items: center;
}
.key .inner .imgarea, .key .inner .infoarea	{
	width: 48%;
	font-weight: 900;
}

.key .inner .imgarea img	{
	width: 80%;
}

.key .inner .infoarea p	{
	font-size: 22px;
	text-shadow: 1px 1px 4px rgba(255,255,255,0.7), -1px 1px 4px rgba(255,255,255,0.7), 1px -1px 4px rgba(255,255,255,0.7), -1px -1px 4px rgba(255,255,255,0.7);

}
.leaf i,.tree i	{
	font-size: 18px;
	color: #ccc;
}

.green,
.active i	{
	color: darkgreen;
}

.text-right	{
	text-align: right;
}
main	{
	min-height: 120vh;
}

.sub main .sec:first-child .inner	{
	padding: 180px 25px 120px;
}
main .inner	{
	margin: 0 auto;
	max-width: 1200px;
	padding: 120px 25px;
}

main .inner h2	{
	margin-bottom: 50px;
}
main .inner p	{
	font-size: 18px;
}
main .inner p:not(:last-child)	{
	margin-bottom: 25px;
}

.sec1 .examples	{
	background-color: rgba(0,0,0,0.1);
	max-width: 740px;
	width: calc(100% - 18px);
	padding: 30px 15px 40px;
	margin: 0 auto;
	box-sizing: border-box;
	margin-bottom: 30px;
}

main .sec2	{
	background-image: url(images/mainback.jpg);
	width: 100vw;
	background-position: center center;
	background-size: cover;
}

main .sec2 .sec2content	{
	max-width: 820px;
	width: calc(100% - 18px);
	margin: 0 auto;
}

main .sec2 p strong	{
	font-size: 18px;
	letter-spacing: 1px;
	display: inline-block;
	background-color: rgba(255,255,255,0.6);
	padding: 5px;
}

main .sec3 .titlearea	{
	background-color: black;
	padding: 30px 0;
}

main .sec3 .titlearea h2	{
	color: #fff;
}

main .sec3 .titlearea h2 .small	{
	font-size: 20px;
}

.sec4 .infoarea p	{
	letter-spacing: 1px;
	line-height: 200%;
}

.sec4 .infoarea .youtube	{
	width: 100%;
	aspect-ratio: 16 / 9;
}

.sec4 .infoarea .youtube iframe	{
	width: 100%;
	height: 100%;
	margin-bottom: 30px;
}
.column	{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.column .singlecolumn	{
	margin: 0 1% 30px;
	width: 31.333%;
	overflow: hidden;
	box-shadow: 3px 3px 10px rgba(0,0,0,0.5);
	position: relative;
	background-color: white;
}

.action .column .singlecolumn	{
	width: 23%;
}

.action .column .singlecolumn .infoarea	{
	padding: 15px 25px 60px;
}
.action .column .singlecolumn .user	{
	display: flex;
	align-items: center;
	padding-bottom: 15px;
	border-bottom: 1px solid #ccc;
	width: 100%;
	justify-content: space-between;
	margin-bottom: 15px;
}

.action .column .singlecolumn .user-icon	{
	display: block;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	overflow: hidden;
	border: 1px solid #f66;
	position: relative;
}

.action .column .singlecolumn .user-icon img	{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.action .column .singlecolumn .infoarea p	{
	font-size: 14px;
}
.action .column .singlecolumn .user-icon img	{
	object-fit: cover;
}

.action .column .singlecolumn .user .user-name	{
	text-decoration: none;
	font-weight: 900;
	padding-left: 10px;
	color: #666;
	font-size: 12px;
	width: calc(100% - 80px);
}
.action .column .singlecolumn .user .tree	{
	width: 40px;
}

.action .column .singlecolumn .nav	{
	display: flex;
	justify-content: space-between;
	position: absolute;
	bottom: 15px;
	width: calc(100% - 50px);
}
.column .singlecolumn .imgarea	{
	height: 250px;
	overflow: hidden;
}
.single .column .singlecolumn .imgarea	{
	height: auto;
}

.single main .inner .column	{
	max-width: 700px;
	margin: 0 auto;
}

.column .singlecolumn .imgarea img	{
	width: 100%;
	height: 100%;
	overflow: hidden;

	object-fit: cover;
}

.column .singlecolumn .infoarea	{
	background-color: white;
	padding: 25px 15px;
}

.column .singlecolumn .infoarea h3	{
	height: 5rem;
	font-size: 22px;
}
.single .column .singlecolumn .infoarea h3	{
	height: auto;
}

.column .singlecolumn .infoarea p	{
	font-size: 16px;
}
.column .singlecolumn .viewmore	{
	position: absolute;
	bottom: 0;
	width: 100%;
}
.column .singlecolumn .viewmore a	{
	display: block;
	background-color: black;
	text-align: center;
	color: white;
	padding: 10px 0;
	text-decoration: none;
	font-weight: bold;
	font-size: 20px;
}

.sec.action	{
	background: linear-gradient(rgba(253,216,158,0.6),rgba(253,216,158,1));
}
.buttonarea	{
	text-align: center;
	margin-top: 50px;
}
.buttonarea a,form button,form input[type="submit"]	{
	-moz-appearance: none;
	-webkit-appearance: none;
	border: 0;
	display: inline-block;
	padding: 10px 50px;
	line-height: 1.2;
	font-size: 18px;
	border-radius: 19px;
	text-decoration: none;
	background-color: #333;
	color: white;
	margin: 0 15px;
	min-width: 200px;
}

footer	{
	background-color: rgba(0,0,0,0.7);
	padding: 50px 0;
}

footer p	{
	font-size: 12px;
	text-align: center;
	color: white;
}

.drawer-nav	{
	background-color: rgba(0,0,0,0.7);
	box-sizing: border-box;
	padding: 10vw 0 10vw 3vw;
}

.drawer-nav ul li a	{
	color: white;
	text-decoration: none;
}

.drawer-nav ul li	{
	padding: 5px 0;
}

.drawer-hamburger	{
	display: none;
}
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before	{
	background-color: white;
	box-shadow: 0 0 4px rgba(0,0,0,0.7);
}

.drawer-open .drawer-hamburger-icon	{
	box-shadow:none;
}
.drawer-nav img	{
	margin-bottom: 5vw;
}

.action .column .singlecolumn .infoarea p.date	{
	margin-bottom: 0;
}
.wpulike .wp_ulike_general_class	{
	position: relative;
}

.wpulike-robeen button.wp_ulike_btn	{
	position: absolute !important;
	top: 0;
	left: 0;
}
.wpulike-robeen button.wp_ulike_btn:after	{
	display: none;
}

.wpulike-robeen .count-box	{
	font-size: 14px !important;
	padding: 0 0 0 14px !important;
}

.action .column .singlecolumn .infoarea p.text-right,
.index .wpulike	{
	padding: 0 !important;
	margin-bottom: 0;
}

.action .column .singlecolumn .infoarea p.text-right	{
	margin-top: 15px;
}
.wpulike-robeen button.wp_ulike_btn	{
	height: 18px !important;
}

.infoarea .wpulike-robeen	{
	display: none;
}

.infoarea .nav .wpulike-robeen	{
	display: block;
}

.sub form	{
	background-color: rgba(0,0,0,0.1);
	max-width: 700px;
	margin: 0 auto;
	padding: 50px 30px;
	box-sizing: border-box;
}

.sub form div.mb25	{
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.sub form div.mb25 label	{
	display: block;
	width: 25%;
}
.sub form div.mb25 input[type="file"]	{
	background-color: rgba(255,255,255,0.8);
	padding: 15px 10px;
	box-sizing: border-box;
}
.sub form div.mb25 input,.sub form div.mb25 textarea	{
	display: block;
	width: 70%;
}
#mw_wp_form_mw-wp-form-50 form p	{
	display: block;
	max-width: 500px;
	margin: 0 auto 25px;
	width: 100%;
}
#mw_wp_form_mw-wp-form-50 form label	{
	display: block;
	margin-bottom: 15px;
}

#mw_wp_form_mw-wp-form-50 form label+br	{
	display: none;
}

#mw_wp_form_mw-wp-form-50 form input[type="text"],
#mw_wp_form_mw-wp-form-50 form input[type="email"],
#mw_wp_form_mw-wp-form-50 form textarea	{
	width: 100%;
	font-size: 16px;
	padding: 10px; 
	box-sizing: border-box;
}

.musicplayer	{
	position: fixed;
	display: flex;
	background-color: rgba(0,0,0,0.5);
	bottom: 10px;
	right: 10px;
	align-items: center;
	padding: 5px 10px;
}

.musicplayer p	{
	margin-right: 10px;
	color: white;
	font-size: 10px;
}

.prof_imgarea	{
	background-color: white;
	display: block;
	border-radius: 50%;
	width: 250px;
	height: 250px;
	overflow: hidden;
	border: 1px solid #f66;
	margin: 0 auto 30px;
	position: relative;
}

.prof_imgarea img	{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 820px)	{
	header	{
		z-index: 1;
	}
	header h1	{
		font-size: 3vw;
		margin-left: 3vw;
	}
	header .logo	{
		width: 10vw;
	}
	header a	{
		display: flex;
		align-items: center;
	}
	header .headtitle	{
	width: 80%;
	}
	.pc	{
		display: none !important;
	}
	
	.sp	{
		display: block !important;
	}
	.sp.ib,br.sp	{
		display: inline-block !important;
	}
	
	h1,h2,h3,h4,h5,h6,p,th,td,li,dt,dd	{
		font-size: 3.2vw;
	}
	
	.mb25	{
		margin-bottom: 3vw !important;
	}
	
	.mb50	{
		margin-bottom: 4.5vw !important;
	}
	
	.mb75	{
		margin-bottom: 10vw !important;
	}
	
	.mb250	{
		margin-bottom: 6vw !important;
	}
	
	
	.fs30	{
		font-size: 5vw !important;
	}
	
	.drawer-hamburger	{
		display: block;
	}

	
	.flex,.column	{
		flex-direction: column;
	}
	.key	{
		display: flex;
		align-items: center;
	}
	.key .inner	{
		padding: 0 25px;
	}
	.key .inner .imgarea, .key .inner .infoarea	{
		box-sizing: border-box;
		width: 100%;
		text-align: center;
	}
	.key .inner .imgarea	{
		margin-bottom: 7.5vw;
	}
	.key .inner .infoarea p	{
		font-size: 4vw;
		letter-spacing: 1px;
		font-weight: 900;
		text-shadow: none;
		text-shadow: 1px 1px 4px rgba(0,0,0,0.3), -1px 1px 4px rgba(0,0,0,0.3), 1px -1px 4px rgba(0,0,0,0.3), -1px -1px 4px rgba(0,0,0,0.3);
		color: white;
		line-height: 220%;
	}
	
	.key .inner .infoarea p sup	{
		text-shadow: 1px 1px 1px rgba(255,255,255,0.2), -1px 1px 1px rgba(255,255,255,0.2), 1px -1px 1px rgba(255,255,255,0.2), -1px -1px 1px rgba(255,255,255,0.2);
	}
	.sub main .sec:first-child .inner	{
		padding: 80px 25px 120px;
	}

	main .inner p	{
		font-size: 3.5vw;
		line-height: 200%;
	}
	
	main .sec2 p strong	{
		font-size: 3.5vw;
		display: block;
		padding: 10px;
		text-align: center;
	}
	
	main .sec2 p strong span	{
		display: block;
		margin: 5px auto 0;
		text-align: center;
	}
	main .sec2 .sec2content	{
		width: 100%;
	}
	.column .singlecolumn,.action .column .singlecolumn	{
		width: 100%;
	}
	
	.buttonarea a	{
		margin-bottom: 5vw;
	}
	
	.action .column .singlecolumn .infoarea p.text-right	{
		margin-top: 3vw;
	}
	
	.drawer-nav ul li a	{
		font-size: 3vw;
	}
	
	.sub form div.mb25	{
		flex-direction: column;
	}
	
	.sub form div.mb25 label,
	.sub form div.mb25 input,
	.sub form div.mb25 textarea {
		width: 100% !important;
		margin-bottom: 10px;
	}
	
	.musicplayer	{
		zoom: 80%;
	}
}