@charset "UTF-8";
/* ============================================================
   a-Opacity
==============================================================*/
.a-Opacity{
	transition-property: opacity,transform;
    transition-duration: 0.4s;
    transition-timing-function: var(--custom-easing);
	opacity:0;
	transform:translateY(0.625rem);
}

.a-Opacity.is-View{
	opacity:1;
	transform:translateY(0);
}

/* ============================================================
   Hero
==============================================================*/
.Hero{
	height:100vh;
	height:100svh;
	position:relative;
	overflow:hidden;
	min-height:50.625rem;
}

.HeroBg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:hidden;
}

.HeroBg-img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.HeroBg{
	animation: HeroBg 1s ease-out forwards paused;
    animation-delay: calc(var(--press) * -1s);
}

@keyframes HeroBg {
  0% {
    transform:scale(1) translateY(0);
  }

  100% {
    transform:scale(1.3) translateY(10%);
  }
}

.HeroFlex{
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:5;
}

.HeroFlex .site-container{
	width:100%;
	height:100%;
	display:flex;
}

.HeroText{
	display:flex;
	flex:1;
	flex-direction: column;
	justify-content:center;
}

.HeroText-title{
	font-size:3.875rem;
	line-height: 1.2em;
	color:#ffffff; 
	font-weight: 500;
}

.HeroText-text{
	font-size:1.75rem; 
	color:#fff; 
	line-height: 1.4em;
	margin-top:0.625rem;
}

.AniGra{
	background:linear-gradient(to right, rgb(255,255,255) 50%, transparent 50%);
	background-size:200% 100%;
	background-position-x:100%;
	color:transparent;
	background-clip:text;
	-webkit-background-clip:text;
	display:inline;
}

.is-View.AniGra{
	animation: AniGra 0.8s var(--custom-easing) forwards;
}

@keyframes AniGra {
  0% {
    background-position-x:100%;
  }
  100% {
    background-position-x:0%;
  }
}

.HeroDiagram{
	width:35.313rem;
	display:flex;
	flex-direction: column;
	justify-content:end;
}

.HeroDiagramAfter{
	position:relative;
	width:100%;
}

.HeroDiagramAfter:after{
	content: "";
    display: block;
    padding-bottom: 127.8%;
}

.HeroDiagramImg{
	width:100%;
	height:100%;
	background-image:url(../../images/bg/banner_icon_bg.png);
	background-size:100% 100%;
	position:absolute;
	right:-5.875rem;
}

.HeroDiagramImg-svg{
	display: block;
    width: 27%;
    position: absolute;
    top: 26%;
    left: 19.9%;
}

.HeroScrollBtn{
	width:1.5rem;
	height:2.5rem;
	border:solid 2px #fff;
	border-radius: 2.5rem;
	position: absolute; 
	bottom:1.563rem; 
	left:50%; 
	transform:translateX(-50%);
	z-index: 10;
}

.HeroScrollBtn:after{
	content: "";
	width:0.375rem; 
	height:0.375rem; 
	background: #fff; 
	position: absolute; 
	top:5px; 
	left:50%; 
	margin-left:-0.188rem;
	border-radius: 100%;
	animation: HeroScrollBtn 3s linear infinite;
}

@keyframes HeroScrollBtn {
    0% {
		transform: translateY(0px);
	}
    50% {
		transform: translateY(10px);
	}
    100% {
		transform: translateY(0px);
	}
}

/* Responesive*/
@media screen and (max-width: 1024px) and (min-width: 768px) {
	.HeroText{
		padding-left:2vh;
		padding-left:2svh;
	}
	
	.HeroDiagram{
		width:50vh;
		width:50svh;
		margin-right: -15vh;
	}
	
	.HeroDiagramImg{
		right:0;
	}
	
	.HeroText-title{
		font-size:3.5rem;
	}
	
	.HeroText-text{
		font-size: 1.5rem;
	}
}

@media screen and (max-width: 767px) and (min-width: 1px) {
	.Hero{
		min-height: 41.625rem;
	}
	
	.HeroFlex .site-container{
		display:block;
	}
	
	.HeroFlex{
		top:auto;
	}
	
	.HeroText{
		width:100%;
		display:block;
		margin-bottom:4rem;
		text-align:center;
	}
	
	.HeroText-title{
		font-size: 2.875rem;
	}
	
	.HeroText-text{
		font-size: 1.25rem;
	}
	
	.HeroDiagram{
		width: 78vw;
		max-width:21.875rem;
		display:block;
		position:relative;
		left:50%;
		transform:translateX(-35%);
	}
	
	.HeroDiagramImg{
		right:0;
	}
}


/* ============================================================
   MainInfo
==============================================================*/
.MainInfo{
	text-align:center;
	padding:10.625rem 0;
	position:relative;
}

.ScrollCheck{
	height:4.375rem;
	width:100%;
	position:absolute;
	top:-4.375rem;
	pointer-events: none;
}

.TitleSub{
	font-size: 1.5rem;
    color: #222222;
    line-height: 1.6em;
}

.TitleSub strong{
	font-weight:500;
}

.TitleSub + .TitleSub{
	margin-top:1.875rem;
}

@media screen and (max-width: 1024px) and (min-width: 1px) {
	.MainInfo{
		padding:5rem 0;
	}
}

@media screen and (max-width: 767px) and (min-width: 1px) {
	.TitleSub{
		font-size:1.25rem;
	}
	
	.ScrollCheck{
		height:3.429rem;
		top:-3.429rem;
	}
}

/* ============================================================
   MainApp
==============================================================*/
.MainApp{
	position:relative;
	padding:5.714rem 0 10rem;
	background-color:#f6f6f6;
}

.MainCtTitle{
	font-size: 1.429rem;
    color: #000000;
    line-height: 1.4em;
    font-weight: 500;
    text-align: center;
    margin-bottom: 5.714rem;
}

.MainSecTitle{
	font-size:2.25rem; 
	color:#000000; 
	line-height: 1.2em; 
	font-weight: 500;
	margin-bottom:1.071rem;
}

.MainApp .MainSecTitle{
	text-align:center;
}

.MainApp .TitleSub{
	text-align:center;
}

.MainAppSlide{
	margin-top:5rem;
}

body .MainAppSlide-container{
	overflow:visible;
	margin:0 -1.438rem;
	width:auto;
}

.MainAppSlide-item{
	width:25%;
	padding:0 1.438rem;
	height:auto;
}

.MainAppPost{
	width:100%;
	background: #fff;
    text-align: center;
    padding: 3.125rem 1.625rem;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transform:scale(0.9);
	transition-property: box-shadow,transform;
    transition-duration: 0.3s;
    transition-timing-function: var(--custom-easing);
	height:100%;
}

.MainAppPost-icon{
	margin-bottom:2.188rem;
	line-height:0;
}

.MainAppPost-icon img{
	max-height:3.375rem;
}

.MainAppPost-title{
	font-size: 1.25rem;
    color: #000000;
    line-height: 1.4em;
    font-weight: 500;
}

.MainAppPost-text{
	font-size: 0.938rem;
    color: #000000;
    line-height: 1.68em;
    margin-top: 0.875rem;
}

.is-View .MainAppPost{
	box-shadow: 0.929rem 0.929rem 0.714rem rgba(0, 0, 0, 0.15);
	transform:scale(1);
}

.swiper-pagination{
	margin-top:3.571rem;
	font-size:0; 
	line-height: 0; 
	text-align: center;
	display: none;
}

.swiper-pagination .swiper-pagination-bullet{
	margin:0 0.214rem;
	width:0.643rem; 
	height:0.643rem;
	background-color: #999999;
	border-radius: 0.357rem;
	display: inline-block;
	vertical-align: middle;
	text-indent: -99999px;
	transition-property: width, background-color;
	transition-duration: 0.3s;
}

.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
	width:2.143rem; 
	background-color: #c8a063;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
	.MainAppSlide-item{
		padding:0;
		width:20rem;
	}
}

@media screen and (max-width: 767px) and (min-width: 1px) {
	.MainAppSlide-item{
		padding:0;
		width:16.429rem;
	}
}

@media screen and (max-width: 1024px) and (min-width: 1px) {
	.MainApp{
		padding:5rem 0;
	}
	
	.MainCtTitle{
		font-size:1.25rem;
		margin-bottom:2.7rem;
	}
	
	.MainSecTitle{
		font-size:2rem;
	}
	
	.MainAppSlide {
		margin-left:-1.25rem;
		margin-right:-1.25rem;
		padding:0 1.25rem;
		margin-top: 4rem;
	}
	
	body .MainAppSlide-container{
		margin:0;
		width:100%;
	}

	.MainAppSlide-item + .MainAppSlide-item{
		margin-left:1.875rem;
	}
	
	.swiper-pagination{
		display:block;
	}
}

/* ============================================================
   MainAbout
==============================================================*/
.MainAbout{
	position:relative;
	padding:5.714rem 0 10rem;
	overflow:hidden;
}

.MainAboutBg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:hidden;
}

.MainAboutBg-img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.MainAboutBg{
	animation: HeroBg 1s ease-out forwards paused;
    animation-delay: calc(var(--press) * -1s);
}

.MainAbout .MainCtTitle{
	color:#fff;
	margin-bottom:11.25rem;
}

.MainAbout .MainSecTitle{
	color:#fff;
	margin-bottom:2.813rem;
}

.MainAbout-text{
	font-size: 1.125rem;
    color: #ffffff;
    line-height: 1.64em;
}

.MainAbout-text + .MainAbout-text{
	margin-top:1.563rem;
}

@media screen and (max-width: 1024px) and (min-width: 1px) {
	.MainAbout{
		padding:5rem 0;
	}
	
	.MainAbout .MainCtTitle{
		margin-bottom:6.786rem;
	}
}

@media screen and (max-width: 767px) and (min-width: 1px) {
	.MoNone{
		display:none;
	}
}

/* ============================================================
   MainService
==============================================================*/
.MainService{
	position:relative;
	padding:5.714rem 0 10rem;
	overflow:hidden;
}

.MainServiceSlide{
	margin-top:5rem;
}

body .MainServiceSlide-container{
	overflow:visible;
	margin:0 -1.875rem;
	width:auto;
}

.MainServiceSlide-item{
	width:33.333%;
	padding:0 1.875rem;
}

.MainServicePostCard{
	display: block;
    line-height: 0;
    margin-bottom: 5rem;
}

.MainServicePostCard-img{
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transform:scale(0.9);
	transition-property: box-shadow,transform;
    transition-duration: 0.3s;
    transition-timing-function: var(--custom-easing);
	border-radius:0.938rem;
}

.is-View .MainServicePostCard-img{
	box-shadow: 0.929rem 0.929rem 0.714rem rgba(0, 0, 0, 0.4);
	transform:scale(1);
}

.MainServicePost-title{
	font-size: 0.938rem;
    color: #000000;
    line-height: 1.5em;
    font-weight: 500;
    margin-bottom: 1.563rem;
}

.MainServicePost-text{
	font-size: 0.875rem;
    color: #000000;
    line-height: 1.65em;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
	.MainServiceSlide-item{
		width:20rem;
	}
}

@media screen and (max-width: 767px) and (min-width: 1px) {
	.MainServiceSlide-item{
		width:100%;
		text-align:center;
	}
	
	.MainServicePostCard{
		max-width:20rem;
		margin-left:auto;
		margin-right:auto;
	}
}

@media screen and (max-width: 1024px) and (min-width: 1px) {
	.MainService{
		padding:5rem 0;
	}
	
	.MainServiceSlide {
		margin-left:-1.25rem;
		margin-right:-1.25rem;
		margin-top: 4rem;
	}
	
	body .MainServiceSlide-container{
		margin:0;
		width:100%;
	}
	
	.MainServicePostCard{
		margin-bottom:2.857rem;
	}
	
	.MainServicePost-title{
		font-size:1.143rem;
	}
	
	.MainServicePost-text{
		font-size:1rem;
	}
	
	.MainServiceSlide-item{
		padding:0 1.25rem;
	}
}

/* ============================================================
   Contact
==============================================================*/
.Contact{
	position:relative;
	overflow:hidden;
}

.ContactFormSec{
	padding:5.714rem 0 10rem;
	background-color: #f6f6f6;
}

.MainContact-logo{
    width: 3.625rem;
    height: 2rem;
	background-image: url(../../images/logo/logo.png);
    background-size: 100% 100%;
	margin:0 auto 2rem;
}

.MainContact-text{
	font-size: 1.125rem;
    color: #222;
    line-height: 1.64em;
	text-align:center;
	margin-bottom:1.875rem;
}

.ContactFormSec .TitleSub{
	text-align:center;
	font-weight: 500;
	margin-bottom:2.188rem;
}

@media screen and (max-width: 1024px) and (min-width: 1px) {
	.ContactFormSec{
		padding:5rem 0;
	}
}

/* ============================================================
   contactForm
==============================================================*/
.ContactForm{
	display:block;
	max-width:52.5rem;
	margin:0 auto;
}

.Contact-inner{
	display:flex;
	margin:-0.313rem -0.313rem;
	flex-wrap:wrap;
}

.Contact-item{
	padding:0.313rem 0.313rem;
	width:100%;
}

.Contact-item.Col50{
	width:50%;
}

body .ContactItem-input{
	border: solid 1px transparent;
    background: #fff;
    padding: 0.875rem 0.938rem;
    line-height: normal;
    font-size: 0.875rem;
    color: #555555;
    font-weight: 300;
    display: block;
    width: 100%;
	transition-property: border-color;
    transition-duration: 0.3s;
    transition-timing-function: var(--custom-easing);
}

body .is-View .ContactItem-input{
	border-color:#cdcdcd;
}

body textarea.ContactItem-input{
	height:10.625rem;
	resize:none;
}

.Contact-error{
	display:none;
	font-size: 0.75rem;
    line-height: 1.4em;
    color: #E0060E;
    margin-top: 0.5rem;
	font-weight:400;
}

.AgreeInput{
	display:inline-block;
}

.AgreeInput input{
	display:none;
}

.AgreeInput-text{
	font-size:1rem;
	line-height:1.5em;
	color:#000;
	position:relative;
	padding-left:1.875rem;
}

.AgreeInput-text:before{
	content:"";
	width: 1.5rem;
	height: 1.5rem;
	background-image:url(../../images/icon/ico_login_save.svg);
	background-size:100% 100%;
	position:absolute;
	top:0.05rem;
	left:0;
}

.AgreeInput input:checked + .AgreeInput-text:before{
	background-image:url(../../images/icon/ico_login_save_active.svg);
}

.AgreeInput-text a{
	color:#cca068;
	text-decoration:underline;
	font-size:0.875rem;
	font-weight:400;
}

.ContactFormSend{
	margin-top: 1.063rem;
	text-align:right;
}

.ContactFormSend-btn{
	font-size: 1rem;
    color: #fff;
    line-height: 1.5em;
    font-weight: 500;
    text-align: center;
    background: #cca068;
    padding: 0.688rem 0.313rem;
    width: 100%;
    max-width: 11.25rem;
    display: inline-block;
    border-radius: 4rem;
}

.Contact-complete{
	margin-top:1rem;
	text-align:center;
	font-size: 0.75rem;
    line-height: 1.6em;
    color: #222;
    font-weight: 500;
	display:none;
}

/* Responesive*/
@media screen and (min-width: 1025px) {
	.ContactFormSend-btn:hover{
		background-color:#222;
	}
}

/* ============================================================
   ContactInfo
==============================================================*/
.ContactInfo{
	position:relative;
}

.ContactInfoFlex{
	position:relative;
}

.ContactInfoText{
	width:100%;
	padding:2.188rem 0 3.125rem;
	padding-right: 2.188rem;
	position:relative;
	background-color:#fff;
	transition-property: width;
    transition-duration: 0.5s;
    transition-timing-function: var(--custom-easing);
	z-index:5;
}

.ContactInfoMap{
	width:30%;
	position:absolute;
	top:0;
	right:0;
	height:100%;
}

.is-View .ContactInfoText{
	width:70%;
}

.ContactInfoMapIframe{
	position:relative;
	height:100%;
}

.ContactInfoMapIframe .root_daum_roughmap{
	width:100% !important;
	height:100% !important;
}

.ContactInfoMapIframe .wrap_controllers.hide{
	display:none !important;
}

.ContactInfoMapIframe .cont{
	display:none !important;
}

.ContactInfoMapIframe .wrap_map{
	height:100% !important;
}

.ContactInfo .TitleSub{
	color: #cca068;
	font-weight:600;
	margin-bottom:1.875rem;
}

.ContactInfoText-item{
	padding:1.25rem 0;
	border-bottom: solid 1px #d7d7d7;
}

.ContactInfoText-item:first-child{
	padding-top:0;
}

.ContactInfoTextPost:after{
	content:"";
	display:table;
	clear:both;
}

.ContactInfoTextPost-title{
	float:left;
	width: 8.375rem;
	font-size: 1rem;
    color: #333333;
    line-height: 1.6em;
    font-weight: 500;
}

.ContactInfoTextPost-text{
	overflow:hidden;
}

.ContactInfoTextPost-item{
	display:block;
	font-size: 0.875rem;
    color: #666666;
    line-height: 1.6em;
    font-weight: 300;
}

.ContactInfoTextPost-item + .ContactInfoTextPost-item{
	margin-top:0.313rem;
}

.ContactInfoText-sub{
	margin-top:1.25rem;
	font-size:0.75rem;
	line-height:1.6em;
	color:#333;
}

/* Responesive*/
@media screen and (min-width: 1025px) {
	.ContactInfoTextPost-item.Link:hover{
		color:#cca068;
		text-decoration:underline;
	}
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
	.is-View .ContactInfoText{
		width:60%;
	}
	
	.ContactInfoMap{
		width:40%;
	}
	
	.ContactInfo .site-container{
		padding-right:0;
	}
}

@media screen and (max-width: 767px) and (min-width: 1px) {
	.ContactInfoFlex{
		display:block;
	}
	
	.ContactInfoText{
		width:100%;
		padding:5rem 0 3.5rem;
	}
	
	.ContactInfoMap{
		width:auto;
		margin-left:-1.25rem;
		margin-right:-1.25rem;
		position:static;
	}
	
	.ContactInfoMapIframe{
		height:15rem;
	}
	
	.is-View .ContactInfoText{
		width:100%;
	}
}

/* ============================================================
   Page
==============================================================*/
.sitePage{
	padding-top:10rem;
}

.PageHeader{
	text-align:center;
	margin-bottom:4.063rem;
}

.PageHeader-title{
	font-size:1.875rem;
	line-height:1.4em;
	color:#222;
	font-weight:500;
}

.PageSec{
	max-width: 57.5rem; 
	margin:0 auto;
}

/*=========================================================
  개인정보 처리방침
=========================================================*/
.PolicySec{
	color:#000000;
	max-width: 57.5rem; 
	margin:0 auto;
}

.PolicyHead{
	padding-bottom:2.188rem;
	border-bottom:solid 2px #cdcdcd;
	margin-bottom:2.188rem;
}

.PolicyHead-text{
	font-size:1.188rem; 
	font-weight: 500; 
	text-align: center;
}

.PolicySec-title{
	font-size:1.063rem;
	line-height:1.7em;
	font-weight:500;
}

.PolicySec-text{
	font-size:1.063rem;
	line-height:1.7em;
}

.DfBullet .PolicySec-text{
	display:block;
	overflow:hidden;
}

.PolicySec-bullet{
	font-size:1.063rem;
	line-height:1.7em;
	display:block;
	float:left;
	margin-right:0.313rem;
}

.DfBullet li{
	position:relative;
}

.DfBullet li:after{
	content:"";
	display:table;
	clear:both;
}

.DfTable caption{
	display: none;
}

.DfTable{
	width:100%;
	font-size:0.875rem;
}

.DfTable .PolicySec-text{
	font-size:0.875rem;
}

.DfTable thead th{
	background: #ebebeb;
	font-weight: 500;
	padding:0.625rem 1.563rem;
	text-align: left;
}

.DfTable tbody th,.DfTable tbody td{
	padding:1.25rem 1.563rem 1.563rem;
	text-align: left;
	border-bottom:solid 1px #c2c2c2;
}

.DfTable .border_t{
	border-top:solid 2px #cdcdcd;
	padding-top:2.188rem;
}

.DfTable .hd_text{
	font-size:1.188rem; 
	font-weight: 500; 
	text-align: center;
}

.PolicyHeader-title{
	font-size: 1.375rem;
    color: #000000;
    line-height: 1.4em;
    font-weight: normal;
    text-align: center;
}

.PolicyHeader-sub{
	font-size: 1.125rem;
    color: #626262;
    line-height: 1.5em;
    text-align: center;
    margin-top: 0.625rem;
}

.PolicyScrollText {
	font-size:0.75rem;
	color: #cca068;
	line-height:1.4em;
	font-weight:400;
	display:none;
}

@media screen and (max-width: 767px) and (min-width: 1px) {
	.sitePage{
		padding-top: 8rem;
	}
	
	.PageHeader{
		margin-bottom: 3.063rem;
	}
	
	.PolicyScroll {
		overflow: hidden;
		overflow-x: scroll;
		position: relative;
		margin-left:-1.25rem;
		margin-right:-1.25rem;
		padding:0 1.25rem;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	
	.PolicyScroll::-webkit-scrollbar {
	  display: none;
	}
	
    .PolicyScroll  .DfTable{
		width:48.75rem;
	}
	
	.PolicyScrollText{
		display:block;
	}
}

/*=========================================================
  DfSearch
=========================================================*/
.DfSearch{
	width:15rem;
	margin-left:auto;
	margin-bottom:1.875rem;
	background-color:#f0f0f0;
	border-radius:0.5rem 0.5rem;
	padding-right:2.5rem;
	position:relative;
}

body .DfSearch-text{
	font-size:1rem;
	line-height:normal;
	padding:0.625rem 0.938rem;
	display:block;
	width:100%;
}

body .DfSearch-text::placeholder {
  color: #999;
}

body .DfSearch-text::placeholder {
  color: #999;
}

body .DfSearch-btn{
	position:absolute;
	top:50%;
	right:0.938rem;
	transform:translateY(-50%);
	width:1.25rem;
	height:1.25rem;
	z-index:5;
}

body .DfSearch-btn:after{
	content:"";
	width:1.25rem;
	height:1.25rem;
	background-image:url(../../images/icon/ico_search.svg);
	background-size:100% 100%;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

/*=========================================================
  Blog
=========================================================*/
.DfPost{
	border-bottom:solid 1px #ebebeb;
}

.DfPost-link{
	display:flex;
	align-items:start;
	padding:1.563rem 0;
}

.DfPostThumb{
	width:18rem;
	margin-right:1.563rem;
	position:relative;
}

.DfPostThumb:after{
	content:"";
	display:block;
	padding-bottom:56%;
}

.DfPostThumb-img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}

.DfPostText{
	width:calc(100% - 19.563rem);
}

.DfPost-title{
	font-size:1.375rem;
	line-height:1.4em;
	color:#000;
	font-weight:500;
	text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 2.8em;
}

.DfPost-excerpt{
	margin-top:0.875rem;
	font-size:1rem;
	line-height:1.6em;
	color:#666;
	text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 3.2em;
}

.DfPost-meta{
	font-size:0.875rem;
	line-height:1.2em;
	color:#666;
	margin-top:0.875rem;
}

@media screen and (max-width:580px) and (min-width:1px){
	.DfPost-link{
		display:block;
	}
	
	.DfPostThumb{
		width:100%;
		margin-bottom:1.5rem;
	}
	
	.DfPostText{
		width:100%;
	}
}

/*=========================================================
  Paging
=========================================================*/
.Paging{
	margin-top:2.5rem;
	text-align:center;
	font-size:0;
	line-height:0;
}

.Paging a,
.Paging span{
	display:inline-block;
	font-size:1rem;
	line-height:1.2em;
	color:#666;
	font-weight:300;
	vertical-align:middle;
	margin:0 0.313rem;
}

.Paging .current{
	display:inline-block;
	font-size:1rem;
	line-height:1.2em;
	color:#000;
	font-weight:500;
	vertical-align:middle;
}

/*=========================================================
  Single
=========================================================*/
.SinglePageHeader{
	border-top:solid 2px #222;
	border-bottom:solid 1px #cdcdcd;
	padding:1.563rem 0;
}

.SinglePageHeader-title{
	font-size: 1.375rem;
    line-height: 1.4em;
    color: #222;
    font-weight: 500;
}

.SinglePageHeader-meta{
	font-size: 0.875rem;
    line-height: 1.2em;
    color: #666;
    margin-top: 0.875rem;
}

.SinglePageMore{
	margin-top:2.5rem;
	font-size:0;
	line-height:0;
	text-align:center;
}

.SinglePageBtn{
	font-size:1rem;
	line-height:1.2em;
	color:#fff;
	font-weight:400;
	padding:0.875rem 1.563rem;
	border-radius:0.5rem 0.5rem;
	background-color:#222;
	display:inline-block;
}

.SinglePageBody{
	padding:1.563rem 0;
	border-bottom:solid 1px #cdcdcd;
}

/* Responesive*/
@media screen and (min-width: 1025px) {
	.SinglePageBtn:hover{
		background-color:#cca068;
	}
}

/*=========================================================
	Single: Content
=========================================================*/
.SingleContent{
	font-size: 1rem;
	line-height:1.9;
}

.SingleContent .size-full,
.SingleContent p img {
    height: auto !important;
}

.SingleContent .alignleft {
    float: left;
}

.SingleContent .alignright {
    float: right;
}

.SingleContent .aligncenter {
    display: block;
    margin: 0 auto;
}

.SingleContent figure.wp-caption,
.SingleContent iframe {
    width: 100% !important;
}

.SingleContent p {
    margin-bottom: 0.938rem;
    color: #666;
}

.SingleContent p:after {
    content: "";
    display: table;
    clear: both;
}

.SingleContent p img + img {
    margin-top: 0.938rem;
}

.SingleContent a {
    color: #222222;
    text-decoration: underline;
}

.SingleContent h1,
.SingleContent h2,
.SingleContent h3,
.SingleContent h4,
.SingleContent h5,
.SingleContent h6 {
    font-weight: 500;
    color: #222;
    margin-bottom: 0.938rem;
    line-height: 1.4;
}

.SingleContent h1 {
    font-size: 1.4rem;
}

.SingleContent h2 {
    font-size: 1.35rem;
}

.SingleContent h3 {
    font-size: 1.25rem;
}

.SingleContent h4 {
    font-size: 1.125rem;
}

.SingleContent h5 {
    font-size: 1rem;
}

.SingleContent h6 {
    font-size: 0.875rem;
}

.SingleContent figure {
    margin-bottom: 0.938rem;
}

.SingleContent ul,
.SingleContent ol {
    margin-bottom: 0.938rem;
    color: #222;
    text-align: left;
}

.SingleContent li {
    margin-top: 0.313rem;
}

.SingleContent li:first-child {
    margin-top: 0;
}

.SingleContent img {
    max-width: 100%;
}

.SingleContent figcaption.wp-caption-text {
    color: #555555;
    font-weight: normal;
    text-align: center;
    font-size: 0.75rem;
}

.SingleContent ul li,
.SingleContent ol li {
    padding-left: 1.1rem;
    position: relative;
}

.SingleContent ul li:before {
    content: "∙";
    position: absolute;
    top: 0;
    left: 0;
    color: #101010;
}

.SingleContent ol li:nth-child(n+1):before {
    content: counter(item) ".";
    position: absolute;
    top: 0;
    left: 0;
}

.SingleContent ol {
    counter-reset: item;
}

.SingleContent ol li {
    counter-increment: item;
}

.SingleContent blockquote {
    color: #1c1c1c;
    padding-left: 1rem;
    position: relative;
}

.SingleContent blockquote:before {
    content: "";
    width: 0.2rem;
    height: 100%;
    position: absolute;
    background: #101010;
    top: 0;
    left: 0;
}

.SingleContent table {
    width: 100%;
    margin-bottom: 0.938rem;
    border-top: solid 0.15rem #2e3235;
    border-collapse: collapse;
    table-layout: fixed;
}

.SingleContent table thead th {
    color: #2e3235;
    font-size: 1.1rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4rem;
}

.SingleContent table th,
.SingleContent table td {
    vertical-align: middle;
    border: solid 0.07rem #ccd0d7;
    padding: 0.75rem 0.313rem;
    text-align: center;
}

.SingleContent iframe {
    max-width: 100% !important;
}

.SingleContent span[id*="more-"] {
    border-bottom: dashed 0.15rem #ccd0d7;
    display: block;
}

.SingleContent figcaption {
    color: #555555;
    font-weight: normal;
    font-size: 0.75rem;
}

.SingleContent iframe[src*="youtube"] {
    aspect-ratio: 16 / 9 !important;
}

/*=========================================================
	GuideList
=========================================================*/
.GuideList{
	border-top:solid 2px #222;
}

.GuideItemTitle{
	border-bottom:solid 1px #cdcdcd;
}

.GuideItemTitle-link{
	display:block;
	padding:1.5rem 0.938rem 1.5rem 2.5rem;
	position:relative;
}

.GuideItemTitle-title{
	display:block;
	font-size:1.125rem;
	line-height:1.8;
	color:#000;
	font-weight:500;
}

.GuideItemTitle-bullet{
	position:absolute;
	top:1.563rem;
	left:0;
	width:2rem;
	height:2rem;
	background-image:url(../../images/icon/ico_faq_q.svg);
	background-size:100% 100%;
}

.GuideItemCont{
	background-color:#F4F4F4;
	display:none;
}

.is-Current .GuideItemCont{
	display:block;
}

.GuideItemCont-inner{
	position:relative;
	padding:1.5rem 0.938rem 1.5rem 5rem;
}

.GuideItemCont-bullet{
	position:absolute;
	top:1.563rem;
	left:2.5rem;
	width:2rem;
	height:2rem;
	background-image:url(../../images/icon/ico_faq_a.svg);
	background-size:100% 100%;
}

.GuideItemCont .SingleContent{
	font-size:1.125rem;
	line-height:1.8;
}

/* Responesive*/
@media screen and (max-width: 767px) and (min-width: 1px) {
	.GuideItemTitle-link{
		padding-top:1.25rem;
		padding-bottom:1.25rem;
	}
	
	.GuideItemTitle-bullet{
		top:1.125rem;
	}
	
	.GuideItemTitle-title{
		font-size:1.063rem;
	}
	
	.GuideItemCont .SingleContent{
		font-size:1.063rem;
		line-height:1.6;
	}
	
	.GuideItemCont-inner{
		padding-top:1.25rem;
		padding-bottom:1.25rem;
		padding-left:3.375rem;
		padding-right:0.938rem;
	}
	
	.GuideItemCont-bullet{
		left:0.938rem;
		top:1.125rem;
	}
	
	.GuideItemTitle-title{
		line-height:1.6;
	}
}

/*=========================================================
	PageError 
=========================================================*/
body.error404 .site-footer{
	display:none;
}

body.error404 .site-content{
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top:0;
}

.PageError{
	text-align: center;
	width:100%;
}

.PageError-ico{
	width:25rem;
	max-width:100%;
	line-height:0;
	margin:0 auto 2rem;
}

.PageError-title{
	color:#000;
	font-size:2.75rem;
	font-weight:bold;
	line-height:1.4em;
}
.PageError-text{
	margin-top:0.938rem;
	color:#000;
	font-size:1.063rem;
	line-height:1.4em;
}
.PageErrorBtn{
	margin-top:5.625rem;
	font-size:0;
	line-height:0;
}
.PageErrorBtn-link{
	display:inline-block;
	padding:1rem 2.75rem;
	line-height:1.2em;
	color:#000;
	font-size:1rem;
	font-weight:600;
	border: 2px solid #000;
}

/*responsive*/
@media screen and (max-width: 1024px) and (min-width: 768px){
	.PageErrorBtn{
		margin-top: 3.625rem;
	}
}

@media screen and (max-width:767px) and (min-width:1px){
	.PageError-title{
		font-size: 2rem;
	}
	
	.PageErrorBtn{
		margin-top: 3.25rem;
	}
}

/*=========================================================
	FrontFormAgree 
=========================================================*/
.FrontFormAgree{
	border:solid 1px #cdcdcd;
	padding: 0.875rem 0.938rem;
	background-color:#fff;
	font-size:0.875rem;
	height:10rem;
	overflow:hidden;
	overflow-y:auto;
}

.FrontFormAgree-title{
	font-weight:500;
}

.FrontFormAgree-text{
	margin-top:0.5rem;
}

.FrontFormAgree-text.Title{
	font-weight:500;
	margin-top:0.875rem;
}