﻿@charset "utf-8";

/*******************************
	base
*******************************/
input, select {
    font-family: "メイリオ", "Meiryo", Osaka, 'MS PGothic', arial,helvetica,clean,sans-serif;
}

.header_logo_banner p {
    float: left;
    width: 226px;
    margin: 0 57px 0 0;
    padding: 18px 0 0 2px;
}

/*** global navigation ***/
#gNav {
    background: #666666;
    color: #fff;
    min-width:1200px;
}
#gNav ul {
    width: 1200px;
    margin: 0 auto;
    font-size: 0.8125rem;
}
#gNav ul:after {
    content: "";
    display: table;
    clear: both;
}
#gNav ul li {
    float: left;
    width:108px;
    text-align: center;
}
#gNav ul li a {
    display: block;
    padding: 15px 0;
    color: #fff;
}
#gNav ul li:nth-child(7) a {
    padding: 5px 0;
}
#gNav ul li a.on {
    text-decoration: none;
    cursor: text;
    pointer-events: none;
}
#gNav ul li.on a, #gNav ul li a:hover {
    background: #0068b7;
}
#gNav ul li a.on, #gNav ul li a:hover {
    background: #0068b7;
}

/*** contents ***/
.maincontent, .subcontent {
    display: table-cell;
    vertical-align: top;
    padding-top: 10px;
    padding-bottom: 115px;
}
.maincontent {     
    line-height: 1.8;
    font-size: 0.875rem;
}
@media(max-width:1024px){
    .maincontent {
        width:100%;
    }
}
@media(min-width:1025px){
    .maincontent {
        width: 900px;
        padding-right: 40px;
    }
}

.maincontent h1 {
    line-height: 1.5;
    margin-bottom: 35px;
    padding: 10px 15px 9px;
    background: #ececec;
    font-size: 1.375rem;
}
.maincontent h2 {
    position: relative;
    line-height: 1.5;
    margin-top: 35px;
    margin-bottom: 25px;
    padding: 0 5px;
    font-size: 1.25rem;
}
.maincontent h2:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    background: #0068b7;
    background: linear-gradient(90deg, #0068b7 150px, #ececec 150px);
}

.maincontent h3 {
    line-height: 1.5;
    margin: 25px 0 10px;
    padding: 6px 11px 6px;
    background: #b0d6f2;
    font-size: 1rem;
}
.maincontent .innercontent {
    width: 100%;
    padding: 0 7px;
    font-size: 0.875rem;
}
.maincontent p {
    line-height: 1.8;
    margin-bottom: 30px;
}
.maincontent ol {
    margin-bottom: 30px;
    padding-left: 1.4em;
}
.maincontent ol li {
    list-style: decimal;
}
.maincontent ul.discList li {
    position: relative;
    padding-left: 1em;
}
.maincontent ul.discList li:before {
    position: absolute;
    top: 0.7em;
    left: 3px;
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #333;
}

.baseTable {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.5;
    font-size: 0.875rem;
}
.baseTable caption {
    line-height: 1.5;
    padding: 7px 5px;
    font-weight: bold;
    font-size: 0.875rem;
    text-align: left;
}
.baseTable th {
    width: 137px;
    padding: 17px 16px;
    background: #b0d6f2;
    font-weight: normal;
    border: solid 1px #ececec;
}
.baseTable th.space {
    text-indent: 1em;
    letter-spacing: 1em;
}
.baseTable td {
    padding: 17px 20px;
    border: solid 1px #ececec;
}
.baseTable td.map {
    line-height: 0;
    padding: 1px;
}

.numberList li {
    margin-top: 38px;
}
.numberList li dt {
    line-height: 1.5;
    margin-bottom: 6px;
    font-weight: bold;
    font-size: 1rem;
}

.btnMail {
    display: inline-block;
    padding: 7px 23px;
    background: #0068b7;
    border-radius: 4px;
    color: #fff;
}
.validation {
    margin-bottom: 30px;
    padding: 5px;
    border: 2px solid red;
    font-weight: bold;
    font-size: 1rem;
    color: red;
}
.validation ul {
    margin-top: 10px;
    font-weight: normal;
    margin-left: 2em;
}
.validation li {
    list-style: disc;
}

/*** subcontents ***/
.subcontent {    
    font-size: 0.875rem;
}
@media(min-width:1025px){
    .subcontent{
        width: 300px;
    }
}
@media(max-width:1024px){
    .subcontent{
        display:none;
    }
}

.subcontent .sideNav {
    margin-bottom: 15px;
    position: -webkit-sticky; /* Safari*/
    position: sticky;
    top: 25px;
}
.subcontent .sideNav dt {
    padding: 13px 0 12px;
    background: #0068b7;
    text-align: center;
    font-size: 1.125rem;
    color: #fff;
}
.subcontent .sideNav dd ul li {
    padding: 8px 0;
    border-bottom: solid 1px #ececec;
    color: #0068b7;
}
.subcontent .sideNav dd ul li:last-child {
    border-bottom: none;
}
.subcontent .sideNav dd ul li a.on {
    color: #333;
}
.subcontent .sideNav dd ul li a {
    display: block;
    padding: 7px 10px 6px 30px;
    color: #0068b7;
}
.subcontent .sideNav dd ul li a.on {
    text-decoration: none;
    cursor: text;
    pointer-events: none;
}
.subcontent .sideNav dd ul li a.on,
.subcontent .sideNav dd ul li a:hover {
    background: #ececec;
    color: #333;
}
.subcontent .sideNav_PUbtn a {
    display: block;
    padding: 10px 0 9px;
    background: #D9F0FE;
    text-align: center;
    font-size: 1rem;
    margin-top: 20px;
    border: solid 1px #0068b7;
}
.subcontent .sideNav_PUbtn a:hover {
    color: #fff;
    background: #0c98ed;
    text-decoration: none;
}
.subcontent .ad {
    font-size: 0.75rem;
}
.subcontent .ad h2 {
    margin-top: 15px;
    padding: 7px 0;
    text-align: center;
    background: rgba(51, 51, 51, 1);
    border-bottom: solid 4px rgba(0, 104, 183, 1);
    font-size: 1.1125rem;
    color: rgba(255, 255, 255, 1);
}
.subcontent .ad .comment {
    background: #ececec;
    padding: 10px;
    margin: 0 0 5px;
}
.subcontent .ad li {
    margin-bottom: 5px;
    padding: 0 10px 5px;
    border-bottom: solid 1px #ececec;
}
.subcontent .ad ul li:last-child {
    border-bottom: none;
}
.subcontent .ad .interview li {
    display: table;
    padding: 0 0 5px;
}
.subcontent .ad li img {
    display: table-cell;
    width: 50px;
    height: auto;
}
.subcontent .ad li dl {
    display: table-cell;
    width: 250px;
    line-height: 1.4;
    padding-left: 10px;
    vertical-align: middle;
    font-size: 0.8125rem;
}
.subcontent .ad .sideNote {
    margin-bottom: 20px;
    padding: 10px;
    border: solid 1px #0068b7;
}
.subcontent .ad .sideNote p {
    margin-top: 0;
}
.subcontent .ad .sideNote p:last-child {
    margin-bottom: 0;
}


/*******************************
	page
*******************************/
/*** siteregistration ***/
#siteregistration .siteregistrationList01 {
    margin-bottom: 30px;
    padding-left: 1.4em;
}
#siteregistration .siteregistrationList01 li {
    list-style: decimal;
}
#siteregistration .siteregistrationList02 {
    margin-bottom: 30px;
}
#siteregistration .siteregistrationList02 dd {
    margin-left: 1em;
}
#siteregistration .serchCompanyLink {
    margin-bottom: 0;
}
#siteregistration .serchCompanyLink a {
    padding-left: 20px;
    background: url(../images/jp/icon/ico_listMark04.png) left center no-repeat;
}
#siteregistration .siteregistrationNotice {
    margin-top: 20px;
    padding: 10px 15px;
    border: solid 2px #ececec;
    font-size: 0.75rem;
}
#siteregistration .siteregistrationNotice dd {
    margin-bottom: 25px;
}
#siteregistration .siteregistrationNotice dd:last-child {
    margin-bottom: 0;
}
#siteregistration .siteregistrationForm > dl {
    display: table;
    width: 100%;
    border-bottom: solid 1px #ececec;
}
#siteregistration .siteregistrationForm > dl:last-child {
    border-bottom: none;
}
#siteregistration .siteregistrationForm > dl dt {
    display: table-cell;
    width: 230px;
    margin: 15px 0;
    padding-right: 5px;
    text-align: right;
}
#siteregistration .siteregistrationForm > dl:first-child dt {
    margin: 0 0 15px;
}
#siteregistration .siteregistrationForm > dl dt:after {
    content: "：";
}
#siteregistration .siteregistrationForm > dl dd {
    margin: 15px 0;
}
#siteregistration .siteregistrationForm > dl:first-child dd {
    margin: 0 0 15px;
}
#siteregistration .siteregistrationForm > dl dd p {
    margin: 5px 0 0;
}
#siteregistration .siteregistrationForm input[type=text],
#siteregistration .siteregistrationForm select {
    line-height: 1.35;
    padding: 11px 8px;
    background: #ececec;
    border: solid 1px #999999;
    border-radius: 5px;
}
#siteregistration .siteregistrationForm select {
    cursor: pointer;
}
#siteregistration .siteregistrationForm .longTxt input[type=text] {
    width: 560px;
}
#siteregistration .siteregistrationForm .shortTxt input[type=text] {
    width: 280px;
}
#siteregistration .siteregistrationForm .radio input {
    display: none;
}
#siteregistration .siteregistrationForm .radio label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-right: 10px;
    padding-left: 35px;
    text-align: center;
    line-height: 1;
}
#siteregistration .siteregistrationForm .radio label:before {
    position: absolute;
    content: "";
    top: 45%;
    left: 0;
    width: 26px;
    height: 26px;
    margin-top: -13px;
    background: #ececec;
    border: solid 1px #999999;
    border-radius: 50%;
}
#siteregistration .siteregistrationForm .radio input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    top: 45%;
    left: 9px;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    border-radius: 50%;
    background: #0068b7;
}
#siteregistration .submitBtn {
    text-align: center;
}
#siteregistration .submitBtn input {
    padding: 7px 20px;
    background: #0068b7;
    border: none;
    border-radius: 5px;
    color: #fff;
    text-indent: 5px;
    letter-spacing: 5px;
    cursor: pointer;
}
#siteregistration .submitBtn input:hover {
    text-decoration: underline;
}

/*-----------------*/
/* 確認画面        */
/*-----------------*/
#siteregistration .siteregistrationConfirm > dl {
    display: table;
    width: 100%;
    border-bottom: solid 1px #ececec;
}
#siteregistration .siteregistrationConfirm > dl:last-child {
    border-bottom: none;
}
#siteregistration .siteregistrationConfirm > dl dt {
    display: table-cell;
    width: 230px;
    text-align: right;
    padding: 15px 5px 15px 0;
}
#siteregistration .siteregistrationConfirm > dl dt::after {
    content: "：";
}
#siteregistration .siteregistrationConfirm > dl dd {
    margin: 15px 0;
    padding-left: 10px;
}
#siteregistration .submitBtnConfirm{
    width:350px;
    text-align:right;
}
#siteregistration .submitBtnConfirm input {
    padding: 7px 20px;
    background: #0068b7;
    border: none;
    border-radius: 5px;
    color: #fff;
    text-indent: 5px;
    letter-spacing: 5px;
    cursor: pointer;
}
#siteregistration .submitBtnConfirm input[type=submit]{
    margin-right:5px
}


/* contactform */
#contactform .contactInputForm > dl{
    display: table;
    width: 100%;
    border-bottom: solid 1px #ececec;
}
#contactform .contactInputForm > dl:last-child{
    border-bottom: none;
}
#contactform .contactInputForm > dl dt{
    display: table-cell;
    width: 200px;
    margin: 15px 0;
    padding-right: 5px;
    text-align: right;
    vertical-align:middle;
}
#contactform .contactInputForm > dl:first-child dt{
    margin: 0 0 15px;
    font-weight:bold;
    font-size:1rem;
    vertical-align:top;
}
#contactform .contactInputForm > dl dt::after{
    content: "：";
}
#contactform .contactInputForm > dl dd{
    margin: 15px 0;
}
#contactform .contactInputForm > dl:first-child dd{
    margin: 0 0 15px;
    font-weight:bold;
    font-size:1rem;
}
#contactform .contactInputForm input[type=text],
#contactform .contactInputForm select,
#contactform .contactInputForm textarea, 
#contactform .contactInputForm input[type=checkbox]{
    line-height: 1.35;
    padding: 11px 8px;
    background: #ececec;
    border: solid 1px #999999;
    border-radius: 5px;
}
#contactform .contactInputForm input[type=checkbox] {
    cursor:pointer;
}
#contactform .contactInputForm select{
    cursor:pointer;
}
#contactform .contactInputForm .longTxt input[type=text],
#contactform .contactInputForm .longTxt textarea{
    width:560px;
}    
#contactform .contactInputForm .shortTxt input[type=text] {
    width:280px;
}
#contactform .submitBtn{
    margin-top:35px;
    text-align:center;
}
#contactform .submitBtn input{
    padding:10px 30px;
    background:#0068b7;
    border:none;
    border-radius:5px;
    color:#FFF;
    text-indent:5px;
    letter-spacing:5px;
    cursor:pointer;
}
#contactform .contactConfirm > dl{
    display: table;
    width: 100%;
    border-bottom: solid 1px #ececec;
}
#contactform .contactConfirm > dl:last-child{
    border-bottom: none;
}
#contactform .contactConfirm > dl:first-child{
    font-weight:bold;
    font-size:1rem;
}
#contactform .contactConfirm > dl dt{
    display: table-cell;
    width: 200px;
    text-align: right;
    padding: 15px 5px 15px 0;
}
#contactform .contactConfirm > dl dt::after{
    content:"："
}
#contactform .contactConfirm > dl dd{
    margin: 15px 0;
    padding-left: 10px;
}
#contactform .submitBtnConfirm{
    width:300px;
    text-align:right;
}
#contactform .submitBtnConfirm input{
    padding: 7px 20px;
    background: #0068b7;
    border: none;
    border-radius: 5px;
    color: #fff;
    text-indent: 5px;
    letter-spacing: 5px;
    cursor: pointer;
}
#contactform .submitBtnConfirm input[type=submit] {
    margin-right:10px;
}

/*** advertisement ***/
#advertisement .catch {
    text-align: center;
    margin-bottom: 40px;
}
#advertisement .catch dt {
    font-weight: bold;
}
#advertisement .catch > dt {
    margin-bottom: 25px;
    font-size: 1.25rem;
}
#advertisement .catch dd dl {
    margin-bottom: 15px;
}
#advertisement .catch dd dl dt {
    font-size: 1rem;
}
#advertisement .adNote {
    margin-bottom: 5px;
}
#advertisement .anchorList {
    padding: 10px 0;
    background: #666666;
}
#advertisement .anchorList:after {
    content: "";
    display: table;
    clear: both;
}
#advertisement .anchorList li {
    float: left;
    padding: 0 20px 0 20px;
}
#advertisement .anchorList li a {
    display: inline-block;
    padding-left: 20px;
    background: url(../images/icon/ico_listMark06.png) left center no-repeat;
    color: #fff;
}
#advertisement .adInquiry {
    display: table;
}
#advertisement .adInquiry dt {
    display: table-cell;
    font-weight: 600;
    background: linear-gradient(transparent 50%, #fff8ab 50%);
}

#advertisement .adInquiry dd {
    display: table-cell;
    margin-left: 20px;
    border-left: solid 20px #fff;
    font-weight: 600;
    background: linear-gradient(transparent 50%, #fff8ab 50%);
}
#advertisement .adInquiry dd:nth-child(3) {
    background: none;
    font-weight: normal;
}
#advertisement .adCaution {
    margin-bottom: 30px;
}
#advertisement .adCaution dt {
    font-weight: bold;
    color: #990000;
}
#advertisement .adTable {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.5;
    font-size: 0.875rem;
}
#advertisement .adTable th {
    padding: 10px;
    background: #b0d6f2;
    border: solid 1px #ececec;
}
#advertisement .adTable td {
    padding: 10px;
    border: solid 1px #ececec;
}
#advertisement .adTable tr:first-child th {
    white-space: nowrap;
}
#advertisement .adTable tr:nth-child(2n) td {
    background: #ececec;
}
#advertisement .adTable tr:nth-child(2n) td:not(:last-child) {
    border-right: solid 1px #fff;
}
#advertisement .adTable tr td:last-child a:before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    vertical-align: middle;
    margin-right: 3px;
    background: url(../Content/themes/base/images/icon/ico_listMark05.png) no-repeat;
}
#advertisement .flow {
    margin-bottom: 10px;
}
#advertisement .flow li {
    position: relative;
    margin-bottom: 30px;
    padding: 10px;
    background: #ececec;
    list-style: none;
}
#advertisement .flow li:last-child {
    margin-bottom: 0;
}
#advertisement .flow li:before {
    content: none !important;
}
#advertisement .flow li:not(:last-child):after {
    position: absolute;
    top: 50px;
    left: calc(50% - 15px);
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: 15px solid transparent;
    border-top: 20px solid #ececec;
}


/*** ad_comments ***/
#ad_comments ol li:not(:last-child) {
    margin-bottom: 15px;
}
#ad_comments ol li span {
    background: linear-gradient(transparent 50%, #fff8ab 50%);
    font-weight: 600;
}


/*** ad_faq ***/
#ad_faq .faqList > li:not(:last-child) {
    margin-bottom: 30px;
}
#ad_faq .faqList dt {
    padding-left: 1.7em;
    text-indent: -1.7em;
    font-weight: bold;
}
#ad_faq .faqList dt:before {
    content: "Q:";
    padding-right: 0.5em;
    color: #e60012;
}
#ad_faq .faqList dd {
    padding-left: 1.7em;
    text-indent: -1.7em;
}
#ad_faq .faqList dd:before {
    content: "A:";
    padding-right: 0.5em;
    font-weight: bold;
    color: #0068b7;
}
#ad_faq .faqList dd .discList li {
    text-indent: 0;
}


/*** policy ***/
#policy.maincontent ol > li {
    margin-bottom: 30px;
}
#policy.maincontent ol > li:last-child {
    margin-bottom: 0;
}
#policy.maincontent ol li ul {
    padding-left: 1.4em;
}
#policy.maincontent ol li ul li {
    list-style: circle;
}
#policy.maincontent .baseTable th {
    text-align: left;
}


/*** mailmagazine ***/
#mailmagazine .notice dt {
    font-weight: 600;
}
#mailmagazine h3 {
    margin: 0;
    border: solid 1px #ececec;
    font-weight: 600;
}
#mailmagazine h3 span {
    display: inline-block;
    margin-right: 8px;
    padding: 3px 5px;
    background: #ffcc00;
    font-size: 0.75rem;
}
#mailmagazine .magagineBox {
    margin-bottom: 16px;
    padding: 18px 22px;
    border: solid 1px #ececec;
    border-top: none;
}
#mailmagazine .magagineBox:after {
    content: "";
    display: table;
    clear: both;
}
#mailmagazine .magazineDetail {
    margin-bottom: 35px;
}
#mailmagazine .magazineDetail dt {
    font-weight: 600;
}
#mailmagazine .magagineDeli {
    float: left;
    width: 397px;
    padding: 12px 18px 18px;
    background: #ececec;
}
#mailmagazine .magagineDeli:last-child {
    margin-left: 20px;
}
#mailmagazine .magagineDeli dt {
    padding: 0 0 5px 5px;
}
#mailmagazine .magagineDeli dd input[type=text] {
    width: 270px;
    border: solid 1px #999999;
    border-radius: 5px;
    background: #fff;
    font-size: 0.875rem;
}
#mailmagazine .magagineDeli dd input[type=submit] {
    float: right;
    margin-top: 1px;
    padding: 7px 20px;
    background: #0066cc;
    border: none;
    border-radius: 5px;
    letter-spacing: 5px;
    text-indent: 5px;
    color: #fff;
    cursor: pointer;
}
#mailmagazine .magagineDeli dd input[type=submit]:hover {
    text-decoration: underline;
}
#mailmagazine .magagineDeli.release dd input[type=submit] {
    background: #666666;
}
#mailmagazine .mailNotes {
    margin: 0 7px;
}
#mailmagazine .mailNotes li:before {
    content: "■";
}
#mailmagazine .mailNotes li a {
    display: inline-block;
    margin-left: 30px;
    padding-left: 20px;
    background: url(../images/jp/icon/ico_listMark05.png) left center no-repeat;
}
#mailmagazine .confirm {
    margin-top: 20px;
    width: 50%;
}
#mailmagazine .confirm dd input[type=submit] {
    margin-top: 20px;
    padding: 7px 20px;
    background: #0066cc;
    border: none;
    border-radius: 5px;
    letter-spacing: 5px;
    text-indent: 5px;
    color: #fff;
    cursor: pointer;
    float: right;
}

#thanks .btn {
    margin-top: 30px;
    padding-left: 20px;
    background: url(../images/jp/icon/ico_listMark05.png) left center no-repeat;
}

/*** inquiry ***/
.inquiryNotice {
    margin-bottom: 40px;
    text-align: center;
}
.inquiryNotice dt {
    color: #660000;
    line-height: 1.5;
}
.inquiryNotice > dt {
    margin-bottom: 15px;
    font-size: 1.25rem;
}
.inquiryNotice dd dt {
    font-weight: 600;
    font-size: 1rem;
}
.inquiryNotice dd dd {
    margin-top: 15px;
}


/*** sitemap ***/
.sitemapList {
    width: 33.33%;
    float: left;
    margin-bottom: 10px;
}
.sitemapList dt {
    line-height: 1.5;
    margin-bottom: 14px;
    font-weight: 600;
    font-size: 1rem;
}
.sitemapList dd li {
    position: relative;
    padding-left: 1em;
}
.sitemapList dd li:before {
    position: absolute;
    top: calc(50% - 3px);
    left: 3px;
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #0068b7;
}
.sitemapList01 {
    width: inherit;
    float: none;
}
.sitemapList01 dd ul {
    margin-bottom: 30px;
}
.sitemapList01 dd ul:after {
    content: "";
    display: table;
    clear: both;
}
.sitemapList01 dd li {
    float: left;
    width: 33.33%;
}


/*******************************
	utility
*******************************/
.cf {
    content: "";
    display: table;
    clear: both;
}
.textRed {
    color: #990000;
}
.textOrange {
    color: #ff8811;
}
.textGreen {
    color: #006666;
}
.bold {
    font-weight: 600;
}
.mt15 {
    margin-top: 15px;
}
.mb0 {
    margin-bottom: 0 !important;
}
.mb30 {
    margin-bottom: 30px;
}
.mb40 {
    margin-bottom: 40px;
}
.error{
    color: red;
}
.submit-container {
    display: flex;
    flex-direction: column;
}