@charset "UTF-8";

html,
body {
    font-family: tahoma,
        arial,
        verdana,
        "ヒラギノ角ゴ Pro W3",
        "Hiragino Kaku Gothic Pro",
        "メイリオ",
        Meiryo,
        "MS Ｐゴシック",
        "MS PGothic",
        Sans-serif;
    font-size: 13px;
    line-height: 1.5;
    background: #fff;
    color: #333;
    letter-spacing: 1px;
    height: 100%;
    margin: 0;
    font-size: 95%;
    background: #d2dfde;
}

h2 {
    color: #28615b;
    font-size: 120%;
    font-weight: bold;
}

select,
input,
button,
textarea {
    font-size: 100%;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: inherit;
    font: 100%;
}

textarea,
input {
    margin: 0;
    padding: 0;
}

caption,
th {
    text-align: left;
}

td,
th {
    vertical-align: top;
}

fieldset,
img,
abbr {
    border: none;
}

li {
    list-style-type: none;
}

hr {
    display: none;
}

strong {
    font-weight: bold;
}

main div,
main p,
main ul,
main dl,
main ol,
main h2,
main h3,
main h4,
main table {
    margin: 0 0 15px;
}

a,
a:link {
    color: #235BD7;
    text-decoration: none;
    cursor: pointer;
}

a:visited {
    color: #235BD7;
}

a:hover {
    color: #235BD7;
    text-decoration: underline;
}



body #wrapper {
    background-color: #fff;
    width: 100%;
    position: relative;
    height: auto !important;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    height: 100%;
}

body#index #wrapper {
    background-color: #fafafa;
    width: 100%;
    position: relative;
    height: auto !important;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    height: 100%;
}

a[target="_blank"]:not(#copyright a) {
    background: url(../img/other_tab.png) no-repeat right center;
    padding-right: 18px;
    margin-right: 5px;
}


/* ----------- maincontents index.html ----------- */
/* ----------------------------------------------- */

body#index #wrapper #main_contents {
    background-image:
        url(../img/background.jpg);
    background-repeat:
        no-repeat;
    background-position:
        50% top;
    background-size:
        contain;
    width: 100%;
    max-width: 1700px;
    margin: 0 auto;
    overflow: auto;
    padding-top: 0;
    background-color: #fff;
    padding-bottom: 40px;
}

/* ----------- meincontents etc ------------------ */
/* ----------------------------------------------- */
body#site_policy #wrapper #main_contents,
body#help #wrapper #main_contents,
body#news #wrapper #main_contents,
body#newspage #wrapper #main_contents {
    max-width: 980px;
    margin: 0 auto;
    overflow: auto;
    padding-top: 20px;
    padding-bottom: 40px;
    background-color: #fff;
}

body#help #wrapper #main_contents {
    overflow: hidden;
}

/* ----------- index.html ----------- */

body#index #top_contents,
body#index #middle_contents,
body#index #bottom_contents {
    position: relative;
    width: 100%;
    clear: both;
    overflow: hidden;
    margin: 0;
}

body#index #middle_contents {
    margin: 20px 0;
	display: flex;
}

body#index #bottom_contents {
    width: 94%;
    padding: 0 3%;
    margin-bottom: 20px;
}


body#index .left_contents {
    width: 48%;
    min-width: 320px;
    padding: 0 0 0 3%;
    margin: 0;
    float: left;
}

body#index .right_contents {
    width: 44%;
    min-width: 320px;
    padding: 0;
    margin: 0 3% 0 0;
    float: right;
    position: relative;
}

body#index .left_contents2 {
    width: 48%;
    min-width: 320px;
    padding: 0 0 0 0;
    margin: 0 0 0 3%;
}

body#index .right_contents2 {
    width: 44%;
    min-width: 320px;
    padding: 0;
    margin: 0 0 0 2%;
    background: #f3f3f3;
    border: dotted 1px #d0d0c8;
    border-radius: 5px;
}

body#index #eye_catch {
    position: relative;
    overflow: hidden;
    text-align: center;
}

body#index #eye_catch img {
    width: 100%;
    max-width: 600px;
    max-height: 430px;
    margin-top: -10px;
}

.btn_outer {
    display: table;
    width: 100%;
}

/* ----------- add ------------------ */
.btn_outer a:hover {
    text-decoration: none;
}

.button1 {
    display: inline-block;
    width: 35%;
    height: 80px;
    text-align: center;
    text-decoration: none;
    line-height: 80px;
    outline: none;
}

.button1::before,
.button1::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}

.button1,
.button1::before,
.button1::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button1 {
    background-color: #28615b;
    font-size: 95%;
}

.button1:hover {
    background-color: #154741;
}

.button1 img {
    vertical-align: middle;
    padding: 0 10px 0 0;
}


.button2 {
    margin-left: 5px;
    display: inline-block;
    width: 58%;
    height: 80px;
    text-align: center;
    text-decoration: none;
    line-height: 76px;
    outline: none;
    background-color: #ffffff;
    border: 2px solid #154741;
    font-size: 95%;
}

.button2::before,
.button2::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}

.button2,
.button2::before,
.button2::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.button2:hover {
    background-color: #154741;
    border: 2px solid #154741;
    color: #fff;
}


/* ------------------- */


body#index #contents1,
body#index #contents2,
body#index #contents3 {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

body#index #contents2,
body#index #contents3 {
    background: url(../img/bg_01.png);
    background: #f3f3f3;
    border: dotted 1px #d0d0c8;
}

body#index #contents2 h2,
body#index #contents3 h2,
body#index #contents4 h2 {
    color: #404040;
}

body#index #contents1 {
    margin-top: 10px;
    margin-bottom: 20px;
    background: url(../img/bg_02.png);
    background: #e7f0ef;
    border: solid 4px #84a09d;
    position: relative;
    zoom: 1;
    padding: 30px 30px 20px;
}

body#index #contents1 p,
body#index #contents4 p {
    text-indent: 1em;
    margin-bottom: 10px;
}

body#index #contents1 .inner,
body#index #contents2 .inner {
    margin-bottom: 3.5em;
}

body#index div.btn {
    border: solid 1px #235BD7;
    padding: 5px 10px;
    right: 10px;
    bottom: 10px;
    position: absolute;
    background: #fff;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

body#index #contents1 .inner p#about_info {
    text-indent: 1em;
}


body#index #contents2 {
    margin: 0 0 0 0;
    zoom: 1;
    padding: 30px;
    position: relative;
}

body#index #contents2 dl {
    overflow: hidden;
    width: 100%;
}

body#index #contents2 dl dt {
    padding-bottom: 3px;
    line-height: 1.4;
}

body#index #contents2 dl dd {
    line-height: 1.4;
    margin-bottom: 25px;

}

body#index #contents3 {
    margin-top: 20px;
    margin-bottom: 0px;
    position: relative;
    zoom: 1;
    padding: 30px 30px 10px;
}

body#index #contents4 {
    margin: 0 0 0 0;
    padding: 30px 30px 10px;
    position: relative;
    zoom: 1;
}

/* ------------ news ------------- */
.news_item{
    display: block;
    padding-bottom: 5px;
    border-bottom: dashed 1px #B5DDE8;
}

.news_item:not(:last-child){
    margin-bottom:20px;  
}

.news_item > div:first-child{
    margin-bottom: 10px;
}

.news_date{
    width: 125px;
    display: inline-block;
    vertical-align: middle;
}

.news_category{
    background: #c2ddda;
    font-size:75%;
    line-height: 1;
    margin-left:5px;
    padding:3px;
}

.news_title{
    font-weight:bold;
}




/* ----------- pankuzu ----------- */

#main_contents p.pankuzu {
    margin: 0;
    width: 100%;
}

body#help p.pankuzu {
    background: #fff;
    margin: 0;
    width: 100%;
    padding-bottom: 10px;
}



/*==========================================
howto
===========================================*/

#howto {
    max-width: 680px;
    width: 70%;
    line-height: 1.7em;
    float: right;
    position: relative;
    margin-right: 5px;

}

#howto h2 {
    font-weight: bold;
    border-top: solid 2px #35615c;
    border-bottom: solid 2px #35615c;
    padding: 5px;
}

#howto #howto_menu_btn {
    background-image: url(../img/help_menu.png);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 20px 20px;
    width: 30px;
    height: 30px;
    background-color: #28615b;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    display: none;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

#howto_menu_nav {
    border: solid 1px #28615b;
    width: 70%;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    overflow: hidden;
    position: absolute;
    top: 48px;
    left: 5px;
    display: none;
}

#howto p.desc {
    padding: 20px;
}


#howto h3 {
    font-size: 120%;
    border-left: 5px solid #35615c;
    border-bottom: 1px solid #35615c;
    padding: 5px;
    line-height: 1.5;
    margin-left: 5px;
    font-weight: bold;

}

#howto .mt20 {
    margin-top: 20px;
}

#howto ol {
    margin-left: 18px;
    list-style: none;
}

#howto ol li {
    padding-left: 24px;
}

.title {
    font-weight: bold;
}

#howto ol li .title {
    font-size: 120%;
    font-weight: bold;
}

#howto img {
    margin-top: 15px;
    margin-bottom: 35px;
    max-width: 640px;
}

#howto table {
    width: 100%;
    margin-bottom: 35px;
}

#howto table th,
#howto table td {
    border: #c1c1c1 solid 1px;
    padding: 5px 10px;
}



/*==========================================
side
===========================================*/
body#help #side {
    max-width: 260px;
    width: 25%;
    float: left;
    margin-left: 5px;
}

#side_nav {
    width: 100%;
    background: #28615b;
    border: solid 1px #28615b;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    overflow: hidden;
}

#side_nav p {
    text-align: center;
    margin-top: 10px;
    color: #fff;
    font-weight: bold;
}

ul.howto_menu {
    padding-bottom: 2px;
    background-color: #fafafa;

}

ul.howto_menu li {
    border-bottom: 1px dotted #28615b;
    margin-bottom: 0;
    padding: 10px 5px 10px 25px;
    line-height: 1.3;
    text-indent: -1em;
    padding-left: 2em;
}

ul.howto_menu li a {}

ul.howto_menu li.lower {
    border-bottom: 1px dotted #28615b;
    padding-left: 40px;
    padding-right: 5px;
}

ul.howto_menu li.lower a {}

ul.howto_menu li.last {
    border-bottom: none;
}


#side #side_btn {
    margin-top: 10px;
    width: 260px;
    background: url(../img/bg_02.png);
    height: 40px;
    text-align: center;
}

#side #side_btn a {
    color: #235BD7;
    line-height: 40px;
    font-weight: bold;
}

/* ----------- site_polisy.html ----------- */
#contents_out {
    margin: 0 2% 20px;
}


#contents_out h2 {
    border-top: solid 2px #35615c;
    border-bottom: solid 2px #35615c;
    padding: 5px;
    margin-bottom: 20px;
}

#contents_out p {

    margin: 0 0 20px;
}

#contents_in {
    background: url(../img/bg_01.png);
    border: solid 1px #d5d5d5;
    padding: 20px 3%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;

}

body#site_policy #eulogy {
    font-size: 120%;
}

body#site_policy h3 {
    font-size: 120%;
    border-left: 5px solid #35615c;
    border-bottom: 1px solid #35615c;
    padding: 5px;
    line-height: 1.5;
    margin-left: 5px;
    margin-top: 30px;
}

body#site_policy .under_contents {
    margin: 10px 2%;

}

/* ----------- maps.html ----------- */


.contents_map {
    margin: 20px 0 0 0;
    background: url(../img/bg_01.png);
    border: solid 1px #d5d5d5;
    padding: 3% 3%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    overflow: hidden;

}

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}

.contents_map img#world_m {
    float: left;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.contents_map img#japan_m {
    float: left;
    width: 60%;
    max-width: 100%;
    height: auto;
}

ul.list {
    float: left;
    margin: 0 0 0 25px;
}

ul.list li {
    font-size: 80%;
}

/* ---- 凡例の色 ---- */

ul.list li.debris_li div {
    background-color: #F7931E;
    border-radius: 100%;
    height: 10px;
    width: 10px;
    float: left;
    margin: 5px 5px 0 0;
}

ul.list li.jedi_li div {
    background-color: #93278F;
    border-radius: 100%;
    height: 10px;
    width: 10px;
    float: left;
    margin: 5px 5px 0 0;
}
.map_credit_info{
	padding:0 0 20px;
}

body#site_policy .map_credit_info h3{
	border-left: none;
  border-bottom: none;
  padding: 5px 0;
  line-height: 1.5;
  margin-left: 5px;
  margin-top: 30px;
}

/*------------------rwd----------------------- */

/* -------------------------1100~------------------------------ */
@media screen and (min-width:1100px) {
    body#index #contents1 {
        margin-top: 5%;
    }

    body#index #contents1 .inner {
        font-size: 110%;
    }

    body#index #contents2 dl dt {
        float: left;
    }

    body#index #contents2 dl dd {
        margin-left: 140px;
    }


}

/* -------------------------815-1200------------------------------ */
@media only screen and (min-width:815px) and (max-width:1200px) {
    #eye_catch_img {
        margin-top: 10%;
    }

}

/* -------------------------1000------------------------------ */
@media only screen and (max-width:1000px) {

    body#site_policy #wrapper #main_contents,
    body#help #wrapper #main_contents,
    body#news #wrapper #main_contents {
        padding-top: 0;
    }
}
    /* -------------------------~970------------------------------ */
    @media only screen and (max-width:970px) {

        #howto .large_img {
            width: 100%;
            height: auto;
            max-width: 640px;
        }

        #howto .small_img {
            width: 70%;
            height: auto;
            max-width: 501px;
        }


    }

    /* -------------------------~815------------------------------ */

    @media screen and (max-width: 815px) {
        /* ----------- index.html ----------- */

        body#index .left_contents,
        body#index .right_contents,
        body#index #eye_catch {
            clear: both;
            width: 100%;
            min-width: 280px;
            margin-right: auto;
            margin-left: auto;
            padding: 0;
        }
		
		body#index #middle_contents {
			display: block;
			margin: 0 0 20px;
		}
		
        body#index .left_contents2 {
            width: 100%;
            min-width: 280px;
            margin-right: auto;
            margin-left: auto;
            padding: 0;
		}
		body#index .right_contents2 {
            width: 97.8%;
            min-width: 280px;
            margin: 20px 1%;
            padding: 0;
		}

        body#index .button1 {
            display: block;
            width: 95%;
            margin: 5px auto;
        }

        body#index .button2 {
            display: block;
            width: 95%;
            margin: 5px auto;

        }



        body#index #contents1,
        body#index #contents2,
        body#index #contents3 {
            margin: 20px 1%;
            height: initial;
        }


        body#index #contents4 {
            margin-top: 0;
        }

        body#index #bottom_contents {
            width: 100%;
            padding: 0;
        }


        /* ----------- help.html ----------- */
        body#help p.pankuzu {
            padding-bottom: 0;
        }


        body#help #wrapper #main_contents {
            max-width: initial;
            width: 98%;
            margin: 0 auto;
        }

        #howto {
            margin-right: 0;

        }

        #howto #howto_menu_btn {
            display: block;
        }

        #howto h2 {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
        }

        #how_to_title {
            margin-left: 10px;
        }

        body#help #side {
            display: none;
            position: absolute;
            right: 1%;

        }

        #side_nav p {
            text-align: center;
            margin-top: 10px;
            padding-bottom: 10px;
            color: #fff;
            font-weight: bold;
        }

        #side ul {
            display: none;
        }

        body#help #howto {
            width: 100%;
            clear: both;
            max-width: initial;
        }

        #howto ol li {
            padding-left: 0;
        }
      
        /* ----------- site_policy.html ----------- */
        #main_contents p.pankuzu {
        		margin: 0 auto;
        		width: 98%;
        }      
    }

    @media screen and (max-width: 730px) {

        body#site_policy #wrapper #main_contents,
        body#help #wrapper #main_contents,
        body#news #wrapper #main_contents {
            padding-top: 20px;
        }
    }
