@CHARSET "UTF-8";

/*** bace ***/
body{
    /* font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; */
    margin: 0 auto;
}

p{ font-size: 15px; line-height: 1.9; }
h1{ font-size: 24px; margin-bottom: 10px; color: #333333;}
h2{	font-size: 20px; margin-bottom: 10px; color: #333333;}
h3{ font-size: 18px; font-weight: normal; margin-bottom: 10px; color: #333333;}

@media screen and ( max-width:767px ){
    p{ font-size: 14px; line-height: 1.5}
    h1{ font-size: 20px; margin-bottom: 10px;}
    h2{	font-size: 20px; margin-bottom: 10px;}
    h3{ font-size: 18px; font-weight: normal; margin-bottom: 10px}
}

a { outline: 0; color: #4c6e94; text-decoration: none;}
a:link { color: #4c6e94; text-decoration: none;}
a:hover { color: #4c6e94; text-decoration: underline;}

a.red{ outline: 0; color: red; text-decoration: none;}
a.red:link{ color: red; text-decoration: none;}
a.red:hover{ color: red; text-decoration: underline;}

th { text-align: left;}

.ti1{margin-left: 1em;}
.ti2{margin-left: 2em;}
.ti3{margin-left: 3em;}
.ti4{margin-left: 4em;}

.mb5{margin-bottom: 5px}
.mb10{margin-bottom: 10px}
.mb15{margin-bottom: 15px}
.mb20{margin-bottom: 20px}
.mb25{margin-bottom: 25px}
.mb30{margin-bottom: 30px}

.mt5{margin-top: 5px}
.mt10{margin-top: 10px}
.mt15{margin-top: 15px}
.mt20{margin-top: 20px}
.mt25{margin-top: 25px}
.mt30{margin-top: 30px}

.pb5{padding-bottom: 5px}
.pb10{padding-bottom: 10px}
.pb15{padding-bottom: 15px}
.pb20{padding-bottom: 20px}
.pb25{padding-bottom: 25px}
.pb30{padding-bottom: 30px}

.pt5{padding-top: 5px}
.pt10{padding-top: 10px}
.pt15{padding-top: 15px}
.pt20{padding-top: 20px}
.pt25{padding-top: 25px}
.pt30{padding-top: 30px}



/*** SP hidden-visible ***/
@media screen and ( max-width:767px ){
    .hidden-sp{
        display: none;
    }
}

.visible-sp{
    display: none;
}
@media screen and ( max-width:767px ){
    .visible-sp{
        display: block;
    }
}



/*** original ***/
/* 画像の最大幅を指定 */
@media screen and ( max-width:767px ){
    img{
        max-width: 90% ;        /* 横幅の90% */
        height: auto ;          /* 縦幅を自動調整 */
    }
}



/*** body ***/
.body-wrap{
    overflow: hidden;   /* 無駄な空白削除のため */
    max-width: 767px;
    margin: 0 auto;
    padding: 0 10px;
}
@media screen and ( max-width:767px ){
    .body-wrap{
        padding: 0;
    }
}

body.responsive {
    font-family: 'Yu Gothic M','Yu Gothic',YuGothic,'ＭＳ Ｐゴシック','メイリオ',Meiryo,sans-serif;
    font-size: 15px;
    line-height: 1.9;
    text-align: left;
    text-justify: auto;
    -webkit-print-color-adjust: exact;
}
@media all and (-ms-high-contrast:none) { /* IE11 */
    body.responsive {
        font-family: 'ＭＳ Ｐゴシック','メイリオ',Meiryo,sans-serif;
    }
}
@media screen and (max-width: 767px) {
    body.responsive {
        font-size: 12px;
        line-height: 1.7;
    }
}
@media print {
    body.responsive {
/*        max-width: 1021px;*/
        background-color: #fff;
    }
}



/*** header ***/
.header{
    width: 100% ;
    padding: 0 ;
    margin: 0 auto ;
    line-height: 1;
}
@media screen and ( max-width:767px ){
    .header{
        width: auto ;
        font-size: 13px;
        height: 52px;
        -webkit-box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.1);
    	box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.1);
    }
}

.header .visible-sp img {
    text-align: left;
    padding-top: 17px;
    padding-left: 15px;
}



/*** main section ***/
.mainSec{
    width: 100% ;
    padding: 0 ;
    margin: 40px auto 40px;
}
@media screen and ( max-width:767px ){
    .mainSec{
        width: auto ;
        padding: 0 10px ;
        font-size: 13px;
    }
}

.mainSec h1 {
    margin-bottom: 20px;
}

.mainSec p.attention {
    color: #cc0000;
}

.mainSec #gohi-form table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 1px;
    background-color: #dddddd;
    margin-bottom: 20px;
}

.mainSec #gohi-form table th{
    width: 50%;
    padding: 9px 13px;
    border: 1px solid #ffffff;
    background-color: #f5f4f2;
    vertical-align: middle;
}

.mainSec #gohi-form table td {
    width: 50%;
    padding: 9px 13px;
    background-color: #ffffff;
    vertical-align: middle;
}

.mainSec #gohi-form table td input {
    width: 90%;
    padding: 5px;
    border: 1px solid #bebebe;
    background-color: #f6f8f9;
    font-size: 134%;
}

.mainSec #gohi-form p.input-explanation {
    font-size: 12px;
    line-height: 1.2;
    font-weight: normal;
}

.mainSec #gohi-form p.formButton {
    text-align: center;
}

input#submit_button {
    padding: 15px 40px;
    background-color: #003279;
    color: #fff;
    font-weight: bold;
}

/*** footer ***/
.footer{
    width: 100% ;
    padding: 48px 50px 44px;
    background: #e8e8e8 ;
}
@media screen and ( max-width:767px ){
    .footer{
        width: auto ;
        padding: 22px 10px 27px 16px;
    }
}

.footer h2{ font-size: 24px; font-weight: bold; line-height: bold; margin-bottom: 5px; color: #333333;}
@media screen and ( max-width:767px ){
    .footer h2{
        font-size: 17px;
        line-height: 1.2;
    }
}

.footer h3{
    font-size: 17px;
    font-weight: bold;
    line-height: 1.7;
    margin-top: 28px;
    margin-bottom: 12px;
    color: #333333;}
@media screen and ( max-width:767px ){
    .footer h3{
        font-size: 13px;
        line-height: 1.2;
        margin-top: 10px;
        margin-bottom: 5px;
    }
}

.footer p{ font-size: 20px; line-height: 1.7;}
@media screen and ( max-width:767px ){
    .footer p{
        font-size: 12px;
    }
}

.footer p a.mapLink {
    display: inline-block;
    border: 1px solid #d3d9df;
    border-radius: 10px;
    line-height: 24px;
    padding: 0 15px;
    font-size: 15px;
    color: #6b737d;
    font-family: 'Roboto', sans-serif;
    margin-left: 10px;
    vertical-align: 2px;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
    .footer p a.mapLink {
        border-radius: 5px;
        line-height: 18px;
        padding: 0 9px;
        margin-left: 8px;
        vertical-align: 1px;
        letter-spacing: 0.02em;
        font-size: 11px;
    }
}
.footer p a.mapLink:hover {
    color: #414b57;
    border: 1px solid #c1c8cf;
    text-decoration: none;
}
