@charset "utf-8";

a{
	text-decoration: none;
	transition: .5s all;
}


body{
	font-family: "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	color: #333333;
	text-align: left;
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 1.8;
    background-image: url(../images/background.png);
    background-size: cover;
}

p,h1,h2,h3,h4,h5,h6{
	margin-top: 0;
	margin-bottom: 0;
	font-family: "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}




#top{
    background-image: url(../images/top-background.jpg);
    background-size: cover;
}

.inner-header{
    padding-top:3vh;
    padding-left:3vw;
}

.header-logo{
    width:110px;
    height:auto;
}

#top .container{
    max-width:1100px; 
    width:90%;
    margin:0 auto;
    padding:5vh 0;
}

#top .box{
    width:100%;
    max-width: 960px;
    margin:3vh auto;
    padding:5em 1em;
    text-align: center;
    background-color: #ffffff;
    opacity: 0.9;
}

h1{
    font-size:1.9rem;
    font-weight: bold;
    color: #1BA0C9;
    margin-bottom: 0.5em;
}

h2{
    font-size:1.6rem;
    color: #000E46;
    font-weight: bold;
    text-align: center;
}

h3{
    font-size:1.2rem;
    color: #09262E;
    margin-bottom: 2em;
    display: inline-block;
}

#top .important{
    display: inline-block;
    margin: 0 auto;
    max-width: 800px;
    width:95%;
}

#top p{
    color: #EF5252;
    font-size: 1.2rem;
    font-weight: 600;
    display: block;
    margin: 0 auto 0.7rem;
    line-height: 1.5em;
    text-align: left;
    text-indent: -1rem;
    padding-left: 1rem;
}

#merits{
    margin-top:8vh;
    margin-bottom: 8vh;
}

#merits .container{
    max-width: 1100px;
    width:90%;
    margin: 0 auto;
    text-align: center;
    padding:5vh 0;
}

#merits .item-wrapper{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 3vh;
}

#merits .item{
    width:335px;
    text-align: center;
    margin:8px;
}

#merits .item .title{
    background-color: #0D2173;
    width:100%;
    padding:15px 10px;
    border-radius: 15px 15px 0 0;
}

#merits .item .title p{
    font-size: 1.11rem;
    color: #ffffff;
    font-weight: bold;
    line-height: 1.6em;
}

#merits .item .contents{
    border:1px solid #0D2173;
    padding:5px 0;
    height:240px;
    border-radius: 0 0 15px 15px;
}

#merits .item .contents .textbox{
    height:5em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5em;
}

#merits .item .contents p{
    font-size: 1.03rem;
    color:#151575 ;
    line-height:1.4em;
    font-weight: bold;
}

#merits .item .contents span{
    color: #EF5252;
    font-weight: bold;
}

#merits .item .images{
    display: flex;
    flex-wrap:nowrap;
    align-items: center;
    justify-content: space-around;
    height:8em;
}


#merits .item .images .arrow{
    height:2em;
}

.invoice{
    padding: 20px;
    border: 1px solid #8499B4;
    width: 72%;
    margin: 0 auto;
    border-radius: 10px;
    margin-top: 60px;
    font-weight: 600;
}

.line{
    color: #D44E55;
    border-bottom: 1px solid #D44E55;
}



#flow{
    margin-top: 8vh;
    margin-bottom: 8vh;
    background-color: #D9EAF5;
}

#flow .container{
    max-width:1100px;
    width:90%;
    margin: 0 auto;
    padding:8vh 0;
}

#flow .flowchart{
    max-width:900px;
    width:100%;
    margin: 0 auto;
    margin-top:6vh;
}


#flow .item{
    display: flex;
    position: relative;
    margin-bottom:5px;
}

#flow .item .numb{
    width:20%;
    text-align: center;
    background-color:#0D2173;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 110px;
    position: relative;
}

#flow .item01 .numb{
    position: relative;
    z-index: 0;
}


#flow .item .numb p{
    color: #ffffff;
    font-weight: bold;
    line-height: 2em;
}

#flow .item .numb span{
    font-size: 2.6rem;
}

#flow .item .textarea{
    padding:1.5rem;
    background-color: #ffffff;
    width:100%;
}

#flow .item02 .textarea{
    display: flex;
}

/*#flow .item02 .textarea .text{
    width:60%;
    min-width: 390px;
}

#flow .item02 .textarea .qrcode{
    width:40%;
    position: relative;
}

#flow .item02 .textarea .qrcode img{
    width:120px;
    position: absolute;
    top: -18px;
}*/

#flow .item02 .numb::before {
    content: '';
    position: absolute;
    background-image: url(../images/flowarrow.png);
    background-size: contain;
    width: 110px;
    height: 110px;
    display: block;
    bottom: 3px;
	z-index: 21;
}

#flow .item02 .numb::after {
    content: '';
    position: absolute;
    background-image: url(../images/flowarrow.png);
    background-size: contain;
    width: 110px;
    height: 110px;
    display: block;
    bottom: -108px;
	z-index: 21;
}

	
.loginlink{
    color: blue;
}
    

#flow .item03 .numb::after {
    content: '';
    position: absolute;
    background-image: url(../images/flowarrow.png);
    background-size: contain;
    width: 110px;
    height: 110px;
    display: block;
    bottom: -108px;
	z-index: 21;
}

/*#flow .item04 .numb::after {
    content: '';
    position: absolute;
    background-image: url(../images/flowarrow.png);
    background-size: contain;
    width: 110px;
    height: 110px;
    display: block;
    bottom: -108px;
	z-index: 21;
}*/


#flow .maintext{
    color: #151575;
    font-weight: bold;
}

#flow p{
    color: #151575;
}

#flow .id-wrapper{
    margin:1em 0;
}

#flow .idpassword{
    display: flex;
    margin-bottom:5px;
    flex-wrap: nowrap;
}

#flow .idpassword  .tag p{
    display: inline-block;
    width: 120px;
    height: 27px;
    color: #ffffff !important;
    background-color: #EF5252;
    border-radius: 3px;
    text-align: center;
    margin-right: 1rem;
    font-size: 0.88rem;
}

#flow .idpassword p{
    color: #EF5252;
    font-size:1rem;
    font-weight: bold;
    font-size: 0.9rem;
}

#flow .idpassword span{
    font-size: 1.06rem;
}

#flow .last{
    display: flex;
    justify-content: flex-start;
    margin-top: 4vh;
    align-items: center;
	position: relative;
}

#flow .last span{
    font-size:1.5rem;
    color: #EF5252;
    font-weight: bold;
    margin-right:3rem;
	position: relative;
}


#login{
    margin-top: 8vh;
    margin-bottom: 8vh;
}


#login .container{
    max-width:1100px;
    width:90%;
    margin: 0 auto;
}

#login .button{
    text-align: center;
    padding:2em;
}

#login .button .btn{
    width:380px;
    background: -moz-linear-gradient(bottom, #DE5757, #FF92A5); 
    background: -webkit-linear-gradient(bottom, #DE5757, #FF92A5); 
    background: linear-gradient(to top, #DE5757, #FF92A5); 
    color: #ffffff;
    font-size:1.25rem;;
    font-weight: bold;
    display: inline-block;
    padding:0.5rem 1rem;
    border-radius: 5px;
    box-shadow: 0px 2px 6px #c1c1c1;
    text-decoration: none;
    position: relative;
}

#login .button .btn:hover{
    opacity: 0.6;
    transition: all 0.5s;
}

#login .button .btn::after{
    content:url(../images/btnarrow.png);
    position: absolute;
    right:15px;
}

#login .box{
    max-width:670px;
    width:85%;
    text-align: center;
    padding:1.5em 0;
    margin:0 auto;
    border: 1px solid #8499B4;
    margin-top: 3vh;
}

#login .box .title{
    color: #0D2173;
    font-size: 1.08rem;
    font-weight:bold;
}

#login .box p{
    font-size: 0.95rem;
    color: #272727;
}

#login .box span{
    font-weight: bold;
}

#customer{
    margin-top:16vh;
    margin-bottom:16vh;
}
    
#customer .container{
    max-width: 1100px;
    width: 90%;
    margin: 0 auto;
}

#customer p{
    color: #EF5252;
    font-size: 1.08rem;
    font-weight: bold;
    text-align: center;
    padding:1.5em 0
}


#caution{
    background-color: #F9F6F1;
    margin-top:14vh;
}

#caution .container{
    max-width:960px;
    width:90%;
    margin: 0 auto;
    padding:8vh 0;
}

#caution .title{
    color: #D44E55;
    font-size: 1.04rem;
    font-weight: bold;
}

#caution ul{
    margin-top:20px;
    padding-left:3rem;
}

#caution li{
    font-size: 0.94rem;
    color: #272727;
    padding-bottom: 0.5em;
    line-height: 1.4em;
    font-weight: 500;
}

footer{
    background-color: #001151;
    width:100%;
    margin: 0 auto;
}

footer p{
    color: #ffffff;
    text-align: center;
    font-size: 0.9rem;
    padding:2rem 0;
}


#js-pagetop {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 50px;
    right: 50px;
    cursor: pointer;
}

#js-pagetop a{
	transition: all 0.3s;
	
}

#js-pagetop img{
    position: absolute;
    top:50%;
    left:50%;
    display: block;
    width: 100%;
    opacity: 0.9;
	transition: all 0.3s;
}

#js-pagetop:hover{
    opacity:0.4;
    transition:all 0.3s;
}

.sp-br{
	display: none;
}


@media screen and (max-width:746px){
    
    .header-logo{
        height:3vh;
        width:auto;
    }
	
	.sp-br{
		display: block;
	}
	
	.pc-br{
		display: none;
	}
	
	h1{
		font-size:1.35rem;
		line-height: 1.4;
		margin-bottom: 1em;
	}
	
	h2{
		font-size: 1.05rem;
		line-height: 1.5;
		
	}
	
	h3{
		font-size:0.95rem;
		line-height:1.5;
		margin-bottom:2em;
	}
	
	#top .box{
		padding:2.5em 1em;
		margin:6vh auto;
	}
    
    #top .important{
        width:100%;
    }
	
	#top p{
		font-size: 0.95rem;
		line-height: 1.5;
	}
	
	#merits{
		margin-top: 4vh;
	}
	
	#merits .item{
		max-width:340px;
		width:100%;
	}
	
	#merits .item .title p{
		font-size: 0.98rem;
	}
	
	#merits .item .contents{
		padding:5px 0;
		height:230px;
	}
	
	#merits .item .contents p{
		font-size:0.95rem;
		line-height: 1.5;
	}
	
	#merits .item .images{
		width:100%;
		padding:0 10px;
		margin: 0 auto;
	}

    .invoice{
        text-align: left;
        width: 94%;
    }
	
	#merits .item .images img{
		width:100%;
	}
    
    #flow .container{
        padding:5vh 0;
    }
	
	#flow .flowchart{
		max-width:680px;
		width:100%;
        margin-top:3vh;
	}
    
	#flow .item{
		display: block;
		margin-bottom: 1em;
	}

	#flow .item .numb{
		width:100%;
		flex-direction: initial;
		justify-content: center;
		padding:5px 0;
		max-width: none;
	}
	
	#flow .item .numb span {
    	font-size: 2.1rem;
	}
	
	#flow .item .textarea{
		padding:1rem;
		width:100%;
		position: relative;
	}
	
	#flow .maintext{
		font-size: 0.95rem;
		line-height: 1.5;
	}
	
	#flow p{
		font-size:0.88rem;
		transform: translate(0,11%);
	}
	
	#flow .item02 .textarea{
		display: flex;
		flex-wrap: wrap;
	}
	
/*	#flow .item02 .textarea .text{
		width:100%;
		min-width: unset;
	}
	
	#flow .item02 .textarea .qrcode{
		width:100%;
		text-align: center;
	}
	
	#flow .item02 .textarea .qrcode img{
		position: unset;
	}*/
    
	#flow .idpassword{
		display: block;
	}
	
	#flow .idpassword .tag p{
		width:110px;
		height: 25px;	
	}
	
	#flow .idpassword p{
		font-size: 0.88rem;
	}
	
	#flow .idpassword  span{
		font-size: 0.9rem;
	}
	
	#flow .last{
		display: block;
		text-align: center;
	}
	
	#flow .last span{
		font-size: 1.2rem;
		margin-right: 2rem;
	}
	
	#login .button{
		padding:2em 0;
	}
	
	#login .button .btn{
		width:90%;
		max-width:320px;
		font-size: 1.0rem;
		padding:0.6rem 1rem;
	}

	#login .button .btn::after{
        content:url(../images/btnarrow-sp.png);
		right:2vw;
		bottom:-4px;
	}
	
	#login .box{
		max-height: 560px;
		width:95%;
		padding:1rem 0.5rem;
	}
	
	#login .box .title{
		font-size: 0.95rem;
		margin-bottom:1rem;
	}
	
	#login .box p{
		font-size: 0.88rem;
		line-height: 1.5;
	}
    
    #customer .container{
        text-align: center;
    }
    
    #customer p{
        font-size: 0.95rem;
        max-width: 600px;
        display: inline-block;
        margin: 0 auto;
    }
    
    
	#caution .container{
		max-width: 600px;
		padding:6vh 0;
	}
	
	#caution .title{
		font-size: 0.95rem;
	}
	
	#caution ul{
		margin: 1rem;
		padding-left: 0;
	}
	
	#caution li{
		font-size: 0.88rem;
		text-align: justify
	}
	
	#js-pagetop {
		width: 40px;
		height: 40px;
		bottom: 30px;
		right: 30px;
	}
	
	#flow .item02 .numb::before{
		position: absolute;
		bottom:-46px;
        background-image: url(../images/flowarrow-sp.png);
	}


	#flow .item02 .numb::after{
		display: none;
	}
	
	#flow .item03 .numb::after{
		position: absolute;
		bottom:-46px;
        background-image: url(../images/flowarrow-sp.png);
	}
	
	
	#flow .item04 .numb::after {
		content: '';
		position: absolute;
		background-image: url(../images/flowarrow-sp.png);
		background-size: contain;
		width: 110px;
		height: 110px;
		display: block;
		bottom: -46px;
		z-index: 21;
	}
	
	#flow .last span::before{
		content: '';
		position: absolute;
		background-image: url(../images/flowarrow-sp.png);
		background-size: contain;
		width: 110px;
		height: 110px;
		display: block;
		bottom: -42px;
		z-index: 21;
		left:1vw;
	}
	
	
}

