body{
  font-family: "Meiryo","メイリオ","sans-serif","system-ui";
  background-image: url(../image/bg_ptn_01.png);
  background-repeat:repeat;
  animation: bg 10s infinite linear;
}

@keyframes bg {
  0% {
    background-position:100px 100px;
  }
  100% {
    background-position: 0px 0px;
  }
}

#header{
  background: repeating-linear-gradient(135deg, #1d0067, #1d0067 20px, #00004f 20px, #00004f 40px);
  /* width: 100vw; */
  display: flex;
}

#quattro_logo{
  width: 200px;
  padding: 10%;
  margin-left:auto
}

#badge{
 text-align: center;
 margin-bottom: 20px;
}

#badge > img{
  height: 50px;
}

#footer{
  background: repeating-linear-gradient(135deg, #1d0067, #1d0067 20px, #00004f 20px, #00004f 40px);
  text-align: center;
  padding: 20px;
  color: white;
}

#main_container{
    width: 100%;
    text-align: center;
    margin: auto;
}

.topimage{
  margin: auto;
  display: contents;
  justify-content: center;
}

.topimage > img{
  width: 100vw;
}


h1{
  color: rgb(255, 153, 0);
  margin: 15px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.slide_container{
  margin: auto;
  width: 300px;
}


#sns_container{
  text-align: center;
}

#sns_title{
  text-align: center;
  color: rgb(255, 153, 0);
  font-size: 30px;
  font-weight: 500;
  margin: 30px;
}

#sns_icon{
  text-align: center;
  margin-bottom: 50px;
}

.icon{
  margin: 1%;
}

.spec_container{
	border-radius:16px;
	border:3px solid rgb(255, 153, 0);
	width:320px;
	padding:16px;
	margin:20px auto;
	color:#000;
	background:#fff;
	text-align: center;
}

.spec_container > ul{
	display: flex;
	flex-wrap: wrap;
	width:320px;
	margin:0 auto;
}
.spec_container > ul > li{
	line-height:1.8em;
	padding:0 8px;
	box-sizing:border-box;
}
.spec_container > ul > li:nth-of-type(2n-1){
	font-weight:bold;
	flex-basis:80px;
	text-align: right;
}
.spec_container > ul > li:nth-of-type(2n){
	flex-basis:230px;
	text-align: left;
}

.inquiry{
	border-radius:16px;
	border:3px solid rgb(255, 153, 0);
	width:320px;
	padding:16px;
	margin:20px auto;
	color:#000;
	background:#fff;
	text-align: center;
}

.inquiry > h1 {
  color : #ff9900;
}

.inquiry > p {
  text-align: justify;
  line-height: 1.2em;
}

.privacypolicy{
  color: rgb(255, 153, 0);
  margin-bottom: 50px;
}

/*アップデート情報*/
#update_container{
  width : 720px;
  box-sizing: border-box;
  background:url(../image/update/bg.png) left top/contain repeat;
  margin:0 auto;
  padding: 0;
  box-shadow: 0px 0px 8px 0px rgba(10,10,10,0.1);
  position: relative;
}
#update_header{
  width:100%;
}
#update_container > h1{
  font-size:24px;
  color:rgb(255, 255, 230);
  background:url(../image/update/h1_bg.png) left top/contain repeat;
  margin: 0;
  padding :18px 0 14px 0;
  position:relative;
  text-shadow: 0px 0px 4px rgb(56, 33, 28);
}
#update_container > h1::before{
  content : "";
  display: inline-block;
  width: 36px;
  height: 36px;
  background-image: url(../image/update/h1_icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  position:absolute;
  top:14px;
  left:14px;
}
#update_container > h1::after{
  content : "";
  display: inline-block;
  width: 36px;
  height: 36px;
  background-image: url(../image/update/h1_icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  position:absolute;
  top:14px;
  right:14px;
}
/*目次*/
#toc li{
  color:#5c3d19;
  font-weight: bold;
  margin:4px 0;
  padding-left:20px;
  list-style-type: none;
  list-style-position: inside;
  text-decoration:underline;
  position:relative;
}
#toc li::before{
  content : "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url(../image/update/arrow_88.png);
  background-size: contain;
  background-repeat: no-repeat;
  position:absolute;
  top:4px;
  left:0;
}
/*TOPに戻る*/
#btn_back{
  width:64px;
  height:64px;
  position:fixed;
  bottom:0;
  right:0;
  z-index: 100;
  opacity: 0.8;
}#btn_back img{
 width:100%;
}
.update_contents {
  padding:24px;
}
/*テキスト*/
.update_contents p, .update_contents li, .update_contents table{
  line-height: 1.5em;
  color:#2c1f11;
}
/*箇条書き*/
.update_contents li{
  margin:8px 0 8px 16px;
  list-style-type: disc;
  list-style-position: outside;
}
/*画像*/
.update_contents img{
  display: block;
  margin: 24px auto;
}
.img_50{
  width: 50%;
}
.img_75{
  width: 75%;
}
.img_50_100{
  width: 50%;
}
/*テーブル*/
.update_contents table{
  width: 100%;
  margin: 20px auto;
  background: #fff;
  border-collapse:  collapse;
}
.update_contents th, .update_contents td{
  border:1px solid #44250c;
  padding: 4px 8px;
}
.update_contents th{
  background:#dabd93;
  width:25%;
}
/*コメントフレーム*/
.comment{
  border-radius :16px;
  border: 2px solid #a87943;
  background :#fff;
  margin: 24px auto;
  padding:16px;
  box-shadow: 0px 0px 4px 0px rgba(70, 50, 20, 0.5);
}
/*コンテンツ内見出し*/
#update_container h2{
  font-size:18px;
  font-weight: bold;
  color: #44250c;
  text-align: left;
  margin:20px 0;
  padding :0 0 8px 30px;
  position:relative;
  border-bottom:3px solid #a87943;
}
#update_container h2::before{
  content : "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../image/update/rank_star.png);
  background-size: contain;
  background-repeat: no-repeat;
  position:absolute;
  top:-3px;
  left:0;
}
#update_container h3{
  font-size:16px;
  font-weight: bold;
  color: #644520;
  text-align: left;
  margin:20px 0;
  padding-left:2px;
  border-left:6px solid #644520;
}

@media screen and (max-width: 780px) {
  #update_container{
    width : 100%;
  }
  .img_50{
    width: 75%;
  }
  .img_75{
    width: 100%;
  }
  .img_50_100{
    width: 100%;
  }
}