 @charset "utf-8";


 body {
     overflow-y: scroll;
     height: 100%;
     color: #333;
     font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
 }

 h1#pagetitle {
     padding-top: 17px;
     padding-bottom: 17px;
     margin-bottom: 1rem;
     border-bottom: 3px solid #aaaaaa;
 }

 #pagetitle .title {
     font-size: 78%;
     font-weight: bold;
 }

 .title_caption {
     text-align: right;
     margin-bottom: 1rem;
 }

 .textcolor_red {
     color: #c02 !important;
 }

 .form_message {
     background-color: #FCF1E5;
     padding: 1rem 2rem;
     font-size: 98%;
     margin: 3em 0 3em;
 }

 .main {
     padding-left: 8px;
     padding-right: 8px;
 }

 .main h3.title2A {
     font-size: 115%;
     font-weight: bold;
     line-height: 24px;
     color: #333;
     border-left: 4px solid #aaaaaa;
     margin: 0 0 15px;
     padding: 8px 0 8px 15px;
 }

 .main h3.title {
     font-size: 115%;
     font-weight: bold;
     line-height: 24px;
     color: #333;
     margin: 0 0 0.8rem;
     padding: 8px 0 8px 10px;
 }

 .main h3.title2A.required {
     padding-left: 2em;
     position: relative;
 }

 .main h3.title2A.required::before {
     position: absolute;
     left: 15px;
     content: "※";
     width: 1em;
     height: 1em;
     color: #c02;
 }

 #contentswrapper label.required {
     padding-left: 1em;
     position: relative;
 }

 #contentswrapper label.required::before {
     position: absolute;
     left: 0;
     content: "※";
     width: 1em;
     height: 1em;
     color: #c02;
 }

 .btn-mg {
     margin-bottom: 3rem !important;
 }

 #contentswrapper #emailHelp {
     min-height: 1.5em;
     line-height: 120%;
     margin: 1rem;
     font-size: 80%;
     color: #666;
 }

 .form-select-lg {
     padding-top: .6rem;
     padding-bottom: .6rem;
     font-size: 1rem;
 }

 .form-control-lg {
     padding: .6rem 1rem;
     font-size: 1rem;
 }

 label.optional::after {
     display: inline-block;
     content: "任意";
     width: 3em;
     height: 1.5em;
     color: #fff;
     background-color: #676767;
     border-radius: 3px;
     text-align: center;
     margin-left: 0.8em;
     line-height: 1.5em;
     font-size: 14px;
 }

 .button_wrapper button+button {
     margin-left: 2em;
 }

 .complete_text {
     display: block;
     padding-bottom: 0.5rem;
     padding-left: 1rem;
 }

 .btm0 {
     margin-bottom: 0px;
 }

 @media screen and (min-width: 768px) {
     .pcheader {
         display: block;
     }

     .spheader {
         display: none;
     }

     #contentswrapper {
         width: 736px;
         margin: 0 auto;
         z-index: 0;
         position: relative;
         background: #ffffff;
     }

     #header {
         height: 58px;
     }

     #header {
         width: 100%;
         background-size: 1px 16px;
         position: relative;
     }

     #header:before {
         background-color: #cc0022;
         content: "";
         display: block;
         height: 1px;
         position: absolute;
         bottom: 0;
         left: 0;
         z-index: 1;
         width: 100%;
     }

     #header:after {
         content: "";
         display: block;
         height: 100%;
         position: absolute;
         bottom: 0;
         right: 0;
         z-index: 1;
         width: 33%;
     }

     #header #headerwrapper {
         width: 736px;
         padding: 58px 12px 0 12px;
         margin: 0 auto;
         position: relative;
         z-index: 2;
     }

     #header #headerwrapper #logo {
         position: absolute;
         top: 40%;
         left: 6px;
         transform: translateY(-50%);
     }

     #header #headerwrapper #logo a img {
         width: auto;
         height: auto;
     }

     #header #headerwrapper #logo a {
         display: block;
     }

     #header #headerwrapper .close {
         position: absolute;
         right: 30px;
         top: 30%;
     }

     div {
         max-width: 100%;
     }

     #footer {
         width: 100%;
         margin: 0 auto;
         height: auto;
         background: #ffffff;
         position: relative;
         border-top: 1px solid #999;
     }

     #footer #copy_area {
         background: #cc0022;
         width: 100%;
         height: 36px;
     }

     #footer #copy_area #copy {
         width: 736px;
         position: relative;
         margin: 0 auto;
     }

     #footer #copy_area #copy #copyright {
         position: absolute;
         top: 12px;
         right: 21px;
         color: #ffffff;
         font-size: 72%;
         text-align: right;
         font-family: 'Helvetica', 'Arial';
     }

     #footer .sp.pagetop {
         display: none;
     }

     .text_wrapper {
         display: block;
         padding-bottom: 1rem;
         word-wrap: break-word;
         min-height: 2.8rem;
         line-height: 136%;
     }

     #contentswrapper {
         min-height: calc(100vh - 95px);
     }
 }

 @media screen and (max-width: 767px) {
     body {
         height: 100%;
         zoom: 1;
         position: relative;
     }

     body,
     html {
         overflow-x: hidden;
     }

     .pcheader {
         display: none;
     }

     .spheader {
         display: block;
     }

     #header {
         width: 100%;
         min-width: 320px;
         height: 54px;
         margin: 0;
         position: relative;
         z-index: 1;
         padding-left: 0px;
         padding-right: 0px;
     }

     #header:before {
         background-color: #cc0022;
         content: "";
         display: block;
         height: 1px;
         position: absolute;
         bottom: 0;
         left: 0;
         z-index: 1;
     }


     #header:after {
         background-size: 1px 8px;
         content: "";
         display: block;
         height: 100%;
         position: absolute;
         bottom: 0;
         right: 0;
         z-index: 1;
     }


     #header #headerwrapper {
         height: 54px;
         width: 100%;
         margin: 0 auto;
         position: relative;
         padding-left: 0px;
         padding-right: 0px;
     }

     #header #logo {
         position: absolute;
         top: 50%;
         width: auto;
         height: 35px;
         z-index: 99999;
         transform: translateY(-50%);
         left: 8px;
     }

     #header #logo a {
         display: block;
         height: 100%;
     }

     #header #logo a img {
         width: auto;
         height: 100%;
     }

     #header .dl-menuwrapper {
         width: 100%;
         min-width: 320px;
         position: absolute;
         top: 0;
         right: 0;
         padding-top: 54px;
         z-index: 9999;
     }

     p.btn_close {
         border: none;
         width: 52px;
         height: 46px;
         overflow: hidden;
         cursor: pointer;
         outline: none;
         position: absolute;
         right: 0;
         top: 0;
     }

     p.btn_close img {
         width: 52px;
         height: 46px;
     }

     #contentswrapper {
         width: 100%;
         min-width: 320px;
         margin: 0 auto;
         padding: 0;
         background: none;
     }

     #contentswrapper .form-label {
         display: block;
         width: 100%;
         font-weight: bold;
     }

     #footer {
         height: auto;
         width: 100%;
         min-width: 320px;
         border-top: none;
     }

     #footer #copy_area {
         width: 100%;
         height: 65px;
         position: relative;
         top: 0;
         z-index: 1;
         background: #cc0022;
         bottom: 0;
         left: 0;
     }

     #footer #copy #copyright {
         width: 100%;
         text-align: center;
         right: auto;
         font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Arial, sans-serif;
         color: #ffffff;
         font-size: 72%;
         position: absolute;
         top: 12px;
         line-height: 130%;
         z-index: 1;
     }

     #footer #copy #copyright span {
         display: block;
     }

     #footer .sp.pagetop {
         display: block;
     }

     #footer #back-top {
         display: block;
         position: fixed;
         bottom: 2px;
         right: 2px;
         z-index: 2;
         margin-bottom: 0.5rem;
     }

     #footer #back-top img {
         width: 44px;
         height: 44px;
     }

     .text_wrapper {
         display: block;
         border-bottom: 1px double #aaa;
         padding-bottom: 0.7rem;
         word-wrap: break-word;
         min-height: 1.5rem;
         line-height: 100%;
     }

     #contentswrapper {
         min-height: calc(100vh - 119px);
     }

     .main h3.title2A {
         margin-left: 6px;
     }
 }
 
.headerLogop {
    width: 180px;
    height: 49.5px;
}
.headerLogom {
    width: 130px;
    height: 35px;
}
#header #headerwrapper #sompologo {
    position: absolute;
    top: 40%;
    left: 6px;
    transform: translateY(-50%);
}
#header #headerwrapper #sompologo a {
    display: block;
}
#header:before {
    background-color: #cc0022;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
}
.content-wrapper {
    word-break: break-all;
}