@charset "utf-8";

/*reset CSS
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

/*Font Awesome
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/*Google Fonts
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&family=Noto+Sans+JP:wght@100..900&display=swap');

/*other css
---------------------------------------------------------------------------*/
@import url("inview.css");


/*basic setting
---------------------------------------------------------------------------*/
html,body {
	margin: 0;padding: 0;
	font-size: 62.5%;
	overflow-x: hidden;
}

body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	-webkit-text-size-adjust: none;
	letter-spacing: 0.05em;
	background: #fff;
	color: #555;
	line-height: 1.8;
}

figure {margin: 0;}
table {border-collapse:collapse;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
video {max-width: 100%;}
ul,ol{list-style: none; margin: 0; padding: 0;}

a {
	color:#0092d4;
	transition: 0.3s;
}

section{
	margin: 0 auto;
	padding: 5% 10%;
}



/*header
---------------------------------------------------------------------------*/
header {
	display: flex;					
	justify-content: space-between;
	align-items: center;
	background: #1A1A1A;
	z-index: 1;	
	width: 100%;
	padding: 0px 5%;
}

header #logo img {display: block; margin-top: 10px;}
header #logo {
	margin: 0;
	padding: 10px 0;
	width: 200px;
}


/*KV
---------------------------------------------------------------------------*/
#kv {
	width: 100%;
	padding: 40% 0 0;
	position: relative;
	overflow-x: hidden;
	background: url("../images/mainv.jpg") no-repeat center center / 100%;
	color:#1B1B1B;
}

#kv #catchcopy {
	position: absolute;
	left: 10%;
	top: 0px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}

#kv #catchcopy h1{
	margin: 0;
	font-weight: 700;
	font-size: 3vw;
}

#kv #catchcopy h1 span {
	font-size: 4.9vw;
}


/*main
---------------------------------------------------------------------------*/
main h2 {
	margin: 0 0 1rem;
	line-height: 1.4;
	font-size: 2.5rem;
	text-align: center;
	letter-spacing: 0.2rem;
	font-weight: 400;
}


main p { margin: 0 20px 15px;}


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

footer {
	font-size: 0.9rem;	
	text-align: center;	
	padding: 20px;	
	background: #111;
	color: #fff;
}

footer a {text-decoration: none;color: #fff;}

footer .dgg { width: 250px; margin:0 auto;} 


/*　lead
---------------------------------------------------------------------------*/
.lead p{ font-size: 1.6rem;}

.lead dl{margin: 2rem 1rem; background:#FEF1D7; padding: 2rem;}

.lead dt{font-size: 1.6rem; font-weight: 500;}

.lead dd{font-size: 1.2rem}

.lead .attention{
    font-size: 0.9rem;
    color: #A31700;
	margin-left: 1rem;
}

.lead h3 {
    margin: 3rem 1rem 0;
	line-height: 1.4;
	font-size: 1.6rem;
	text-align: left;
	letter-spacing: 0.1rem;
}

.lead .merit{
width: 100%;
margin: 30px auto;
}

.lead .merit .num{ 
font-size: 2.5rem;
line-height:1rem;
margin:0 1rem 0 0;
}

.lead .merit dl{background-color:inherit; margin:0; padding:1rem;}

.lead .merit dt{
font-weight: 500;
font-size: 1.5rem;
color: #1C649B;
vertical-align: middle;
}

.lead .merit dd span{
font-size: 0.9rem;
color: #A31700;
}

.lead .merit dd{font-size:14px; padding: 0 ; margin: 1rem 0;}


/*　issuer　List
---------------------------------------------------------------------------*/

.issuer-list {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 grid-column-gap:6rem;
 margin-bottom:4rem;
}



.issuer-list li a{
	 position:relative;
	 display: block;
}

 
.issuer-list li a::before {
        position:absolute;
        top:0;
        left:0;
        display:block;
        box-sizing:border-box;
        border:2px solid #0C8BB0;
        width:100%;
        height:100%;
        content:"";
        opacity:0;
        transform:scale(1.3);
        transition:transform 0.5s, opacity 0.5s;
    }
 
.issuer-list li a:hover::before {
        opacity:1;
        transform:scale(1);
    }

/*　セゾンなし2社で表示させるとき用
---------------------------------------------------------------------------*/

.issuer-list_2 {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 grid-column-gap:6rem;
 width: 70%;
 margin: 0 auto 4rem;
}

.issuer-list_2 li a{
	 position:relative;
	 display: block;
}

 
.issuer-list_2 li a::before {
        position:absolute;
        top:0;
        left:0;
        display:block;
        box-sizing:border-box;
        border:2px solid #0C8BB0;
        width:100%;
        height:100%;
        content:"";
        opacity:0;
        transform:scale(1.3);
        transition:transform 0.5s, opacity 0.5s;
    }
 
.issuer-list_2 li a:hover::before {
        opacity:1;
        transform:scale(1);
    }



/*　issuer
---------------------------------------------------------------------------*/
.issuer{ width: 100%; padding: 0;}

.issuer h2{ background: #134774; color:#FFF; padding: 1rem 0;}

.issuer .logo-issuer{width:80%; margin:5rem auto; text-align: center;}

.issuer p.camp{font-size: 3.75vw; font-weight: 700; color:#065882;}

/*カード画像とCPコピー*/
.column {
	display: flex;			
	flex-direction: column;	
}

.column h2 {
	font-size: 2rem;
}

.column .image {
	order: -1;
	width: 50%;
	margin: 0 auto;
}

.column .camp{text-align: center;}




/*　merit
---------------------------------------------------------------------------*/

.merit{
width: 80%;
margin: 20px auto 60px;
}

/*2コンテンツ目のみ「メリット」3列のため適用*/
#issuer02 .merit figure {margin: 0 auto;}


.merit dt{
font-weight: 500;
font-size: 1.5rem;
color: #1C649B;
}



.merit dd span{
font-size: 0.9rem;
color: #A31700;
}



.merit dd{margin: 0;padding: 0}

.merit-box figure img{width: 5rem;}	

/*　btn
---------------------------------------------------------------------------*/
.btn{
  cursor: pointer;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

.btn {
  background:#C70003;
  border: 2px solid #C70003;
  border-radius: 60px;
  color: #fff;
  display: block;
  font-weight: bold;
  width: 80%;
  margin: 15px auto 50px;
  padding: 15px 40px;
  font-size: 1.6rem;
  text-align: center;
}

.btn:hover {
  background: #fff;
  color: #C70003;
}

/*　special offer
---------------------------------------------------------------------------*/

.special-offer{
  width: 80%;
  margin: 40px auto 30px;
  padding: 30px 20px 10px 20px;
  background:#F2FCFD;
  border: 2px solid #4c9ac0;
}
.special-offer-ttl {
  background-color: #4c9ac0;
  color: #fff;
  border-radius: 100vh;
  padding: 10px 1.5rem;
  margin: -55px 0 0 0;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.special-offer-ttl::after {
  content: '';
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border: 15px solid transparent;
  width: 0;
  height: 0;
  border-top-color: #4c9ac0;
}

.special-offer p{font-size: 1.4rem}
          
.special-offer p:first-of-type{ margin-top:2rem;}

.special-offer p span{font-weight:700; color:#015082;}

.special-offer-btn a{text-decoration: none;}

/*　notes
---------------------------------------------------------------------------*/
.notes{
	width: 80%;
    margin: 40px auto;
}

.notes h3{
	font-size: 1.5rem;
	margin:10px 0;
	background: linear-gradient(transparent 70%, #E4BC00 70%);
}

.notes li,p,h4{
	color:#777;	
}

.notes li{
	position: relative;
	padding-left: 12px;
	font-size: 0.9rem;
}

.notes li:before {
	content: "・";
    left: 0;
    position: absolute;
}

.notes h4{
    font-weight:bold;
	margin-bottom:10px;
}

.notes p{
	margin-left:0px;
}

p.attention{
   font-size:1rem;
   position: relative;
   padding-left: 14px;
   margin:0 20px 0;
}

p.attention:before {
	content: "※";
    left: 0;
    position: absolute;
}

.notes .image{
	margin:0 10px 0 0;
}

.notes .image figure{
	width:100%;
}

.notes .column{
	margin:0;
    justify-content: left;
	width:auto;
}

.notes .column p{
    width:100%;
}



/*PAGE TOP
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;
	right: 20px;
	bottom: 20px;
	color: #fff;
	font-size: 1.5rem;
	background: rgba(0,0,0,0.4);
	width: 80px;
	line-height: 80px;
	border-radius: 50%;
}


/*animation1のキーフレーム設定
---------------------------------------------------------------------------*/
@keyframes animation1 {
	0% {left: -200px;}
	100% {left: 0px;}
}


/*opa1のキーフレーム設定
---------------------------------------------------------------------------*/
@keyframes opa1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}




/*---------------------------------------------------------------------------
w900px　over setting
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {


html, body {
	font-size: 14px;
}
	
section{
	padding: 5% 15%;
}

.column {
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin: 5% 10%;
}
	
/*画像ブロック*/
.column .image {
	width: 30%;
}

/*テキストブロック*/
.column .text {
	width: 65%;
	padding: 0 3%;
}

/*最初(左)に配置*/
.column .l {
	order: -1;
}

/*画像を左側に配置する場合の設定*/
.column .image.l {
	overflow: hidden;
}
	
.issuer p.camp{font-size: 1.75vw;}
	
.merit{
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-column-gap: 30px;
grid-row-gap: 30px;
}

.lead .merit{
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-column-gap: 30px;
grid-row-gap: 10px;
}


.merit-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;	
}
	
.merit-box figure{width: 8rem;}	
	
.merit-box figure img{width: 6rem;}	
	
.merit-box dl{flex:1}	
	
.btn {
  max-width: 40%;
}

/*2コンテンツ目のみ「メリット」3列のため適用*/
#issuer02 .merit{
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: none;
}
	
#issuer02 .merit-box {
    display: block;
	height: 290px;
}
	
#issuer02 .merit figure {margin: 0 auto;}

#issuer02 .merit dt {text-align: center;}

#issuer02 .merit dd {text-align: center;}
}

/*w900ここまで*/


/*りそなフォント変更のため適用*/
#issuer01 span.risona{
	font-family: "BIZ UDGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    color: inherit;

}

