@charset "utf-8";
/*-------------------------------------------------------*
Components Styles
- pages -
- footer -
- title -
- index -
- header(navbar) -
-------------------------------------------------------*/
/*  pages ------------------------------------*/

.container{ position: relative; z-index: 1}
.alignfull{ width: auto; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100svw}

/* single */
.wp-singular :where(.post,.page){
	h2:not([class*="frame_"]):not([class*="balloon"]){
		margin-bottom: 2rem;
		padding: 0 1.75rem 1.5rem;
		position: relative;
		&::before,
		&::after{
			position: absolute;
			content: "";
		}
		&::before{
			bottom: .3em;
			right: 0;
			width: .3em;
			height: .3em;
			background: var(--primary);
			border-radius: .05em;
			box-shadow: 0 -.4em 0 var(--info), 0 -.8em 0 var(--success);
		}
		&::after{
			bottom: 0;
			left: 0;
			width: 100%;
			height: calc(100% / 2 - .25em);
			border-bottom: 2px solid;
			border-left: 2px solid;
			border-radius: 0 0 0 1rem;
			border-color: var(--line-light);
		}
	}
	h3:not([class*="frame"]):not([class*="balloon"]){
		margin: 0 0 .75em;
		padding: .25em .15em .65em;
		position: relative;
		&::before,
		&::after{
			content: "";
			position: absolute;
			bottom: 0;
			width: 1em;
			height: .3em;
			border-radius: .1em;
			background : var(--primary);
			z-index: -1;
		}
		&::before{
			left: 0;
			opacity: .7;
		}
		&::after{
			left: 1.1em;
			width: 3em;
			opacity: .2;
		}
		&.secondary{ &::before, &::after{ background : var(--secondary);}}
		&.info{ &::before, &::after{ background : var(--info);}}
		&.success{ &::before, &::after{ background : var(--success);}}
		&.warning{ &::before, &::after{ background : var(--warning);}}
	}
	:is(p,li,th,td) > a{
		text-decoration: underline;
		text-decoration-style: dashed;
		text-underline-offset: .3em;
	}
}

/*breadcrumb*/
#breadcrumbs{ padding: 0;}
.breadcrumb{ margin: 0; padding: 0; background: none;}
.breadcrumb-item div{ display: inline-flex;}
.breadcrumb-item a{ color: var(--black);}
.breadcrumb-item a span{ position: relative;}
.breadcrumb-item a *[class*="icon-"]{ padding-left: 1.35em;}
.breadcrumb-item a *[class*="icon-"]::before{ position: absolute; left: 0; transform: translateY(50%);}
.breadcrumb-item + .breadcrumb-item{padding-left:.5rem}
.breadcrumb-item + .breadcrumb-item::before{ color: #ccc;}
.breadcrumb-item + .breadcrumb-item::before{
	margin-right: .5em;
	padding-right: .25em;
	display: inline-block;
	content: "";
	border-right: solid #ccc 1px;
	height: 1em;
	width: 1px;
	transform: rotate(15deg) translateY(.15em);
}

/*pagination*/
.pagination {
	margin: 0 auto 1em;
	display:flex;
	padding-left:0;
	list-style:none;
	border-radius:.25rem
}
.pagination .nav-links { margin:0 auto}
ul.page-numbers { margin:0; padding:0;list-style: none;}
ul.page-numbers li { float:left}
ul.page-numbers li a,
ul.page-numbers li span.page-numbers {
	display:block;
	border:1px solid var(--line-light);
	background: white;
	color: var(--black);
	height:2.5em;
	width:2.5em;
	text-align:center;
	line-height:2.35em;
	font-size:1em;
	margin:0 .1em;
	border-radius: 50%;
}
ul.page-numbers li a.dots,
ul.page-numbers li span.page-numbers.dots {
 display:block;
 border:none;
 background:0 0;
 min-width:20px
}
ul.page-numbers li a:hover {  text-decoration:none}
ul.page-numbers li:first-child a { margin-left:0}
ul.page-numbers li a:hover { color: white; background-color:var(--primary)}
ul.page-numbers li span.page-numbers.current { color: white; background-color: var(--primary);border-color:var(--primary)}
ul.page-numbers li a:hover .icon-left::before,
ul.page-numbers li a:hover .icon-right::before{ background-color: white;}

/* Definition LISTS */ 
.Dlist.news-list dt{ font-family: var(--font-family-Quicksand);}
.Dlist.news-list dd{ border-bottom: solid 2px var(--black-a010);}
.Dlist.news-list dd a{ color:  var(--black);}
.Dlist.news-list dd a:hover{
	color: var(--link);text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-style: dashed;
	text-underline-offset: .3em;
}
.Dlist.news-list dd a.badge,
.Dlist.news-list dd .new{
	margin-right: .5em;
	border-radius: .25em;
	line-height: 1.2;
	font-size: .8rem;
	font-weight: normal;
}
.Dlist.news-list dd .new{
	padding: calc(.2em - 2px) .5em;
	border: solid 2px var(--primary-light);
	display: none;
	background: white;
}
.Dlist.news-list dd a.badge{
	padding: .2em .5em;
	min-width: 6em;
	background: var(--warning-a050);
	&:hover{ color: inherit; text-decoration: none;}
}
.Dlist.news-list dd a.badge.seminar{ background: var(--primary-a060);}
.Dlist.news-list dd a.badge.xxxx0{ background: var(--secondary-a060);}
.Dlist.news-list dd a.badge.xxxx1{ background: var(--success-a075);}
.Dlist.news-list dd a.badge.xxxx2{ background: var(--info-a075);}

/* LISTS -------------------*/

section ol, section ul { padding-left: 1.5em;}
ul.dot, ul.bullet, ul.ic_check, ul.file, ul.number, ol.number, ul.process_hol,
.imgs-3 ul, ul.list-arrow-1, ul.list-arrow-1 ul{ padding: 0; list-style: none;}

/* Flow Mumber List 1 */
ol.number{
	counter-reset: li;
	line-height: 1.6;
}
ol.number > li {
	margin: 0 0 3em;
	padding: 1.25em 1.25em 1.25em 2.75em;
	position: relative;
	border: solid 1px var(--black-a020);
}
ol.number > li::before{
	position: absolute;
	color: var(--primary);
	counter-increment: li;
	content: counter(li) "";
	top: .65em;
	left: .5em;
	line-height: 1;
	font-size: 2em;
	font-weight: bold;
}
ol.number > li.border-danger::before{ color: #c52943;}
ol.number > li::after{
	content: "";
	position: absolute;
	border-bottom: 2px solid var(--black-a050);
	border-right: 2px solid var(--black-a050);
	left: calc(50% - 1.25em);
	bottom: -2em;
	margin: -1em .5em 0 0;
	width: 2.5em;
	height: 2.5em;
	transform: rotate(45deg);
}
ol.number > li:last-child::after{ display: none;}

/* Flow Mumber List 2 */
ol.flow{
	margin: 0;
	counter-reset: li;
}
ol.flow > li{
	margin: 0 0 1.5em 2em;
	padding: .25em 0 0 1.5em;
	position: relative;
	background: none;
	border-left: 2px dotted var(--black-a035);
	clear: both;
	list-style: none;
}
ol.flow > li::before{
	padding: .25em;
	color: white;
	background: var(--primary);
	border-radius: 1em;
	box-sizing: content-box;
	position: absolute;
	top: .25em;
	left: -1.75em;
    counter-increment: li;
	content: counter(li) "";
	width: 1em;
	line-height: 1;
	text-align: center;
	font-size: 1.8em;
	font-weight: 700;
}
ol.flow li .w50p:last-of-type{ margin: 0 0 .75em;}
ol.flow > li strong{ font-size: 110%;}
ol.flow > li h4{ padding-left: 0;}
ol.flow > li h4::before{ display: none;}
ol.flow > li ul, ol.flow > li dl{ margin-bottom: .7em;}
ol.flow.flow_arrow > li::after{
	padding: .2em 0 0;
	clear: both;
	display: block;
	color: var(--black-a025);
	border-top: solid 1px var(--black-a025);
	text-align: center;
	line-height: .8;
    content: "";
}
ol.flow.flow_arrow > li:last-child::after{ display: none;}

/* process_hol */
ul.process_hol{ display: flex; flex-wrap: wrap;}
ul.process_hol > li{
	margin-bottom: 2em;
	margin-right: 3em;
	padding: 1.5em calc(.75vw + .5em);
	position: relative;
	box-sizing: border-box;
	background-color: var(--primary-a050);
	border-radius: 1em;
}
ul.process_hol > li > strong:first-child{
	display: block;
	font-size: 1.35em;
	text-align: center;
}
ul.process_hol > li ul{ padding: 0;}
ul.process_hol > li li{
	padding-left: 1em;
	position: relative;
	list-style: none;
	line-height: 1.7;
	font-size: .975em;
}
ul.process_hol > li li::before{
	content: "";
	position: absolute;
	top: .5em;
	left: 0;
	width: .5em;
	height: .5em;
	border-radius: 1em;
	background: var(--primary);
	opacity: .5;
}
ul.process_hol > li::after{
	content: "";
	position: absolute;
	border-top: 4px solid var(--primary);
	border-right: 4px solid var(--primary);
	right: -2.5em;
	top: 50%;
	margin: -.8em .5em 0 0;
	width: 1.6em;
	height: 1.6em;
	transform: rotate(45deg);
}
ul.process_hol > li:last-child::after{ display: none;}
ul.process_hol.process_h_3 > li{ flex-basis: calc(33.33333333% - 3em);}
ul.process_hol.process_h_4 > li{ flex-basis: calc(25% - 3em);}
@media (min-width: 992px){
	ul.process_hol.process_h_3 > li:nth-of-type(n+4){ background-color: var(--primary-a010);}
	ul.process_hol.process_h_3 > li:nth-of-type(n+7){ background-color: var(--primary-a015);}
}
@media (max-width: 991.98px){
	ul.process_hol.process_h_3 > li{ margin-right: 2em; flex-basis: calc(50% - 2em);}
	ul.process_hol.process_h_3 > li:nth-child(odd){ clear: both;}
	ul.process_hol.process_h_3 > li:nth-of-type(n+3){ background-color: var(--primary-a007);}
	ul.process_hol.process_h_3 > li:nth-of-type(n+5){ background-color: var(--primary-a010);}
	ul.process_hol.process_h_3 > li:nth-of-type(n+7){ background-color: var(--primary-a01q);}
	ul.process_hol.process_h_3 > li:nth-of-type(n+9){ background-color: var(--primary-a015);}
	ul.process_hol.process_h_4 > li{ flex-basis: calc(33.33333333% - 2em);}
	ul.process_hol.process_h_4 > li:nth-child(3n+1){ clear: both;}
	ul.process_hol > li::after{ right: -1.75em;}
}
@media (max-width: 575.98px){
	ul.process_hol.process_h_3 > li,
	ul.process_hol.process_h_4 > li{ margin: 0 0 2em; flex-basis: 100%;}
	ul.process_hol > li::after{ top: auto; right: calc(50% - 1.25em); bottom: -1.25em; transform: rotate(135deg);}
}
/* anchor */
.anchor_list .wp-block-column{ padding: .75em; border: solid 2px var(--light-a075); border-radius: .5rem;}
.anchor_list .wp-block-column.empty{ border: none;}
.anchor_list ul{ margin: 0; padding: 0;}
.anchor_list li{ list-style: none;}
.anchor_list a{
	margin-bottom: .5em;
	padding: 0 1em .35em .25em;
	display: block;
	border-bottom: solid 2px var(--primary);
	color: var(--primary);
	position: relative;
	text-align: center;
	font-weight: bold;
	&:hover{
		border-bottom-style: dotted;
	}
	&::before{
		position: absolute;
		content: "";
		height: .8em;
		width: .8em;
		right: 0;
		top: .5em;
		-webkit-mask-image: url("icong/arrow_down_bb.svg");
		mask-image: url("icong/arrow_down_bb.svg");
		background-color: var(--primary);
	}
}
.anchor_list li ul{ margin-left: .5em;}
.anchor_list li li{ padding-left: 1em; position: relative;}
.anchor_list li li::before{
	position: absolute;
	content: "";
	height: .5em;
	width: .5em;
	border-radius: .5em;
	left: 0;
	top: .5em;
	background-color: var(--light);
}

ul.anchor{
	margin: 0 0 1.5em;
	padding: 0;
	border: solid 2px var(--light-a075);
	border-radius: .5rem;
	li{
		margin: 0;
		padding: 0;
		list-style: none;
		a{
			padding: .5em 1em .5em 1.5em;
			position: relative;
			display: block;
			color: var(--black);
			text-decoration-color: var(--dark-a050);
			border-bottom: solid 1px var(--light);
			line-height: 1.75;
			&::before{
				position: absolute;
				content: "";
				height: .8em;
				width: .8em;
				right: 1em;
				top: calc(50% - .4em);
				-webkit-mask-image: url("icong/arrow_down_bb.svg");
				mask-image: url("icong/arrow_down_bb.svg");
				background-color: var(--primary);
			}
			&:hover{ color: var(--primary); text-decoration: underline;}
		}
		&:last-child a{ border-bottom: none;}
	}
	&.next li a::before,
	li.next a::before{ transform: rotate(-90deg)}
	br{ display: none;}
}
@media (min-width: 768px){
	ul.anchor{
		padding: .5em calc(1em + 1vw);
		text-align: center;
		&.l{ text-align: left;}
		li{
			display: inline-block;
			a{
				padding: .3em 1.2em;
				border-bottom: none;
				&::before{ left: 0;}
			}
		}
	}
}

/*list-arrow-1*/
.list-arrow-1{ margin: 0;}
.list-arrow-1 li { margin: 0;}
.list-arrow-1 a {
	position: relative;
	color: var(--black);
	padding: .2em 0 .2em 1em;
	display: block;
}
.list-arrow-1 a::before{
	display: block;
	border-style: solid;
	border-width: 1px 1px 0 0;
	transform: translateY(100%) rotate(45deg);
	content: "";
	position: absolute;
	top: .5em;
	border-color: var(--primary);
	height: .5em;
	width: .5em;
	left: 0;
}
.list-arrow-1 span{ display: block;}
.list-arrow-1 ul a{ margin-left: .75em;}
.list-arrow-1 ul a::after{ opacity: .5;}
.list-arrow-1 a.current{ font-weight: bold;}
.list-arrow-1 .list-title a::before{ display: none;}
.sitemap .list-arrow-1{ margin: 0 0 1em;}
.sitemap .list-arrow-1 .list-title a{
	margin: 0 0 .5em;
	padding: .2em .5em;
	border: solid var(--primary-a050);
	border-width: 1px 0;
}
.sitemap .list-arrow-1 .list-title a:hover{ background: var(--primary-a005);}
.sitemap .list-arrow-1 li a{ font-size: .9rem;}
@media (max-width: 575.98px) {
	.list-arrow-1.d-flex li{ margin: 0 .5em;}
}

/* balloon */
.balloon{
	margin: 0 1.5% 2.5em;
	padding: 1.5em 3%;
	position: relative;
	z-index: 1;
	border-radius: .75em;
	border: solid 2px var(--line-light);
}
.balloon.balloon-primary{ border-color: var(--primary-light);}
.balloon.balloon-secondary{ border-color: var(--secondary-light);}
.balloon.balloon-info{ border-color: var(--info-light);}
.balloon.balloon-success{ border-color: var(--success-light);}
.balloon.balloon-warning{ border-color: var(--warning);}
.balloon::before,
.balloon::after{
	left: 10%;
	content: "";
	position: absolute;
	transform: rotate(45deg);
	height: 1.5em;
	width: 1.5em;
}
.balloon::before{
	top: -.9em;
	background : var(--line-light);
}
.balloon.balloon-primary::before{ background: var(--primary-light);}
.balloon.balloon-secondary::before{ background: var(--secondary-light);}
.balloon.balloon-info::before{ background: var(--info-light);}
.balloon.balloon-success::before{ background: var(--success-light);}
.balloon.balloon-warning::before{ background: var(--warning);}

.balloon::after{
	top: -.7em;
	background :white;
}
.balloon_ttl{
	margin: 0 0 .75em;
	padding: .25em .15em .65em;
	position: relative;
	border-radius: 2em;
	z-index: 0;
}
.balloon_ttl::before, .balloon_ttl::after{
	content: "";
	position: absolute;
	bottom: 0;
	width: 1em;
	height: .3em;
	border-radius: .1em;
	background : var(--primary);
	z-index: -1;
}
.balloon_ttl::before{
	left: 0;
	opacity: .7;
}
.balloon_ttl::after{
	left: 1.1em;
	width: 3em;
	opacity: .2;
}
:is(.balloon-primary .balloon_ttl,.balloon_ttl.primary)::before,
:is(.balloon-primary .balloon_ttl,.balloon_ttl.primary)::after{ background : var(--primary);}
:is(.balloon-secondary .balloon_ttl,.balloon_ttl.secondary)::before,
:is(.balloon-secondary .balloon_ttl,.balloon_ttl.secondary)::after{ background : var(--secondary);}
:is(.balloon-info .balloon_ttl,.balloon_ttl.info)::before,
:is(.balloon-info .balloon_ttl,.balloon_ttl.info)::after{ background : var(--info);}
:is(.balloon-success .balloon_ttl,.balloon_ttl.success)::before,
:is(.balloon-success .balloon_ttl,.balloon_ttl.success)::after{ background : var(--success);}
:is(.balloon-warning .balloon_ttl,.balloon_ttl.warning)::before,
:is(.balloon-warning .balloon_ttl,.balloon_ttl.warning)::after{ background : var(--warning);}

.balloon .balloon_check{ margin: 0 0 0 .5em; padding: 0;}
.balloon .balloon_list{ margin: 0 0 1em .5em; padding: 0;}
.balloon .balloon_check li{ margin-bottom: .25em; padding: 0 0 .25em 1.25em; border-bottom: dotted 2px var(--line-light);}
.balloon .balloon_list li{ padding-left: 1em;}
.balloon :is(.balloon_check li,.balloon_list li){ list-style: none; position: relative;}
.balloon :is(.balloon_check li,.balloon_list li)::before{
	position: absolute;
	content: "";
	left: 0;
	background-color: var(--line-dark);
}
.balloon .balloon_check li::before{
	top: .25em;
	height: 1em;
	width: 1em;
	-webkit-mask-image: url("icong/check_square_fill.svg");
	mask-image: url("icong/check_square_fill.svg");
}
.balloon .balloon_list li::before{
	top: .65em;
	height: .5em;
	width: .5em;
	border-radius: .5em;
}
.balloon.balloon-primary :is(.balloon_check li, .balloon_list li)::before{ background-color: var(--primary)}
.balloon.balloon-secondary :is(.balloon_check li, .balloon_list li)::before{ background-color: var(--secondary)}
.balloon.balloon-info :is(.balloon_check li, .balloon_list li)::before{ background-color: var(--info)}
.balloon.balloon-success :is(.balloon_check li, .balloon_list li)::before{ background-color: var(--success)}
.balloon.balloon-warning :is(.balloon_check li, .balloon_list li)::before{ background-color: var(--warning)}

.bullet{ margin: 0 0 1em .5em; padding: 0;}
.bullet li{ padding-left: 1em; list-style: none; position: relative;}
.bullet li::before{
	position: absolute;
	content: "";
	left: 0;
	background-color: var(--line-dark);
}
.bullet li::before{
	top: .65em;
	height: .5em;
	width: .5em;
	border-radius: .5em;
	background-color: var(--primary)
}
.bullet.secondary li::before{ background-color: var(--secondary)}
.bullet.info li::before{ background-color: var(--info)}
.bullet.success li::before{ background-color: var(--success)}
.bullet.warning li::before{ background-color: var(--warning)}

/* wordpress ----------------------------*/

.wp-block-columns.are-vertically-aligned-center{ align-items: center !important;}

*[class*="wp-block-"] mark{ color: var(--black) !important;}
*[class*="wp-block-"] mark.has-orange-1-color{ background: linear-gradient(transparent 70%, var(--primary-a025) 70%);}
*[class*="wp-block-"] mark.has-orange-2-color{ background: linear-gradient(transparent 70%, var(--secondary-a025) 70%);}
*[class*="wp-block-"] mark.has-green-color{ background: linear-gradient(transparent 70%, var(--info-a025) 70%);}
*[class*="wp-block-"] mark.has-pink-color{ background: linear-gradient(transparent 70%, var(--success-a025) 70%);}
*[class*="wp-block-"] mark.has-yellow-color{ background: linear-gradient(transparent 70%, var(--warning-a025) 70%);}
*[class*="wp-block-"] strong mark.has-orange-1-color{ background: linear-gradient(transparent 70%, var(--primary-a050) 70%);}
*[class*="wp-block-"] strong mark.has-orange-2-color{ background: linear-gradient(transparent 70%, var(--secondary-a050) 70%);}
*[class*="wp-block-"] strong mark.has-green-color{ background: linear-gradient(transparent 70%, var(--info-a050) 70%);}
*[class*="wp-block-"] strong mark.has-pink-color{ background: linear-gradient(transparent 70%, var(--success-a050) 70%);}
*[class*="wp-block-"] strong mark.has-yellow-color{ background: linear-gradient(transparent 70%, var(--warning-a050) 70%);}

:root{
	--wp--preset--font-size--small: .9em;
	--wp--preset--font-size--medium: 1em;
	--wp--preset--font-size--large: 1.25em;
	--wp--preset--font-size--x-large: 1.5em;
	--wp--preset--font-size--normal: var(--wp--preset--font-size--medium);
	--wp--preset--font-size--huge: var(--wp--preset--font-size--x-large);
}
.has-small-font-size{ line-height: 1.6; font-size: var(--wp--preset--font-size--small) !important}
.has-regular-font-size{ font-size: var(--wp--preset--font-size--medium) !important}
.has-large-font-size{ font-size: var(--wp--preset--font-size--large) !important}
.has-x-large-font-size{ font-size: var(--wp--preset--font-size--x-large) !important}
.has-normal-font-size{ font-size: var(--wp--preset--font-size--normal) !important}
.has-huge-font-size{ font-size: var(--wp--preset--font-size--huge) !important}

:where(.is-layout-grid),
.is-layout-flex{ gap: calc(1.5em + 1vw);}
:where(.is-layout-grid).gap-3q,
.is-layout-flex.gap-3q{ gap: calc(1.175em + .75vw);}
:where(.is-layout-grid).gap-h,
.is-layout-flex.gap-h{ gap: calc(.75em + .5vw);}
:where(.is-layout-grid).gap-q,
.is-layout-flex.gap-q{ gap: calc(.375em + .25vw);}
:where(.is-layout-grid).gap-0,
.is-layout-flex.gap-0{ gap: 0;}
@media (min-width:782px){
	.is-layout-flex.gap-md-3q){ gap: calc(1.175em + .75vw);}
	.is-layout-flex.gap-md-h{ gap: calc(.75em + .5vw);}
	.is-layout-flex.gap-md-q{ gap: calc(.375em + .25vw);}
	.is-layout-flex.gap-md-0{ gap: 0;}
}
@media (max-width:781.99px){
	.is-layout-flex.gap-sm-3q{ gap: calc(1.175em + .75vw);}
	.is-layout-flex.gap-sm-h{ gap: calc(.75em + .5vw);}
	.is-layout-flex.gap-sm-q{ gap: calc(.375em + .25vw);}
	.is-layout-flex.gap-sm-0{ gap: 0;}
}
.mb-1hvw{ margin-bottom: calc(.75em + .5vw) !important;}

.wp-block-heading sub{ line-height: 1.2;}
.wp-block-heading:has(sub){ display: flex; align-items: end; flex-wrap: wrap; gap: .25em;}
.wp-block-heading.d-flex{ justify-content: space-between;}
.wp-block-heading.sub_sml1 sub{ font-size: .6em;}
.wp-block-heading.sub_sml2 sub{ font-size: .5em;}
.wp-block-heading.sub_sml3 sub{ font-size: .4em;}

.wp-block-image :is(.alignleft,.alignright){ max-width: 40%; position: relative; z-index: 2;}
.wp-block-image .alignleft{ margin: .25em 3% .8em 0;}
.wp-block-image .alignright{ margin: .25em 0 .8em 3%;}

.wp-block-file:not(.wp-element-button) { font-size: 1em;}
.wp-block-file * + .wp-block-file__button,
:where(.wp-block-file__button){ padding: .25em 2.5em .25em 1.5em;}
.wp-block-file * + .wp-block-file__button{ color: white; background: var(--primary); position: relative; display: inline-block;}
.wp-block-file * + .wp-block-file__button:hover{ color: white; background: var(--primary-dark);}
.wp-block-file * + .wp-block-file__button::after{
	position: absolute;
	content: "";
	right: 1em;
	top: calc(50% - .5em);
	height: 1em;
	width: 1em;
	background-color: white;
	-webkit-mask-image: url("icong/download.svg");
	mask-image: url("icong/download.svg");
	display: block;
}
.wp-block-image img{ border-radius: .35rem;}
.wp-block-image figcaption{ line-height: 1.6; font-size: .9em;}

@media (max-width: 575.98px){
	.wp-block-image .alignleft,
	.wp-block-image .alignright{ margin: 0 auto 1em; max-width: 70%; float: none;}
}
.wp-lightbox-container img, .wp-lightbox-overlay{ cursor: pointer;}
.wp-lightbox-overlay .close-button{ fill: white !important; right: auto; left: calc(env(safe-area-inset-left) + 16px);}
.wp-lightbox-overlay .wp-block-image{ background-color: white; border-radius: .5em;}
.wp-lightbox-overlay .wp-block-image img{ padding: .8em;}
.wp-lightbox-overlay .wp-block-image figcaption { display: block; position: absolute; bottom: -.65em;}
.wp-lightbox-overlay.zoom.active .scrim{ background-color: var(--black-a060) !important;}
.wp-lightbox-overlay.zoom.active .lightbox-image-container img{ width: auto !important;}


/* search */
.searchform{ text-align: center;}
.searchform > div{ max-width: 100%;}
.searchform .screen-reader-text{ display: none;}
.searchform #s{
	margin: auto;
	padding: .25rem;
	display: inline-block;
	background-color: white;
	background-clip: padding-box;
	border: 1px solid var(--black-a020);
	max-width: 75%;
	width: auto;
	height: calc(1.5em + .75rem + 2px);
	position: relative;
	vertical-align: middle;
	border-radius: 6.25rem;
	line-height: 1.7;
	font-size: 90%;
}
.searchform #searchsubmit{
	margin-right: auto;
	display: inline-block;
	color: var(--black-a050);
	border-radius: 100%;
	background: transparent url(img/zoom.png) no-repeat 50% 50%;
	border: 1px solid var(--black-a050);
	width: 1.9375rem;
	height: 1.9375rem;
	vertical-align: middle;
	line-height: 1.9375rem;
	text-align: center;
	text-indent: -9999px;
	font-weight: 400;
}

/* form */
.form-control{ padding: .3em; border-color: var(--black-a015); color: var(--black); line-height: 1.7; font-size: 1em;}
.form-control.w-md-25{ margin-right: .5em; display: inline;}
.wpcf7-form strong.red{ font-size: 1.5em; vertical-align: middle;}
.wpcf7 input[type="submit"]{ margin: .75em auto; padding: .5em 2em;}
span.wpcf7-not-valid-tip { position: inherit; top: auto; clear: both;}
input.form-control[name="your-email"],
select#pref{ margin-bottom: .5em;}
div.wpcf7-response-output,
div.wpcf7-aborted,
div.wpcf7-mail-sent-ng,
div.wpcf7-spam-blocked,
div.wpcf7-acceptance-missing,
div.wpcf7-validation-errors,
.use-floating-validation-tip span.wpcf7-not-valid-tip{ padding: 1em !important; color: var(--danger-light); border: 2px solid var(--danger-light) !important; text-align: center !important; font-weight: bold;}
div.wpcf7-mail-sent-ok { display: none !important;}
.wpcf7 .Dlist dt::before{ display: none;}
.wpcf7 .Dlist > p > span,
.wpcf7 .Dlist dt > span,
span.wpcf7-not-valid-tip { color: var(--danger-light) !important; font-weight: bold !important; font-size: 95% !important;}
span.wpcf7-list-item{ margin: 0 1em 0 0 !important;}
label { margin: 0; display: block;}

/* gallery */
.wp-caption{ background: none; border: none;}
.wp-caption img{ margin: 0 0 .3em; max-width: 100% !important;}
.wp-caption-text,
.wp-caption p.wp-caption-text{
	margin: .5em 0;
	padding: 0;
	border: none;
	background: none;
	width: auto !important;
	line-height: 1.6 !important;
	text-align: left;
	font-size: 90%;
}

/* lightbox */
.nivo-lightbox-theme-default .nivo-lightbox-title {
	font: inherit !important;
    background: white !important;
    color: var(--black) !important;
    border-radius: 0 !important;
}
/* posts */
#post_archive .archive{ border-bottom: solid 1px var(--black-a015);}
#post_archive .post.type-post p{ margin-bottom: .35em;}
.meta{ margin-bottom: .5em; text-align: right;}

/* posts_navigation */
.navigation_wrap .navigation{
	margin: 0 0 3em;
	padding: 1em;
	border: solid 2px var(--primary-a025);
	border-radius: .5rem;
	h2.screen-reader-text{ display: none;}
	.nav-links{
		display: flex;
		justify-content: space-between;
		.nav-next{ margin-left: auto;}
		.pager-btn.btn-sm{ min-width: inherit;}
	}
}

/* youtube */
.youtube_wrap{
	width: 100%;
	height: 0;
	position: relative;
	padding-top: 56.25%;
	overflow: hidden;
}
.youtube_wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* Dlist ----------------------------*/
dl{ margin-top: 0; padding: 0;}
dl dl{ margin-bottom: 0 !important;}
dt, dd{ margin-bottom: .35em;}
dt{ position: relative; font-weight: bold;}
.dt-ic > dt{ padding-left: 1em; position: relative;}
.dt-ic > dt::before{
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: .5em;
	height: 2px;
	background: var(--primary-a050);
}
dd{ margin: 0 0 1em; padding-bottom: .5em; border-left: none; border-bottom: 2px dotted var(--black-a015);}
dd dd:last-child{ margin: 0; padding-bottom: 0; border-bottom: none;}
dd ul{ margin: 0; padding: 0 0 0 1.25em;}
dd ol{ margin: 0 0 0 1em; padding: 0 0 0 .5em;}
.Dlist{ margin: 0 0 1.5em;}
.Dlist > dt{ margin: 0; padding: 0; float: left; width: 8em; border-left: none; font-weight: normal;}
.Dlist > dd{ margin: 0 0 .6em; padding: 0 0 .5em 8.5em;}
.Dlist.dt_S > dt{ width: 5em;}
.Dlist.dt_S > dd{ padding-left: 6em;}
.Dlist.dt_L > dt{ width: 10em;}
.Dlist.dt_L > dd{ padding-left: 11em;}
.Dlist.dt_LL > dt{ width: 14em;}
.Dlist.dt_LL > dd{ padding-left: 15em;}
.Dlist > dd dt, .Dlist.nobd > dt,
.Dlist > dd dd, .Dlist.nobd > dd{ margin: 0; padding-bottom: 0; border-bottom: none;}
.Dlist dd ul .ttl{
	margin: 0 0 0 -1em;
	padding: 0;
	font-weight: bold;
}
.Dlist dd p:last-child{ margin-bottom: 0;}
.dt-ic-fa dt::before{
	margin-right: .3em;
	content: "";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
}
.Dlist.dt-ic > dt{ padding-left: 1em;}
.dt-ic-primary > dt::before{ border-color: var(--primary);}
.dt-ic-secondary > dt::before{ border-color: var(--secondary);}
.dt-ic-success > dt::before{ border-color: var(--success);}
.dt-ic-danger > dt::before{ border-color: var(--danger);}
.dt-ic-warning > dt::before{ border-color: var(--warning);}
.dt-ic-dark > dt::before{ color: var(--line-dark);}

@media (max-width: 575.98px){
	.Dlist dt, .Dlist.dt_S > dt, .Dlist.dt_L > dt, .Dlist.dt_LL > dt,
	.Dlist dd, .Dlist.dt_S > dd, .Dlist.dt_L > dd, .Dlist.dt_LL > dd{ float: none; padding-left: 0;}
}

/* --- GET HIGHT ------------------- */

.clrfx::after, .Dlist dl::after, .Dlist::after, .Dlist dd::after{ content:""; display: table;clear: both;}
.clrfx, .Dlist dl, .Dlist, .Dlist dd, .veu_qaItem dd{zoom:1;}

/*  footer ------------------------------------*/

footer{ background: var(--dark); color: white;}
footer a, footer a:hover{ color: white;}
footer a:hover{ text-decoration: underline; text-decoration-style: dotted;}
footer .main-logo img{ width: 360px; max-width: 80%;}

footer nav+section{ padding-top: 3em;}
footer nav{ padding: 2.25em 1em 2em;}
footer nav ul{
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style: none;
	li a{
		padding: .25em 1.5em;
		display: block;
		&:hover{ text-decoration-color: var(--white-a050)}
	}
	.s_menu{ display: none;}
}
@media (max-width: 40em){
	footer nav ul{
		justify-content: left;
		li{
			flex-basis: calc(100% / 3);
			flex-grow: 0;
		}
		li a{ padding: .25em .5em;}
	}
}
@media (max-width: 30em){
	footer nav ul li{ flex-basis: 50%;}
}
#pageTop{
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 9999;
	a{
		display: block;
		z-index: 3000;
		width: calc(2em + 3vw);
		height: calc(2em + 3vw);
		box-shadow: .1em .1em .2em var(--black-a015);
		border-radius: .5em;
		line-height: 1em;
		text-align: center;
		span{
			display: none;
		}
		&::before{
			margin-top: -.25em;
			display: block;
			border: solid var(--dark);
			border-width: calc((2em + 3vw) / 12) calc((2em + 3vw) / 12) 0 0;
			transform: rotate(-45deg) translateX(50%);
			content: "";
			position: absolute;
			height: calc((2em + 3vw) / 3.6);
			width: calc((2em + 3vw) / 3.6);
			right: calc((2em + 3vw) / 2.2);
			top: calc(50% + .35em);
		}
	}
}
#telFix{
    position: fixed;
    bottom: 10px;
    left: 10px;
    z-index: 9998;
}
#telFix a.btn{
    line-height: 1.1;
    font-size: 1.25em;
	font-family: var(--font-family-Quicksand);
}
#telFix a.btn:hover{cursor: default;}

/*  title ------------------------------------*/

*[class*="bg-img-"]{
	padding: 2.5em 0 6em;
	background-size: 1000px;
	background-position: 50% 50%;
	background-attachment: fixed;
	/*background-size: cover;
	background-repeat: no-repeat*/;
}
.bg-img-01{ background-image: url(img/ptn_01.webp);}/*---yellow---*/
.bg-img-02{ background-image: url(img/ptn_02.webp);}/*---orange---*/
.bg-img-03{ background-image: url(img/ptn_03.webp);}/*---green---*/
.bg-img-04{ background-image: url(img/ptn_04.webp);}/*---pink---*/
.bg-img-05{ background-image: url(img/ptn_05.webp);}/*---orange---*/
.bg-img-06{ background-image: url(img/ptn_06.webp);}/**/

.bg-img-05-grad{ background-image: linear-gradient(white,var(--white-a025)), url(img/ptn_05.webp); background-attachment: scroll;}
.bg-img-fix{ background-attachment: fixed;}

/* round_white BackGround */
.round_bg{ position: relative; z-index: 0;}
.round_bg::after{
	position: absolute;
	content: "";
	height: 10em;
	width: 100%;
	background-image: url(img/round_white1.svg);
	background-image: url(img/wave_left_gradient.svg);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: 100%;
	left: 0;
	bottom:-1px;
	z-index: 0;
}
.round_bg_3::after{ background-image: url(img/round_white3.svg);}
.round_bg_3x2::after{
	background-image: url(img/round_white3.svg);
	height: 13em;
}
.round_bg_5::after{
	bottom: auto;
	top: 0;
	height: 6em;
	background-image: url(img/round_white5.svg);
}
.round_bg_5.round_bg_5_reverse::after{background-image: url(img/round_white6.svg);}
.round_bg_6::after{
	height: 6em;
	bottom: calc(-6em + 1px);
	background-image: url(img/wave_left_gradient_r.svg);
	background-size: 100% 6em;
}
.round_bg_7::after{
	height: 5em;
	bottom: -5em;
	background-image: url(img/wave_right_gradient_r.svg) ;
	background-position: 0 0;
}
@media (max-width: 767.98px){
	.round_bg::after{ height: 5em;}
	.round_bg_3x2::after{ height: 6.5em;}
	.round_bg_6::after{ bottom: -3em; background-size: 100% 3em; height: 3em;}
	.round_bg_7::after{ height: 2.5em; bottom: -2.5em;}
}
.round_bg_h::after{ height: 5em;}/*half*/
.round_bg_q::after{ height: 2.5em;}/*quarter*/

/* ballon bg */
.ballon-bg{ position: relative;}
.ballon-bg img{ padding: 2em; border-radius: 4em; position: relative; z-index: 2;}
.ballon-bg::after{
	position: absolute;
	content: "";
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	border-radius: 90% 60% 70% 60%;
	background: url(img/tex_01.webp) no-repeat;
	background-size: cover;
	opacity: .8;
}
.ballon-bg.ballon-bg-02::after{ background-image: url(img/tex_02.webp); border-radius: 60% 70% 80% 70%}
.ballon-bg.ballon-bg-03::after{ background-image: url(img/tex_03.webp); border-radius: 60% 90% 80% 70%}
.ballon-bg.ballon-bg-04::after{ background-image: url(img/tex_04.webp);}

/*  index & page title ------------------------------------*/

.promo-block {
	padding: 0;
	position: relative;
	background-image: url(img/ptn_01.webp);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: cover;
}
.promo-block article.page_title{ height: 22em; display: flex; align-items: center;}
.promo-block hgroup{ position: relative; z-index: 2;margin: 0; text-align: center;}
.promo-block hgroup :is(h1,h2){ margin: 0; line-height: 1.4;}
.promo-block hgroup h1{ font-weight: 600; font-size: calc(2vw + 2em);}
.promo-block hgroup h2{ font-weight: 700; font-size: calc(1.15em + .8vw);letter-spacing:.1em;color:var(--secondary-dark)}
.promo-block hgroup h2.font-Quicksand{ text-transform: capitalize;}
.promo-block .main_visual{
	mask-image: url(img/wave_left_all.svg);
	mask-size: 100% 100%;
	mask-repeat: no-repeat;
}
.promo-block .main_visual img,
.promo-block .main_visual video{
	vertical-align: bottom;
	object-fit: cover;
	width: 100%;
}
.promo-block .main_visual img{ object-position: 25% 25%; height: 28em; max-height: calc(75vh - 70px)}
.promo-block .main_visual video{ object-position: 0 25%; height: 48em; max-height: calc(100vh - 70px)}
.promo-block .main_visual{
	position: relative;
}
.promo-block .main_visual::after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: var(--black-a020);
	background-image: radial-gradient(var(--primary) 30%, transparent 31%), radial-gradient(var(--warning) 30%, transparent 31%);
	background-size: 3px 3px;
	background-position: 0 0, 1px 1px;
	opacity: .3;
}
.promo-block .main_visual:has(video)::after{opacity: .6;}
.promo-block.bg_mainvisual{ padding: 0 0 10vh;}
.promo-block.page_title{ padding: 0 0 5vh;}
.promo-block-catch{
	padding: 0 1.5%;
	position: absolute;
	bottom: 17.5%;
	left: 0;
	width: 100%;
	z-index: 100;
	line-height: 1.4;
	text-align: center;
}
.promo-block-catch p{ margin: 0; text-align: center; font-weight: 700;}
.promo-block-catch .catch-1{
	margin-bottom: .5rem;
	letter-spacing: -.05em;
	line-height: 1.2;
	text-align: right;
	display: table;
	margin: 0 auto;
	font-size: calc(1.5vw + 1.5em);
}
.promo-block-catch .catch-2{ margin-top: .5rem; line-height: 1.4; font-size: calc(1.5vw + .8em);}
.promo-block-catch .catch-1 strong{ font-size: 1.5em;}
@media (max-width: 767.98px) {
	.promo-block.bg_mainvisual .main_visual,
	.promo-block.page_title .main_visual{
		width: 140%;
		max-width: 140%;
		margin-left: -20%;
		mask-size: 90% 100%;
	}
	.promo-block.bg_mainvisual .main_visual::after,
	.promo-block.page_title .main_visual::after{
		width: 140%;
		/*mask-size: 105% 100%;*/
	}
}
@media (max-width: 575.98px) {
	.promo-block.bg_mainvisual .main_visual,
	.promo-block.page_title .main_visual {
		width: 200%;
		max-width: 200%;
		mask-size: 75% 100%;
	}
	.promo-block.bg_mainvisual .main_visual::after,
	.promo-block.page_title .main_visual::after{
		width: 200%;
		/*mask-size: 50% 100%;*/
	}
	.promo-block-catch .catch-1 {
		text-align: center;
	}
	.promo-block-catch .catch-1 strong{ font-size: 1.4em;}
	.promo-block-catch .catch-2 {
		margin-top: 0;
		line-height: 1.2;
	}
	.promo-block .main_visual img{ max-height: calc(50vh - 70px)}
	.promo-block .main_visual video{ max-height: calc(75vh - 70px)}
}
.promo-block hgroup h1,
.promo-block hgroup h2,
.promo-block-catch .catch-1,
.promo-block-catch .catch-2{ text-shadow:
	0 .08em 0 white, 0 -.08em 0 white, .08em 0 0 white, -.08em 0 0 white,
	.021em .077em 0 white, -.021em .077em 0 white, .021em -.077em 0 white, -.021em -.077em 0 white,
	.04em .069em 0 white, -.04em .069em 0 white, .04em -.069em 0 white, -.04em -.069em 0 white,
	.057em .057em 0 white, -.057em .057em 0 white, .057em -.057em 0 white, -.057em -.057em 0 white,
	.069em .04em 0 white, -.069em .04em 0 white, .069em -.04em 0 white, -.069em -.04em 0 white,
	.077em .021em 0 white, -.077em .021em 0 white, .077em -.021em 0 white, -.077em -.021em 0 white,
	.1em .1em .35em var(--black-a050);
}

.iconImg.wp-block-image,
.iconImgs .wp-block-image{ margin-bottom: .5em; padding: .7em; border-radius: 50%; max-width: 7em; background: var(--primary-a025)}
.iconImg.wp-block-image.icon_secondary_025,
.iconImgs.icon_secondary_025 .wp-block-image{ background: var(--secondary-a025)}
.iconImg.wp-block-image.icon_warning_025,
.iconImgs.icon_warning_025 .wp-block-image,
.iconImgs .wp-block-group:nth-child(even) .wp-block-image{ background: var(--warning-a025)}

header.iconTTL{ margin-bottom: 2em; gap: calc(.75em + .5vw)}
header.iconTTL > *{ flex: 1}
header.iconTTL .iconImg.wp-block-image{ margin-bottom: 1.5rem; max-width: calc(3.5vw + 2.5em);}

.scroll_btn{
	width: 100%;
	position: absolute;
	bottom: -1em;
	left: 0;
	z-index: 100;
	transition: .5s;
	line-height: 1.5;
}
.scroll_btn a{ color: var(--black);}
.scroll_btn span {
	display: block;
	font-family: var(--font-family-Quicksand);
	font-size: calc(1em + 1vw);}
.scroll_btn a i{
	animation: move-y .75s infinite alternate ease-in-out;
	display: inline-block;
}
@keyframes move-y {
  from { transform: translateY(0); }
  to { transform: translateY(1em);}
}

/*  hanepyon ------------------------------------*/

.wp-block-columns > .wp-block-column.hanepyon{ flex-basis: calc(4rem + 3vw); flex-grow: 0;}
.hanepyon.wp-block-separator{
	position: relative;
	height: 0;
	&::before{
		content: "";
		position: absolute;
		width: calc(4rem + 3vw);
		height: calc(4rem + 3vw);
		top: 0;
		z-index: 3;
		background-repeat: no-repeat;
		background-size: contain;
		background-image: url("hanepyon/hanepyon_h_138.svg")
	}
}
.hanepyon.hane_center::before{ left: calc(50% - (4rem + 3vw) / 2);}
.hanepyon.hane_left::before{ left: 2%;}
.hanepyon.hane_right::before{ right: 2%;}
.hanepyon.hane_top::before{ top: calc(-4em - 3vw);}
.hanepyon.hane_bottom::before{ top: calc(-50% - (4rem + 3vw) / 2);}
.hanepyon.hane_h_137::before{ background-image: url(hanepyon/hanepyon_h_137.svg)}
.hanepyon.hane_118::before{ background-image: url(hanepyon/hanepyon_118.svg)}
.hanepyon.hane_121::before{ background-image: url(hanepyon/hanepyon_121.svg)}
.hanepyon.hane_200::before{ background-image: url(hanepyon/hanepyon_200.svg)}
.hanepyon.hane_215::before{ background-image: url(hanepyon/hanepyon_215.svg)}
.hanepyon.hane_244::before{ background-image: url(hanepyon/hanepyon_244.svg)}
.hanepyon.hane_248::before{ background-image: url(hanepyon/hanepyon_248.svg)}
.hanepyon.hane_287::before{ background-image: url(hanepyon/hanepyon_287.svg)}
.hanepyon.hane_305::before{ background-image: url(hanepyon/hanepyon_305.svg)}

.hane_space_r{ padding-right: calc(4.5rem + 3vw + 2%)}
.hane_space_l{ padding-left: calc(4.5rem + 3vw + 2%)}
