/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0.147
*/

.category-blog .archive-page-header .page-title {
	display: none;
	padding: 0;
	margin: 0;
}
#wrapper {
	background:-webkit-linear-gradient(#fff 0%, #DDFAF8 100%) bottom / 100% 920px no-repeat, #fff;
	background:-o-linear-gradient(#fff 0%, #DDFAF8 100%) bottom / 100% 920px no-repeat, #fff;
	background:linear-gradient(#fff 0%, #DDFAF8 100%) bottom / 100% 920px no-repeat, #fff;
}
body {
	line-height: 1.8;
}
#main {
	background-color: transparent;
}
.btn_fix {
	position: fixed;
	right: 0;
	top: 50%;
	max-width: 80px;
	max-height: 200px;
}
.btn_fix .banner-bg {
	border-radius: 12px 0 0 12px;
}
.header-wrapper.stuck {
	 box-shadow: none;
}
.header-wrapper.stuck .header-bg-color {
	border-radius: 100px;
	filter: drop-shadow(0 6px 10px rgba(12,12,13,.1)) drop-shadow(0 4px 4px rgba(12,12,13,.05));
}
.header-wrapper.stuck #logo img {
	width: 85%;
}
.absolute-footer {
	margin-top: -40px;
	font-size: .75em;
}
.home_kv {
	padding: 0 1vw;
	max-width: 1360px;
	margin: 0 auto -50px;
}/*
.home_kv .flickity-slider > .row	{
	position: static !important;
	margin-right: auto;
	margin-left: auto;
}*/
.home_kv .flickity-page-dots {
	bottom: 90px;
	left: -6vw;
	right: auto;
	transform: rotate(90deg);
}
.home_kv .slider-nav-dots-dashes-spaced .flickity-page-dots .dot {
	height: 2px;
	width: 60px;
	opacity: 1;
}
.slider-nav-light .flickity-page-dots .dot {
	border: none;
	background: #DDECEC;
	overflow: hidden;
	position: relative;
}
.slider-nav-light .flickity-page-dots .dot {
	border-color: #DDECEC;
}
.slider-nav-light .flickity-page-dots .dot.is-selected {
	background: #DDECEC;
}
.slider-nav-light .flickity-page-dots .dot::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0;
	background: var(--primary-color);
}
.slider-nav-light .flickity-page-dots .dot.is-selected::before {
		animation: progressBar 4s linear forwards;
}
@keyframes progressBar {
	from { width: 0; }
	to { width: 100%; }
}
.img_scroll {
	--rotate-speed: 17s;
	cursor: pointer;
}
.img_scroll_bnr .img_scroll .img-inner img {
	animation: smooth-rotate var(--rotate-speed) linear infinite;
	transform-origin: 50% 50%;
	transition: animation-duration 1s cubic-bezier(0.5, 0, 1, 1);
}
@keyframes smooth-rotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
.img_scroll_arrow {
	display: inline-block;
	transition: transform 0.4s ease-in-out !important;
}
.img_scroll_bnr:hover .img_scroll_arrow {
	transform: translateY(-30%) !important;
}
.waterdrop01 {
	animation: poyon01 6s ease-out infinite;
	transform-origin: center;
}
@keyframes poyon01 {
	0%, 90% { transform: translate(0, 0) scale(1) rotate(0); }
	92% { transform: translate(0, 4px) scale(0.96, 1.05); }
	95% { transform: translate(0, -6px) scale(1.05, 0.94); }
	98% { transform: translate(0, 2px) scale(0.98, 1.02); }
	100% { transform: translate(0, 0) scale(1) rotate(0); }
}
.waterdrop02 {
	animation: poyon02 7s ease-out infinite;
	animation-delay: 1.2s;
	transform-origin: center;
}
@keyframes poyon02 {
	0%, 88% { transform: translate(0, 0) scale(1) rotate(0); }
	90% { transform: translate(0, 5px) scale(0.95, 1.06); }
	93% { transform: translate(0, -7px) scale(1.06, 0.94); }
	97% { transform: translate(0, 3px) scale(0.98, 1.02); }
	100% { transform: translate(0, 0) scale(1) rotate(0); }
}
.waterdrop03 {
	animation: poyon03 8s ease-out infinite;
	animation-delay: 2s;
	transform-origin: center;
}
@keyframes poyon03 {
	0%, 85% { transform: translate(0, 0) scale(1) rotate(0); }
	87% { transform: translate(1px, 4px) scale(0.96, 1.05) rotate(1deg); }
	90% { transform: translate(-1px, -6px) scale(1.05, 0.95) rotate(-1deg); }
	95% { transform: translate(1px, 2px) scale(0.98, 1.02); }
	100% { transform: translate(0, 0) scale(1) rotate(0); }
}
.nav .nav-dropdown {
	color: #fff;
	padding: 0;
	border-radius: 8px;
	margin-left: -5em;
}
.nav-dropdown.nav-dropdown-default>li>a {
	margin: 0;
	border-color: #0093CC;
	padding: 1em;
	text-align: center;
	font-weight: 600;
}
.bg_green {
	display: inline-block;
	background: var(--primary-color);
}
.bg_grad_green > .col-inner {
		background: linear-gradient(to bottom, #F0FDFC 0%, #E6FBFF 100%), #F0FDFC !important;
}
.bg_grad_section > .section-bg {
	background: linear-gradient(to bottom, #fff 0%, #DDFAF8 calc(100% - 43vw)), #DDFAF8;
}
.bg_semicircle > .section-bg {
	background: url(https://biryushi.co.jp/wp/wp-content/uploads/2025/11/bg_semicircle.svg) no-repeat 50% 0	/ 100%;
}
.bg_semicircle_t {
	margin-top: -300px;
	margin-top: -44.236%;
}
.bg_semicircle_t > .section-bg {
	background: url(https://biryushi.co.jp/wp/wp-content/uploads/2025/11/bg_semicircle_t.svg) no-repeat 50% 0	/ 100%;
}
.bg_grad_semicircle_low > .section-bg {
	--img-ratio: 50.27%;
	background: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/bg_semicircle-2.svg") no-repeat 50% 100% /100% auto,linear-gradient(to bottom, #fff 0%, #DDFAF8 var(--img-ratio), #DDFAF8 var(--img-ratio));
}
.bg_grad_semicircle > .section-bg {
	--img-ratio: 50.27%;
	background: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/bg_semicircle.svg") no-repeat 50% 100% /100% auto,linear-gradient(to bottom, #fff 0%, #DDFAF8 var(--img-ratio), #DDFAF8 var(--img-ratio));
}
.bg_grad_deep > .col-inner {
	background: linear-gradient(to right, var(--primary-color) 0%, #0045A6 100%);
}
.bg_grad_deep_tb > .banner-inner > .banner-bg {
	background: linear-gradient(to bottom, var(--primary-color) 0%, #0045A6 100%);
}
.bg_blur .banner-bg {
	background-color: rgb(255, 255, 255);
	border-radius: 500px;
	filter: blur(6px);
}
.bg_blur::before {
	content: "";
	background-color: rgb(255, 255, 255);
	border-radius: 100%;
	filter: blur(6px);
	position: absolute;
	top: 10%;
	left: 10%;
	width: 80%;
	height: 80%;
	z-index: 0;
	padding-top: 80%;
}
.marker_yellow {
	background: linear-gradient(transparent 80%, #FDFFA3 80%);
}
.fukidashi_t {
	position: relative;
}
.fukidashi_t::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 50%;
	transform: translateX(-50%);
	border-width: 0 7px 7px 7px;
	border-style: solid;
	border-color: transparent transparent #fff transparent;
}
.shadow_diagonal_blue {
	overflow: visible !important;
}
.shadow_diagonal_blue::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: #DCF4F4;
	left: 0px;
	transform: rotate(-0deg);
	opacity: 0;
	transition: transform 0.8s ease-out 0.3s, opacity 0.8s ease-out 0.3s;
	z-index: -1;
}
.shadow_diagonal_blue.in-view::before {
	left: -30px;
	transform: rotate(-6deg);
	opacity: 1;
}
.tate {
	writing-mode: vertical-rl;
}
.dis_shadow > .col > .col-inner {
	border:1px solid #DDECEC;
	box-shadow: 0 8px 0 #DDECEC;
}
.page_head::before {
	content: "";
	position: absolute;
	top: 190px;
	left: 0;
	width: 0;
	height: 2px;
	background-color: #39C9DB;
	pointer-events: none;
	animation: lineGrow 1.5s ease-out forwards;
}
@keyframes lineGrow {
	0% { width: 0; }
	100% { width: 46vw; }

}
.btn_arrow_circle span {
	color: #fff;
	width: 100%;
	display: inline-block;
	text-align: center;
	background: url(https://biryushi.co.jp/wp/wp-content/uploads/2025/11/arrow_circle02.svg) no-repeat 95% 50% / auto 70%;
	padding: 1.3em 1.3em 1.3em 0;
}
.btn_arrow_circle.low span {
	padding: .5em 1.3em .5em 0;
	line-height: 1.3;
}
.btn_arrow_circle {
	background:linear-gradient(to right, var(--primary-color) 0%, #0045A6 100%);
	color: #fff;
	overflow: hidden;
	position: relative;
	z-index: 1;
	border: none;
}
.btn_arrow_circle::after {
	background:var(--primary-color);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}
.btn_arrow_circle:hover::after {
	transform: scale(1, 1);
}
.btn_arrow_circle_white span {
	color: var(--primary-color);
	width: 100%;
	display: inline-block;
	text-align: center;
	background: url(https://biryushi.co.jp/wp/wp-content/uploads/2025/11/arrow_circle01.svg) no-repeat 95% 50% / auto 70%;
	padding: 1.3em 1.3em 1.3em 0;
}
.btn_arrow_circle_white {
	background: #fff;
	overflow: hidden;
	position: relative;
	z-index: 1;
	border: none;
}
.btn_arrow_circle_white::after {
	background:var(--primary-color);
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
	z-index: -1;
}
.btn_arrow_circle_white:hover span {
	color: #fff;
	background: url(https://biryushi.co.jp/wp/wp-content/uploads/2025/11/arrow_circle02.svg) no-repeat 95% 50% / auto 70%;
}
.btn_arrow_circle_white:hover::after {
	transform: scale(1, 1);
}
.diagonal_line {
	display: inline-flex;
	align-items: center;
	gap: .85em;
	flex-wrap: wrap;
}
.diagonal_line::before,
.diagonal_line::after {
	content: "";
	width: 29px;
	height: 38px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	flex-shrink: 0;
}
.diagonal_line::before {
	background-image: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/line_dot_l.svg");
}
.diagonal_line::after {
	background-image: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/line_dot_r.svg");
}
.postlist_block,
.postlist_block > .flickity-viewport {
	overflow: visible;
}
.postlist_block .box-text .box-text-inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.postlist_block .post-item .col-inner {
	height: 100%;
	padding: 15px 15px 10px;
	background: #fff;
	border-radius: 20px;
	border:1px solid #DDECEC;
	box-shadow: 0 8px 0 #DDECEC;
}
.postlist_block .post-meta {
	width: 9em;
	font-size: .875rem;
	line-height: 1.6;
	opacity: 1;
	order: 3;
	color: #B0B0B0;
	text-align: right;
}
.postlist_block .post-title {
	margin: 0 0 .8em;
	font-size: 1rem;
	font-weight: normal;
	order: 1;
}
.postlist_block .is-divider {
	display: none;
}
.postlist_block .cat-label {
	order: 2;
	background: var(--primary-color);
	color: #fff;
	font-size: .875rem;
	border-radius: 4px;
	display: inline-block;
	padding: 4px .8em;
	opacity: 1;
}
.postlist_block .flickity-prev-next-button {
	opacity: 1;
}
.postlist_block .flickity-prev-next-button.previous {
	position: absolute;
	top: auto;
	bottom: 30px;
	right: 117%;
	opacity: 1;
	left: auto;
	z-index: 22;
}
.postlist_block .flickity-prev-next-button.next {
	position: absolute;
	top: auto;
	bottom: 30px;
	right: 110%;
	opacity: 1;
	left: auto;
	z-index: 22;
}
.postlist_block .flickity-prev-next-button svg {
	fill: var(--primary-color);
	background: #fff;
}
.postlist_block .flickity-prev-next-button .arrow,
.postlist_block .flickity-prev-next-button svg {
	fill: var(--primary-color);
	background: #fff;
}
.li_circle_num {
	list-style: none;
	counter-reset: number;
	padding: 0;
	margin: 0;
}
.li_circle_num li {
	counter-increment: number;
	position: relative;
	padding-left: 2.3em;
	margin-bottom: .5em;
	font-family: 'Montserrat', sans-serif;
}
.li_circle_num li::before {
	content: counter(number);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5em;
	height: 1.5em;
	background-color: #0093CC;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	font-weight: 400;;
}
.ttl_circle {
	position: relative;
	padding-left: 24px;
	display: block;
}
.ttl_circle::before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	background: #39C9DB;
	border-radius: 50%;
}
.montserrat {
	font-family: "Montserrat", sans-serif;
}
.lh1 {line-height: 1 !important;}
.lh12 {line-height: 1.2 !important;}
.lh13 {line-height: 1.3 !important;}
.lh14 {line-height: 1.4 !important;}
.lh15 {line-height: 1.5 !important;}
.lh16 {line-height: 1.6 !important;}
.lh17 {line-height: 1.7 !important;}
.lh18 {line-height: 1.8 !important;}
.lh2 {line-height: 2 !important;}
.lh26 {line-height: 2.6 !important;}

.ls0 {letter-spacing: 0 !important;}
.ls1 {letter-spacing: 1px !important;}
.ls2 {letter-spacing: 2px !important;}
.ls3 {letter-spacing: 3px !important;}
.ls4 {letter-spacing: 4px !important;}
.ls5 {letter-spacing: 5px !important;}
.ls6 {letter-spacing: 6px !important;}
.ls7 {letter-spacing: 7px !important;}
.ls8 {letter-spacing: 8px !important;}
.ls9 {letter-spacing: 9px !important;}
.ls10 {letter-spacing: 10px !important;}
.ls15 {letter-spacing: 15px !important;}

.fw3 {font-weight: 300 !important;}
.fw4 {font-weight: 400 !important;}
.fw5 {font-weight: 500 !important;}
.fw6 {font-weight: 600 !important;}
.fw7 {font-weight: 700 !important;}
.fw8 {font-weight: 800 !important;}
.fw9 {font-weight: 900 !important;}

.round20,
.round20 > .img-inner,
.round20 > div > .banner-bg,
.round20 > div > .banner-bg img,
.round20 > div > .banner-bg .overlay,
.round20 > .col-inner,
.round20::before,
.round20 > a > .img-inner,
.round20.banner {
	border-radius: 20px;
	overflow: hidden;
}
.round12,
.round12 > .img-inner,
.round12 > div > .banner-bg,
.round12 > div > .banner-bg img,
.round12 > div > .banner-bg .overlay,
.round12 > .col-inner,
.round12::before,
.round12 > a > .img-inner {
	border-radius: 12px;
	overflow: hidden;
}
.round .is-border {
	border-radius: 100%;
}
.single-post .category-blog .entry-title,
.archive.category-blog .entry-title {
	color: var(--primary-color);
}
.single-post .category-blog .entry-title + .is-divider,
.archive.category-blog .entry-title + .is-divider {
	background-color: var(--primary-color);
	height: 2px;
	max-width: 100px;
}
.single-post .category-blog .entry-content h2 {
	padding: 1em 0 .5em;
	color: var(--primary-color);
}
.single-post .category-blog .entry-content h3 {
	position: relative;
	padding-left: 24px;
	display: block;
	font-size: 1.2rem;
	line-height: 1.5;
}
.single-post .category-blog .entry-content h3::before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	background: #39C9DB;
	border-radius: 50%;
}
.single-post .category-blog .entry-content h4 {
}
#ez-toc-container .ez-toc-js-icon-con, #ez-toc-container .ez-toc-toggle label {
	border: none;
}
.ez-toc-icon-toggle-span > svg:first-of-type {
	width: 30px;
	height: 30px;
}
.ez-toc-icon-toggle-span > svg:last-of-type {
	display: none;
}
div#ez-toc-container {
	border: none;
	border-radius: 20px;
	padding: 1em;
}
#ez-toc-container ul {
	line-height: 1.9;;
}
.more-link.button {
	background: var(--fs-color-primary);
	color: #fff;
	border-radius: 99px;
}
@media screen and (max-width: 849px) {

}
@media screen and (max-width: 549px) {
		.sp_tate {
		writing-mode: vertical-rl;
	}
	.sp_round0 > .col-inner {
		border-radius: 0 !important;
	}
	#logo img {
		max-height: 40px;
	}
	.icon-menu {
		display: inline-block;
		width: 4px;
		height: 4px;
		background: #fff;
		border-radius: 50%;
		box-shadow: -8px 0 0 #fff, 8px 0 0 #fff;
	}
	.icon-menu:before {
		content: none;
		background: var(--fs-color-primary);
	}
	.button.icon.circle {
		background: #0093CC;
		font-size: 1.4em;
	}
	.button.icon.circle i {
		top: -3px;
	}
	.mfp-ready .mfp-close {
		color: #fff !important;
		opacity: 1;
		border-radius: 100px;
		background-color: #0093CC;
		mix-blend-mode: normal;
		top: 15px;
		right: 15px;
	}
	.sp_menu_logo {
		margin: 0 15px;
	}
	.off-canvas-center .mfp-container {
		background: #fff;
	}
	.off-canvas-center .nav-sidebar.nav-vertical>li .toggle {
		color: #fff;
	}
	.off-canvas-center .nav-vertical>li>a {
		color: #3E434C;
		font-size: .9375em;
		
	}
	.off-canvas-center .nav-sidebar.nav-vertical>li>a {
		border-bottom: 1px solid #DDECEC;
		justify-content: left;
		background: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/arrow_circle01.svg") no-repeat 95% 50% / auto 50%;
	}
	.off-canvas-center .nav-sidebar.nav-vertical>li.has-child>a {
		background: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/ico_circle.svg") no-repeat 95% 50% / auto 50%;
	}
	.sub-menu.children {
		background: var(--fs-color-primary);
	}
	.off-canvas-center .nav-vertical>li>ul>li a {
		justify-content: left;
	}
	.sub-menu.children a {
		padding: 15px 15px 15px 45px !important;
		color: #fff;
		font-weight: 600;
		border-bottom: 1px solid #FFF;
		background: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/arrow_white-1.svg") no-repeat 93% 50% / auto 28%;
	}
	.nav:not(.nav-slide) .active>.children {
		padding-bottom: 0;
	}
	.mfp-container {
		height: auto;
	}
	.off-canvas-center .mfp-content {
		padding-top: 0; 
	}
	.nav-sidebar.nav-vertical>li.menu-item.active, .nav-sidebar.nav-vertical>li.menu-item:hover {
		background: #fff;
	}
	.off-canvas-center .nav-sidebar.nav-vertical>li .toggle {
		width: 53px;
		top: 8px;
	}
	.menu-item.has-child .icon-angle-down {
		position: relative;
		display: inline-block;
		width: 14px;
		height: 14px;
	}
	.menu-item.has-child .icon-angle-down::before,
	.menu-item.has-child .icon-angle-down::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		transform-origin: center center;
		background: #fff;
		transition: transform .24s cubic-bezier(.2,.9,.2,1), opacity .24s;
		pointer-events: none;
	}
	.menu-item.has-child .icon-angle-down::before {
		width: 14px;
		height: 2px;
		border-radius: 1px;
	}
	.menu-item.has-child .icon-angle-down::after {
		width: 2px;
		height: 14px;
		border-radius: 1px;
	}
	.menu-item.has-child.active .icon-angle-down::after {
		transform: translate(-50%, -50%) scaleY(0.02);
		opacity: 0;
	}
	.menu-item.has-child .icon-angle-down:hover::before,
	.menu-item.has-child .icon-angle-down:hover::after {
		transition-duration: .28s;
	}
	.home_kv {
		padding: 0;
		margin: 0 auto	-50px;
	}
	.home_kv .flickity-page-dots {
		bottom: 125px;
		left: -23vw;
	}
	.postlist_block .flickity-slider {
		width: calc(100% - 30px);
		margin-left: -15px;
		overflow: visible;
	}
	.postlist_block .post-item .col-inner {
		width: calc(100% - 20px) !important;
	}
	.bg_grad_semicircle_low > .section-bg {
		background: url("https://biryushi.co.jp/wp/wp-content/uploads/2025/11/bg_semicircle_sp.svg") no-repeat 50% 52% /100%,linear-gradient(to bottom, #fff 0%, #DDFAF8 52%, #DDFAF8 52%, #FFF 53%, #FFF 100%);
	}
	.sp_border_t > .col-inner > .is-border {
		border-width: 1px 0 0 0 !important;
	}
	.btn_arrow_circle_white span {
		padding: .8em 0 .8em 2em;
		text-align: left !important;
	}
	.page_head::before {
		top: 75px;
		animation: sp_lineGrow 1.5s ease-out forwards;
	}
	@keyframes sp_lineGrow {
		0% { width: 0; }
		100% { width: 50vw; }
	}
	.bg_grad_section > .section-bg {
		background: linear-gradient(to bottom, #fff 0%, #DDFAF8 50%), #DDFAF8;
	}
}








.pcbr {display:inline;}
.tbbr {display:none;}
.spbr {display:none;}
.pc_txt_l {text-align:left !important;}

/* Custom CSS Tablet */@media (max-width: 768px) {
	.pcbr {display:none;}
	.tbbr {display:inline;}
	.spbr {display:none;}
	.tb_txt_l {text-align:left !important;}
	}
/* Custom CSS Mobile */@media (max-width: 549px) {
	.pcbr {display:none;}
	.tbbr {display:none;}
	.spbr {display:inline;}
	.sp_txt_l {text-align:left !important;}
}
.mg00{	margin: 0 !important;}
.mb00{	margin-bottom:0px;}

.banner a{
	z-index:12;
}
.shadow_10{
	text-shadow: 0 0 10px #000;
}
.btn::before {
	content: '';
	position: absolute;
	top: 50%;
	right: -1.5em;
	transform: translateY(calc(-50% - 2px)) rotate(15deg);
	width: 10px;
	height: 1px;
	background: #fff;
}
.btn::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -1.5em;
	transform: translateY(-50%);
	width: 80px;
	height: 1px;
	background-color: #fff;
	z-index:10
}



/*************** ADD CUSTOM CSS HERE.	 ***************/



@media only screen and (max-width: 48em) {

/*************** ADD MOBILE ONLY CSS HERE	***************/



}