@charset "UTF-8";
/* CSS Document */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* Scss Document */
html {
  height: 100%; }

body {
  background-color: #fff;
  display: flex;
  height: 100vh;
  flex-direction: column;
}

/* =============== 共通 =============== */
#container {
  background-size: 35rem;
  margin: 4rem auto 0 auto;
  flex: 1 0 auto;
  max-width:500px ;
  width: 100%;
  position:relative;
}

#container-inner {
  max-width: 500px;
  width: 100%;
  position: relative;
}

.caution {
  font-size: .8rem;
}
.caution-red{
  font-size: .8rem;
  color: red;
}
.caution-left{
  font-size: .8rem;
  text-align: left;
}
.subtitle{
  color: #fff;
  background-color: #5e5d5d;
  margin:1rem 0 2rem 0;
  padding:0.5rem 0;
}

/* =============== front =============== */
#toplabel {
  background-color: #fff ;
  color: #000;
  font-size: 1.5rem;
  padding: 0 0;
  margin: 3rem 0 0 0;
  text-align: center;
  margin-top: 1rem;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  color: inherit;
}


#main {
  font-weight:bold;
  color: #000;
  padding: 0;
  text-align: center;
  margin: 0 4.5rem;
}
.bt-main {
  text-align: center;
  background-color: #77a809;
  border-radius:10px;
  width: 100%;
}
.bt-main:hover{
  background-color: #78a809e1;
}

/* =============== frontmenu =============== */
#top-head {
  font-size: 14px;
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  padding: 0;
  line-height: 1;
  z-index: 999;
  background-color: #FFF; }

#top-head a,
#top-head {
  color: #333;
  text-decoration: none; }

#top-head .inner {
  position: relative; }

#top-head .logo {
  text-align: center;
}
#top-head .logo img {
  max-height: 2rem; }

#shop-label{
  margin: 0 0.5rem 0 0.5rem;
  background-color: #004F9A;
  text-align: center;
}
#shop-image{
  text-align: center;
  background-color: #FFF;
}
#shop-image .shop-logo{
  width: 320px;
  height: 120px;
}

#shop-label .shop{
  color: #FFF;
  font-size: 1rem;
  padding: 0.3rem 1rem ;
  text-align: center;
}
#contents{
  text-align: center;
  margin: 0 1rem;
}
.bt-blue{
  display: block;
  margin: 0.5rem 1rem;
  text-align: center;
  padding: 0 1rem;
  background-color: #58c4e0;
  border-radius: 0%;
}
.bt-blue:hover{
  background-color: #58c5e0e8;
}

.bt-blue a{
  color: #FFF;
  font-size: 1rem;
  display: block;
  text-decoration: none;
  padding: 1rem;
  margin: 2rem 0;
}
.bt-gray{
  margin: 0.5rem 1rem;
  text-align: center;
  padding: 0 1rem;
  background-color: #999999;
}
.bt-gray:hover{
  background-color: #999999cc;
}

.bt-gray a{
  color: #FFF;
  font-size: 1rem;
  display: block;
  text-decoration: none;
  padding: 1rem;
  margin: 2rem 0;
}
.bt-red{
  margin: 0.5rem 1rem;
  text-align: center;
  padding: 0 1rem;
  background-color: #E12A4A;
  border-radius: 0%;
  width: 93%;
  height: 3.3rem;
}
.bt-red:hover{
  background-color: #e12a49d2;
}

/* =============== footer =============== */
#footer {
  padding: 2rem 0 0 0;
  flex-shrink: 0;
}
#footer .pagetop {
  background-color: #999999;
  color: #FFF;
  width: 25%;
  text-align: center;
  font-weight: bold;
  border-radius: 2px 2px 0 0;
  height: 33px;
  line-height: 33px;
  font-size: 11px;
  margin: 0 auto;
}
#footer .pagetop a {
  color: #FFF;
}
#footer .copy {
  background-color: #999999;
  color: #FFF;
  height: 30px;
  line-height: 30px;
  text-align: center;
  font-size: .8rem;
}
/* =============== お知らせ機能 =============== */
.mybox{
	background-color: #fff;	/* 背景色 */
	border: 4px solid #FFDF28;	/* 線の太さ・種類・色 */
	border-radius: 5px;
	margin: 40px 20px 20px 20px;	/* 外側の余白 上・右・左・下 */
	padding: 25px 20px 10px 20px;	/* 内側の余白 上・右・左・下 */
	position: relative;
   }
   .mybox:before{
	background-color: #FFDF28;	/* 吹き出し背景色 */
	border-radius: 5px;
	color: rgb(179, 9, 9);	/* 吹き出し文字色 */
	content: '重要なお知らせ';
	font-weight:bold;
	padding: 5px 20px;
	position: absolute;
	left: -10px;
	top: -20px;
   }
   .mybox:after{
	border-top: 12px solid #FFDF28;		/* 吹き出し三角部分の色 */
	border-right: 12px solid transparent;
	border-left: 12px solid transparent;
	content: '';
	position: absolute;
	top: 10px;
	left: 15px;
   }
/* =============== sms =============== */
#sms {
  color: #000;
  padding: 0;
  text-align: center;
  margin: 0 2rem;
}
/* =============== select =============== */
#contents-info{
margin:0.5rem 1rem;
display:block;
height: auto;
position: relative;
text-align: center;
}
.contents-image{
  width: 200px;
  height: 200px;
}
.contents-label{
  margin-top: 2rem;
  text-align: left;
}
#contents-info  ul {
  text-align: left;
  margin: 0.5rem 0;
  list-style: none;
  padding-left: 0;
}
#contents-info li{
  text-align: left;
  margin: 0.5rem 0;
}
.label-blue{
 color: #58c4e0;
 font-weight: bold;
 font-size: 16px;
}
.label-bold{
 color: #000000;
 font-weight: bold;
 font-size: 16px;
}
#select-banner{
  text-align: center;
  margin: 1rem 1rem;
  position: relative;
}
.main-on{
  width: 50%;
  color: #FFF;
  background-color: #58c4e0;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  padding: 0.5rem 0;
}
.main-on:hover{
  background-color:#58c5e0e8 ;
  color: #FFF;
}
.main-off{
  width: 50%;
  color: #000000;
  background-color: #999999;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  padding: 0.5rem 0;
}
.main-off:hover{
  background-color: #999999cc;
  color: #000;
}
.sub-on{
  width: 50%;
  color: #FFF;
  background-color: #58c4e0;
  display: block;
  float: right;
  text-align: center;
  font-weight: bold;
  padding: 0.5rem 0;
}
.sub-on:hover{
  background-color: #58c5e0e8;
  color: #FFF;
}
.sub-off{
  width: 50%;
  color: #000000;
  background-color: #999999;
  display: block;
  float: right;
  text-align: center;
  font-weight: bold;
  padding: 0.5rem 0;
}
.sub-off:hover{
  background-color: #999999cc;
  color: #000;
}
#app-list{
  margin:5rem auto 1rem auto;
  position: relative;
  width: 98%;
}
#app-list .blocks{
  display: block;
  box-sizing: border-box;
  border: solid;
  border-color: rgb(167, 160, 160);
  border-width: 1px;
  background-color: #FFF;
  padding: 10px;
  height: auto;
  position: relative;
  overflow: hidden;
  margin-top: 1rem;
}
#app-list .blocks dl dt{
  width: 64px;
  height: 64px;
  float: left;
  display: block;
  position: relative;
}
#app-list .blocks dl dd{
  margin-left: 74px;
  width: auto;
  height: auto;
  position: relative;
  overflow: hidden;
}
#app-list .blocks dl dd.other{
  margin-left: 74px;
  width: auto;
  height: 64px;
  position: relative;
  overflow: hidden;
}
#app-list .app-name{
  font-size: 14px;
  font-weight: bold;
  color: #121212;
}
#app-list .price{
  position: absolute;
  bottom: 0;
  display: block;
  width: 50%;
  float: left;
  font-size: 14px;
}
#app-list .price_txt {
  font-size: 14px;
  float: right;
  font-weight: bold;
}
#app-list ul{
  list-style: none;
  padding: 0;
}
#app-list .blocks_links{
  margin-top: 10px;
}
#app-list .left{
  background-color: #58c4e0;
  color: #FFF;
  display: block;
  width: 46%;
  height: 35px;
  float: left;
  text-align: center;
  margin: 0 5px;
}
#app-list .right{
  background-color: #E12A4A;
  color: #FFF;
  display: block;
  width: 46%;
  height: 35px;
  float: right;
  text-align: center;
  margin: 0 5px;
}
#app-list .left a{
  display: block;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  padding: 0.5rem;
}
#app-list .right a{
  display: block;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  padding: 0.5rem;
}
#app-list .blocks img{
  max-width: 64px;
  max-height: 64px;
}
.validate_error{
  width: 100%;
  margin-top: 0.25rem;
  font-size: 90%;
  color:#dc3545 ;
  text-align: left;
}
#tjad{
  font-weight:bold;
  color: #000;
  padding: 0;
  text-align: center;
  margin: 0 4.5rem;
}
#tjad .prefix{
  float: left;
  display: block;
  width: 20%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #FFF;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
.tjad_form-control{
  display: block;
  width: 80%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  background-color: #FFF;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out
}
.btn{
  margin: 0.5rem 0;
  padding: 0.5rem 1rem;
  color: #FFF;
}
