@charset "utf-8";

/* リセット
----------------------------------------------------------- */
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p,
header, hgroup, section, article, aside, hgroup, footer, figure, figcaption, nav {
	margin: 0;
	padding: 0;
	font-size: 100%;
}

body {
	line-height: 1.7;
	-webkit-text-size-adjust: 100%;
	color: #070707;
	font-size: 16px;
	font-family: sans-serif;
	background: url(../img/body_bg.jpg);
	background-size: 250px auto;
}

article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary { 
	display:block;
}

img {
	border: 0;
	vertical-align: middle;
}

ul, ol {
	list-style: none;
}

table {
	border-spacing: 0;
	empty-cells: show;
}

a {
	color: #000;
}
.textthr {
	text-decoration: line-through;
}
.disable { display: none; }

/* ヘッダ
----------------------------------------------------------- */
header {
	font-size: 18px;
	background: url(../img/header_bg_01.png) repeat;
	position: relative;
}

header h1 {
	margin: 0 0 20px;
	padding: 15px 0 0;
	text-align: center;
}

/*header dl {
	padding: 0 0 4px;
	background: url(../img/header_bg_02.png) repeat-x 0 100%;
	background-size: auto 5px;
}*/

header dt {
	margin: 0 0 15px;
	text-align: center;
}

header dd {
	padding: 0 20px 60px;
	background: url(../img/header_bg_03.png) no-repeat 50% 95%;
	background-size: 208px auto;
}
header .btn_topinvite img {
	width: 80%;
}
header .btn_topinvite a {
	position: absolute;
	z-index: 99;
	left: 5px;
	top: 50px;
  	opacity: 0;
  	animation: fadeIn 1s ease 0.3s 1 normal forwards running;
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}


header.sub{
	background-color: #fff;
	padding: 3px;
	border-bottom: solid 2px #000;
}

/*header.sub h1 {
	margin: 0;
	padding: 6px 0 15px;
	background: url(../img/header_bg_02.png) repeat-x 0 100%;
	background-size: auto 5px;
}
*/

/*メニューボタン*/
.menubtn{
	position: fixed;
	top: 0;
	right: 3%;
	display: block;
	z-index: 999999;
}
#openButton{
	position: fixed;
	top: 0;
	right: 3%;
	display: block;
	z-index: 999999;
}
/*#right-sidr ul {
	padding: 50px 0 0 20px;
}
#right-sidr ul li {
	padding: 10px 0;
}*/
li.bglight {
 background-color: #cfc67e;
}
.mm-listview.mm-vertical li:first-child {
	padding-bottom: 60px;
}
.mm-listview.mm-vertical li.menulanguage a {
	display: block;
	padding: 10px 10px;
	background-color: #e3ded4;
	border-bottom: none;
	float: right;
	box-sizing: border-box;
	margin: 20px;
}
.mm-listview.mm-vertical li.menulanguage:after a{
	content: "";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}
.mm-listview>li.menulanguage:not(.mm-divider):after {
	border-bottom: none;
}

#menu ul li.langselect {
	padding-bottom: 60px;
}
#menu ul li.langselect a{
	float: right;
    letter-spacing: 0.2em;
    display: block;
    text-decoration: none;
    padding: 10px;
    color: #fff;
    background-color: #624d58;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    margin: 10px;
  }

#menu ul li.langselect {
	/*display: none;*/
}
#menu ul li.langselect {

}
/*.mm-listview.mm-vertical li:nth-child(2) {
	padding-top: 60px;
}*/


/* 算額とは？
----------------------------------------------------------- */
.about {
	padding: 50px 20px 30px;
	background: url(../img/about_bg.png);
	background-repeat: repeat;
}

.about h2{
	margin: 0 auto;
	text-align: center;
	margin-bottom: 30px;
	width: 100%;
}


/* 締め切り
----------------------------------------------------------- */
.deadline {
	margin: 0 0 30px;
	padding: 50px 30px 50px;
	background: url(../img/header_bg_01.png) repeat;
}
.deadline h2{
	margin: 0 auto;
	margin-bottom: 20px;
	text-align: center;
	width: 100%;
}
.deadline .deadline_copy {
	margin: 0 0 15px;
	padding: 10px 0;
	font-size: 16px;
	text-align: left;
	font-weight: normal;
}


/*あたらしい*/
.deadline ul.entryformat {
	width: 100%;
	margin: 0 auto;
	text-align: left;
	overflow: hidden;
}
.deadline ul.entryformat li {
	width: 100%;
	padding: 0 0 30px 0;
	line-height: 180%;
	letter-spacing: 0.05em;
	clear: both;
	overflow: hidden;
}
.deadline ul.entryformat li p.itemttl {
	width: 100%;
	border-bottom: solid 1px #000;
	padding: 10px 0;
	line-height: 160%;
	letter-spacing: 0;
	font-weight: bold;
	font-size: 120%;
	margin-bottom :20px;
	margin-top :30px;
	text-align: left;
}
.deadline ul.entryformat li span.deadline_note {
	font-size: 14px;
	color: #dc3e00;
	letter-spacing: 0;
	line-height: 0.5em;
}
.deadline ul.entryformat li p.itemttl span {
	letter-spacing: 0;
}
.deadline ul.entryformat li dl {
	width: 100%;
	margin-bottom: 20px;
}
.deadline ul.entryformat li dl dt {
	width: 100%; 
	padding-bottom: 10px;
	clear: both;
}
.deadline ul.entryformat li dl.infosub_prize dt {
	font-size: 12px;
	background-color: #a18c42;
	padding: 10px 20px 10px;
	margin-bottom: 15px;
	color: #fff;
}
.deadline ul.entryformat li dl.infosub_prize dt span {
	font-size: 16px;
	font-weight: bold;
}
.deadline ul.entryformat li dd {
	width: 100%;
	padding-bottom: 10px;
}
.deadline ul.entryformat li p.infotext {
	font-size: 16px;
	padding-bottom: 30px;
}


.deadline ul.entryformat li p.infosub_ttl {
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: dotted 1px #000;
}
.deadline ul.entryformat li p.infosub_cont {
	padding-bottom: 10px;
	padding-left:1em;
	text-indent:-1em;
}
.deadline ul.entryformat li p.infosub_cont span {
	line-height: 90%;
}
.deadline ul.entryformat li dl.infosub_prize dd {
	line-height: 150%;
	margin-bottom: 30px;
}
.deadline ul.entryformat li dl dd a{
	display: block;
	width: 100%;
	padding: 20px 0;
	letter-spacing: 0.1em;
	color: #fff;
	font-size: 17px;
	text-decoration: none;
	background-color: #658e38;
	text-align: center;
	margin-top: 5px;
	border-radius: 6px;
    -webkit-border-radius: 6px; 
    -moz-border-radius: 6px;
	box-sizing: border-box;
}
.deadline ul.entryformat li dl dd a.indiv {
	background-color: #5877ba;
}

.deadline ul.entryformat li dl dd a.group {
	background-color: #ce7d57;
}
/*ボタン無効*/
.deadline ul.entryformat li dl dd a.grey,
.deadline ul.entryformat li dl dd a.grey {
	background-color: #c8c8c8;
}
.deadline p.redattention {
	/*text-align: center;*/
	color: #dc3e00 !important;
    font-weight: bold !important;
    padding-top: 10px;
}
.deadline p.redattention span {
	font-size: 0.8em;
	display: inline-block;
	padding-top: 10px;
}


/*.deadline ul.entryform li dl.sml {
	width: 100%;
	padding-bottom: 20px;
	clear: both;
}
.deadline ul.entryform li dl.sml dt {
	width: 20%; 
	float: left;
	clear: left ;
	border: solid 1px #000;
	text-align: center;
	box-sizing: border-box;
	padding: 10px 0;
}
.deadline ul.entryform li dl.sml dd {
	width: 70%;
	float: left;
	margin-left: 10px;
	box-sizing: border-box;
}*/




/* アナウンス時
----------------------------------------------------------- */

#announce {
	width: 100%;
	height: auto;
	background-color: #dfd69a;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
	margin-top: 30px;
}
#announce p{
	width: 90%;
	margin: 0 auto;
}
#announce img{
	width: 90%;
	height: auto;
	margin: 0 auto;
	padding-bottom: 20px;
}
.announce_ranking {
	width: 90%;
	margin: 0 auto;
	padding-top: 40px;
}
.announce_ranking p {
	width: 100%;
    padding: 5px 0;
    line-height: 180%;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 120%;
    border-bottom: dotted 1px #000;
    margin-bottom: 20px;
}
.announce_ranking dl {
	width: 100%;
	margin-bottom: 60px;
}
.announce_ranking dl,
.announce_ranking dl dt,
.announce_ranking dl dd {
  box-sizing: border-box;
}

.announce_ranking dl dt {
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 180%;
	margin-bottom: 0px;
	text-align: center;
	
}
.announce_ranking dl dd {
	width: 100%;
	margin: 0;
	padding: 5px 0;
	line-height: 180%;
	margin-bottom: 20px;
	text-align: center;
}
.announce_ranking dl dd:after {
  content: '';
  display: block;
  clear: both;
}
.announce_ranking dl dd a {
	width: 70%;
	display: block;
	background-color: #f89e36;
	text-decoration: none;
	padding: 5px 0;
	text-align: center;
	color: #fff;
	border-radius: 6px;
	margin: 10px auto 0 auto;
}
.announce_ranking span.tokubetsu {
}


/* 問題
----------------------------------------------------------- */
.question {
	margin: 0 0 30px;
}
.question2 {
	margin: 0 0 20px;
}

.question:last-of-type {
	padding: 0;
	border-bottom: none;
}

.question h2 {
	margin: 0 20px 15px;
	padding: 15px 0;
	text-align: center;
}
.question .qbox{
	width: 90%;
	height: auto;
	padding-bottom: 50px;
	background-color: #fff;
	border-top: solid #aa4150 17px; 
	margin: 0 auto;
}
.qbox.bc2015 {border-color: #bfa023; }
.qbox.bc2016 {border-color: #3f7e70; }
.qbox.bc2017 {border-color: #896144; }
.qbox.bc2018 {border-color: #7b4189; }
.qbox.bc2019 {border-color: #4169aa; }
.qbox.bc2020 {border-color: #aa4150; }

.qbox.bc2022 {border-color: #bfa023; }
.qbox.bc2023 {border-color: #3f7e70; }
.qbox.bc2024 {border-color: #896144; }
.qbox.bc2025 {border-color: #7b4189; }
.qbox.bc2026 {border-color: #4169aa; }
.qbox.bc2027 {border-color: #aa4150; }


.qbox h3 {
	width: 90%;
	height: 2em;
	color: #fff;
	font: 19px bold;
	font-family: sans-serif;
	background-color: #896144;
	padding-top: 0.5em;
	margin: 0 auto;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}
.qbox.bc2015 h3 {background-color: #bfa023; }
.qbox.bc2016 h3 {background-color: #3f7e70; }
.qbox.bc2017 h3 {background-color: #896144; }
.qbox.bc2018 h3 {background-color: #7b4189; }
.qbox.bc2019 h3 {background-color: #4169aa; }
.qbox.bc2020 h3 {background-color: #aa4150; }

.qbox.bc2022 h3 {background-color: #bfa023; }
.qbox.bc2023 h3 {background-color: #3f7e70; }
.qbox.bc2024 h3 {background-color: #896144; }
.qbox.bc2025 h3 {background-color: #7b4189; }
.qbox.bc2026 h3 {background-color: #4169aa; }
.qbox.bc2027 h3 {background-color: #aa4150; }

/*古いの
.qbox2019 {
	width: 90%;
	height: auto;
	padding-bottom: 50px;
	background-color: #fff;
	border-top: solid #896144 17px; 
	margin: 0 auto;
	border-color: #4169aa; 
}
.qbox2018 {
	width: 90%;
	height: auto;
	padding-bottom: 50px;
	background-color: #fff;
	border-top: solid #896144 17px; 
	margin: 0 auto;
	border-color: #7b4189; 
}
.qbox2017 {
	width: 90%;
	height: auto;
	padding-bottom: 50px;
	background-color: #fff;
	border-top: solid #896144 17px; 
	margin: 0 auto;
	border-color: #896144; 
}
.qbox2016 {
	width: 90%;
	height: auto;
	padding-bottom: 50px;
	background-color: #fff;
	border-top: solid #896144 17px; 
	margin: 0 auto;
	border-color: #3f7e70; 
}
.qbox2015 {
	width: 90%;
	height: auto;
	padding-bottom: 50px;
	background-color: #fff;
	border-top: solid #896144 17px; 
	margin: 0 auto;
	border-color: #bfa023; 
}
.qbox2019 h3 {
	width: 90%;
	height: 2em;
	color: #fff;
	font: 19px bold;
	font-family: sans-serif;
	padding-top: 0.5em;
	margin: 0 auto;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
	background-color: #4169aa; 
}
.qbox2018 h3 {
	width: 90%;
	height: 2em;
	color: #fff;
	font: 19px bold;
	font-family: sans-serif;
	background-color: #896144;
	padding-top: 0.5em;
	margin: 0 auto;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
	background-color: #7b4189; 
}
.qbox2017 h3 {
	width: 90%;
	height: 2em;
	color: #fff;
	font: 19px bold;
	font-family: sans-serif;
	background-color: #896144;
	padding-top: 0.5em;
	margin: 0 auto;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
	background-color: #896144; 
}
.qbox2016 h3 {
	width: 90%;
	height: 2em;
	color: #fff;
	font: 19px bold;
	font-family: sans-serif;
	background-color: #896144;
	padding-top: 0.5em;
	margin: 0 auto;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
	background-color: #3f7e70; 
}
.qbox2015 h3 {
	width: 90%;
	height: 2em;
	color: #fff;
	font: 19px bold;
	font-family: sans-serif;
	background-color: #896144;
	padding-top: 0.5em;
	margin: 0 auto;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
	background-color: #bfa023; 
}*/


.q_text {
	width: 85%;
	margin: 0 0 20px;
	padding: 0 30px;
	font-size: 20px;
}
.q_text.letterspacing {
	letter-spacing: 0;
	text-align: justify;
}

.q_image {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.q_image img {
	width: 90%;
	margin: 40px 0;
}
.q_btn {
	margin: 0 20px;
}

.q_btn a {
	display: block;
	padding: 10px 0;
	padding-left: 30px;
	color: #ffffff;
	font-size: 16px;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
	background: url(../img/question_bg_btn.png) no-repeat 0 0;
	background-size: 100% 100%;
	text-decoration: none;
}

/*新しいボタン*/
.q_btn_text {
	margin: 0 auto;
	margin-top: 15px;
}
.q_btn_text a {
	width: 80%;
	text-align: left;
	display: block;
	letter-spacing: 0.03em;
	margin: 0 auto;
	padding: 20px 0 20px 40px;
	color: #ffffff;
	font-size: 16px;
	font-weight: normal;
	text-decoration: none;
	background-color: #cc3333;
	border-radius: 6px;        /* CSS3草案 */  
    -webkit-border-radius: 6px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 6px;   /* Firefox用 */
    position: relative;
    box-sizing: border-box;;
}
.q_btn_text a:before,
.q_btn_text a.group:before {
	width :30px;
	position: absolute;
	font-family: 'FontAwesome';
	content: "\f054";
	margin: 10px 10px 0 -25px;
/*	padding-right: 10px;
*/}

.q_btn_text a.group {
	background-color: #ce7d57;
}

.q_btn_announce {
	margin: 0 20px 10px 20px;
}

.q_btn_announce a {
	display: block;
	padding: 10px 0;
	color: #ffffff;
	font-size: 20px;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
	background-color: #f48e09;
}

.q_example{
	width: 90%;
	height: auto;
	border: solid #dbdbde 1px;
	margin: 0 auto;
	margin-bottom: 40px;
}
.q_example h4{
	width: 90%;
	height: 1.8em;
	color: #000;
	background-color: #dbdbde;
	text-align: center;
	margin: 0 auto;
	margin-top: 10px;
	margin-bottom: 10px;
}
.q_example p{
	margin: 20px;

}

.q_example_2017{
	width: 90%;
	height: auto;
	border: solid #dbdbde 1px;
	padding: 20px;
	margin: 0 auto;
	margin-top: 40px;
	margin-bottom: 40px;
	box-sizing: border-box;
}
.q_example_2017 img{
	width: 50%;
	height: auto;
	margin: 0 auto;
	margin-bottom: 10px;
}
.q_example_2017 p{
	width: 80%;
	height: auto;
	margin: 0 auto;
	font-size: 14px;
	text-align: left;
}


/* ヒント追加
----------------------------------------------------------- */
.hint{
	border:1px solid #000;
	padding:20px;
	width:90%;
    margin: 10px auto 20px;
    font-size: 17px;
    line-height: 2;
    letter-spacing: 0.1em;
	box-sizing: border-box;
	text-align:justify;
}
.hint_image{
	padding:10px;
	width:80%;
	max-width:240px;
	text-align: center;
    margin: 0 auto 20px;
}
.hint_image img{
	width:80%;
	max-width:200px
}


/* アーカイブ
----------------------------------------------------------- */
.goodanswer{
	width: 90%;
	height: auto;
	padding-bottom: 50px;
	background-color: #fff;
	margin: 0 auto;
}
.goodanswer h3 {
	width: 100%;
	background-color: #d91a1a;
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.2em;
	margin: 0 auto;
	padding: 16px 0;
	margin-top: 30px;
	color: #fff;
	font-weight: normal;
}
.comment {
	width: 85%;
	height: auto;
	margin: 0 auto;
	padding-bottom: 50px;
	background-color: #fff;
	margin-bottom: 50px;
}
.comment h3 {
	width: 100%;
	background-color: #f48e09;
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.2em;
	margin: 0 auto;
	padding: 16px 0;
	margin-top: 30px;
	color: #fff;
	font-weight: normal;
}
.goodanswer p,
.comment p{
	width: 85%;
	height: auto;
	margin: 0 auto;
	margin-top: 40px;
	font-size: 16px;
	line-height: 1.8;
	overflow: hidden;
	text-align: left;
	letter-spacing: .05em;
	color: #222;
}
.goodanswer p img,
.comment p img{
	width: 100%;
	height: auto;
}
.noanswer {
    width: 90%;
	color:#fff;
    background-color: #d91a1a;
    text-align: center;
    margin: 0 auto;
    padding: 20px;
    margin-top: 30px;
	box-sizing: border-box
}
.prize {
	width: 70%;
	padding: 20px 0;
	margin: 0 auto;
	margin-top: 50px;
	border: solid 1px #000;
	text-align: center;
	font-weight: bold;
	background: url(../img/crown.png) no-repeat 10% 45%;
	background-size: 20px;
}
.prize2 {
	width: 90%;
	padding: 20px 0;
	margin: 0 auto;
	margin-top: 50px;
	border: solid 1px #000;
	text-align: center;
	font-weight: bold;
}
.prize2 img{
	width: 10%;
	height: auto;
	margin-right: 5px;
	margin-top: -5px;
}

.archive_title {
	background-color: #896144;
	width: 100%;
	font-size: 24px;
	text-align: center;
	line-height: 100%;
	margin-bottom: 40px;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: 30px 0;
}
.archive_title span {
	font-size: 14px;
	font-weight: normal;
}
.goodanswer p.reference{font-size: 12px;text-align: right;}
.goodanswer p.reference a {
	font-size: 12px;
	color: #000;
}
.comment p span.supText {
font-size: 75.5%;
vertical-align: top;
position: relative;
top: -0.1em;
}

.c2015 {background-color: #bfa023;}
.c2016 {background-color: #3f7e70;}
.c2017 {background-color: #896144;}
.c2018 {background-color: #7b4189;}
.c2019 {background-color: #4169aa;}
.c2020 {background-color: #aa4150;}

.c2022 {background-color: #bfa023;}
.c2023 {background-color: #3f7e70;}
.c2024 {background-color: #896144;}
.c2025 {background-color: #7b4189;}
.c2026 {background-color: #4169aa;}
.c2027 {background-color: #aa4150;}


.year_btn {
	width: 70%;
	height: auto;
	display: block;
	margin: 0 auto;
	margin-bottom: 40px;
	box-sizing: border-box;
}
.year_btn ul {
	width: 100%;
	height: auto;
}
.year_btn ul li{
	width: 100%;
	height: 30px;
	display: block;
	margin-bottom: 30px;
	box-sizing: border-box;
}
.year_btn ul li a {
	display: block;
	/*padding: 10px 0;
	padding-left: 30px;*/
	color: #000;
	font-size: 16px;
	font-weight: normal;
	text-align: left;
	text-decoration: none;
	background-color: #d7d3c8;
	padding: 10px 20px;
	border-radius: 4px;
	letter-spacing: 0.05em;
}
.year_btn ul li.active a{
	background-color: #dc3e00;
}
p.note_age {
	width: 90%;
	text-align: right;
	font-size: 10px;
	padding-top: 10px;
	margin-top: 0;
}


/* 解答方法
----------------------------------------------------------- */
.how_to {
	background-color: #f3eadd;
	padding-top: 30px;
}
.how_to_in {
	width: 85%;
	padding: 0 0 30px;
	margin: 0 auto;
	background-color: #f3eadd;
}

.how_to_in h2 {
	margin: 0 0 20px;
	text-align: center;
}

.how_to_in dt {
	margin: 0 0 10px;
	padding: 0 0 5px;
	border-bottom: 1px solid #000000;
	font-size: 20px;
	font-weight: bold;
}

.how_to_in dd {
	margin: 0 0 40px;
	font-size: 19px;
}
.how_to_in dd a{
	color: red;
}
.how_to_in p {
		background-color: #3f7e70;
}
/*.how_to p {
	background: -moz-linear-gradient(top,  #e7e7e7 0%, #f7f7f7 34%, #e6e6e6 71%, #dddddd 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e7e7e7), color-stop(34%,#f7f7f7), color-stop(71%,#e6e6e6), color-stop(100%,#dddddd));
	background: -webkit-linear-gradient(top,  #e7e7e7 0%,#f7f7f7 34%,#e6e6e6 71%,#dddddd 100%);
	background: linear-gradient(to bottom,  #e7e7e7 0%,#f7f7f7 34%,#e6e6e6 71%,#dddddd 100%);
}*/

.how_to_in p a {
	display: block;
	padding: 15px 0;
	color: #fff;
	text-align: center;
	text-decoration: none;
	margin: 20px 0 10px 0;
	font-size: 17px;
	text-align: center;
	letter-spacing: 0.02em;
	position: relative;
}

.how_to_in p a.indiv {background-color: #5877ba;}
.how_to_in p a.group {background-color: #658e38;}
/*.how_to_in p a.indiv:before {
    content: "";
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	background: url(../img/icon_pdf.png) no-repeat center left;
	background-size: contain;
	vertical-align: middle;
	margin-right: 10px;
}*/


.btn-detail {
	width: 80%;
    margin: 20px auto 0 auto;
    background-color: #f89e36;
}
.btn-detail a {
    width: 100%;
    background-color: #f89e36;
    display: block;
    padding: 20px 0;
    letter-spacing: 0.1em;
    color: #fff;
    font-size: 17px;
    text-decoration: none;
    text-align: center;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    box-sizing: border-box;
    margin-bottom: 80px;
}
.btn-detail a:hover {
	width: 100%;
	background-color: #dfd69a;
}

/* フォーム
----------------------------------------------------------- */
.form,
.form_confirm {
	margin: 30px  20px 30px;
	background-color: #fbf8f3;
}

.form h2 {
	margin: 0 0 20px;
	text-align: center;
}

.form .error {
	background-color: #ff6934;
}

.form p.error {
	margin: 0 0 20px;
	color: #ff6934;
	font-size: 15px;
	font-weight: bold;
	background: none;
}

.form dt {
	font-size: 19px;
}

.form dt span {
	font-size: 12px;
}

.form dt .required {
	display: inline-block;
	vertical-align: middle;
	padding: 0 5px;
	color: #ffffff;
	font-size: 11px;
	background: #eb6100;
}

.form dd {
	margin: 0 0 20px;
}


.form select {
	width: 100%;
	padding: 5px;
	border: 1px solid #535353;
	border-radius: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	font-size: 20px;
	background: #ffffff url(../img/icon_select.png) no-repeat 100% 50%;
	background-size: auto 100%;
	-webkit-appearance: none;
}

.form input[size="30"] {
	width: 100%;
	padding: 5px;
	border: 1px solid #535353;
	border-radius: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	font-size: 20px;
	-webkit-appearance: none;
}

.form input[size="10"] {
	padding: 5px;
	border: 1px solid #535353;
	border-radius: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	font-size: 20px;
	-webkit-appearance: none;
}

.form input[type="submit"] {
	display: block;
	width: 100%;
	vertical-align: top;
	margin: 0;
	color: #fff;
	padding: 10px 0;
	font-size: 19px;
	background-color: #3f7e70;
	-webkit-appearance: none;
}

.form_agree {
	overflow: hidden;
	margin: 0 0 20px;
	font-size: 15px;
}

.form_agree input[type="checkbox"] {
	float: left;
	width: 20px;
	height: 20px;
	margin: 4px 0 0; 
	padding: 0;
	border: 1px solid #535353;
	border-radius: 0;
}

.form_agree span {
	display: block;
	margin: 0 0 0 30px;
}

.form_agree a {
	display: inline-block;
	padding: 0 0 0 15px;
	background: url(../img/icon_external.png) no-repeat 0 50%;
	background-size: 10px auto;
}

.form_confirm dd {
	padding: 5px 10px;
	border: 1px solid #6e4c3e;
	font-size: 20px;
	background: url(../img/form_bg_confirm.png);
}

.form_confirm input[type="submit"] {
	float: right;
	width: 48%;
}

.form_confirm input.form_btn_back { 
	float: left;
	margin: 0 0 30px;
	color: #ffffff;
	background-color: #a8a9ab;
}



/*ブラウザ依存のinput=file文字英語変更*/

.original_file_btn {
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: middle;
  margin: 0 0 5px;
  padding: 2px 10px;
  border: 1px solid #a6a6a6;
  background: -moz-linear-gradient(top, #f7f7f7 0%, #dddddd 100%);
  background: -webkit-linear-gradient(top, #f7f7f7 0%, #dddddd 100%);
  background: linear-gradient(to bottom, #f7f7f7 0%, #dddddd 100%);
  cursor: pointer;
}

.original_file_btn input[type="file"] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

#selectFileName {
  vertical-align: middle;
  width: auto;
  margin: 0;
  padding: 0;
  border: none;
  font-size: inherit;
  background: none;
}



.thanks {
	padding: 10px 0 0;
	text-align: center;
}


/* 個人情報
----------------------------------------------------------- */
.privacy {
	padding: 0 20px;
	font-size: 15px;
}

.privacy h2 {
	margin: 20px 0 20px;
	font-weight: normal;
	font-weight: bold;
	font-size: 18px;
}

.privacy p {
	margin: 0 0 20px;
}


/* フッタ
----------------------------------------------------------- */
footer {
	clear: both;
	background-color: #fff;
	padding-top: 20px;
}
footer h1{
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	border-top: solid 1px #000;
	margin:0;
	padding:0;
}

footer ul {
	overflow: hidden;
	width: 270px;
	margin: 0 auto 20px;
}

footer li {
	float: left;
}

footer li:nth-child(2) {
	float: right;
}

footer p {
	text-align: center;
	color: #000;
	font-size: 9px;
	background: #fff;
}

.page_top {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
}