@charset "utf-8";

@media screen and (max-width:768px){

/* ==========================================================
common
=============================================================*/

body {
    padding-top: 0 !important;
}

/* aside.skip
-------------------------------------------------------------*/

 aside.skip {
    display: none;
}

/* header
-------------------------------------------------------------*/

header {
    height: 46px;
}
header img {
    width: 100%;
    height: auto;
}

header .title,
header .search,
header .gnavi {
    display: none;
}

/* sp_header */

header .sp_header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    min-width: 320px;
    background: #fff;
    overflow: hidden;
    height: 46px;
}
header .sp_header img {
    display: block;
}
header .sp_header.fixed {
    box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
header .sp_header .logo {
    float: left;
    width: 180px;
    padding: 9px 0 0 10px;
    margin: 0 0 10px 0;
}
header .sp_header .sp_btn {
    float: right;
    width: 52px;
    margin: 0 0 0 6px;
}
header .sp_header ul {
    float: right;
    overflow: hidden;
}
header .sp_header ul li:nth-child(1) {
    float: left;
    width: 44px;
    margin: 14px 0 0 6px;
}
header .sp_header ul li:nth-child(2) {
    float: left;
    width: 26px;
    margin: 10px 0 0 6px;
}
header .sp_header .open,
header .sp_header .open_s {
    margin-bottom: 100px;
}


/* sp_gnav */

header .sp_gnavi {
    visibility: hidden;
    position: fixed;
    top: 46px;
    right: 0px;
    z-index: 9999;
    width: 90%;
    height: 100%;
    -webkit-transform: translateX(700px);
    transform: translateX(700px);
    transition: -webkit-transform 0.3s cubic-bezier(1,0,0,1);
    transition: transform 0.3s cubic-bezier(1,0,0,1);
    transition: transform 0.3s cubic-bezier(1,0,0,1),-webkit-transform 0.3s cubic-bezier(1,0,0,1);
}
header .sp_gnavi > div {
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
header .sp_gnavi dl {
    max-height: 2000px;
    background: #fff;
}
header .sp_gnavi dt a {
    display: block;
    padding: 14px 10px 10px 36px;
    border-bottom: solid 2px #fff;
    background: #1c7773 url("/ja/common/css/image/000000027.png") no-repeat 10px center;
    color: #fff !important;
    text-decoration: none;
}
header .sp_gnavi dt.on a {
    background-image: url("/ja/common/css/image/000000029.png") !important;
}
header .sp_gnavi dd {
    display: none;
    padding: 15px 12px 6px 12px;
    line-height: 1.4;
}
header .sp_gnavi dd > a {
    display: block;
    margin: 0 0 15px;
    padding: 2px 0 0 14px;
    background: url("/ja/common/css/image/000000033.png") no-repeat 0 center;
    font-size: 1.8rem;
    font-weight: bold;
    color: #000;
}
header .sp_gnavi dd > p {
    margin: 0 0 15px;
}
header .sp_gnavi dd li {
    margin: 0 0 15px;
    padding: 0 0 0 10px;
    background: url("/ja/common/css/image/000000031.png") no-repeat 0 2px;
}
header .sp_gnavi dd li a {
    display: block;
    text-decoration: none;
    color: #000;
}
header .sp_gnavi ul.link li a {
    display: block;
    padding: 14px 10px 10px 36px;
    border-bottom: solid 2px #fff;
    background: #1c7773 url("/ja/common/css/image/000000028.png") no-repeat 14px center;
    text-decoration: none;
    color: #fff;
}
header .sp_gnavi ul.link li:nth-of-type(3) a {
    border-bottom: none;
}
header .sp_gnavi span.nav_blank {
    display: table-cell;
    width: 1200px;
    height: 200px;
}

/* sp_search */

header .search_window,
.search_window,
#search_window {
    display: none !important;
}

header .sp_search {
    position: fixed;
    top: 46px;
    right: 0px;
    z-index: 9999;
    width: 90%;
    background: #fff;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateX(700px);
    transform: translateX(700px);
    transition: -webkit-transform 0.3s cubic-bezier(1,0,0,1);
    transition: transform 0.3s cubic-bezier(1,0,0,1);
    transition: transform 0.3s cubic-bezier(1,0,0,1),-webkit-transform 0.3s cubic-bezier(1,0,0,1);
}

header .sp_search form {
    text-align: left;
}
header .sp_search label {
    display: block;
    margin: 0 0 20px;
    padding: 14px 4% 10px;
    background: #1c7773;
    color: #fff;
}
header .sp_search input[type="text"] {
    display: block;
    width: 240px;
    height: 2.4em;
    margin: 0 auto 10px;
    border: solid 1px #ccc;
}
header .sp_search input[type="submit"] {
    display: block;
    width: 100px;
    height: 2.4em;
    margin: 0 auto;
    border: none;
    background: linear-gradient(#494949, #2b2a2b) ;
    border-radius: 6px;
    color: #fff
}
header .sp_search dl {
    margin: 20px 4%;
    padding: 10px 10px 5px;
    border: solid 1px #ccc;
}
header .sp_search dt {
    margin: 0 0 10px;
    text-align: center;
}
header .sp_search li {
    display: inline-block;
    margin: 0 0.5em 5px 0;
}
header .sp_search li a {
    color: #1c7773;
    text-decoration: none;
}

header .sp_search p a {
    float: right;
    display: block;
    padding: 10px 10px 6px 30px;
    background: #1c7773 url("/ja/common/css/image/000000067.png") no-repeat 13px center;
    background-size: 1em;
    color: #fff;
    text-decoration: none;
}

/* sp_overlay */

div#overlay {
    position: fixed;
    z-index: -99;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: #000;
    visibility: hidden;
    opacity: 0;
}
div#overlay.on {
    z-index: 99;
    opacity: 0.6;
    visibility: visible;
}
div#entire.on {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
}

/* main
-------------------------------------------------------------*/

/* div.breadcrumbs */

main > .breadcrumbs {
    margin: 17px 4% 20px;
}
main > .breadcrumbs ol li {
    display: inline;
    line-height: 1.6;
    font-size: 1.3rem;
}
main > .breadcrumbs ol li:after {
    content: '\003E';
    display: inline-block;
    position: relative;
    top: -1px;
    margin: 0 5px;
    font-size: 1.1rem;
}
main > .breadcrumbs ol li:last-child:after {
    content: none;
}
main > .breadcrumbs ol li a {
    color: #1c7773;
}

/* div#h1_title */

main > #h1_title {
    margin: 0 0 25px;
    padding: 0 4% 0 12vw;
    background: url("/ja/common/css/image/000000139.png") no-repeat 3% 2px;
    background-size: 7vw;
    border-bottom: solid 6px #a1cecc;
    line-height: 1.2;
    color: #010101;
}
main > #h1_title h1 {
    margin: 0 0 5px;
    font-size: 7vw;
}
body.press main > #h1_title h1,
body.event-detail main > #h1_title h1 {
    margin: 0 0 14px;
    font-size: 1.8rem;
}
body main > #h1_title h1 span.sub_title,
body.press main > #h1_title h1 span.sub_title,
body.news main > #h1_title h1 span.sub_title,
body.topics main > #h1_title h1 span.sub_title,
body.event main > #h1_title h1 span.sub_title,
body.interview main > #h1_title h1 span.sub_title,
body.reference main > #h1_title h1 span.sub_title,
body.today main > #h1_title h1 span.sub_title,
body.event-detail main > #h1_title h1 span.sub_title {
    display: block;
    margin: 5px 0 0;
    font-size: 1.4rem;
}

/* div.main */

main > .main {
    margin: 0 4% 40px;
}
main > .main a {
    color: #1d7773;
    text-decoration: none;
}
main > .main > section {
    margin: 0 0 25px;
}
main > .main > section > article > div {
    margin: 0 0 25px;
}
main > .main > section.col-2 {
}
main > .main > section.col-2 > article > div {
    margin: 0 0 25px;
}


/* div.sub */

main > .sub {
    border-top: dotted 5px #ddd;
    margin: 0 4% 40px;
    padding: 40px 0 0;
}


/* div.main parts
-------------------------------------------------------------*/

/* div.sub parts
-------------------------------------------------------------*/


/* footer
-------------------------------------------------------------*/

footer {
    position: relative;
    margin: 50px 0 0;
    padding: 30px 0 0;
    border-top: solid 1px #ccc;
    background: #f1f1f1;
}
footer > .menu aside {
    margin: 0 4%;
    overflow: hidden;
}
footer > .menu aside dt {
    margin: 0 0 8px;
    font-size: 1.5rem;
    font-weight: bold;
}
footer > .menu aside dd {
    margin: 0 0 5px;
    font-size: 1.3rem;
    line-height: 1.4;
}
footer > .menu aside p {
    position: absolute;
    top: 22px;
    right: 4%;
    margin: 20px 0 0;
}
footer > .menu aside p a {
    display: block;
    padding: 30px 0 0;
    background: url("/ja/common/css/image/000000046.png") no-repeat center top;
    background-size: 24px 24px;
    text-align: center;
    color: #000;
    text-decoration: none;
}
footer > .menu nav.inquire {
    margin: 12px 0 20px;
    padding: 15px 0 6px;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
}
footer > .menu nav.inquire ul {
    margin: 0 4%;
}
footer > .menu nav.inquire ul li {
    margin: 0 0 5px;
}
footer > .menu nav.inquire ul li a {
    display: block;
    padding: 5px 0 5px 30px;
}
footer > .menu nav.inquire ul li:nth-child(1) a {
    background: url("/ja/common/css/image/000000044.png") no-repeat 0 2px;
}
footer > .menu nav.inquire ul li:nth-child(2) a {
    background: url("/ja/common/css/image/000000045.png") no-repeat 0 3px;
}
footer > .menu nav.inquire ul li:nth-child(3) a {
    background: url("/ja/common/css/image/000000049.png") no-repeat 2px 3px;
}
footer > .menu nav.inquire ul li:nth-child(4) a {
    background: url("/ja/common/css/image/000000051.png") no-repeat 0 3px;
}
footer > .menu nav.inquire ul li:nth-child(5) a {
    background: url("/ja/common/css/image/000000050.png") no-repeat 0 3px;
}
footer > .menu nav.inquire ul li a {
    color: #1d7773;
    text-decoration: none;
}
footer > .menu nav.misc {
    margin: 0 auto;
    overflow: hidden;
}

footer > .menu nav.misc {
    margin: 0 4% 20px;
}
footer > .menu nav.misc ul li {
    margin: 0 0 5px;
}
footer > .menu nav.misc ul li a {
    display: block;
    padding: 0 0 0 10px;
    background: url("/ja/common/css/image/000000032.png") no-repeat 0 5px;
    line-height: 1.6;
    color: #000;
    text-decoration: none;
}
footer > .copyright {
    background: #1c7773;
}
footer > .copyright p {
    padding: 12px 0 10px;
    line-height: 1.2;
    font-size: 1.2rem;
    text-align: center;
    color: #fff;
}

#pagetop {
    position: fixed;
    bottom: 1em;
    right: 0;
    opacity: 0;
    -ms-filter: "alpha( opacity=0 )";
    filter: alpha(opacity:0);
    zoom: 1;
    z-index: 9999;
}
#pagetop.p_footer {
    bottom: 5em;
}
#pagetop a {
    width: 37px;
    height: 37px;
    display: block;
    background: url("/ja/common/css/image/000000043.png");
    background-size: 37px 37px;
}


/* ==========================================================
body.dirtop
=============================================================*/

/* main
-------------------------------------------------------------*/

body.dirtop main {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

/* div.breadcrumbs */

body.dirtop main > .breadcrumbs {
    margin: 12px 4% 30px;
}

/* div#h1_title */

body.dirtop #h1_title {
    margin: 0 auto 30px;
    padding: 0;
    border: none;
    background: none;
}
body.dirtop #h1_title h1 {
    display: table-cell;
    height: 100px;
    width: 800px;
    margin: 0 0 50px;
    padding: 0 0 0 20px;
    vertical-align: middle;
    line-height: 1;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center right !important;
    text-shadow: #fff 2px 2px 3px, #fff -2px 2px 3px,#fff 2px -2px 3px, #fff -2px -2px 3px;
}

body.dirtop #h1_title p.ttlcopy{
    margin: 20px 4% 0;
}

/* div.main_gray */

body.dirtop main > .main_gray {
    width: 100%;
    margin: 0 0 50px;
    background: #f1f1f1;
}
body.dirtop main > .main_gray a {
    color: #1c7773;
    text-decoration: none;
}

body.dirtop main > .main_gray > section {
    margin: 0 4%;
    padding: 0;
}
body.dirtop main > .main_gray > section > article {
    display: block;
    margin: 0 auto;
    padding: 0;
}
body.dirtop main > .main_gray > section > article > div {
    margin: 20px auto;
}


/* div.main */

body.dirtop main > .main {
    margin: 0 4%;
}

} /* @media end */
