@charset "utf-8";

/* ------------------------------
 Body
------------------------------ */
html{
	background:#CCC;
}
body{
	margin:0 auto;
	padding:0;
	color:#262626;
	font-family: 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', sans-serif;
	font-size: 2.222vw;
	-webkit-text-size-adjust: 100%;
	max-width:900px;
	overflow-x:hidden;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	background-color:#FFF;
}
@media screen and (min-width:901px) {
	body{
		font-size:20px; 
	}
}


/* ------------------------------
 Reset CSS
------------------------------ */
>*{
	box-sizing: border-box;
}
article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary{
	display:block;
	margin:0;
	padding:0;
}
h1,h2,h3,h4,h5,h6,h7,p,dl,dt,dd,ul,ol,li,form{
	margin:0;
	padding:0;
}
	
ul{
	list-style-type:none;
}

img{
	vertical-align:bottom;
	border:0;
	width:100%;
}

a {
	outline: 0 ;
	color:currentColor;
}

button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
button::-moz-focus-inner{
	border: 0;
}

/* ------------------------------
 text
------------------------------ */
p, ul, dl{
	font-size:1em;
	line-height:1.6;
}
strong{
	font-weight:bold;
}
.small{
	font-size:70%;
}
.justify {
  text-align: justify;
  text-justify: inter-ideograph;
}

/* ------------------------------
 Inner-wrap
------------------------------ */
.inner-wrap{
	padding:0 4.444%;
}


/* ------------------------------
 CV-Button
------------------------------ */
.cv-btn{
	width:100%;
	margin:auto;
}
.al-btn{
	width:92.5%;
	margin:1em auto 0;
}

div.ausmapre-link a:link,div.ausmapre-link a:hover,div.ausmapre-link a:active,div.ausmapre-link a:visited{
	text-decoration: none;
	border-bottom: 1px dashed #262626;
}


/* ------------------------------
 animation
------------------------------ */

#fv h2.scroll-in,#step figure#coupon_img.scroll-in{
	opacity: 0;
	transform: scale(0.7);
 	transition: 0.5s cubic-bezier(0.25, 0.1, 0.25, 1.0);
	transform-origin: 50% 100%; 
}
#fv h2.scroll-in.appeared,#step figure#coupon_img.scroll-in.appeared{
  opacity: 1;
  transform: scale(1); 
}

/* ------------------------------
 Fv
------------------------------ */
#fv {
	/*background-color: #fe870f;*/
	background: linear-gradient(#fe4d00, #fec61f);
}

#fv h2{
	padding:0;
}
#fv div#terms{
	background-color:#fff002;
	padding-bottom: 3%;
}
#fv div#terms li{
	padding-top: 3%;
}

/* ------------------------------
 Term
------------------------------ */
#term {
	margin: 4% 0 4%;
}

/* ------------------------------
 Anc-area
------------------------------ */
#anc-area ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 2%;
	margin-left: -5%;
}

#anc-area li {
	color: #555;
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	flex-basis: 32%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px dashed #555;
	padding-bottom: 1%;
	margin-left: 5%;
}

#anc-area li a{
	text-decoration: none;
}

/* ------------------------------
 Nav-area
------------------------------ */
#nav-area {
	padding-top: 1%;
}
#nav-area ul {
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 5%;
	margin-top: 2%;
}
#nav-area li {
	flex-basis: 48.2%;
	color: #eb5505;
	text-align: center;
	font-weight: bold;
	padding-top: 3%;
	display: flex;
	justify-content: center;
	align-items: center;	
}
.nav-btn{
	width:100%;
	margin:auto;
	margin-top: 3%;
}

/* ------------------------------
 Cont 共通
------------------------------ */
.cont{
	padding: 4.444%;
}
.cont h2{
	margin-bottom: 5%;
}
.cont .cont-inner{
	background: #fff;
	text-align: center;
	padding: 3.333%;
}

.cont .cont-inner a:link,.cont .cont-inner a:hover,.cont .cont-inner a:visited,.cont .cont-inner a:active{
	text-decoration: none;
	border-bottom: 1px dashed #eb5505;
	font-weight: bold;
}
/* ------------------------------
 Cam
------------------------------ */
#cam {
	background-color:#ff6c00;
	background-image: url("../img/cam-bg-1.png"), url("../img/cam-bg-2.png");
	background-position: center top, center bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100% auto, 100% auto;
	padding-bottom: 12%;
	margin-bottom: 5%;
}
#cam div.cont-inner ul li{
	margin-bottom: 5%;
	display: block;
	position: relative;
}
#cam div.cont-inner ul li::after{
    position: absolute;
	content: '';
   	background: url(../img/cam-term-dot.png) no-repeat center top;
    background-size: contain;
	margin-left: -50%;
    width: 100%;
    padding-top: 10%;
}
#cam div.cont-inner ul li:nth-child(2){
	margin-bottom: 0;	
}

#cam div.cont-inner ul li:nth-child(2)::after{
   	background: none;	
}
#cam div.cont-inner ul li dl{
	padding-bottom: 5%;
}
#cam div.cont-inner dl dt{
	padding-bottom: 2%;
}
#cam div.cont-inner dl dt.double{
	margin: 6% 3.333% 0;
	padding-bottom: 0;
}
#cam div.cont-inner dl dd{
	font-size: 1.8em;
}

#cam div.cont-inner dl dd span{
	color: #eb5505;
}
#cam div.cont-inner dl dd.att{
	font-size: 1.4em;
}

/* ------------------------------
 Gift
------------------------------ */
#gift {
	background-color: #ffc046;
	background-image: url("../img/gift-bg-1.png"), url("../img/gift-bg-2.png");
	background-position: center top, center bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100% auto, 100% auto;
	padding-bottom: 12%;
	margin-bottom: 5%;
}
#gift div.cont-inner ul li{
	display: block;
	position: relative;
}

/**#gift div.cont-inner ul li::after{
    position: absolute;
	content: '';
   	background: url(../img/cam-term-dot.png) no-repeat center top;
    background-size: contain;
	margin-left: -50%;
    width: 100%;
    padding-top: 10%;
}**/

#gift div.dot{
	margin: -5% 0 5%;
}

#gift div.cont-inner ul li:nth-child(2){
	margin-bottom: 0;	
}

#gift div.cont-inner ul li:nth-child(2)::after{
   	background: none;	
}
#gift div.cont-inner ul li dl{
}
#gift div.cont-inner dl dt{
	padding: 2% 12.36%;
}
#gift div.cont-inner dl dd.att{
	font-size: 1.2em;
	padding-top: 2%;
}
#gift div.cont-inner dl dd.list{
	padding-top: 4%;
}

#gift div.cont-inner p{
	font-size: 1.8em;
}

#gift div.cont-inner p span{
	color: #eb5505;
}

/* ------------------------------
 intro
------------------------------ */
#intro{
	padding: 4% 4.444%;
	background-color: #fff100;
}
#intro p.image{
	padding-top: 2%;
}

/* ------------------------------
 step
------------------------------ */
#step{
	padding: 5% 4.444%;
	background-color: #8ae3fc;
}
#step p{
	text-align: center;
}
#step p.image{
	background-color: #fff;
	padding: 4%;
}

/* ------------------------------
 Point
------------------------------ */
#point{
	padding: 1% 4.444% 4%;
	background-color: #fff100;
    text-align: center;
}
#point div{
	background-color: #8ae3fc;
	border-radius: 0 0 20px 20px;
	padding-bottom: 1%;
}
#point figure{
	padding: 0 10% 4%;
}
#point figure p{
padding-top: 0.8em;
font-size: 1.6em;
}
#point figure p span.highlight {
    background: linear-gradient(transparent 50%, #ffff66 0%);
    line-height: 1.3em;
}
/* ------------------------------
 Cv
------------------------------ */
.cv {
	text-align: center;
	margin-top: 10%;
}
.cv figure.cv-title{
	margin: 8% 0 0;
}

.cv div{
	text-align: center;
	margin: 3% auto 1%;
	font-size: 1.4em;
}

.cv figure.cv-copy{
	margin: 3% 3.333% 2%;
}

.cv figure.cv-btn{
	margin: 3% auto 2%;
}

.cv p.cv-att{
	color: #cd1212;
	font-size: 1.4em;
}


/* ------------------------------
 Bnr
------------------------------ */
#bnr{
	padding:10% 0;
	background-color:#fff;
}

#bnr h2{
	padding: 0 10.48% 7%;
}

#bnr ul{
	padding: 0 4.444%;
}

#bnr ul li{
	padding-bottom: 4%;
}
/* ------------------------------
 End
------------------------------ */
#end{
	padding:10% 0;
	background-color:#f4f4f4;
}
#end .end-txt{
	margin:4% auto;
}


/* ------------------------------
 Font-size
------------------------------ */
.main-title{
	font-size: 2.2em;
}
.sub-title{
	font-size: 2.0em;
}

.esp-txt{
	font-size: 1.8em;
	color: #eb5505;
	padding-top: 2%;
}

.normal-txt{
	font-size: 1.6em;
}
.def-txt{
	font-size: 1.0em;
}

.emp{
	font-weight: bold;
}

.font-c01{
	color: #fb5505;
}
.font-c02{
	color: #8d6f00;
}

/* ------------------------------
Info
------------------------------ */
#info{
	margin-bottom: 4.444%;
}

#info h1{
	display: block;
	text-align: center;
	color:#fff;
	padding:2.222%;
	margin-bottom: 3.333%;
	background-color:#262626;	
}
#info h1 span{
	font-size: 0.8em;
}
#info h2{
	display: block;
	text-align: center;
	color:#fff;
	padding:2.222%;
	margin:0% 4.444% 3.333%;
	background-color:#eb5505;	
}
#info h2 span{
	font-size: 0.8em;
}
#info a:link,#info a:active,#info a:visited{
	font-weight: bold;
	color: #eb5505;
	text-decoration: underline;
}
#info a:hover{
	text-decoration: none;
}
#info li.note+li.note{
	padding-top: 1%;
}

#info ul>li.note{
	padding-top: 2%;
}
#info dl{
	padding-left: 2.222%;
}
#info dt{
}
#info ul li{
	font-size: 1.6em;
	line-height: 1.4em;
	padding-bottom: 0.4em;
	text-indent: -1.0em;
	padding-left: 1.0em;
}

#info ul li.note{
	font-size: 0.8em;
	padding-bottom: 0.2em;
	text-indent: -0.7em;
    padding-left: 1.0em;
}

#info ul li.cap{
	font-size: 1.4em;
	padding-top: 0.2em;
	text-indent: -1.0em;
    padding-left: 1.0em;
}

#info ul li.noindent{
	text-indent: 0;
	padding-left: 0;
}
#info ul li + li.cap{
	margin-top: -1.111%;
}
#info ul li div{
	text-indent: 0;
	border: 2px solid #262626;
	padding: 2%;
	font-size: 1.0em;
	margin-left: -1.2em;
}


#info table{
	font-size: 1.6em;
}
#info div.inner-wrap {
	padding-bottom: 5%;
}


/* ------------------------------
 Footer
------------------------------ */
#footer .footer-nav li{
	margin-bottom:2px;
}
#footer .footer-nav li a{
	display:block;
	color:#666;
	font-size:1.9em;
	padding:0.8em 1em;
	background:url("../img/icon-arrow.png") no-repeat 95% 50% #f4f4f4;
	background-size:auto 1em;
	text-decoration: none;
}
#footer .copyright{
	display: block;
	text-align: center;
	color:#FFF;
	font-size:1.5em;
	padding:1em;
	background:#262626;
}