/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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

body {line-height:1;}

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

nav ul {list-style:none;}

blockquote, q {quotes:none;}

blockquote:before, blockquote:after,
q:before, q:after {content:'';
content:none;}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;}

del {
    text-decoration: line-through;}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;}

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

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;}

input, select {
    vertical-align:middle;}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}


/* Code Reset */
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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    outline: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }

/* ---------- body ---------- */
html { font-size: 62.5%;  }
body {
    text-align: center;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";}

.onlyPC { display: none; }
.onlySP { }


/*---------------------------------------*/
.mv_sp {display: none;}
.HeaderSpBlk{
display: block;
width: 100%;
position:fixed;
left: 0;
bottom: 0;
z-index: 1000;}
.currentBlkOuterSp {display: none;}
.ContactLinkBox {
background-color: #4590cb;
padding: 8px 0;
width: 50%;}

/*---------------------------------------*/
body {
color: #333333;}

li {list-style: none;}

a {	color: #333333;
	text-decoration: none;}
img {width: 100%;}

.Blue {color: #4590cb;}
.Flex {display: flex;}
/*---------------------------------------*/
/*---------------------------------------*/
.HeaderBlk {
border-top: 12px solid #4590cb;
background-color: #ffffff;
box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.08);
margin-bottom: 10px;
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1000;}

.HeaderInner {
justify-content: space-between;
align-items: center;
max-width: 1400px;
margin: 0 auto;
padding: 16px 10px;}

.HeaderLogo img {width: 200px;}

/*#ff8f16*/

.ContactLink {
border-radius: 0;
padding: 0;
font-size: 1.8em;
color: #ffffff;
padding: 12px 0;
font-weight: bold;
letter-spacing: 0.08em;
width: 100%;
display: inline-block;}
.ContactLink:hover {
opacity: 0.8;
transition: .3s;}
.BoxOrange {background-color: #ff8f16;}

div.goHomeSP { }
.GoHomeLink {
font-size: 1.8em;
color: #4590cb;
position: relative;
padding: 12px 30px;
border-radius: 6px;
letter-spacing: 0.08em;}

.ContactLink:hover {
opacity: 0.8;
transition: .3s;}

.ALink {margin-right: 24px;}
.BLink {background-color: #ff8f16;}

.HeaderOuter {padding: 0px;}
.HeaderSpFlex {padding: 0px;}
.HeaderSpFlex {
width: 100%;
justify-content: center;}
.ContactLinkPc {display: none;}



/*---------------------------------------*/


.divOuter {
margin-top: 200px;
font-size: 1.6em;
padding: 0 10px;}

/*---------------------------------------*/
.h1Outer {
margin-bottom: 80px;}
.h1Base {
font-size: 2.2em;
color: #4590cb;
font-weight: 600;
padding-bottom: 20px;}
.sub_h1Base {color: #777777;}
/*---------------------------------------*/

.dlOuter {
max-width: 900px;
margin:  0 auto;
background-color: #ffffff;
border: 3px solid #4590cb;
box-shadow: 2px 5px 10px 2px rgba(0, 0, 0, 0.15);
border-radius: 12px;
padding: 40px 12px;
margin-bottom: 120px;}

.dlBase {
width: 100%;
display: flex;
flex-wrap: wrap;
font-weight: 600;}

.dtBase {
text-align: right;
margin-right: 25px;
padding-right: 25px;
border-right: none;
margin-bottom: 4px;
color: #4590cb;}

.dtBase, .ddBase {
width: 100%;
line-height: 1.6em;
display: flex;
align-items: center;
justify-content: flex-start; }

.ddBase {
font-size: 0.94em;
text-align: left;
justify-content: flex-start;
border-bottom: 1px solid #CDCDCD;
padding-bottom: 30px;
margin-bottom: 30px;}


/*---------------------------------------*/
/*---------------------------------------*/
.footerBlk {
font-size: 1.4em;
margin-bottom: 180px;}


.footerUl {justify-content: center;}

.footerLi {
margin-right: 30px;
padding: 4px 0;
padding-right: 30px;
border-right: 1px solid #B1B1B1;}

.footerLi:last-of-type {
margin-right: 0;
padding-right: 0;
border-right: none;}

/* ---------- CSS for Contact ---------- */
div#contact_div { }
div#contact_div dl.contactDL {
	width: 100%;
	margin: 1rem auto;
	text-align: left;
	border: 1px solid #c0c0c0; }
div#contact_div dl.contactDL dt {
	display: block;
	font-size: 1.7rem;
	font-weight: 600;
	padding: 1rem;
	border-bottom: 1px dotted #c0c0c0 ;
	background-color: #eefdff;
	color: #4590cb; }
div#contact_div dl.contactDL dd {
	display: block;
	font-size: 1.7rem;
	padding: 1rem;
	border-bottom: 1px dotted #c0c0c0 ;}
div#contact_div dl.contactDL dd.checkDD {
	font-size: 2rem;
	padding: 1.5rem 2rem; }
div#contact_div ul.choiceUL { list-style: none; }
div#contact_div ul.choiceUL li { margin-bottom: 0.5rem; }
div#contact_div ul.choiceUL li:last-child { margin-bottom: 0; }

/* ---------- Input Form ---------- */
.wd_1 { width: 95%; }
.wd_1b { width: 95%; height: 10rem; }
.wd_2 { width: 30%; }
.wd_3 { width: 50%; }
.wd_4 { width: 27%; }
.wd_4d { width: 20%; }
.wd_5 { width: 80%; }
.wd_sp_full { width: 95%!important; }
.sample_entry_txt { display: block; margin-left: 2rem; color: #666666; }

input, textarea, select {
	border-radius: 3px;
	border: 1px solid #cccccc;
	background-color: #fafafc;
	margin: 5px;
	padding: 10px 8px;
	font-size: 1.6rem;
	-webkit-appearance: none; }
::placeholder { color: #a0a0a0; line-height: 130%; }
input:focus::placeholder, textarea:focus::placeholder { color: transparent!important; }

/* ---------- Contact Form Width ---------- */
.fw01 { width: 90%; }
.fw02 { width: 30%; }
.fw03 { width: 70%; }
.fw04 { width: 60%; }
.tw01 { width: 90%; height: 5em; }

/* ---------- radioボタン、checkボタン非表示 ---------- */
input[type="radio"],input[type="checkbox"] { display: none; }
/* ---------- Contact ------------------------------------------------------------ */
input[type="radio"].contact_radio {
	display: inline-block;
	position: relative;
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid #aaaaaa;
	border-radius: 50%;
	vertical-align: -1rem;
	margin-right: .8rem;
	-webkit-appearance: none; }
input[type="radio"].contact_radio:hover { cursor: pointer; }
input[type="radio"].contact_radio:checked:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.3rem;
	height: 1.3rem;
	border-radius: 50%;
	background: #000000;
	content: ''; }
label:hover { cursor: pointer; }
textarea.person_info_ {
	width: 95%;
	height: 20rem;
	background-color: #ffffff;
	line-height: 2.5rem;
	font-size: 1.5rem;
	padding: 1rem; }

strong.require_contact {
	display: inline-block;
	font-weight: normal;
	font-size: 1.2rem;
	margin-left: 1rem;
	background-color: #d0193f;
	color: #ffffff;
	padding: 0.2rem 1rem;
	border-radius: 10px; }

/* ---------- Contact Submit Button ---------- */
input[type="button"].submitContactBtn,
input[type="submit"].submitContactBtn {
	display: block;
	margin: 5rem auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 100%;
	border:1px solid #bf1e56 ;
	text-decoration: none;
	font-weight: 400;
	font-size: 2rem;
	position: relative;
	background-color: #ffffff;
	color: #000000; }
input[type="button"].submitContactBtn:hover,
input[type="submit"].submitContactBtn:hover { color:#ffffff; background-color: #bf1e56; cursor: pointer; }
input[type="button"].submitNGBtn {
	display: block;
	margin: 5rem auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 100%;
	border:1px solid #cccccc ;
	text-decoration: none;
	font-weight: 400;
	font-size: 2rem;
	background-color: #dddddd;
	color: #666666; }
	/* Contact Personal Info */
dl.contactPersonalInfoDL {
	width: 100%;
	margin:5rem  auto;
	text-align: left; }
dl.contactPersonalInfoDL dt { padding-bottom: 2rem; }
dl.contactPersonalInfoDL dd { }
dl.contactPersonalInfoDL h3.personalInfoH3 {
	position: relative;
	font-size: 2.5rem;
	text-align: center;
	border-bottom: 5px solid #dddddd; }
dl.contactPersonalInfoDL h3.personalInfoH3::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 12em;
	height: 5px;
	background-color: #4590cb; }
ul.submitUL { list-style: none; width: 100%; margin-bottom: 8rem; }	
ul.submitUL li { text-align: center; }
a.correctLnk { text-decoration: none; color: #b43c88; }
a.correctLnk:hover { text-decoration: underline; }

/* ---------- Check Box (Terms Approval) ---------- */
label.customCheckbox, label.customCheckbox_term {
	display: block;
	text-align: left;
	margin: 5px;
	color: #dddddd;
	position: relative;
	overflow: hidden;
	padding: 0 0 0 3rem; }
label.customCheckbox:hover, label.customCheckbox_term:hover,{ }
label.customCheckbox:before, label.customCheckbox_term:before {
	display: block;
	position: absolute;
	top: 3px;
	left: 10px;
	width: 14px;
	height: 14px;
	content: '';
	border: 2px solid #dddddd;
	background-color: #fafafc;
	transition: 0.1s ease-in-out; }
input[type="checkbox"]:checked + label.customCheckbox, input[type="checkbox"]:checked + label.customCheckbox_term { color: #000000; }
input[type="checkbox"]:checked + label.customCheckbox:before, input[type="checkbox"]:checked + label.customCheckbox_term:before {
	transform: rotate(45deg);
	border-color: #478dc8;
	border-top: none;
	border-left: none;
	width: 7px;
	top: 3px;
	left: 14px;
	background-color: transparent; }
label.onOver { cursor: pointer; color: #000000; }

ul.check_note_UL { }
ul.check_note_UL li {
	list-style: none;
	text-indent: -1rem;
	margin-left: 2rem;
	color: #e83658; }

/* ---------- Error Message ---------- */
span.emes {
	font-size: 1.5rem!important;
	display: inline-block;
	position: relative;
	padding: 4px 16px;
	background: #cb74a9;
	color: #ffffff;
	text-align: left;
		/* border */
	border-radius: 3px;
	left: 0.5rem;
	margin-top: 1rem;
 	margin-bottom: 1rem;}
span.emes:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
/*	border-color: rgba(24, 44, 117, 0); */
	border-color: rgba(203, 116, 169, 0);
	border-top-color: #cb74a9;
	border-width: 10px;
	margin-left: -10px;
	margin-bottom: 2em; }

p.thanxP {
	width: 100%;
	text-align: left;
	margin: 10rem auto;
	line-height: 3rem;
	font-size: 2rem; }
a.subContactLink {
	display: block;
	margin: 3rem auto;
	padding: 1rem 2rem;
	text-align: center;
	width: 100%;
	border:1px solid #bf1e56 ;
	text-decoration: none;
	font-weight: 400;
	position: relative;
	transition: .2s;
	background-color: #ffffff;
	color: #000000; }
a.subContactLink::before {
	content: '';
	position: absolute;
	top: calc(50% - 2px);
	right: 1em;
	transform: translateY(calc(-50% - 2px)) rotate(45deg);
	width: 10px;
	height: 1px;
	background: #bf1e56; }
a.subContactLink::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	width: 50px;
	height: 1px;
	background-color: #b43c88;}
a.subContactLink:hover { color:#ffffff; background-color: #bf1e56; }
a.subContactLink:hover::before { background-color: #ffffff; }
a.subContactLink:hover::after{ background-color: #ffffff; }


div.error_message_contact {
	text-align: left;
	padding: 1em;
	margin-bottom: 2em!important;
	background-color: #dc143c;
	color: #ffffff; }
div.pre_message_contact {
	text-align: left;
	padding: 1em;
	line-height: 2.5rem;
	margin-bottom: 2em!important; }

