@charset "UTF-8";

body {
	margin: 0px;
	padding: 0px;
	font-family: "Helvetica", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.3;
    color: #333;
	display: flex;
	flex-direction: column;
		background-color: #003650;
	
}


ul.eg li:before, p.star:before {
	color: #e9a944;
	font-family: 'Material Icons';
	margin-right: 3px;
	position: relative;
	top: 2px;
}

ul.eg li:before {
	content: '\e88e';
}

span.eg {
	display: block;
	font-size: 14px;
	margin-top: 5px;
	color: #666666;
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.4;
}

span.eg:before{
	color: #e9a944;
	font-family: 'Material Icons';
	margin-right: 3px;
	position: relative;
	top: 2px;
}

span.eg:before {
	content: '\e88e';
}



p.star:before {
	content: '\e838';
}

button::after{
	color: #FFF;
	font-family: 'Material Icons';
	margin-left: 5px;
	position: relative;
	font-size: 25px;
	vertical-align: middle;
}


button[name="next"]::after{
		content: '\eaaa';
}

button[name="payment"]::after{
		content: '\eaaa';
}

[class*="link-"]{
	color: rgba(18,107,164,1.00);
}

[class*="link-"]:hover{
	opacity: 0.5;
	transition-duration: 300ms;
}

[class*="link-"]:after {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	margin-right: 2px;
	margin-left: 2px;
	position: relative;
	top: 2px;
}

a.link-ex:after {
	content: '\e89e';
}

a.link-pdf:after {
	content: '\e415';
}

a.link-download:after {
	content: '\e161';
}

a.link-mail:after {
	content: '\e0e1';
}



/*ヘッダー*/

header{
	background-color: #003650;
	padding: 1em 0;
	box-sizing: border-box;
}

header div{
	width: 90%;
	max-width: 760px;
	margin: 0px auto;
	display: flex;
	align-items: center;
}

header img{
	width: 100%;
	height: auto;
	margin: 0px;
}

header figure{
	width: 100px;
	margin: 0px;
	margin-right: 15px;
}

header figure figcaption{
	text-align: center;
	color: #fff;
	font-family: serif;
	font-size: 120%;
	margin-top: 8px;
}


header h1{
	font-family: sans-serif;
	color: #FFF;
	line-height: 1.4;
	font-size: 25px;
	font-weight: bold;
    text-align: left;
    margin-left: 30px;
}

header h1 span{
	color: rgba(233,114,35,1.00);
}




/*幅と背景*/

section{
	width: 90%;
	max-width: 1260px;
	background-color: #fff;
	margin: 0px auto 80px;
	border-radius: 20px;
	padding: 30px 0 0;
}
#wrapper {
	text-align: center;
	padding: 0px;
	max-width: 760px;
	width: 90%;
	background: #FFFFFF;
	margin: 0px auto 50px;;
    align-items: center;
}


h1{
	font-size: 1.6em;
	margin: 1em 0;
}

#wrapper h1{
	font-size: 2em;
	margin: 1em 0;
}

#wrapper h1::after{
	content: '';
	display: block;
	border: 3px solid rgba(255,122,0,1.00);
	width: 3em;
	margin: 5px auto;
}

.h1under{
	font-size: 22px;
	margin: -1.2em 0 1em 0;
	padding-top: 5px;
	color: rgba(211,98,21,1.00);
}

h2{
	text-align: left;
	margin: 30px 0 0;
	font-weight: 600;
	color: #565656;
	padding-bottom: 10px;
}

h3 img{
	display: inline;
}

.error {
	background-color: rgba(248,228,207,0.8);
	color: rgba(201,79,0,1.00);
	margin: 0px;
	text-align: left;
	padding: 0.3em;
	border: 1px rgba(201,79,0,1.00) solid;
	box-sizing: border-box;
	border-radius: 2px;
	padding: 10px;
}

.error:empty,.display_error:empty{
	display: none;
}

.information{
	text-align: left;
	font-size: 16px;
	padding: 1em;
	box-sizing: border-box;
	margin: 1em 0;
	border-top: 4px double #E97224;
	border-bottom: 4px double #E97224;
}

table.base1 {
	width: 100%;
	padding: 0px;
	text-align: left;
}
table.base1 th {
	width: 25%;
	padding: 10px;
	background-color: rgba(241,241,241,1.00);
	border: 1px solid  #0B2C89;
	font-size: 16px;
	text-align: left;
	font-weight: bold;
	line-height: 18px;
	box-sizing: border-box;
	border: 1px solid rgba(190,190,190,0.5);
}

table.base1 th span{
	display: inline-block;
	padding-left: 5px;
	font-size: 80%;
	float: right;
}

table.base1 th span.nini{
	color: #555;
}

table.base1 td {
	padding: 10px;
	margin: 0px;
	box-sizing: border-box;
	border: 1px solid rgba(190,190,190,0.5);
}

table.base1 th.photo-up-th{
	background-color: rgba(247,216,185,1.00);
}

div.name-flex{
	display: flex;
	justify-content: flex-start;
}

div.name-flex div.name-flex-child{
	width: 50%;
	padding: 0 8px 0 0;
	box-sizing: border-box;
}

span.nspan{
	display: inline-block;
	padding-bottom: 3px;
	font-size: 90%;
	font-weight: bold;
	color: rgba(139,139,139,1.00);
}

hr {
	background-color: #000000;
	border-width: 0px;
	height: 1px;
}

select, input[type="text"], textarea, input[type="password"], input[type="number"]{
	font-size: 16px;
	color: #000;
}
 

input[type="text"],input[type="password"]{
	box-sizing: border-box;
	padding: 0.2em;
}
input[type="text"], input[type="password"] {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  background: #FEFEFE;
  border: 1.5px solid #d1d5db;
  border-radius: 2px;
  transition: .25s;
}

input[type="text"]:focus, input[type="password"]:focus {
  background: #fff;
  border-color: #2563eb;
  box-shadow: 0 0 6px rgba(37, 99, 235, 0.3);
  outline: none;
}

::placeholder{
	color: #BBBBBB;
}

select {
  width: auto;
  padding: 6px 28px 6px 12px;
  font-size: 15px;
  background: #FEFEFE;
  border: 1.5px solid #d1d5db;
  border-radius: 2px;
  appearance: none;         /* デフォルト矢印を非表示（全体統一のため） */
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #9ca3af 50%),
                    linear-gradient(135deg, #9ca3af 50%, transparent 50%);
  background-position: calc(100% - 16px) calc(50% - 3px),
                       calc(100% - 11px) calc(50% - 3px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  transition: .25s;
}

/* フォーカス時 */
select:focus {
  background-color: #fff;
  border-color: #2563eb;
  box-shadow: 0 0 6px rgba(37, 99, 235, 0.3);
  outline: none;
}

select:nth-child(2){
	margin-top: 10px;
}


input[name="zz_name1"],input[name="zz_name2"],input[name="kana1"],input[name="kana2"]{
	width: 100%;
}

input[name="cvit"]{
	width: 30%;
}

input[name="zz_mail1"],input[name="chk_mail"],input[name="phone"]{
	width: 60%;
}

input[name="zz_mail1"]{
	margin-bottom: 10px;
}



#oorh{
	display: flex;
}

#oorh label:first-child{
	padding-right: 15px;
}



.ios-radio {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 17px;
  padding: 6px 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* 既存のradioは非表示 */
.ios-radio input {
  display: none;
}

/* 外枠（iOS風の薄い線） */
.ios-radio .dot {
  width: 18px;
  height: 18px;
  border: 2px solid #C7C7CC; /* iOSの薄いグレー */
  border-radius: 50%;
  position: relative;
  transition: border-color .25s ease;
}

/* 内側の丸（iOS風は小さめに） */
.ios-radio .dot::after {
  content: "";
  width: 8px;
  height: 8px;
  background: #007AFF; /* iOSブルー */
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: transform .2s ease;
}

/* チェック時（細く青い感じ） */
.ios-radio input:checked + .dot {
  border-color: #007AFF;
}

.ios-radio input:checked + .dot::after {
  transform: translate(-50%, -50%) scale(1);
}

.ios-checkbox {
  display: flex;
  align-items: center;
	justify-content: center;
	margin-top: 10px;
  gap: 10px;
  font-size: 15px;
  padding: 6px 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
	font-weight: bold;
}

/* チェックボックス（native）は非表示 */
.ios-checkbox input {
  display: none;
}

/* 外枠（丸みのある四角） */
.ios-checkbox .box {
  width: 19px;
  height: 19px;
  border: 2px solid #C7C7CC; /* iOSグレー */
  border-radius: 6px;
  position: relative;
  transition: border-color .25s ease, background .25s ease;
}

/* チェックマーク */
.ios-checkbox .box::after {
  content: "";
  width: 6px;
  height: 12px;
  border: solid transparent;
  border-width: 0 2px 2px 0;
  position: absolute;
  top: 2px;
  left: 7px;
  transform: rotate(45deg) scale(0);
  transition: transform .2s ease, border-color .2s ease;
}

/* チェック時（iOSブルー） */
.ios-checkbox input:checked + .box {
  border-color: #007AFF;
  background: #007AFF;
}

.ios-checkbox input:checked + .box::after {
  border-color: white;
  transform: rotate(45deg) scale(1);
}


/* ファイルアップ */
.file-button{ 
  font-size: 14px;
}

.file-button::file-selector-button {
  font-weight: bold;
  color: white;
  background-color: rgba(0,94,201,1.00);
  font-size: 14px;
  border: 0;
  border-radius: 10em;
  padding: 8px 16px;
  text-align: center;
	cursor: pointer;
}

.file-button::file-selector-button:hover{
	opacity: 0.5;
	transition-duration: 300ms;
}


/*span設定*/
.red {
	color: #F00;
}
.underline {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #0B2C89;
}

.btn-control{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 60px 0 50px;
}



 button{
width: 230px;
background-color: rgba(233,114,36,1.00);
color: #fff;
	font-size: 17px;
	font-weight: bold;
	padding: 10px 15px;
	box-sizing: border-box;
	border-radius: 30px;
	vertical-align: middle;
	cursor: pointer;
	 margin: 0px 15px;
}

 button:hover{
	opacity: 0.5;
	transition-duration: 500ms;
}

 button[name="back"]{
width: 120px;
background-color: rgba(151,151,151,1.00);
color: #fff;
	font-size: 17px;
	font-weight: bold;
	padding: 10px 15px;
	box-sizing: border-box;
	border-radius: 30px;
	vertical-align: middle;
	cursor: pointer;
}

button[name="payment"]{
	padding: 5px 10px;
	
}



/*領収書のスタイル*/

.receipt{
	font-family: serif;
}

.receipt header{
	background-color: #FFFFFF;
	justify-content: space-between;
	align-items: baseline;
}

.receipt header div{
	border-bottom: 1px #333 solid; 
}

h4{
	font-family: serif;
	font-size: 30px;
	font-weight: 700;
	margin: 30px 0 0px;
}

h5{
	font-family: serif;
	font-style: italic;
	color: #777;
	font-size: 18px;
	margin: 15px 0px 30px;
	letter-spacing: 1px;
}

h6{
	font-family: serif;
	font-size: 28px;
	font-weight: 700;
	margin: 30px 0 0px;
}

div.wrap-border{
	border: 1px solid #333;
	margin: 0px auto;
	width: 90%;

}

.invoice-item{
	margin: 60px auto 20px;
	width: 600px;
	text-align: left;
	font-size: 15px;
}

.receipt_name{
	font-size: 18px;
	line-height: 1.4;
	padding: 0px 5px 5px 5px;
	box-sizing: border-box;
	margin-top: 2px;
}

.receipt_fee_cover{
	width: 600px;
	margin: 0px auto;
	/*border-top: 1px solid #666;*/
	border-bottom: 1px solid #666;
	padding: 10px 10px 20px;
	box-sizing: border-box;
}

.receipt_fee_cover .receipt_fee{
	font-size: 20px;
}

.receipt_fee_cover .receipt_fee span{
	display: inline-block;
	border-bottom: 1px solid #333;
	padding-bottom: 5px;
}

.receipt-address{
	width: 600px;
	margin: 30px auto 0;
	text-align: right;
	font-size: 15px;
	font-family: sans-serif;
	font-weight: 700;
}

p.gakkai{
	position: relative;
	padding-right: 70px;
	padding-bottom: 50px;
	z-index: 100;
}
p.gakkai span {
    position: relative;
	z-index: 100;
}

p.gakkai img{
	position: absolute;
	top: -20px;
	right: -20px;
	z-index: -1;
}

.receipt_tani2{
	font-size: 13px;
	line-height: 1.4;
	margin: 10px auto;
	text-align: left;
	width: 600px;
}

.main-certificate dl{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	font-family: serif;
	font-size: 16px;
	font-weight: 700;
}

.main-certificate dl dt{
	width: 20%;
	margin-right: 10px;
	text-align: right;
}

.main-certificate dl dt::after{
	content: '：';
	display: inline-block;
}

.main-certificate dl dd{
	text-align: left;
	margin-left: 0px;
}
span.sewanin{
	display: inline-block;
	font-size: 12px;
	text-align: left;
	position: relative;
}

.receipt_tani p.receipt_tani3{
	font-size: 13px;
	line-height: 1.2;
	text-align: left;
}







.menseki_doui{
	background-color: #FBFBFB;
	border: 1px solid #CCC; 
	margin: 30px auto;
	font-weight: 400;
	padding: 1em;
	box-sizing: border-box;
	text-align: center;
	font-size: 15px;
}




/*オンライン開催のスタイル*/

.venue_box{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 1.5em auto 5em;
}

.venue_box div{
	 width : calc(100% / 5) ;
}

.venue_box div.ps_item{
	 width : calc(100% / 4) ;
    background-color: rgba(8, 105, 152, 1.00);
    margin: 0 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.venue_box div.day_item{
	padding: 10px 0;
	font-size: 15px;
}



input[type="submit"]{
	cursor: pointer;
}

.venue_box div.venue_item input{
	margin: 0px 10px;
	padding: 10px 0px;
	color: #FFF;
	border: none;
	width: 80%;
	font-size: 16px;
	text-shadow: 0px 0px 0px rgba( 255, 255, 255, 0.95);
	cursor: pointer;
    background-color: transparent;
}








.venue_box div.venue_item.ps_item a{
	display: block;
   /* background: rgb(36,175,224);
    background: radial-gradient(circle, rgba(36,175,224,1) 0%, rgba(40,108,171,1) 115%);*/
    margin: 0px 10px;
    padding: 12px 0px;
    border-radius: 5px;
   /* box-shadow: 0 1px 2px 1px rgb(10 10 10 / 30%);*/
    color: #FFF;
    border: none;
    width: 80%;
    font-size: 16px;
    text-shadow: 0px 0px 0px rgb(255 255 255 / 95%);
    cursor: pointer;
	text-decoration: none;
}


.pro-img img{
	width: 90%;
	height: auto;
	margin: 0px auto;
}

.pro-img img:hover{
	opacity: 0.5;
	transition-duration: 500ms;
}

/*.venue_box div.venue_item.ps_item{
	background-color: azure;
	background:  azure;
		border: 1px solid #666;
		margin: 0px 10px;
	padding: 10px 0px;
	border-radius: 5px;
	box-shadow: 0 1px 2px 1px rgba(10,10,10,0.3);
	font-size: 16px;
	font-weight: 700;
}*/

/*.venue_box div.venue_item.ps_item:nth-child(2){
	 background-color: cornsilk;
	background: cornsilk;
}

.venue_box div.venue_item.ps_item a{
		color: #666;
	text-decoration: none;
}*/

.venue_box div.venue_item:hover{
	opacity: 0.5;
	transform: translateY(3px);
	transition-duration: 500ms;
}

h3{
		margin: 0px auto;
		font-size: 18px;
		font-weight: 200;
		text-align: left;
		padding-top: 20px;
		padding-bottom: 10px;
	}

h3 img.h3_img{
	width: 21px;
	height: auto;
	vertical-align: text-top;
}

h3 img.h3_img.small{
	width: 18px;
	height: auto;
	vertical-align:text-top;
}

hr {
	height: 6px;
	background: url("images/hr.png") center center repeat-x;
	margin: 3.5em auto 2.5em;
}

.weblogin-title{
	text-align: center;
	background-color: rgba(233,114,35,1.00);
	font-size: 20px;
	color: #FFF;
	padding: 15px 0;
	font-weight: bold;
}


.haisin table {
	width: 96%;
	max-width: 760px;
	border-collapse: collapse;
	padding: 0px;
	text-align: left;
	margin: 0px auto;
	font-size: 14px;
}
.haisin table td{
	padding: 5px;
	box-sizing: border-box;
	border: 1px solid #CCC;
}
.haisin table td:nth-child(1){
	width: 20%;
	text-align: center;
	font-size: 12px;
}
.haisin table td:nth-child(2){
	width: 70%;
}
.haisin table td:nth-child(3){
	width: 10%;
	text-align: center;
	vertical-align: middle;
}

.haisin table td.haishin_title:nth-child(1){
	font-size: 15px;
	font-weight: bold;
	text-align: left;
	padding: 8px;
	background-color: rgba(233,114,35,1.00);
	color: #FFFFFF;
	
}
.haisin table thead td{
	background-color: rgba(233,114,35,0.1);
	text-align: center;
}

.haisin table tbody td button.mov-btn{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
	vertical-align: middle;
}

.haisin table tbody td button.mov-btn img{
	width: 38px;
	height: auto;
}

.haisin table tbody td button.mov-btn:hover{
	opacity: 0.5;
	transition-duration: 500ms;
}


/*オンデマンド*/

table.ondemand-table{
	font-size: 17px;
	margin-bottom: 30px;
}

table.ondemand-table td{
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	border: none;
}

/*.ondemand-table td:nth-of-type(1) {
	background-color: #EFEFEF;
}*/

.cell-gray{
	background-color: #EFEFEF; 
}

.ondemand-table td .ondemand-btn{
	background-color: #EFEFEF;
	font-size: 16px;
	border: 1px solid #666;
	width: 100%;
	color: #555;
	padding: 6px 0;
	border-radius: 5px;
}

.ondemand-table td .ondemand-btn:hover{
	transition-duration: 300ms;
	opacity: 0.5;
	transform: translateY(3px);
}

.past-btn-wrap{
	display: flex;
	justify-content: flex-start;
    width: 96%;
    max-width: 760px;
    margin: 1.5em auto 2em;
}

.past-btn-wrap-individual{
	display: flex;
	justify-content: center;
    width: 96%;
    max-width: 760px;
    margin: 0.5em auto 1em;
}

.past-btn-wrap a.past-btn{
	font-size: 14px;
	text-decoration: none;
	font-weight: bold;
	color: #444;
	background-color: rgba(195,195,195,0.7);
	padding: 0.5em 2em;
	border: 1px solid #444;
	box-sizing: border-box;
}

.past-btn-wrap a.past-btn:hover{
	opacity: 0.5;
	transition-duration: 300ms;
}

.past-btn-wrap img.past-btn-img{
	vertical-align: middle;
}


.noactiv{
	pointer-events: none;
	opacity: 0.5;
}


/*ログイン画面のスタイル*/

#mypage-login{
	width: 95%;
	max-width: 450px;
	padding: 30px;
	box-sizing: border-box;
	margin: 10vh auto;
box-shadow: 0px 0px 12px -12px rgba(0,0,0,0.6);
	border: 1px solid rgba(222,222,222,1.00);
}

#mypage-login figure img{
	text-align: center;
	margin: 0px auto;
}


.login-control{
		display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 25px 0 15px;
}

.base1.login-table td{
	border: none;
	padding: 10px  0;
}

table.base1.login-table{
		margin-top: 15px;
	}
.base1.login-table td span{
	display: inline-block;
	padding-bottom: 5px;
	font-weight: bold;
	color: rgba(145,145,145,1.00);
}


/*決済ページ*/

.pay-img-wrap img{
	display: inline;
}

.pay-info{
	background-color: rgba(250,240,229,1.00);
	margin: 30px auto;
	font-weight: 400;
	padding: 1em;
	box-sizing: border-box;
	text-align: center;
	font-size: 15px;
	line-height: 1.4;
}

input[value="送信"]{
	all:revert;
}



@media screen and (max-width:650px){
	
	body {
	background-image: none;
	background-color: #FFFFFF;
}
	
	#wrapper {
	width: 90%;
}
	
	
	table.base1 tr td:last-child{
		margin-bottom: 15px;
	}
	table.base1 th{
		width: 100%;
		display: block;
		border: none;
	}
	table.base1 td {
		display: block;
		width: 100%;
		border: none;
		padding: 10px 0;
	}
	
	table.base1 th span{
		float: none;
	}
	
div.name-flex{
	flex-direction: column;
}
	
	div.name-flex div.name-flex-child{
		width: 100%;
		display: block;
		align-items: center;
	}
	
	div.name-flex div.name-flex-child span{
		width: 15%;
	}

input[name="cvit"]{
	width: 50%;
}

input[name="zz_mail1"],input[name="chk_mail"],input[name="tel"]{
	width: 100%;
}
	
	
.venue_box{
		-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	width: 96%;
    max-width: 760px;
	margin: 0px auto;
	margin: 10px 0;
	align-items: center;
}
	
.venue_box div{
	margin: 0px auto;
	width: 80%;
}
	
	.venue_box div.venue_item{
		margin: 5px 0;
	}
	
div.venue_box.sp_nocolmn{
	flex-direction: column!important;
	-webkit-box-orient: horizontal;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: row;
  	flex-direction: row;
	align-items: center;
}

	
.venue_box div.ps_item{
	 width : calc(100% / 2.5) ;
	margin: 20 8px;
}
	
header figure{
	width: 100px;
	margin: 0px;
	margin-right: 15px;
}

header h1{
	line-height: 1.3;
	font-size: 16px;
	margin-left: 0px;
}


	
	table.base1.login-table tr td:last-child{
		margin-bottom: 0;
	}
	

	
}


/*QRコードレイアウト*/

.qr-dl{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin:2em 0 2em 0;
	border: 1px solid #CCC;
	padding: 10px;
	box-sizing: border-box;
}

.qr-dl dt{
	padding-right: 15px;
	box-sizing: border-box;
	border-right: 1px dotted #CCC;
}

.qr-dl dd{
	text-align: left;
	padding-left:25px;
}


/*QRコード制御*/

#qr {
	text-align: center;
}

#qr figure {
	margin: 0;
	display: none;
}

#qr figure:target {
	display: block;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
}

#qr figure:target #overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: rgba(0, 0, 0, 0.6);
	text-decoration: none;
	color: #fff;
}

#qr figure:target img {
	animation: fadein .3s;
}

a#overlay img {
	background-color: white;
	border-radius: 6px;
	padding: 18px;
}

#qr figcaption {
	margin-top: 10px;
}

@keyframes fadein {
	0% {
		transform: scale(0.2);
		opacity: 0.2;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

@media screen and (max-width:650px){
/*QRコードレイアウト*/

.qr-dl{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: none;
	padding: 0;
}

.qr-dl dt{
	padding: 15px;
	box-sizing: border-box;
	border: 1px solid #CCC;
	border-radius: 5px;
box-shadow: 0px 0px 12px -6px rgba(0,0,0,0.6);
}

.qr-dl dd{
	margin: 20px 0 20px 0;
	padding: 0;
}
}






