﻿@charset "utf-8";

body {
    -webkit-text-size-adjust: none;
    color: #333;
    font-size: 16px;
    line-height: 1.4;
}
body, input, textarea, select, button {
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-weight: normal; }

/* common */
.wrap {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: 960px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
.logo { width: 190px; }
.message {
    margin: 0 0 40px;
    color: #5a5a5a;
    line-height: 1.8;
}
.message.warning, .message.danger {
    border: 1px transparent solid;
    padding: 12px;
    border-radius: 4px;
}
.message.warning {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc;
}
.message.danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}
.btn-group { margin: 65px 0 0; }
.btn {
    padding: 20px 0;
    display: inline-block;
    width: 14em;
    color: #fff;
    font-weight: bold;
    background: hsl(0, 0%, 50%);
    border-bottom: 4px hsl(0, 0%, 39%) solid;
    text-decoration: none;
    line-height: 1;
    vertical-align: middle;
    border-radius: 2px;
}
.btn:hover, .btn:focus {
    background-color: hsl(0, 0%, 55%);
    border-color: hsl(0, 0%, 44%);
}
p.indent,
span.indent,
li.indent,
.indent li {
	padding-left: 1em;
	text-indent: -1em;
}
.indent li + li {
	margin-top: 3px;
}
.list-area {
	margin-bottom: 40px;
}
.list-area li {
	padding-bottom: 10px;
}

.sr-only {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

/* ----- header area ----- */
#header {
    position: relative;
    padding: 15px 0;
    border-bottom: 1px #093f9a solid;
    margin-bottom: 50px;
}
#header .logo { float: left; }

/* navigation */
#header nav {
    float: right;
    margin: 8px 0;
}
#header nav li {
    float: left;
}
#header nav li:not(:last-child) {
    margin-right: 25px;
}
#header nav li a {
    display: block;
    padding: 5px 0;
    color: #5a5a5a;
    text-decoration: none;
}
#header nav li a:hover { text-decoration: underline; }

/* ----- footer area ----- */
footer { padding: 160px 0 40px; }
footer nav { margin-bottom: 20px; }
footer nav li {
    float: left;
}
footer nav li:not(:last-child):after {
    content: "|";
    margin: 0 10px;
}
footer nav li a {
    display: inline-block;
    padding: 5px 0;
    color: #5a5a5a;
    text-decoration: none;
}
footer nav li a:hover { text-decoration: underline; }
footer .contact-info { margin-bottom: 40px; color: #5a5a5a; }
footer .contact-info h3 { margin-bottom: 6px; }
/* logo */
footer .logo { margin: 0 auto; }
/* copyright */
footer .copyright { font-family: helvetica; }

/* ----- each part ----- */
.jumbotron {
    margin-bottom: 70px;
    background: url(../imgs/main.jpg) no-repeat right bottom;
    -webkit-background-size: cover;
    background-size: cover;
    border-top: 1px #fff solid;
    border-bottom: 1px #fff solid;
    border-bottom: 1px #093f9a solid;
}
.register-confirm .jumbotron,
.register-thanks .jumbotron {
    padding-top: 30px;
    padding-bottom: 30px;
}
.jumbotron *[class^="text-"]:not(:last-child) { margin-bottom: 14px; }
.jumbotron .text-1 {
    color: #093f9a;
    letter-spacing: .07em;
    font-weight: 500;
}
.jumbotron .text-2 {
    letter-spacing: .06em;
}
.jumbotron .text-3 {
    letter-spacing: .1em;
    font-size: 337.5%;
}
.jumbotron + .flow-area {
    border-top: 1px #093f9a solid;
}
/* flow area */
.flow-area {
    display: none;
    position: relative;
    padding: 35px 0;
    margin: 0 0 70px;
    background: #f2f2f2;
    border-bottom: 1px #3590cb solid;
}
.flow-area:before {
    content: "";
    display: block;
    width: 100%;
    border-bottom: 1px #fff solid;
    position: absolute;
    bottom: 0;
}
.flow-area h2 {
    color: #3590cb;
    margin: 0 0 30px;
}
.flow-area ul, .flow-area li {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
.flow-area ul {
    display: table;
    margin: 0 auto;
    width: 78%;
}
.flow-area li {
    width: 25%;
    display: table-cell;
    vertical-align: middle;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAPBAMAAADE5vg+AAAAGFBMVEUAAAA1kMs1kMs1kMs1kMs1kMs1kMs1kMso4BkfAAAACHRSTlMAr0XrRLebIHspyNEAAAAqSURBVAjXYyhjAAFGATAlSIDDGgAilRWABJMRgmkCYjo7AAkWMJMRxAQAeNkDHgVAS5sAAAAASUVORK5CYII=) 100% 50% no-repeat;
    text-align: center;
    line-height: 1;
}
.flow-area li:not(:first-child) { padding-left: 15px; }
.flow-area li:not(:last-child) { padding-right: 20px; }
.flow-area li:last-child { background: none; }

.flow-area li span {
    color: #5a5a5a;
    display: inline-block;
    padding: 14px 0 14px 48px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAMAAAC7faEHAAAAaVBMVEUAAAA1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMvm8vn0+fxorNiBut9zs9vG4PHt9fvP5POhy+d3tNxLnNH8/f7W6PRapNXrEvG6AAAAFHRSTlMA45T58c/KvkY5EQhUrykdHLABU4Q8GZMAAADsSURBVDjLjZRZEoIwEEQnEQzG4NougPv9D6lFCRMoQvX7fgWZrWWAP1pnMmTG2eAlRVEuoCz2xWHKWi0xZrmSMWuLKex6qG1zTJNvY21jkMJsVNsZpDG7/m055si7N/YlPOuTUj/7Yv4NQUd9e1Qdj1uNjrY9B+3buYJSnbWP7RSg3gXKRT0UP6+MvPtVuUdeKeKjmb6ak9I00ay9BAz+myCIpTwrLuV93lCcGBD1wkhGeZmA8sB+j36fozwnlvKsBMoLM/N9xfMl94XdP3Kf2fsg7429XzIP2Hzh84rPPz5PlWI/ymdJ4UMq778c6l4hE/oAbgAAAABJRU5ErkJggg==) 0 50% no-repeat;
    opacity: 0.5;
}
.flow-area li.f-06 span {
    color: #31951a;
    font-size: 128.6%;
}
.flow-area li.f-03 span { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAMAAAC7faEHAAAAkFBMVEUAAAA1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMv3+/2UxONprdihy+dhqNanz+jN5PK11+yBut/V6PVzsttvsNpcpdVFmc87lM39/v/j7/jD3vCIvuBNndLt9fp1s9xSoNL0BdjtAAAAGHRSTlMA4s/KvrBURhwRCPH5lZM55Cn4lJI68jhDD8OFAAABJElEQVQ4y43U2W6DMBRF0ctkAiYzaQ/pEMqUoWn7/39XIbux01wj7+clJIM5dFcmFvFKQq7ihcjIVZpsYNokKauWEf4XLR9UPgfXPL9nsxB84cxm6wCugrX1NM14eHtiHmKqMNdui+m2ij2DrRvwl3o9Ecv2p+YIXTSylGfVd3O4wfHLJDx7wXC+QJcQZYWDAddzDVWRkXAy4KfaQyWodDO8Vj1UJcU8a9qRvUEXU8AyfFatxRCQ5NgITxaDJAcD2h5WJHnWHWEnKXCcdIBdQDHDzEnNeUsfhgUJHwZhvm83wYrM3JePg5MhUffPOJ4hVffZOJ5FajC0+6rr+sIx7Oz/7fo+1nPj4fv/eu+B/77475X//rn3dOexzwW/z/bePz3u/S+s6XDWSxrT4wAAAABJRU5ErkJggg==); }
.flow-area li.f-05 span { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAMAAAC7faEHAAAAb1BMVEUAAAA1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMs1kMv///9OntLm8vlCl86But+01uzf7fez1euSw+NbpdU6k8xdptWcyeZnq9jb+7FkAAAAFnRSTlMA4/nxz76Vk0Y5EQhUr8rJKR0csOVTAucyAwAAARBJREFUOMuNlFlywyAMQIUJZgnE2ao4brO29z9jM24MRoaO3pc98xiBNshwH1oJiVIo7R3UMKHBRHMwRctukLKxQFm3WKJd59puhWVWu7m2FVhDbJO2zzQq7uPdSFAaerpji//TvhOCE7fLecblgW/+0hPz9jjd+zk40Y1ViL/DCSuYlxeq3nf8CgCuIV6KmY41Djzm3vM88sw89KCJF8k8DYrlKRDEGz5HhtwTIInXX79eXPvck4CsuAiS5UkQhbg/C0+AKryjX76XnT/P8jypb4LWFwLDC6T/ap7J+rnqddl80L6/R8+SeSNzdIvzxpxf5j5g7hfmvuLuP4rtkNJZKGEOdD/XcF6ro0R5XOz7XzbfZuPxOnxTAAAAAElFTkSuQmCC); }
.flow-area li.f-06 span { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAnCAMAAAC7faEHAAAAnFBMVEUAAAAxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRoxlRrn8+Sx16k/nCn+//5Tpj/q9ej6/fpKojY4mSHC37ul0ZuTx4dqslldrEtXqURDni7x+PCIwnpksFLz+fLZ69VvtV9ttFze7trU6c/R58yt1aSWyYp64rcMAAAAF3RSTlMAlOPxz8o5HBEIVL75r0flKfewRQG9U2oaI4oAAAF6SURBVDjLjVTZloMgDMU6ba12XyYI4lZt1e7t///boCIjVc/hPkiAa0JuIEiB9WscViaYq4NhW2gIy8UG/rHZLvd9rMkYvjGedFgzA/pgzFTa9Af68TNt09YjGMJo3fLGacNE6XGmBD2nRXpWQjdnbKXgxZiyK6M49lrJCEHkAnF9Nwm5ESbcInK9kmcvdTvhKJB7QYRPUseqCpJ2OUIbx4sk7jhv0QTFnKYScRN6wUs/F7YbwTciVxhzC9lNpn5QOg3FNCxdBX6TtS1Fict/b35W73iZfytjxFIaR1g44Z83pXk1yyl98yHBYtdBI1EFWkYs2COoVXmwooxOz6J4yKyNlEEfWFqPJhILxbWXdy2EoetPPR8w0qjOQDmfmi+8cjHNX6Dkq+oHd6nfHVT91HrAJ8sJkDz7gFqPTn1vT3qhz3unvt37QjzSuS+690/zPuu+D833pvt+NfuBdn/R71f6/U+/n0rstu3+PN8u0RAs23Cqfu989/s/3atxhWMhH9oAAAAASUVORK5CYII=); }
.flow-area li.f-02 span { background-image: url(../imgs/icon-02.png); }
.flow-area li.f-04 span { background-image: url(../imgs/icon-04.png); }

.flow-area li.on span { opacity: 1;}

/* form area */
form.wrap { width: 740px; }
form h2 {
    position: relative;
    display: block;
    width: 26em;
    margin: 0 auto 65px;
    padding: 20px 0;
    background: #3590cb;
    color: #fff;
    border-radius: 99px;
}
form h2:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -8px;
    border: 8px transparent solid;
    border-top-color: #3590cb;
}
form hr {
    background: #c8c8c8;
    border: none;
}
form > p,
form > .box,
form > fieldset,
form > hr {
    margin-bottom: 30px;
    zoom: 1;
}
form > p:after,
form > .box:after,
form > fieldset:after {
    content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden; overflow:hidden; font-size:0.1em;
}
form > p > label,
form > .box > label,
form > fieldset > legend {
    width: 30%;
    color: #3590cb;
    line-height: 1.4;
    vertical-align: top;
}
form > p > label,
form > p > label + *,
form > .box > label,
form > .box > label + *,
form > fieldset > legend,
form > fieldset > legend + * {
    float: left;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
form > p > label,
form > .box > label,
form > fieldset > legend {
    padding-left: 0;
}
form > fieldset > .fieldset,
form > p .select-wrap,
form > .box .select-wrap { padding: 0; }
form > p > label + *,
form > .box > label + *,
form > fieldset > legend + *,
form .caption {
    width: 70%;
}

.input-confirm {
    display: inline-block;
    padding: 10px;
    line-height: 1.4;
    border: 1px transparent solid;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

input, textarea, select {
    -webkit-transition: all .25s ease-out;
    -o-transition: all .25s ease-out;
    transition: all .25s ease-out;
}
select {
    line-height: 1.3;
}
input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="number"],
input[type="file"],
select {
    padding: 10px;
    border: 1px #3590cb solid;
}
input[type="text"]:disabled,
input[type="search"]:disabled,
input[type="tel"]:disabled,
input[type="url"]:disabled,
input[type="email"]:disabled,
input[type="password"]:disabled,
input[type="datetime"]:disabled,
input[type="datetime-local"]:disabled,
input[type="date"]:disabled,
input[type="month"]:disabled,
input[type="week"]:disabled,
input[type="time"]:disabled,
input[type="number"]:disabled,
input[type="file"]:disabled {
    border-color: #ccc;
    background-color: #fafafa;
}
input[type="text"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="number"]:focus,
input[type="file"]:focus,
input[type="submit"]:focus,
input[type="checkbox"]:focus + label:after,
input[type="radio"]:focus + label,
select:focus {
    -webkit-box-shadow: 0 0 2px 2px hsl(204, 59%, 80%);
    box-shadow: 0 0 2px 2px hsl(204, 59%, 80%);
}
input[type="checkbox"] + label:after {
    margin-top: -8px;
}
input[type="checkbox"]:checked + label:before {
    top: calc(50% - 14px);
}
input[type="checkbox"]:disabled + label {
    cursor: default;
    color: #cdcdcd;
}
.register-confirm input[type="checkbox"]:disabled + label {
    color: #333;
}
input[type="checkbox"]:disabled + label:after {
    background-color: #f6f6f6;
    border: 1px #ccc solid;
}
input[type="submit"] {
    width: 14em;
    background: hsl(204, 59%, 50%);
    border-bottom: 4px hsl(204, 59%, 39%) solid;
}
input[type="submit"]:hover,
input[type="submit"]:focus { 
    background-color: hsl(204, 63%, 55%);
    border-color: hsl(204, 63%, 44%);
}
input[type="submit"]:disabled {
    color: #cdcdcd;
    background-color: #f6f6f6;
    cursor: default;
    border: 1px #ccc solid;
}

form > p .short,
form > fieldset > .fieldset.phone-number,
form > fieldset > .fieldset.person-name,
form > fieldset > .fieldset.birthday,
form > fieldset > .fieldset.postal-code {
    width: -webkit-calc(66.666666% * 0.8);
    width: calc(66.666666% * 0.8);
}
form .phone-number > *,
form .person-name > *,
form .postal-code > *,
form > fieldset > .fieldset.position > *,
form > fieldset > .fieldset.birthday > * {
    display: block;
    float: left;
}
form .phone-number .hyphen,
form .postal-code .hyphen,
form .person-name label { 
    text-align: center;
    padding: 10px 0;
    line-height: 1.4;
}
form .phone-number input { width: 30%; }
form .phone-number .hyphen { width: 5%; }
form .person-name label {width: 12%;  }
form .person-name input { width: 38%; }
form .birthday .year { width: 40%; }
form .birthday .month, form .birthday .day { width: 26%; }
form .birthday .month { margin: 0 4% 0; }
form .fieldset.position > select { width: 38%; margin-right: 2%; height: 42px; }
form .fieldset.position > input { width: 60%; height: 42px; }
form .postal-code input { width: 48%; }
form .postal-code .hyphen { width: 4%; }

form .tos-text { margin-bottom: 20px; }
form .tos-text h3 { margin-bottom: 12px; }
form .tos-text p { margin-bottom: 8px; }
form .tos {
    display: block;
    width: 60%;
    margin: 0 auto;
}

form .caption {
    display: block;
    float: right;
    margin-top: 7px;
    line-height: 1.4;
}
form .caption.modal { margin-top: 12px; }
form .error input[type="text"],
form .error input[type="search"],
form .error input[type="tel"],
form .error input[type="url"],
form .error input[type="email"],
form .error input[type="password"],
form .error input[type="datetime"],
form .error input[type="datetime-local"],
form .error input[type="date"],
form .error input[type="month"],
form .error input[type="week"],
form .error input[type="time"],
form .error input[type="number"],
form .error input[type="file"],
form .error select {
    background-color: #fdf7fc;
    border: 1px #cb355c solid;
}
form .alert { display: none;}
form .error .alert {
    display: block;
    color: #f00;
}
*[id^="modal-"] {
    padding: 20px;
}
*[id^="modal-"] h2 {
    margin-bottom: 12px;
}
*[id^="modal-"] p {
    margin-top: 12px;
    line-height: 1.8;
}

#cboxOverlay { background: #000; }
#cboxLoadedContent, #cboxContent { background: #fff; }
#cboxLoadedContent { border: 5px solid transparent; }

body.register-thanks #header nav, body.register-confirm #header nav,
body.register-thanks .jumbotron .text-1, body[class$="-confirm"] .jumbotron .text-1,
body[class$="-confirm"] .caption, body[class$="-confirm"] .tos-text, body[class$="-confirm"] fieldset label,
body[class^="contract-"] #header a[href="https://www.welbox.com/sukoyaka-plus/"] { display: none; }

body.register-form #header,
body.contract-plans #header {
    margin-bottom: 0;
}
body.register-form form .info {
    color: #555;
    padding: 16px;
    border: 1px hsl(204, 70%, 85%) solid;
    background: hsl(204, 70%, 97%);
    margin: 0 0 16px;
}
body.register-form form .info h3 { margin-bottom: 12px; }
/*body.register-form form .info ul { list-style: disc; margin-left: 20px; text-align: justify; }
body.register-form form .info ul li { line-height: 1.7; margin-bottom: 12px; }
body.register-form form .info ul li:last-child { margin-bottom: 0; }*/
body.register-form form input[type="submit"] { width: 18em; }

body.register-confirm form .tos label {
    display: block;
    line-height: 1.4;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
}

body[class$="-thanks"] main > .wrap { width: 740px; }
body[class$="-thanks"] main > .wrap > p { line-height: 1.8; }
body[class$="-thanks"] main > .wrap > p:not(:last-child) { margin-bottom: 40px; }

body.register-confirm form h2 { width: 13em; }
body.register-thanks form h2 { width: 13em; }
body.contract-thanks main > .wrap > h2 { text-align: center; line-height: 1.6; margin-bottom: 32px; }
body.contract-thanks main > .wrap > ul { list-style: disc; width: 80%; line-height: 1.6; margin: 0 auto 0;  }
body.contract-thanks main > .wrap > ul > li { margin-bottom: 16px; text-align: justify; }
body.contract-thanks .btn {
    width: 80%;
    margin: 70px 0 0;
    line-height: 1.4;
    background-color: hsl(45, 90%, 51%);
    border-bottom-color: hsl(45, 90%, 40%);
}
body.contract-thanks .btn:hover, body.contract-thanks .btn:focus { 
    background-color: hsl(45, 94%, 56%);
    border-color: hsl(45, 94%, 45%);
}

body.contract-plans form h2 { width: 18em; }
body.contract-plans .plans { margin: 0 0 60px; }
body.contract-plans input[type="radio"] + label,
body.contract-plans .detail-info,
body.contract-plans .tos-title,
body.contract-plans .tos-text,
body.contract-plans .tos { 
    width: 90%;
    margin: 0 auto;
    -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.contract-plans input[type="radio"] + label {
    display: block;
    margin-bottom: 20px;
    padding: 20px;
    padding-left: 60px;
    border: 1px hsl(204, 59%, 80%) solid;
    border-radius: 2px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
body.contract-plans input[type="radio"]:checked + label {
    background-color: hsl(204, 70%, 95%);
}
body.contract-plans input[type="radio"] + label:before {
	top: 37px;
    left: 21px;
    -webkit-box-shadow: 0 0 0 2px hsl(204, 59%, 80%);
    box-shadow: 0 0 0 2px hsl(204, 59%, 80%);
}
body.contract-plans input[type="radio"]:checked + label:before {
    background: hsl(204, 59%, 50%);
}
body.contract-plans input[type="radio"] + label > * { 
    display: block;
    margin-bottom: 12px;
}
body.contract-plans input[type="radio"] + label > *:last-child { margin-bottom: 6px; }
body.contract-plans input[type="radio"] + label > .title { color: hsl(204, 59%, 50%); margin-bottom: 10px; }
body.contract-plans input[type="radio"] + label > .description { margin: 0 0 20px 0; line-height: 1.6; }

.tos-title { margin-bottom: 12px !important; }
.tos-text {
    padding: 20px;
    border: 1px hsl(204, 59%, 80%) solid;
    margin-bottom: 20px;
    line-height: 1.4;
    height: 200px;
    overflow: auto;
}
.tos-text:focus {
    -webkit-box-shadow: 0 0 2px 2px hsl(204, 59%, 80%);
    box-shadow: 0 0 2px 2px hsl(204, 59%, 80%);
}
.tos-text > * { margin: 0 0 12px;  }
.tos-text h3 { font-weight: bold; }
.tos-text h4 { margin: 18px 0 6px; }
.tos { margin-bottom: 40px; }

body.contract-form form h3, body.contract-confirm form h3 { margin: 0 0 40px; }
body.contract-form .same-person-checkbox { margin-left: 33%; padding: 0 10px 24px 0; }
body.contract-form .same-person-checkbox label { display: block; line-height: 1.4; margin-bottom: 8px; }
body.contract-form .same-person-checkbox .caption { width: 100%; }
body.contract-form .pl-0, body.contract-confirm .pl-0 { padding-left: 0; }
body.contract-confirm .visible { display: block !important; }

span.txt-error {
    display: block !important; 
    color: #f00 !important; 
}

/* contact area */
*[id^="modal-"] .contact-area p {
    margin-top: 0;
    line-height: 1.4;
}
.contact-area h4 {
	margin-bottom: 30px;
	padding: 20px 0;
	font-size: 112.5%;
	text-align: center;
	border-top: 1px #e1e1e1 solid;
	border-bottom: 1px #e1e1e1 solid;
}
.contact-area h5 {
	margin-bottom: 20px;
	color: #1072ba;
	text-align: center;
	font-size: 125%;
	line-height: 53px;
}
.contact-area h5 img {
	margin-right: 10px;
	height: 50px;
}
.contact-area li {
	float: left;
	width: 49%;
}
.contact-area li + li { float: right;}
.contact-area .box {
	position: relative;
	display: block;
	padding: 15px 15px 15px 90px;
	text-decoration: none;
	border: 1px #1072ba solid;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	background-position: 0 50%;
	background-repeat: no-repeat;
	background-size: 70px;
}
.contact-area span.box { background-image: url(../../imgs/contact-tel.gif);}
.contact-area a.box { background-image: url(../../imgs/contact-mail.gif);}
.contact-area a.box:hover { background-color: #fafafa;}
.contact-area .tel,
.contact-area .mail {
	color: #1072ba;
	font-size: 26px;
	font-weight: bold;
}
.contact-area .mail {
	font-size: 18px;
	line-height: 50px !important;
}
