/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
#loading{
	width: 100%;
    height: 100vh;
    position: fixed;
    background: #000000;
    z-index: 99999;
	display: flex;
    align-items: center;
    justify-content: center;
}
.spinner {
    border: 4px solid #707070;
    border-top: 4px solid #C9171D;
    border-radius: 50%;
    width: 64px;
    height: 64px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes scroll-down{
	0% {
    transform: rotate(-90deg) translateX(-100%);
	}
	100% {
		transform: rotate(-90deg) translateX(0);
	}
}
.sp-only {
	display: none;
}
.pc-only {
	display: block;
}
.p-0{
	padding:0;
}
.f-700{
	font-weight:700;
}
.f-600{
	font-weight:600;
}
.f-500{
	font-weight:500;
}
.f-eb{
	font-family: "EB Garamond", serif;
}
.text-red{
	color:#C9171D;
}
.text-shadow {
    text-shadow: 0px 0px 18px #324E3D;
}
.text-shadow--1{
	text-shadow: 0px 0px 6px #717E76;
}
.text-underline {
    text-underline-offset: 4px;
    text-decoration: underline;
}
.text-justify{
	text-align:justify;
}
.bg-white{
	background-color:#EEEEEE;
}
.bg-black {
	background-color:#292929;
}
.bg-dark{
	background-color:#000;
}
.no-break{
	white-space: nowrap;
}
.have-flag:before {
    width: 50.4px;
    height: 65.8px;
    content: "";
    position: absolute;
    left: 70px;
    top: -1;
    background-image: url(./images/flag.svg);
	background-size: 100% 100%;
}
.text-tick-box {
    position: relative;
    padding-left: 48px;
}
.text-tick-box:before {
    content: "";
    width: 33px;
    height: 33px;
    position: absolute;
    left: 0;
    top: 10.2px;
    background-image: url(./images/tick-box.svg);
	background-size: 100% 100%;
}
.text-tick {
    position: relative;
    padding-left: 29.4px;
}
.text-tick:before {
    content: "";
    width: 19.6px;
    height: 15.4px;
    position: absolute;
    left: 0;
    top: 7px;
    background-image: url(./images/tick.svg);
	background-size: cover;
}
.text-frame{
	position:relative;
}
.text-frame:before{
	content:"";
    position:absolute;
    top:-11px;
    left:0;
    width:12px;
    height:calc(100% + 22px);
    background-image: url(./images/frame-left.svg);
    background-size: 100% 100%;
}
.text-frame:after{
	content:"";
    position:absolute;
    top:-11px;
    right:0;
    width:12px;
    height:calc(100% + 22px);
    background-image: url(./images/frame-right.svg);
    background-size: 100% 100%;
}
.text-frame--xs:before, .text-frame--xs:after{
    top:-6px;
    height:calc(100% + 12px);
}
.button, button, input[type=button], input[type=reset], input[type=submit], .button.is-outline{
	line-height:unset;
	min-height:unset;
}
.primary, input[type=submit], input[type=submit].button{
	background: linear-gradient(180deg, #FA3138 0%, #A42328 100%);
	border:unset;
}
.white.is-outline {
    border-width: 0.79px;
    border-color: #fff;
    color: #fff !important; 
}
.white.is-outline:hover {
    background-color: rgba(250,250,250,0.2) !important;
    border-color: #fff;
    color: #fff;
}
.button.white.is-outline span{
	color: #fff !important; 
}
.button span{
	font-size: 1.0304em;
	line-height: 1.655em;
	font-weight:500;
}
.button.is-large span{
	font-size:1.304em;
	line-height: 1.4371em;
	font-weight:700;
}
.button{
	padding: 7px 15px 7px 15px;
}
.button.primary.is-large{
	padding: 26.6px 15px 29.4px 15px;
}
.box-shade .box-text{
	text-shadow:unset !important;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}
.accordion .accordion-item {
    background: rgba(255,255,255,0.6);
    padding: 15.6px 18px;
}
.accordion .accordion-item:not(:last-child) {
    margin-bottom: 16px;
}
.accordion .accordion-title {
	background: rgba(255,255,255,0.6);
  	border-top: unset !important;
  	padding: 0;
}
.accordion .accordion-title.active{
    border-color: unset;
    color: initial;
}
.accordion .accordion-title > span {
  	display: flex;
  	font-size: 19px;
  	font-weight: 400;
	padding-right:40px;
	line-height:2;
}
.accordion .accordion-item .accordion-inner {
 	margin-top: 21.8px;
    padding: 0 55px 0 0;
}
.accordion .accordion-item *{
    background: transparent;
}
.accordion .accordion-item .accordion-inner p{
	text-align:justify;
	word-break:break-all;
}
.accordion .toggle {
	display:flex;
  	margin: 0;
  	width: 14px;
  	height: 14px;
  	top: 20.2px;
  	right: 0;
  	left: unset;
  	transform: translateY(-50%);
 	bottom: unset;
  	opacity: 1;
}
.accordion .toggle > i {
  	display: flex;
  	width:14px;
  	height:14px;
}
.accordion .active .toggle > i:before {
	content:"";
	width:14px;
  	height:14px;
  	background-image: url(./images/minus.svg);
  	background-size: 100% 100%;
}
.accordion .toggle > i:before {
	content:"";
	width:14px;
  	height:14px;
  	background-image: url(./images/plus.svg);
    background-size: 100% 100%;
}
.section-link {
  position: relative;
}
.section-link > a {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* base */
html{
	background: #DFE0E0;
}
body {
	background: #DFE0E0;
}
.h1, .h2, h1, h2 {
    line-height: inherit;
}
#main{
	background-image: url(./images/bg.svg);
	background-attachment:fixed;
}

.s1_home_bg {
    background-image: url(./images/s1_home_bg.png);
    background-size: cover;
}
.have-scroll{
	overflow:hidden;
}
.have-scroll:after {
    content: "scroll";
    position: absolute;
    color: #fff;
    font-size: 1em;
    line-height: 1.405625;
    transform: rotate(-90deg);
    width: 116px;
    height: 50px;
    padding-bottom: 7px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    bottom: 33px;
    left: -33px;
    border-bottom: 1px solid rgb(167, 167, 167);
}
.have-scroll:before {
	z-index:2;
    content: "";
    position: absolute;
    color: #fff;
    transform: rotate(-90deg);
    width: 116px;
    height: 50px;
    padding-bottom: 7px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    bottom: 33px;
    left: -33px;
    border-bottom: 1px solid #fff;
    transition: 0.5s;
    animation: 2s ease 0s infinite reverse none running scroll-down;
}
.s1_home h1 .text-big{
	font-size:42px;
}
.s6_home_item_except .f-eb {
    width: fit-content;
    font-size: 44px;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px;
    line-height:1.305;
}
.s6_home_item_except>h3:last-child {
    font-size: 1.375em;
	line-height:1.9;
	letter-spacing:-0.5px;
}
.s6_home_item_except {
    display: flex;
    gap: 15px;
}
.s8_home_items {
    display: grid;
    grid-template-columns: auto auto;
    gap: 16px;
}
.s8_home_items::after{
	content:unset;
}
.s8_home_item .box-text{
	padding:28px 15px;
}
.s8_home_item .box-text p {
	font-weight:500;
    margin-top:0;
    margin-bottom: 0;
}
.s8_home_item .box-text h3 {
	 margin-top:0;
    margin-bottom: 0;
}
.global-popup {
	padding: 10px 24.5px 23.5px 24.5px;
	border-radius:12px;
 	z-index: 9999;
  	position: fixed;
 	bottom: 24px;
 	right: 24px;
 	max-width: 249px;
  	min-width: 249px;
  	transition: 0.3s;
  	background: linear-gradient(97.11deg, #890803 7.76%, #BC0C04 94.32%);
}
.global-popup-x {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    position: absolute;
    top: -15px;
    right: -15px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background-image: url(./images/close.svg);
    background-size: 100% 100%;
}
.global-popup .button{
	    display: flex;
    align-items: center;
    justify-content: center;
}
.global-popup .text-big {
    font-size: 30px;
}
.footer-socials {
    display: flex;
    align-items: center;
    gap: 25px;
}
.footer-links a {
    color: #CCCCCC;
    text-decoration: underline;
    font-size: 15px;
    text-underline-offset: 2px;
	line-height:2;
	width:fit-content;
}
.footer-links {
    display: flex;
    flex-flow: column;
    color: #CCCCCC;
	gap:9.8px;
}
.footer_bg:after {
    position: absolute;
    content: "";
    width: 185px;
    height: 222px;
    top: 77px;
    right: 70px;
 	background-image: url(./images/logo.svg);
    background-size: 100% 100%;
	z-index:2;
}
@media only screen and (max-width: 620px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.s6_home_item_except .f-eb{
		-webkit-text-stroke: 0.7px;
	}
	.have-scroll:after, .have-scroll:before {
		font-size: 0.6875em;
		width: 78px;
		height: 29px;
		padding-bottom: 4px;
		bottom: 25px;
		left: -25px;
		border-width:0.7px 
	}
	.sp-only {
		display: block;
	}
	.pc-only {
		display: none;
	}
	.button{
		padding: 8px 11.5px 8px 11.5px;
	}
	.button.primary.is-large{
		padding: 19px 15px 21px 15px;
	}
	.button span {
        font-size: 0.71em;
    }
	.button.primary.is-large span{
		font-size: 1.0625em;
	}
	.bg-white--pc{
		background:transparent;
	}
	.text-tick-box:before{
		width:23px;
		height:23px;
		top:8px;
	}
	.text-tick-box{
		padding-left:35px;
	}
	.text-tick {
		padding-left: 21px;
	}
	.text-tick:before {
		width: 14px;
		height: 11px;
		top: 3px;
	}
	.have-flag:before {
		width: 36px;
		height: 47px;
		left: 28px;
		top: -1px;
	}
	.text-frame:before, .text-frame:after {
		top: -7px;
		width: 9px;
		height: calc(100% + 14px);
	}
	.s1_home_bg {
		background-image: url(./images/s1_home_bg_sp.png);
	}
	.s1_home h1 .text-big{
		font-size:28px;
	}
	.s1_home_logo{
		max-width:156px;
	}
	.s2_home:before {
		content: "";
		position: absolute;
		width: 100%;
		height: 197px;
		background: linear-gradient(180deg, #DFE0E0 0%, rgba(223, 224, 224, 0) 100%);
		top: 0;
		left: 0;
	}
	.s6_home_item_except{
		gap:10px;
	}
	.s6_home_item_except .f-eb{
		font-size:32px;
	}
	.s6_home_item_except>h3:last-child {
		font-size: 1em;
	}
	.s8_home_items{
		gap:11px;
	}
	.s8_home_item .box-text{
		padding:20px 8px;
	}
	.s8_home_item .box-text p{
		margin-bottom:6px;
		font-size:0.75em;
	}
	.accordion .accordion-title > span {
		font-size: 12px;
		padding-right: 10px;
	}
	.accordion .toggle{
		top:14px;
		width:10px;
		height:10px;
	}
	.accordion .toggle > i{
		width:10px;
		height:10px;
	}
	.accordion .toggle > i:before{
		width:10px;
		height:10px;
	}
	.accordion .accordion-item{
		padding:11px 13px;
	}
	.accordion .accordion-item .accordion-inner {
		padding: 0 26px 0 0;
	}
	.footer-socials {
		gap: 18px;
	}
	.footer-socials>*:nth-child(1){
		width:25.6px;
	}
	.footer-socials>*:nth-child(2), .footer-socials>*:nth-child(3){
		width:19.2px;
	}
	.footer-links{
		gap:7px;
	}
	.footer-links a{
		font-size:11.2px;
	}
	.footer .copywriter{
		font-size:10px;
	}
	.footer_bg:after {
		width: 104px;
		height: 125px;
		top: 55px;
		right: 24px;
	}
	.global-popup-x{
		width:20px;
		height:20px;
		top:-10px;
		right:-10px;
	}
	.global-popup{
		padding:6px 15.5px 16px 15.5px;
		max-width:166px;
		min-width:166px;
	}
	.global-popup-top h4 {
		font-size: 11.89px;
	}
	.global-popup .text-big {
		font-size: 19.81px;
	}
}