@charset "UTF-8";

html { background: #e6e6e6; }

body { background:#ffffff; color:#333; font-size: 15px; line-height: 1.6em; font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; }

a { color:#72431f; text-decoration: none; }
a:hover { text-decoration: underline; }

a.alpha:hover, a:hover .alpha, .alpha:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

img { vertical-align: bottom; }

input, textarea { font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; padding: 1px; }
select { padding: 5px; font-size: 15px; font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; }

@media only screen and (min-width: 671px) {
.only_sp { display: none !important; }
}

@media only screen and (max-width: 670px) {
.only_pc { display: none !important; }
}

.red { color: #cc0000;}

.essential { margin-top: 10px; }
.iconHissu { display: inline; background-color: #cc0000; color: #fff; padding: 2px 5px; font-size: 14px; text-align: center; }
.iconHissu02 { display: block; background-color: #cc0000; color: #fff; padding: 2px 5px; font-size: 14px; text-align: center; }
.iconOkWrap { position: absolute; top: 22px; right: 15px; }
.iconOk { background-color: #00a8ff; color: #fff; padding: 3px 8px; font-weight: bold;
	border-radius: 5px;        /* CSS3草案 */  
  -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
  -moz-border-radius: 5px;   /* Firefox用 */
}
.iconOk img { line-height: 15px; vertical-align: middle; }

.font12 {font-size: 12px;}
.font13 {font-size: 13px;}

@media only screen and (max-width: 670px) {
html { background: #007740; }

.iconHissu02 { display: inline; }
.iconOkWrap { position: absolute; top: 0; right: 0; }
.iconOk { padding: 5px 8px; }
.iconOk img { line-height: 100%; }
}

/* header */
#headerWrap {
  border-bottom: 3px solid #007740;
  background-color: #fff;
  padding: 20px 10px;
}
#header {
  width: 950px;
  margin: 0 auto;
}
#headerLogo {
  font-size: 20px;
  font-weight: bold;
}
#headerLogo a {
  color: #007740;
}
#headerLogo a:hover {
  text-decoration: none;
}
#headerLogo h1 img {
  width: 105px;
}

@media only screen and (max-width: 670px) {
#headerWrap {
  padding: 15px 0;
}
#header {
  width: auto;
  padding: 0 10px 0;
}
#headerLogo {
  margin: 0;
  font-size: 110%;
}
}

/* pankuzu */
#pankuzu {
/*  width: 950px;*/
  margin: 10px auto;
}
#pankuzu li {
  float: left;
  font-size: 12px;
}

/* content */
#content {
  position: relative;
  width: 950px;
  margin: 0 auto 50px;
}
#content #mainTtl {
  margin-bottom: 15px;
  font-size: 14px;
}
#content #mainTtl h2 {
  margin-bottom: 10px;
}
#content #flow {
  margin-bottom: 15px;
}
#content #errorList {
  color: #cc0000;
  font-weight: bold;
  margin-bottom: 15px;
}
#content #errorList ul {
  list-style-type: disc;
  margin-left: 1.2em;
}

@media only screen and (max-width: 670px) {
#content {
  width: 100%;
  margin-bottom: 20px;
}
#content #mainTtl p {
  padding: 0 10px 0;
  margin: 0 0 10px;
}
#content #flow {
  padding: 0 10px 0;
  margin: 0 0 10px;
}

#content #errorList {
  padding: 0 10px 0;
  margin: 0 0 10px;
}
}

h3.formTitle{
	padding: 10px 20px;
  margin-bottom: 10px;
	display: block;
  background-color: #d3d896;
	font-size: 20px;
	font-weight: bold;
}
.formTable h4 {
  padding-left: 5px;
  font-size: 17px;
  font-weight: bold;
  border-left: 3px solid #147e40;
}
.formTable h5 {
  font-size: 17px;
  font-weight: bold;
}
.formTable .btn01 {
  padding: 8px 15px;
  border:none;
  border-radius: 5px;
  background-color: #c1c968;
  box-shadow: 0 3px 0 0 #147e40;
  text-decoration: none;
  text-align: left;
  color: #333;
  font-weight: bold;
  font-size: 14px;
  -webkit-appearance: none;
}

@media only screen and (max-width: 670px) {
h3.formTitle{
	padding: 8px 10px;
	font-size: 120%;
}
.formTable h4 {
  border-left: 3px solid #147e40;
  padding-left: 5px;
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 10px;
}
.formTable h5 {
  font-size: 100%;
}
.formTable .btn01 {
  font-size: 100%;
}
.formTable h4, .formTable h5, p.essential {
  display: inline;
}
}

/* form */
.formColumn {
  margin-bottom: 30px;
  border: 1px solid #ccc;
}
.formTable {
  background: url(../images/bg_koumoku01.png) repeat-y;
  border-bottom: 1px solid #ccc;
  overflow: visible;
}
.formTable.last {
  border-bottom: 0;
}
.formTableLeft {
  float: left;
  width: 300px;
}
.formTableLeft01 {
  padding: 15px;
}
.formTableLeft02 {
  float: left;
  width: 120px;
}
.formTableLeft02 .formTableLeft0201 {
  padding: 15px;
}
.formTableRight {
  position: relative;
  float: left;
  width: 646px;
  background-color: #fff;
  border-left: 1px solid #ccc;
  position: relative;
}
.formTableRight01 {
  position: relative;
  padding: 15px 15px 0;
  margin-bottom: auto;
}
.formTableRight01.last {
  padding: 15px;
}
.formTableRight02 {
  width: 827px;
  float: left;
  border-bottom: none;
}
.formTableRight0201 {
  border-bottom: 1px dotted #ccc;
  border-left: 1px solid #ccc;
}
.formTableRight0201.top {
  border-top: 0;
}
.formTableRight0201.last {
  border-bottom: 0;
}
.formTableMiddle02 {
  float: left;
  width: 179px;
}
.formTableRight0201 .formTableRight01 {
  border-bottom: none;
}
.formTableMiddle0201 {
  padding: 15px;
}
.nameInputLeft,.nameInputRight {
  width: 290px;
  float: left;
}
.txtBox01 {
  padding: 7px;
  width: 310px;
  font-size: 14px;
}
.txtBox02 {
  padding: 7px;
  width: 180px;
  font-size: 14px;
}
.txtBox03 {
  padding: 7px;
  width: 500px;
  font-size: 14px;
}
.txtBox04 {
  padding: 7px;
  width: 415px;
  font-size: 17px;
  text-indent: 0.5em;
}
.txtArea01 {
  width: 500px;
}
.errorTxt {
  color: #cc0000;
  font-weight: bold;
  margin: 5px 0;
}
.selectForm {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  text-indent: 0.5em;
/*
  background-image: url(../images/arrow_btn_gr02.png);
*/
  background-repeat: no-repeat;
  background-position: 97% 50%;
  background-size: 19px 19px;
  width: 180px;
  padding: 7px;
}
@-moz-document url-prefix() { /* for firefox */
  .selectForm {
    background:none;
    background-color: #FFF;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { /* IE10（\9なしでIE11にも適用） */
  .selectForm:not(:target) {
    background:none; 
    background-color: #FFF;
  }
}
.selectArea {
  width: 433px !important;
  font-size: 17px;
}

@media only screen and (max-width: 670px) {
.formColumn {
  margin-bottom: 30px;
  padding: 0 10px 0;
  border: none;
}
.formTable {
  margin-bottom: 30px;
  border-bottom: none;
  background-color: #fff;
  background: none;
}
.formTableLeft {
  float: none;
  width: auto;
  margin-bottom: 10px;
}
.formTableLeft01 {
  padding: 0;
  position: relative;
}
.formTableLeft02 {
  width: auto;
	float: none;
  margin-bottom: 10px;
}
.formTableLeft02 .formTableLeft0201 {
  position: relative;
  padding: 0;
}
.formTableRight {
  float: none;
  margin-bottom: 10px;
  width: auto;
  border-left: none;
}
.formTableRight01 {
  padding: 0;
  margin-bottom: 5px;
	border-bottom:none;
}
.formTableRight01.last {
  padding: 0;
  border-bottom: none;
}
.formTableRight02 {
  width: auto;
	float: none;
	border-left: none;
	border-bottom: none;
}
.formTableRight0201 {
	border-left: none;
	border-bottom: none;
}
.formTableRight0201.top {
  border-top: 0;
}
.formTableRight0201.last {
  border-bottom: 0;
}
.formTableMiddle02 {
	margin-bottom: 5px;
	width: auto;
	float: none;
}
.formTableRight0201 .formTableRight01 {
  border-bottom: none;
}
.formTableMiddle0201 {
  position: relative;
  padding: 0;
	border-left: none;
	border-bottom: none;
}
.nameInputLeft,.nameInputRight {
  width: auto;
  float: none;
	padding: 5px 0;
}

.txtBox01 {
  padding: 10px;
  width: 90%;
  font-size: 100%;
}
.txtBox02 {
  padding: 10px;
  width: 40%;
  font-size: 100%;
}
.txtBox02.txtBox02Sp {
  width: 90%;
}
.txtBox03 {
  padding: 10px;
  width: 90%;
  font-size: 100%;
}
.txtBox04 {
  padding: 10px;
  width: 90%;
  font-size: 110%;
}
.txtArea01 {
  width: 90%;
}
.selectForm {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  text-indent: 0.5em;
/*
  background-image: url(../images/arrow_btn_gr02.png);
*/
  background-repeat: no-repeat;
  background-position: 97% 50%;
  background-size: 19px 19px;
  width: 65%;
  padding: 10px;
}
@-moz-document url-prefix() { /* for firefox */
  .selectForm {
    background:none;
    background-color: #FFF;
  }
}
.selectArea {
  width: 95% !important;
  font-size: 110%;
}
}

/* privacy */
.privacyWrap {
  margin: 0 auto 30px;
  width: 700px;
}
.privacyWrap .txt {
  margin-bottom: 20px;
  text-align: center;
}
.privacyWrap .check {
  text-align: center;
}
.privacy {
  margin-bottom: 20px;
}
.privacy dt{
  display: block;
  padding: 0 15px;
  font-size: 17px;
  font-weight: bold;
  height: 50px;
  line-height: 50px;
  text-align: left;
  border: 2px solid #ccc;
  cursor: pointer;
  background: url(../images/icon_plus_btn01.png);
  background-repeat: no-repeat;
  background-position: 97% 50%;
  background-size: 19px 19px;
}
.privacy dd{
  display: none;
  border: 2px solid #ccc;
  border-top: 0;
  padding: 0 15px 15px;
}
.privacy dt.active{
  background: url(../images/icon_minus_btn01.png);
  background-repeat: no-repeat;
  background-position: 97% 50%;
  background-size: 19px 19px;
  border-bottom: 0;
}
.formBtn {
  text-align: center;
}
.formBtn .btn01 {
  padding: 15px;
  border:none;
  border-radius: 5px;
  background-color: #147e40;
  box-shadow: 0 3px 0 0 #c1c968;
  width: 400px;
  text-decoration: none;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 25px;
  background-image: url(../images/arrow_btn_wh03.png);
  background-repeat: no-repeat;
  background-position: 97% 50%;
  background-size: 12px 19px;
  -webkit-appearance: none;
}
.formBtn .btn02 {
  padding: 15px;
  border:none;
  border-radius: 5px;
  background-color: #999;
  box-shadow: 0 3px 0 0 #828282;
  width: 400px;
  text-decoration: none;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 25px;
  background-image: url(../images/arrow_btn_wh04.png);
  background-repeat: no-repeat;
  background-position: 3% 50%;
  background-size: 12px 19px;
  -webkit-appearance: none;
}
.norton {
  background-color: #eaeaea;
  padding: 15px;
  margin: 30px auto 20px;
  width: 660px;
}
.norton .img {
  text-align: center;
}

@media only screen and (max-width: 670px) {
.privacyWrap {
  padding: 0 10px 0;
  margin: 0 auto 20px;
  width: auto;
}
hr.line01 {
  margin: 30px 0;
  border-top: 1px solid #ccc;
  border-width: 1px 0 0 0;
}
.privacyWrap .txt {
  text-align: left;
}
.privacy dt{
  padding: 15px;
  font-size: 110%;
  font-weight: bold;
  height: inherit;
  line-height: 110%;
}
.formBtn {
  padding: 0 10px 0;
}
.formBtn .btn01, .formBtn .btn02 {
  width: 100%;
  font-size: 150%;
  margin-bottom: 10px;
}
.norton {
  width: 100%;
  padding: 10px 0;
}
.norton p {
  margin: 10px;
}
}

/* other */
.areaType {
  float: left;
  width: 465px;
  margin-right: 19px;
}
.areaType:last-child {
  margin-right: 0;
}
.areaType h3 {
  padding: 10px 20px;
  margin-bottom: 10px;
  display: block;
  background-color: #c1c968;
  font-size: 20px;
  font-weight: bold;
}
.areaTypeBox {
  position: relative;
  padding: 15px;  
  border: 1px solid #ccc;
  box-sizing: border-box;
  text-align: center;
}
.areaTypeBox .areaTypeBoxInr {
  position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
  height: 164px;
}
.areaTypeBox .arrow {
  margin: 10px 0;
  text-align: center;
}

.kanryouMessage {
  margin: 50px 0;
  text-align: center;
}
.kanryouMessage .txt {
  margin-bottom: 30px;
  color: #007740;
  font-size: 20px;
  font-weight: bold;
}
.kanryouMessage .url {
  margin-top: 30px;
  font-size: 20px;
  font-weight: bold;
}

@media only screen and (max-width: 670px) {
.areaType {
  float: none;
  width: auto;
  margin: 0 0 20px 0;
}
.areaType h3 {
  padding: 8px 10px;
  font-size: 120%;
}
.areaTypeBox {
  position: static;
  padding: 0 10px 0;
  border: 0;
  box-sizing: inherit;
}
.areaTypeBox .areaTypeBoxInr {
  position: static;
	margin: auto;
  height: auto;
}
.areaTypeBox .arrow {
  margin: 5px 0;
  text-align: center;
}
.areaTypeBox .arrow img {
  width: 15%;
}
ul.accordion ul { display:none; }
ul.accordion > li { font-size: 110%; }

.kanryouMessage {
  padding: 0 10px 0;
  margin: 30px 0;
  text-align: center;
}
.kanryouMessage .txt {
  margin-bottom: 20px;
  font-size: 120%;
}
.kanryouMessage .url {
  margin-top: 20px;
  font-size: 120%;
}
}

/* errorAlert pagetop */
#errorAlert {
  position: fixed;
  top: 20px;
  right: 20px;
}
#errorAlert span.txt {
  display: block;
  padding: 10px;
  margin-left: auto;
  background-color: #fff;
  border: 2px solid #147c41;
	border-radius: 5px;        /* CSS3草案 */  
  -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
  -moz-border-radius: 5px;   /* Firefox用 */
  font-size: 17px;
  text-align: center;
}
#errorAlert span.number {
  color: #c00;
  font-size: 20px;
  font-weight: bold;
}

#pageTop {
  padding: 0;
  position: fixed;
  bottom: 20px;
  right: 20px;
}

/* footer */
#footer {
  border-top: 3px solid #007740;
  padding: 20px 0;
  background-color: #e6e6e6;
}
#footer .inner {
  width: 950px;
  margin: 0 auto;
}
#footer .footLogo {
  float: left;
  width: 99px;
}
#footer .footLink {
  float: left;
  width: 560px;
  margin-left: 4px;
  font-size: 13px;
}
#footer .footLink li {
  float: left;
}
#footer .footLink li a {
  padding: 0 6px;
  border-right: 1px solid #333;
}
#footer .footLink li:last-child a {
	border-right: none;
}
#footer .footLink .copy {
  padding-left: 6px;
}
#footer .footQr {
  float: right;
  width: 160px;
  padding: 10px;
  border: 1px solid #ccc;
  background: url(../images/img_foot_qr01.png) no-repeat 3px 3px #fff;
  padding-left: 105px;
}
#footer .footQr p {
  line-height: 1.6em;
  font-size: 13px;
}
#footer .footQr .footQrTxt {
  color: #c00;
  font-size: 14px;
  font-weight: bold;
}

@media only screen and (max-width: 670px) { 
#errorAlert {
  position: fixed;
  top: 10px;
  right: 10px;
}
#errorAlert span.txt {
  display: block;
  font-size: 110%;
}
#errorAlert span.number {
  font-size: 120%;
} 
#pageTopSp {
  margin: 20px auto 0;
  padding-right: 4%;
  text-align: right;
}
#pageTopSp img {
  width: 100px;
  height: 41px;
}
#footer {
  width: auto;
  height: auto;
  padding: 0;
  background: #007740;
}
  
#footer .copy {
  position: relative;
  top: auto;
  left: auto;
  font-size: 90%;
  color: #fff;
  text-align: center;
  padding: 10px 0;
}
}
