@charset "UTF-8";

/*--------------#main_image--------------*/
#access.fixed #content { margin-top: 170px; }
#access #main_image { background: url(../img/bg_access.jpg) no-repeat; width: 100%; height: 340px; background-size: cover; background-position: center; padding-top: 120px; box-sizing: border-box; margin-bottom: 100px; }
#access #main_image h1 { text-align: center; font-size: 50px; color: #003461; opacity: 1; transform: inherit; transition: inherit; }
#access #main_image h1 span { display: block; color: #003461; font-size: 18px; font-weight: bold; margin-top: 10px; }

/*max-width:1130px*/
@media screen and (max-width:1130px) {
    #content { margin-top: 100px; }
    #access.fixed #content { margin-top: 100px; }
}

/*max-width:720px*/
@media screen and (max-width:720px) {
    #content { margin-top: 55px; }
    #access.fixed #content { margin-top: 55px; }
}

/*max-width:500px*/
@media screen and (max-width:500px) {
    #access #main_image { height: 233px; padding-top: 86px; margin-bottom: 37px; }
    #access #main_image h1 { font-size: 30px; }
    h1 span { font-size: 14px; }
}

/*--------------#info--------------*/
#access #info { display: flex; justify-content: space-between; max-width: 1085px; margin: 0 auto 75px; }
#access #info div.left { max-width: 360px; }
#access #info div.right { max-width: 639px; }
#access #info div.left h2 { font-size: 28px; line-height: 1.4; margin-bottom: 30px; letter-spacing: 0.22em;}
#access #info div.left p { line-height: 1.875; letter-spacing: 0.07em;}
#access #info div.right table tr td:nth-of-type(1) { width: 122px; padding-top: 20px; padding-bottom: 20px; padding-right: 5px; color: #003461; text-align: left; vertical-align: top; line-height: 1.75; border-top: 2px solid #003461; }
#access #info div.right table tr:last-child td:nth-of-type(1) { border-bottom: 1px dotted #999; }
#access #info div.right table tr td { padding-top: 20px; padding-bottom: 20px; line-height: 1.875; vertical-align: top; padding-left: 13px; border-top: 1px dotted #999; letter-spacing: 0.07em;}
#access #info div.right table tr:last-child td:nth-of-type(2)  { border-bottom: 1px dotted #999; }
#info > div.right > table > tbody > tr:nth-child(4) > td:nth-child(2){font-size: 14px;}
#access #info div.right table tr td span.tel{font-family: circe-slab-a, serif; font-weight: 500; font-size: 18px; letter-spacing: 0.21em;}



/*max-width:1145px*/
@media screen and (max-width:1145px) {
    #access #info { padding: 0 30px; }
}

/*max-width:1100px*/
@media screen and (max-width:1100px) {
    #access #info { display: block; }
    #access #info div.left { margin-bottom: 50px; }
}

/*max-width:700px*/
@media screen and (max-width:700px) {
    #access #info div.right table tr td:nth-of-type(1) { display: block; padding-bottom: 0; position: relative; }
    #access #info div.right table tr td:nth-of-type(2)  { display: block; border-top: none; padding-top: 0px; padding-left: 0; }
    #access #info div.right table tr:last-child td:nth-of-type(1)  { border-bottom: none; }
    #access #info div.right table tr td:nth-of-type(1):before { content: ''; display: inline-block; height: 0px; width: calc(100vw - 182px); border-top: 2px dotted #999; position: absolute; top: -1.6px; left: 120px; }
}

/*max-width:500px*/
@media screen and (max-width:500px) {
    #access #info { margin-bottom: 38px; }
    #access #info div.left { max-width: inherit; margin-bottom: 30px; }
    #access #info div.left h2 { font-size: 22.5px; margin-bottom: 24px; }
    #access #info div.left p { font-size:4.233333vw; }
    #access #info div.right table tr td:nth-of-type(1) { font-size:4.233333vw; padding-top: 20px; }
    #access #info div.right table tr td:nth-of-type(2)  { font-size:4.233333vw; padding-bottom: 20px; }
}

/*--------------#map--------------*/
#map div { max-width: 1080px; margin: 0 auto 122px; }

/*max-width:1145px*/
@media screen and (max-width:1145px) {
    #map { padding: 0 30px; }
}

/*max-width:500px*/
@media screen and (max-width:500px) {
    #map div iframe { height: 315px; }
    #map div { margin-bottom: 54px; }
}
