@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ol, ul{ list-style: none;}
ol li,
ul li { list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: none; margin: 0; padding: 0;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/*		font-style
-------------------------------------------------- */
body { color: #505050;
/*	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;*/
	font-family: "游ゴシック","Yu Gothic","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "メイリオ","Meiryo",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.min { font-family: "游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: Georgia, serif;}


a { color:#002159; text-decoration: none;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}

@keyframes showError{
	100%{ opacity: 1;}
}

#hd { margin: 0 auto;}
#hd .inner-hd { width: 92%; max-width: 1024px; margin: 0 auto; padding: 60px 0 40px; border-bottom: solid 1px #e6e6e6;}
#hd h1 { text-align: center;}
#hd h1 svg{ width: 32%; max-width: 280px;}
@media (max-width: 481px) {
	#hd .inner-hd { padding: 30px 0 20px;}
}
#ft { position: relative;}
#ft .inner-ft{ width: 92%; max-width: 1024px; margin: 0 auto; padding: 80px 0; border-top: solid 1px #e6e6e6;}
#ft h3 { margin: 0 auto 50px; text-align: center;}
#ft h3 img{ width: 32%; max-width: 200px;}
#ft ul { margin: 0 auto 60px; font-size: 0; text-align: center;}
#ft ul li { display: inline-block; font-size: 14px; padding: 0 20px; border-left: solid 1px #505050;}
#ft ul li:first-child{ border-left: none;}
#ft ul li a { color: #505050; }
#ft ul li a:hover { text-decoration: underline;}
#ft p { font-size: 12px; text-align: center;}
@media (max-width: 481px) {
	#ft .inner-ft{ padding: 40px 0;}
	#ft h3 { margin: 0 auto 20px;}
	#ft ul { margin: 0 auto 20px;}
	#ft ul li { display: block; margin: 0 auto 20px; font-size: 12px; padding: 0; border-left: none;}
	#ft p { font-size: 10px;}
}


.wrap { position: relative;}
.wrap .inner-wrap { width: 88%; max-width: 820px; margin: 0 auto; padding: 50px 0 90px;}
.ptl { margin: 0 auto 40px; font-size: 32px; text-align: center;}
@media (max-width: 481px) {
	.wrap .inner-wrap { padding: 40px 0;}
	.ptl { margin: 0 auto 20px; font-size: 26px;}
}

.contact-ctn p.lead { margin-bottom: 60px; font-size: 17px; line-height: 1.8; text-align: center;}
.contact-ctn p.lead span { display: block;}
.contact-ctn .btn-mail { width: 50%; max-width: 200px; margin: 0 0 15px auto;}
.contact-ctn .btn-mail a { display: block; padding: 5px 0; background: #e6e6e6; border-radius: 5px;
 color: #505050; font-size: 14px; text-align: center;}
.contact-ctn .btn-mail a svg { display: inline-block; width: 20px; vertical-align: middle; fill: #505050;}
.contact-ctn .btn-mail a span { display: inline-block; vertical-align: middle;}

.contact-ctn ul { border-top: solid 1px #e6e6e6;}
.contact-ctn ul.formInput { margin: 0 auto 60px;}
.contact-ctn ul.formConfirm { margin: 0 auto 40px;}
.contact-ctn ul li { padding: 10px 0; border-bottom: solid 1px #e6e6e6;}
.contact-ctn ul li dl { display: table; width: 100%;}
.contact-ctn ul li dl dt,
.contact-ctn ul li dl dd { position: relative; display: table-cell;}
.contact-ctn ul li dl dt { width: 30%; font-size: 18px;}
.contact-ctn ul li dl dd { width: 70%; font-size: 16px;}
.contact-ctn ul li dl dt span { display: inline-block; margin-left: 10px; color: #ec3323; font-size: 15px;}
.contact-ctn ul li dl dd input[type="text"],
.contact-ctn ul li dl dd input[type="email"],
.contact-ctn ul li dl dd textarea { appearance: none; -webkit-appearance: none; border: solid 1px #505050; border-radius: 6px; padding: 10px;}
.contact-ctn ul li dl dd input[type="text"],
.contact-ctn ul li dl dd input[type="email"]{ width: 100%;}
.contact-ctn ul li dl dd textarea { width: 100%; height: 300px;}
.contact-ctn ul li dl dd span.note { display: block; font-size: 13px;}
.contact-ctn ul li dl dd label.error { position: absolute; top: -30px; left: -10px; padding: 5px 8px; background: #d00; border-radius: 5px;
	color: #fff; font-size: 12px;
	animation: .5s showError linear forwards .2s; opacity: 0;
}
.contact-ctn ul li dl dd label.error:before{ content: ''; display: block; width: 8px; height: 8px; background: #d00;
	transform: rotate(45deg);
	position: absolute; bottom: -4px; left: 20px;
}
.contact-ctn ul.formConfirm li dl dd { font-weight: 700;}


.contact-ctn dl.policy { margin: 0 auto 140px;}
.contact-ctn dl.policy dt { margin-bottom: 30px; font-size: 18px; font-weight: 700;}
.contact-ctn dl.policy dd { font-size: 17px;}
.contact-ctn dl.policy dd a { color: #505050; text-decoration: underline;}
.contact-ctn dl.policy dd a:hover { text-decoration: none;}

.contact-ctn p.confirm { margin-bottom: 30px; font-size: 17px; font-weight: 700; text-align: center;}
.contact-ctn p.confirm input[type="checkbox"]{ vertical-align: middle; margin-right: 10px;}
.contact-ctn p.check { margin-bottom: 40px; font-size: 17px; font-weight: 700;}

.contact-ctn .btn ul { display: flex; width: 100%; max-width: 450px; margin: 0 auto; justify-content: space-between; align-items: center; border: none;}
.contact-ctn .btn ul li { padding: 0; border: none;} 
.contact-ctn .btn .btn-back { width: 35%;}
.contact-ctn .btn .btn-back a { display: block; padding: 15px; background: #ccc; border-radius: 6px;
 color: #fff; font-size: 17px; text-align: center; text-decoration: none;
}
.contact-ctn .btn .btn-submit { width: 60%; max-width: 300px; margin: 0 auto; border-radius: 6px; overflow: hidden;
 background: url(../img/bg-btn.jpg) no-repeat 50% 50% / cover;}
.contact-ctn .btn .btn-submit input[type="submit"],
.contact-ctn .btn .btn-submit a { display: block; width: 100%; padding: 15px 0;
 border-radius: 5px; border: none; background: rgba(230,230,230,0);
 color: #505050; font-size: 18px; font-weight: 700; text-align: center;
 appearance: none; -webkit-appearance: none;
}
.contact-ctn .btn .btn-submit input[type="submit"]:disabled { color: #fff; background: rgba(230,230,230,1);}
.contact-ctn .btn .btn-home { width: 50%; max-width: 300px; margin: 0 auto;}
.contact-ctn .btn .btn-home a { display: block; padding: 15px; background: #505050; border-radius: 6px;
 color: #fff; font-size: 17px; text-align: center; text-decoration: none;
}
.contact-ctn .thanks { padding: 40px 0 120px;}
.contact-ctn .thanks p { margin-bottom: 60px; font-size: 18px; text-align: center;}

@media (max-width: 641px) {
	.contact-ctn ul li dl { display: block;}
	.contact-ctn ul li dl dt,
	.contact-ctn ul li dl dd { display: block;}
	.contact-ctn ul li dl dt { width: 100%;}
	.contact-ctn ul li dl dd { width: 100%;}
	.contact-ctn dl.policy { margin: 0 auto 60px;}
	.contact-ctn dl.policy dt { margin-bottom: 10px;}
}
@media (max-width: 481px) {
	.contact-ctn p.lead { margin-bottom: 20px; font-size: 14px; text-align: left;}
	.contact-ctn p.lead span { display: inline;}

	.contact-ctn ul.formInput { margin: 0 auto 40px;}
	.contact-ctn ul.formConfirm { margin: 0 auto 20px;}

	.contact-ctn ul li dl dt { font-size: 15px;}
	.contact-ctn ul li dl dd { font-size: 14px;}
	.contact-ctn ul li dl dt span { font-size: 13px;}
	.contact-ctn ul li dl dd input[type="text"],
	.contact-ctn ul li dl dd input[type="email"],
	.contact-ctn ul li dl dd textarea { padding: 6px;}
	.contact-ctn ul li dl dd textarea { height: 150px;}

	.contact-ctn dl.policy { margin: 0 auto 40px;}
	.contact-ctn dl.policy dt { font-size: 15px;}
	.contact-ctn dl.policy dd { font-size: 13px;}

	.contact-ctn p.confirm { margin-bottom: 20px; font-size: 14px;}
	.contact-ctn p.check { margin-bottom: 20px; font-size: 14px;}

	.contact-ctn .btn ul { display: block;}
	.contact-ctn .btn .btn-back { width: 100%; max-width: 300px; margin: 0 auto 15px;}
	.contact-ctn .btn .btn-back a { display: block; padding: 8px; font-size: 14px;}
	.contact-ctn .btn .btn-submit { width: 100%;}
	.contact-ctn .btn .btn-submit input[type="submit"] { padding: 12px 0; font-size: 16px;}

.contact-ctn .btn .btn-home a { padding: 10px 0; font-size: 14px;}
.contact-ctn .thanks { padding: 20px 0 60px;}
.contact-ctn .thanks p { margin-bottom: 40px; font-size: 15px;}

}


.privacy-ctn p.lead { margin-bottom: 30px; font-size: 16px; line-height: 1.8;}
.privacy-ctn ul li { position: relative; margin: 0 0 10px; padding-left: 30px;}
.privacy-ctn ul li:before { content: ''; display: block; width: 16px; height: 16px;
 background: url(../img/icn-mark.jpg) no-repeat 50% 50% / cover;
 position: absolute; left: 0; top: 4px;
}
.privacy-ctn ul li span { display: block;}
.privacy-ctn ol { padding-top: 60px;}
.privacy-ctn ol > li { margin: 0 auto 70px;}
.privacy-ctn ol li:last-child { margin: 0 auto;}
.privacy-ctn ol li em { display: block; font-size: 17px; font-weight: 700;}
.privacy-ctn ol li span { display: block;}
.privacy-ctn ol li dl dt { font-size: 15px;}
.privacy-ctn ol li dl dt span { display: block;}
.privacy-ctn ol li dl dd { position: relative; margin-bottom: 4px; padding-left: 12px; font-size: 13px;}
.privacy-ctn ol li dl dd:before { content: ''; display: block; width: 5px; height: 1px; background: #505050;
 position: absolute; left: 0; top: 9px;
}
.privacy-ctn ol li dl dd:last-child{ margin: 0;}
.privacy-ctn ol li dl dd span { display: block;}
.privacy-ctn ol li ul { margin-top: 30px;}
.privacy-ctn ol li ul li { font-size: 15px;}

@media (max-width: 1201px) {
}
@media (max-width: 1001px) {
}
@media (max-width: 641px) {
	.privacy-ctn ul li span { display: inline;}
	.privacy-ctn ol li span { display: inline;}
	.privacy-ctn ol li dl dt span { display: inline;}
	.privacy-ctn ol li dl dd span { display: inline;}
}
@media (max-width: 481px) {
	.privacy-ctn p.lead { margin-bottom: 20px; font-size: 14px; line-height: 1.7;}

	.privacy-ctn ul li { padding-left: 20px; font-size: 13px;}
	.privacy-ctn ul li:before { width: 12px; height: 12px;}
	.privacy-ctn ol { padding-top: 40px;}

	.privacy-ctn ol li { font-size: 14px;}
	.privacy-ctn ol li em { padding-left: 25px; font-size: 15px; text-indent: -25px;}

	.privacy-ctn ol li dl dt { font-size: 13px;}
	.privacy-ctn ol li dl dd { font-size: 12px;}
	.privacy-ctn ol li ul { margin-top: 20px;}
	.privacy-ctn ol li ul li { font-size: 13px;}
}

