@charset "utf-8";

@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url(//use.fontawesome.com/releases/v5.0.6/css/all.css);

/*
	font-family:"FontAwesome";
	font-family:"Font Awesome 5 Free";
*/


/*========================================
 Base
========================================*/
html {font-size:62.5%;}
body {font-size:1.2rem;}
body {
    background-repeat: no-repeat;
    background-position: center 350px no-repeat fixed, url(../images/bg.jpg) center top fixed;
    background-attachment: fixed;
    background-color: #335FAB;
}
li {list-style:none;}
a {color:#861a1e;}
a:hover {color:#31b89a;}
.border{
    border-top: 5px dotted #FABE00;
    margin: 0px auto;
    width: 80%;
}
.blank{
    display: inline-block;
}

/* PC */
@media screen and (min-width: 641px) {
.smOnly, .spOnly {display:none;}

	/* header */
header{
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
    background-color: #FFFFFF;
}
    header h1{
    visibility: hidden;
    }    
	header .hd_wrap{
    width: 100%;
    margin: 0px auto;
    max-width: 980px;
    }
    header .hd_wrap .hd_img{
    height: 0px;
    padding-top: 54%;
    background-image: url(../images/header.png);
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 100%;
	}	
#contents{
    width: 100%;
    margin: 20px auto 0;
    padding: 20px 0;
    color: #2B2B2B;
}
/* ページキャプション */
#contents .p_caption{
    background-image: url(../images/p_cap.png);
    width: 100%;
    height: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0px auto;
    padding-top: 19%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    max-width: 980px;
	}

/* hタグ */
h2{
    margin-bottom:12px;
    padding:6px 0 0;
    font-size:3.2rem;
    font-weight:bold;
    color:#cc2d33;
    line-height:1;
    text-align:center;
}


/* 各サービス紹介 */
.servise{
    background: #fff;
    width: 90%;
    margin-top: 5rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    font-size: 1.4rem;
    line-height: 2rem;
    border-radius: 30px;
    box-sizing: border-box;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    max-width: 1000px;
}
    .servise h2{
    margin-top: 1rem;
    border-bottom: #335FAB solid 3px;
    padding-bottom: 0.8rem;
    }
        .servise h2 img{
    }
    .servise .s_contents{
    padding: 3rem;
    }
    .servise .s_contents .s_ttl{

    }
    .servise .s_contents .s_ttl img{
        max-width: 100%;
    }    
    .servise .s_contents .s_icon{
    padding-top: 0rem;
    padding-right: 2rem;
    padding-left: 2rem;
    padding-bottom: 2rem;
    }
.point{
    background-color: #FABE00;
    padding-top: 3px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 3px;
    border-radius: 10px;
    margin-left: 0.2rem;
    margin-right: 0.2rem;
    font-weight: 900;
    display: inline-block;
    margin-top: 1rem;
    }   
    .servise .s_contents .s_caption{
    line-height: 1.5em;
    margin-top: 1rem;
    }    
    .servise .s_contents .s_link{
    background-image: url(../images/btn.png);
    display: block;
    margin-top: 2rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0px;
    width: 40%;
    max-width: 270px;
    background-size: contain;
    background-repeat: no-repeat;
    overflow-y: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    } 
    .servise .s_contents .s_link:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
    .servise .s_contents .s_link img{
        width: 100%;
    }


/* topへ戻る */
footer{
    width:980px;
    margin:30px auto;
}
footer .copyright{
    color:#fff;
    text-shadow:1px 1px 3px #c7161d;
}
footer .copyright ul {overflow:hidden;}
footer .copyright li{
    display:inline-block;
    margin:0 2em 6px 0;
}
#footerGroup #totop{
    width:40px;
    height:40px;
    padding:0;
    text-indent:-9999px;
    background-color:#0079c7;
    border-radius:100%;
    position:fixed;
    bottom:10px;
    right:0;
    z-index:800;
    display:none;
    cursor:pointer;
}
#footerGroup #totop a {display:block;}
#footerGroup #totop::after{
    content:"\f106";
    font-family:"FontAwesome";
    font-size:40px;
    line-height:35px;
    text-indent:0;
    text-align:center;
    color:#fff;
    display:block;
    position:absolute;
    top:0;
    left:0;
    right:0;
}


/* Xアカウント */
.Xaccount{
    display:inline-block;
    margin:1em 0;
    padding:1em 2em;
    border-top:1px dashed #fabe00;
    border-bottom:1px dashed #fabe00;
}
.Xaccount a{
    display:inline-block;
    background:#335fab;
    margin-top:0.4em;
    padding:0.4em 2em;
    font-size:1.2em;
    font-weight:bold;
    color:#fabe00;
    border-radius:10px;
    text-decoration:none;
    transition:0.4s;
}
.Xaccount a::before{
	font-family:"FontAwesome";
    content:"\f04b";
    padding-right:0.5em;
}
.Xaccount a:hover{
    background:#fabe00;
    color:#335fab;
}


/* チケット */
.TicketBox{
    display:flex;
    align-items:center;
    justify-content: center;
    flex-wrap:wrap;
    width:100%;
    margin:0 auto;
}
.TicketBox li{
    width:calc(100% / 2 - 36px);
    margin:18px;
    font-size:2.8rem;
    font-weight:bold;
}
.TicketBox li a{
    display:block;
    background:#fabe00;
    padding:0.6em 2em 0.4em;
    color:#335fab;
    border-radius:10px;
    text-decoration:none;
}
.TicketBox li a::before, .TicketBox li a::after{
	font-family:"FontAwesome";
    content:"\f04b";
    padding-right:0.4em;
}
.TicketBox li a::after {padding:0 0 0 0.4em;}
.TicketBox li a:hover {opacity:0.7;}


}



/* スマホ */
@media screen and (max-width: 640px) {
.pcOnly {display:none;}


/* header */
header{
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
    padding: 0 10px;
    text-align: center;
    box-sizing: border-box;
    background-color: #FFFFFF;
}
	header .hd_wrap{
    width: 100%;
    margin: 0px auto;
    max-width: 980px;
    }
    header h1{
    visibility: hidden;
    }      
    header .hd_wrap .hd_img{
    height: 0px;
    padding-top: 54%;
    background-image: url(../images/header.png);
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    width: 100%;
	}
#contents{
    width: 100%;
    margin: 20px auto 0;
    padding: 20px 0;
    color: #2B2B2B;
}
/* ページキャプション */
#contents .p_caption{
    background-image: url(../images/p_cap.png);
    width: 90%;
    height: 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0px auto;
    padding-top: 25%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    max-width: 980px;
	}

/* hタグ */
h2{
    margin-bottom:12px;
    padding:6px 0 0;
    font-size:3.2rem;
    font-weight:bold;
    color:#cc2d33;
    line-height:1;
    text-align:center;
}


/* 各サービス紹介 */
.servise{
    background: #fff;
    width: 90%;
    margin-top: 5rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 30px;
    font-size: 1.4rem;
    line-height: 2rem;
    border-radius: 30px;
    box-sizing: border-box;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: center;
    max-width: 1000px;
}
    .servise h2{
    margin-top: 1rem;
    border-bottom: #335FAB solid 3px;
    padding-bottom: 0.8rem;
    width: 100%;
    }
    .servise h2 img{
        max-width: 80%;
    }
    .servise .s_contents{
    padding: 3rem;
    }
    .servise .s_contents .s_ttl{

    }
    .servise .s_contents .s_ttl img{
        max-width: 100%;
    }    
    .servise .s_contents .s_icon{
    padding-top: 0rem;
    padding-right: 2rem;
    padding-left: 2rem;
    padding-bottom: 2rem;
    }
.point{
    background-color: #FABE00;
    padding-top: 3px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 3px;
    border-radius: 10px;
    margin-left: 0.2rem;
    margin-right: 0.2rem;
    font-weight: 900;
    display: inline-block;
    margin-top: 1rem;
    }   
    .servise .s_contents .s_caption{
    line-height: 1.5em;
    margin-top: 1rem;
    }    
    .servise .s_contents .s_link{
    background-image: url(../images/btn.png);
    display: block;
    margin-top: 2rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0px;
    width: 80%;
    max-width: 270px;
    background-size: contain;
    background-repeat: no-repeat;
    overflow-y: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    } 
    .servise .s_contents .s_link:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
    .servise .s_contents .s_link img{
        width: 100%;
    }

/* topへ戻る */
footer{
    width:96%;
    margin:20px auto;
}
footer .copyright{
    font-size:1.1rem;
    color:#fff;
    text-shadow:1px 1px 3px #c7161d;
}
footer .copyright ul {overflow:hidden;}
footer .copyright li{
    display:inline-block;
    margin:0 2em 6px 0;
}
#footerGroup #totop{
    width:40px;
    height:40px;
    padding:0;
    text-indent:-9999px;
    background-color:#0079c7;
    border-radius:100%;
    position:fixed;
    bottom:10px;
    right:0;
    z-index:800;
    display:none;
    cursor:pointer;
}
#footerGroup #totop a {display:block;}
#footerGroup #totop::after{
    content:"\f106";
    font-family:"FontAwesome";
    font-size:40px;
    line-height:35px;
    text-indent:0;
    text-align:center;
    color:#fff;
    display:block;
    position:absolute;
    top:0;
    left:0;
    right:0;
}


/* Xアカウント */
.Xaccount{
    margin:1em 0;
    padding:1em 0;
    font-size:1em;
    border-top:1px dashed #fabe00;
    border-bottom:1px dashed #fabe00;
    box-sizing:border-box;
}
.Xaccount a{
    display:block;
    width:80%;
    background:#335fab;
    margin:0.4em auto 0;
    padding:0.4em 0;
    font-weight:bold;
    color:#fabe00;
    border-radius:10px;
    text-decoration:none;
    transition:0.4s;
}
.Xaccount a::before{
	font-family:"FontAwesome";
    content:"\f04b";
    padding-right:0.5em;
}


/* チケット */
.TicketBox{
    width:100%;
    margin:0 auto;
}
.TicketBox li{
    width:100%;
    margin:18px 0;
    font-size:1.8rem;
    font-weight:bold;
}
.TicketBox li a{
    display:block;
    background:#fabe00;
    padding:0.6em 0 0.4em;
    color:#335fab;
    border-radius:10px;
    text-decoration:none;
}
.TicketBox li a::before, .TicketBox li a::after{
	font-family:"FontAwesome";
    content:"\f04b";
    padding-right:0.4em;
}
.TicketBox li a::after {padding:0 0 0 0.4em;}


}
