@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
    loading
------------------------------------------------------------*/
.loadingBg {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1001;
    overflow: hidden;
}
.loadingBg .mask {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #3e3e38;
    width: 100%;
    transform-origin: 0 0;
    transform: scaleX(1);
}
.loadingBg .mask1 {
    width: 100%;
    transform: scaleX(1);
}
.loadingBg .maskBlack {
    background-color: #4a4a43;
}
.loadingBg .maskBlack2 {
    background-color: #595950;
}
.loadingLogo {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 1002;
}

/*------------------------------------------------------------
	mainImg
------------------------------------------------------------*/
.mainImg {
    margin-bottom: 90px;
    height: 800px;
    position: relative;
    background: url("../../img/privacy/mainImg.jpg") no-repeat center center;
    background-size: cover;
}
.mainImg .ttlBox {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.mainImg .ttlBox .sub {
    max-width: 925px;
    height: 300px;
    display: flex;
    align-items: center;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.mainImg .ttlBox .sub:after {
	width: 9999px;  
	height: 100%;
    background: linear-gradient(rgba(0,0,0,0.7) 0%, rgba(0,50,105,0.7) 100%);
	position: absolute;  
	top: 0;
	right: 70px;  
	content: ""; 
    background-blend-mode: multiply;
    z-index: -1;
}
.mainImg h2 {
    font-size: 2rem;
    letter-spacing: 0.25em;
    color: white;
}
.mainImg h2 .txtSpan {
    font-size: 4rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #F4F4F4;
    padding-bottom: 20px;
    margin-bottom: 25px;
    display: inline-block;
}
@media all and (max-width: 896px) {
    .mainImg {
        margin-bottom: 40px;
        height: 500px;
        background-image: url("../../img/privacy/sp_main_img.jpg");
    }
    .mainImg .ttlBox .sub::after {
        right: 65px;
    }
    .mainImg h2 {
        font-size: 1rem;
    }
    .mainImg h2 .txtSpan {
        font-size: 2rem;
        padding-bottom: 10px;
        margin-bottom: 12px;
    }
    .mainImg .ttlBox .sub {
        height: 150px;
        padding: 0 20px 0 30px;
    }
}

/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
    max-width: 1110px;
    margin: 0 auto;
    padding: 0 20px;
}
@media all and (max-width: 896px) {
    .content {
        max-width: inherit !important; 
    }
}


/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
    margin: 0 auto;
    width: 350px;
}
.comLink a {
    display: block;
    border-radius: 50px;
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    color: #FFE8CF;
    text-align: center;
    padding: 18px 20px 19px;
    border: 3px solid #003672;
    box-sizing: border-box;
    position: relative;
    background: linear-gradient(45deg,#000 0%, #003269 100%);
}
.comLink .txtSpan {
    display: block;
    position: relative;
    z-index: 1;
}
.comLink a:after {
	width: 0;  
	height: 100%;
    background-color: white;
	position: absolute;  
	top: 0;
	left: 0;  
	content: "";
    border-radius: 60px;
    transition: all ease 0.3s;
}
@media all and (max-width: 896px) {
    .comLink {
        width: 200px;
    }
    .comLink a {
        padding: 10px 10px;
        letter-spacing: 0.2em;
        font-size: 1.5rem;
    }
}


/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
    margin-bottom: 35px;
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
.headLine01 .txtSpan {
    display: block;
    margin-bottom: 17px;
}
@media all and (max-width: 896px) {
    .headLine01 {
        margin-bottom: 17px;
        font-size: 1.2rem;
    }
    .headLine01 .txtSpan img {
        width: auto;
        max-height: 50px;
        max-width: inherit;
    }
    .headLine01 .txtSpan {
        margin-bottom: 10px;
    }
}


/*------------------------------------------------------------
	comLink02
------------------------------------------------------------*/
.comLink02 {
    width: 200px;
    margin-left: auto;
}
.comLink02 a {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    color: white;
    padding: 10px 23px;
    text-align: right;
    display: block;
    position: relative;
    border: 1px solid #fff;
}
.comLink02 a:after {
	width: 0;  
	height: 100%;
    background-color: white;
	position: absolute;  
	top: 0;
	left: 0;  
    transition: all ease 0.3s;
	content: ""; 
}
.comLink02 a:before {
	width: 162px;  
	height: 11px;
    background: url("../../img/common/icon01.png") no-repeat;
    background-size: 100% auto;
	position: absolute;  
	top: 48%;
    transform: translateY(-50%);
	left: -90px;  
    transition: all ease 0.3s;
	content: ""; 
    z-index: 1;
    transition: all ease 0.3s;
}
.comLink02 a .txtSpan {
    display: block;
    position: relative;
    z-index: 1;
}
@media all and (max-width: 896px) {
    .comLink02 {
        width: 170px;
    }
    .comLink02 a {
        padding: 5px 10px;
    }
    .comLink02 a::before {
        width: 80px;
        height: 5px;
        left: -39px;
        top: 46%;
    }
}


/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
    margin-bottom: 20px;
    font-size: 3.2rem;
    color: #003672;
    letter-spacing: 0.1em;
}
.headLine02 span {
    margin-bottom: 10px;
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    color: #E0E0E0;
    letter-spacing: 0.1em;
}

@media all and (max-width: 896px) {
    .headLine02 {
        font-size: 2rem;
    }
    .headLine02 span {
        font-size: 1.3rem;
    }
}

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
}


@media all and (min-width: 897px) {
    .comLink a:hover {
        color: black;
    }
    .comLink a:hover:after {
        width: 100%;
    }
    .comLink02 a:hover {
        color: #003672;
    }
    .comLink02 a:hover:after {
        width: 100%;
    }
    .comLink02 a:hover:before {
        background-image: url("../../img/common/icon02.png");
    }
}

@media all and (max-width: 374px) {
    .mainImg .ttlBox .sub::after {
        right: 40px;
    }
}


.fadeInUp {
    opacity: 0;
	transform: translate(0,80px);
	-webkit-transition: all ease-in-out 0.8s;
    transition: opacity 2s cubic-bezier(0.18, 1.01, 0.29, 1.04), transform 2s cubic-bezier(0.18, 1.01, 0.29, 1.04), -webkit-transform 2s cubic-bezier(0.18, 1.01, 0.29, 1.04);
}

.fadeInUp.on {
    opacity: 1;
	transform: translate(0, 0);
}