.contact h2,
.contactconfirm h2,
.contactend h2 {
font-size: 58px;
text-align: center;
padding-top: 170px;
font-family: 'Noto Sans SC', sans-serif;
font-weight: 500;
}
.contact h2 span,
.contactconfirm h2 span,
.contactend h2 span {
display: block;
font-size: 12px;
margin-top: 14px;
letter-spacing: 0.4em;
}
.contact p.leadtxt,
.contactconfirm p.leadtxt {
text-align: center;
line-height: 2.167;
margin-top: 43px;
font-size: 12px;
letter-spacing: 0.3em;
}
.contactend p.leadtxt {
text-align: center;
line-height: 2.167;
margin-top: 43px;
font-size: 12px;
letter-spacing: 0.3em;
}

/* focus時初期化 */
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=search]:focus,
input[type=url]:focus,
textarea:focus {
color: #ffffff;
background-color: none;
}
/* メール背景入力時初期化 */
input:-webkit-autofill {
background-color: none;
}
input:-internal-autofill-selected {
background-color: none !important;
}
/* IE11矢印削除 */
select::-ms-expand {
display: none;
}
/* 通常時初期化 */
form input[type="text"], form input[type="submit"], button, textarea, select {
margin: 0;
padding: 0;
background: none;
background-color: transparent;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

form {
width: 1040px;
margin: 65px auto 0;
position: relative;
}
form .item {
margin-top: 20px;
}
form .aspform_title {
display: block;
font-size: 12px;
letter-spacing: 0.1em;
}
form .aspform_title span {
padding-left: 10px;
}
form input[type="text"] {
width: 100%;
color: #ffffff;
border: 1px solid #b2b2b2;
height: 49px;
font-size: 12px;
margin-top: 15px;
padding: 10px;
background: none;
}
form select {
width: 350px;
color: #ffffff;
border: 1px solid #b2b2b2;
height: 49px;
font-size: 12px;
padding: 10px;
position: relative;
background-image: url(../img/icon-arrowdown.png);
background-size: 10px 9px;
background-repeat: no-repeat;
background-position: right 20px center;
}
form select option {
color: #000000;
}

form .talksession {
margin-top: 68px;
text-align: left;
}
form .talksession .aspform_title {
font-size: 18px;
}
form .talksession ul {
margin-top: 29px;
}
form .talksession li {
margin-bottom: 21px;
font-size: 14px;
position: relative;
display: flex; /* 子要素をflexboxで揃える */
flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
justify-content: center; /* 子要素をflexboxにより中央に配置する */
}
form .talksession input[type=checkbox] {
display: none;
}
form .talksession .checkbox {
box-sizing: border-box;
position: relative;
display: inline-block;
padding: 0 12px 0 30px;
vertical-align: top;
cursor: pointer;
}
form .talksession .checkbox:hover {
}
form .talksession .checkbox:hover:after {
border-color: #b2b2b2;
}
form .talksession .checkbox:after {
-webkit-transition: border-color 0.2s linear;
transition: border-color 0.2s linear;
position: absolute;
top: 50%;
left: 0;
display: block;
margin-top: -7px;
width: 15px;
height: 15px;
border: 1px solid #b2b2b2;
content: '';
}
form .talksession .checkbox:before {
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
position: absolute;
top: 50%;
left: 5px;
display: block;
margin-top: -5px;
width: 5px;
height: 9px;
border-right: 2px solid #ffffff;
border-bottom: 2px solid #ffffff;
content: '';
opacity: 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
form .talksession input[type=checkbox]:checked + .checkbox:before {
opacity: 1;
}
form textarea {
width: 100%;
color: #ffffff;
border: 1px solid #b2b2b2;
height: 110px;
font-size: 14px;
padding: 10px;
background: none;
}

form .kanso {
margin-top: 72px;
}
form .kanso .aspform_title {
font-size: 18px;
}
form .kanso textarea {
margin-top: 28px;
}

form .aftermail {
margin-top: 71px;
}
form .aftermail ul {
margin-top: 28px;
}
form .aftermail .aspform_title {
font-size: 18px;
}
form .aftermail ul li {
float: left;
font-size: 14px;
}
form .aftermail input[type=radio] {
display: none;
}
form .aftermail .radio {
box-sizing: border-box;
-webkit-transition: background-color 0.2s linear;
transition: background-color 0.2s linear;
position: relative;
display: inline-block;
margin: 0 20px 8px 0;
padding: 0 12px 0 30px;
vertical-align: middle;
cursor: pointer;
}
form .aftermail .radio:after {
-webkit-transition: border-color 0.2s linear;
transition: border-color 0.2s linear;
position: absolute;
top: 50%;
left: 0;
display: block;
margin-top: -7px;
width: 15px;
height: 15px;
border: 1px solid #b2b2b2;
content: '';
}
form .aftermail .radio:before {
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
position: absolute;
top: 50%;
left: 5px;
display: block;
margin-top: -5px;
width: 5px;
height: 9px;
border-right: 2px solid #ffffff;
border-bottom: 2px solid #ffffff;
content: '';
opacity: 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
form .aftermail input[type=radio]:checked + .radio:before {
opacity: 1;
}

form .kanso2 {
margin-top: 64px;
}
form .kanso2 .aspform_title {
font-size: 18px;
}
form .kanso2 textarea {
margin-top: 30px;
}

form .aspform_button {
text-align: center;
margin: 138px auto 0;
padding-bottom: 252px;
}
form .aspform_button input {
width: 510px;
height: 53px;
line-height: 53px;
font-size: 12px;
color: #ffffff;
background-color: #333333;
border: none;
letter-spacing: 0.03em;
margin: 0;
padding: 0;
cursor: pointer;
}

form .aspform_button input:hover, form .aspform_button2 input:hover, .aspform_button a:hover{
    opacity: .7;
}

.contactconfirm form .aspform_button input {
width: 510px;
height: 53px;
line-height: 53px;
font-size: 12px;
color: #ffffff;
background-color: transparent;
border: 1px solid #dfdfdf;
letter-spacing: 0.03em;
margin: 0;
padding: 0;
cursor: pointer;
}
form .aspform_button a {
display: block;
text-decoration: none;
width: 510px;
height: 53px;
line-height: 53px;
font-size: 12px;
color: #ffffff;
background-color: #333333;
margin: 0 auto;
}
form .aspform_button2 {
text-align: center;
margin: 25px auto 0;
padding-bottom: 309px;
}
form .aspform_button2 input {
width: 510px;
height: 53px;
line-height: 53px;
font-size: 12px;
color: #ffffff;
background-color: #333333;
letter-spacing: 0.03em;
border: none;
}

.contactconfirm form .item {
margin-top: 40px;
}
.contactconfirm form .aspform_title {
display: block;
font-size: 12px;
letter-spacing: 0.1em;
}
.contactconfirm form .mailaddress .aspform_answer {
margin-top: 7px;
}
.contactconfirm form .aspform_answer {
font-size: 16px;
letter-spacing: 0.1em;
margin-top: 14px;
}
.contactconfirm form .talksession .aspform_title {
font-size: 12px;
font-weight: normal;
letter-spacing: 0.1em;
margin: 0;
}
.contactconfirm form .talksession .aspform_title {
font-size: 12px;
margin: 0;
}
.contactconfirm form .talksession .aspform_answer {
margin-top: 5px;
line-height: 1.833;
}
.contactconfirm form .aftermail {
margin-top: 32px;
}
.contactconfirm form .kanso .aspform_title,
.contactconfirm form .aftermail .aspform_title,
.contactconfirm form .kanso2 .aspform_title {
font-size: 12px;
font-weight: normal;
letter-spacing: 0.1em;
margin: 0;
}
.contactconfirm form .aftermail .aspform_answer {
margin-top: 10px;
}
.contactconfirm form .kanso2 .aspform_answer {
margin-top: 13px;
}
.contactconfirm form .aspform_button {
margin: 140px auto 0;
padding-bottom: 0;
}
.contactconfirm form[name="ques2"] {
margin-top: 50px;
}

.contactend .thanksarea {
width: 1040px;
margin: 57px auto 0;
position: relative;
}
.contactend .thanksarea .thankyou {
width: 1040px;
margin: 0 auto;
font-size: 16px;
line-height: 1.875;
letter-spacing: 0.3em;
text-align: center;
}
.contactend .thankyou span {
display: block;
font-size: 12px;
color: #cccccc;
letter-spacing: 0.1em;
margin-top: 7px;
line-height: 1;
}
.contactend .thanksarea .aspform_button {
margin-top: 144px;
padding-bottom: 308px;
}
.contactend .thanksarea .aspform_button a {
display: block;
text-decoration: none;
width: 510px;
height: 53px;
line-height: 53px;
font-size: 12px;
color: #ffffff;
background-color: #333333;
letter-spacing: 0.03em;
text-align: center;
margin: 0 auto;
letter-spacing: 0.3em;
}

.pagetop {
width: 10px;
height: auto;
position: absolute;
right: 0;
bottom: 78px;
}

.pagetop:hover{
    opacity: .5;
}

@media screen and (max-width: 1150px) {

.contact h2,
.contactconfirm h2,
.contactend h2 {
font-size: 48px;
text-align: center;
padding-top: 108px;
}
.contact h2 span,
.contactconfirm h2 span,
.contactend h2 span {
display: block;
font-size: 11px;
margin-top: 12px;
letter-spacing: 0.4em;
}
.contact p.leadtxt,
.contactconfirm p.leadtxt,
.contactend p.leadtxt {
text-align: center;
line-height: 1.85;
margin-top: 35px;
font-size: 12px;
letter-spacing: 0.2em;
}
form {
width: 86.66%;
margin: 56px auto 0;
position: relative;
}
form input[type="text"] {
height: 52px;
}
form .item {
margin-top: 22px;
}
form .aspform_button input,
form .aspform_button2 input,
form select,
.contactconfirm form .aspform_button input {
width: 100%;
height: 56px;
line-height: 56px;
}

form .talksession {
margin-top: 67px;
}
form .talksession .aspform_title {
font-size: 18px;
letter-spacing: 0.13em;
}
form .talksession ul {
margin-top: 32px;
}
form .talksession li input {
width: 14px;
height: 14px;
border: 1px solid #b2b2b2;
margin: 0;
margin-right: 18px;
position: absolute;
top: 5px;
left: 1px;
}
form .talksession li {
margin-bottom: 12px;
font-size: 13px;
line-height: 1.6296;
letter-spacing: 0.2em;
}
form .talksession li span {
padding-left: 0.75em;
text-indent: -0.75em;
}
form .talksession .checkbox:after {
width: 14px;
height: 14px;
top: 6px;
left: 0;
margin-top: 0;
}
form .talksession .checkbox:before {
top: 2px;
margin-top: 5px;
}
form .talksession .checkbox {
padding: 0 0 0 22px;
vertical-align: top;
cursor: pointer;
font-size: 13px;
line-height: 1.63;
}
form .talksession p {
font-size: 18px;
margin-top: 65px;
margin-bottom: 35px;
}
form .kanso {
margin-top: 36px;
}
form .kanso .aspform_title {
line-height: 1.5;
}
form .kanso textarea {
margin-top: 22px;
}
form .aftermail {
margin-top: 41px;
}
form .aftermail .aspform_title {
line-height: 1.5;
}
form .aftermail ul {
margin-top: 17px;
}
form .aftermail ul li input {
margin-right: 8px;
}
form .aftermail .radio {
margin: 0 24px 0 0;
padding: 0 0 0 24px;
}
form .aftermail .radio:after {
width: 14px;
height: 14px;
}
form .kanso2 {
margin-top: 41px;
}
form .kanso2 .aspform_title {
font-size: 18px;
line-height: 1.5;
}
form textarea,
form .kanso2 textarea {
margin-top: 22px;
height: 177px;
}
form .aspform_button {
margin: 90px auto 0;
padding-bottom: 191px;
}
form dl {
font-size: 11px;
line-height: 1.5;
color: #a6a6a6;
margin-bottom: 0;
padding-bottom: 122px;
padding-left: 0.75em;
text-indent: -0.75em;
}
form .pagetop {
right: 0;
bottom: 24px;
}

.contactconfirm form p {
font-size: 15px;
}
.contactconfirm form .item {
margin-top: 25px;
}
.contactconfirm form .aftermail {
margin-top: 17px;
}
.contactconfirm form .aspform_title {
display: block;
font-size: 12px;
letter-spacing: 0.1em;
}
.contactconfirm form .mailaddress .aspform_answer {
margin-top: 10px;
}
.contactconfirm form .aftermail .aspform_title {
line-height: 1.8;
}
.contactconfirm form .aftermail .aspform_answer {
margin-top: 4px;
}
.contactconfirm form .kanso2 {
margin-top: 19px;
}
.contactconfirm form .kanso2 .aspform_title {
line-height: 1.7;
}
.contactconfirm form .aspform_answer {
font-size: 15px;
letter-spacing: -0.02em;
margin-top: 10px;
}
.contactconfirm form .talksession .aspform_answer {
letter-spacing: 0;
line-height: 1.55;
}
.contactconfirm form .kanso2 .aspform_answer {
line-height: 1.533;
margin-top: 3px;
}
.contactconfirm form .aspform_button {
margin: 88px auto 0;
}
.contactconfirm form .aspform_button2 {
margin-top: 20px;
padding-bottom: 191px;
}

.contactend .thanksarea {
width: 86.66%;
margin: 56px auto 0;
position: relative;
}
.contactend .thanksarea .thankyou {
width: 100%;
margin: 0 auto;
font-size: 16px;
line-height: 1.875;
text-align: center;
letter-spacing: 0.03em;
}
.contactend .thanksarea .aspform_button {
width: 100%;
margin: 90px auto 0;
padding-bottom: 191px;
}
.contactend .thanksarea .aspform_button a {
width: 100%;
height: 56px;
line-height: 56px;
}

.contactend .thanksarea .thankyou {
font-size: 15px;
text-align: left;
line-height: 1;
}
.contactend .thanksarea .thankyou span {
font-size: 11px;
line-height: 1.45;
display: inline-block;
margin-top: 22px;
padding-left: 1em;
text-indent: -1em;
}

.pagetop {
right: 25px;
bottom: 48px;
}

}
