﻿@charset "UTF-8";

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #666666;
}

input:-moz-placeholder, textarea:-moz-placeholder {
    color: #666666;
}

input::-moz-placeholder, textarea::-moz-placeholder {
    color: #666666;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder { 
    color: #666666;
}

a, a:visited, a:hover, a:active, a:focus {
    text-decoration: none;
    outline: none;
} 

ul, dl {
	list-style: none;
	margin: 0;
	padding: 0;
}

ol {
	margin: 0;
	padding: 0;
}

html {
	font-size: 14px;
}

html * {
	box-sizing: border-box;
}

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    letter-spacing: 1px;
}

/*ヘッダー*/
#for-pc {display: block !important;}
#for-mobile {display: none  !important;}
#slidemenu-btn {display: none  !important;}
.contact-btn {display: block  !important;}
.contact-phone {display: none  !important;}

header {
    background-color: #ffffff;
    border-top: 6px solid #98bee6;
}

.header_container {
    max-width: 1110px;
    margin: 0 auto;
    display: flex;
}

.header_container>div:last-child {
    padding: 20px 10px;
    order: 1;
}

.header_container>div:last-child img {
	width: 100%;
    max-width: 470px;
}

.header_container>div:first-child {
    order: 2;
    margin-left: auto;
    padding-top: 20px;
    padding-right: 10px;
    position: relative;
}

.header_container .contact-btn {
    color: #ffffff;
}

.menu {position: relative;}

.menu > li {
	float: left;
	line-height: 40px;
}

.menu .menu_single .contact-btn {
	display: inline-block;
	border-radius: 10px;
    font-size: 1.2rem;
	padding: 9px 29px 3px 75px;
	background: url('../img/tel-ic.png') no-repeat center left 20px, #006dc9;
	border-bottom: solid 4px #163dbc;
}

.menu > li a {
	display: block;
}

ul.menu_second {
	visibility: hidden;
	opacity: 0;
	width: 100%;
}

.menu:after {
	clear: both;
}

.menu .menu_single .btn-base {
    width: 100%;
    padding: 5px 0;
    color: #ffffff;
    background: #EE810C;
    border-radius: 10px;
}

.menu .menu_single .btn-base:hover {
    color: #ffff00;
}

li.menu_single ul.menu_second {
	position: absolute;
	background: #fff;
	border: solid 1px #163dbc;
	border-radius: 10px;
	text-align: center;
    z-index: 100;
}

li.menu_single ul.menu_second li .contact {
	padding: 8px;
}

li.menu_single ul.menu_second li p {
	line-height: 1.5rem;
	margin-bottom: 10px;
}
li.menu_single ul.menu_second li p:last-child {
	line-height: 1.5rem;
	margin-bottom: 0px;
}
li.menu_single ul.menu_second li .contact .contact-txt {
	text-align: left;
}
li.menu_single ul.menu_second li p a {
	color: #000000;
}
li.menu_single ul.menu_second li p a:hover {
	color: #006dc9;
}
li.menu_single ul.menu_second li p span {
	background: #163dbc;
	margin-bottom: 10px;
	color: #fff;
	display: block;
    width: 100%;
}

li.menu_single:hover ul.menu_second {
	top: 56px;
	visibility: visible;
	opacity: 1;
}

@media screen and (max-width: 744px) {
	html {
		font-size: 16px;
	}

    header {
        border-top: none;
    }
}

@media screen and (min-width: 1130px) {
    .header_container div:last-child  {
        padding-left: 0;
    }
 
    .header_container>div:first-child {
        padding-right: 0;
    }
}

/*グローバルナビゲーション*/
nav {
    border-top: 3px solid #b22222;
    background: linear-gradient(#7daefa, #135ac4);
}

.nav-container {
    margin: 0 auto;
    padding: 7px 0;
    max-width: 1110px;
}

.globalnav {
	display: flex;
}

.globalnav li {
	flex: 1 0 16.66%;	
}

.globalnav li a {
	display: block;
	text-align: center;
	color: #ffffff;
	border-left: 1px solid #b2b2b2;
    font-size: 0.9rem;
    line-height: 1.3rem;
    min-height: 2.6rem;
}

.globalnav li:last-child a {
	border-right: 1px solid #b2b2b2;
}

.globalnav li a:hover,
.globalnav li a.current {
	color: #ffff00;
}

.globalnav .block-middle {
    line-height: 2.6rem;
}

@media screen and (max-width: 744px) {
    #for-pc {display: none  !important;}
    #for-mobile {display: block  !important;}
    #slidemenu-btn {display: block  !important;}
    .contact-btn {display: none  !important;}
    .contact-phone {display:block  !important;}

    .header_container {
        display: block;
    }

    .header_container>div:last-child  {
        padding: 20px;
        margin-top: 44px;
        text-align: center;
    }

    .header_container>div:first-child {
        display: flex;
        width: 100%;
        background-color: #436991;
        padding: 0px;
        position: fixed;
        left: 0;
        top: 0;
    }

    .header_container>div:first-child a:nth-child(3) {
        margin-left: auto;
    }

    ul.menu_second {
	    width: 15em;
    }

    li.menu_single:hover ul.menu_second {
	    top: 40px;
        right: -20px;
    }

    .contact-phone {
        font-size: 30px;
        padding: 0 7px;
	    display: block;
        color: #ffffff;
    }

    .contact-phone:hover, .contact-phone:active {
        color: #ffffff;
	    background-color: #336633;
        border-radius: 3px;
    }

    .nav-container {
	    position: fixed;
        top: 43px;
	    left: 0;
	    z-index: 20;
	    margin: 0;
	    padding: 0;
	    width: 100%;
        max-width: 18em;
	    background: #558822;
	    box-shadow: 3px 3px 10px rgba(0,0,0,0.4);
    }

    .globalnav {
	    display: block;
    }

    .globalnav li a {
	    display: block;
	    padding: 15px 20px;
        text-align: left;
	    border-bottom: 1px solid #8bb15a;
	    line-height: 100%;
	    color: #ffffff;
    }

    .globalnav li:last-child a {
	    border-bottom: none;
    }

    .globalnav li a:hover,
    .globalnav li a.current {
	    background: #336633;
	    color: #ffffff;
    }
}

@media screen and (min-width: 1110px) {
	.globalnav li {
		flex: 0 0 185px;	
	}
}

/*TOPページ画像領域*/
.top-contents {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    min-height: 513px;
    text-align: center;
    padding-top: 40px;
    background:url(../img/top_bg.png) no-repeat top center;
    background-size:cover; 
    font-size: 0;
    border-bottom:2px solid #e4e4e4;
}

.top-contents h1 {
    font-size: 3rem;
    padding: 0 50px;
}

.top-contents h1,.top-contents h2 {
    max-width: 1110px;
    margin: 0 auto;
}

.top-contents h1 {
    padding: 30px 20px 10px 20px;
}

.top-contents h1 span {
    color: #00489d;
}

.top-contents h2 {
    font-size: 1.5rem;
    line-height: 2.5rem;
    padding: 0 20px;
}
.top-contents h2 span {
    font-weight: bold;
}

/*TOPページサービス一覧・外国人相談コ－ナ－・お知らせ*/
.main-contents {
	background: url(../img/bg.jpg) top center repeat-x;
}

.main-contents-container {
    max-width: 1110px;
    margin: 0 auto;
}

.main-contents-container>img {
    display: block;
    width: 100%;
}

.service {
    padding: 50px 10px 0 10px;
}

.service h1,
.others-items li h1 {
    margin: 0;
    text-align: center;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: bold;
    padding: 10px 0;
    background: linear-gradient(#7daefa, #333366);
}

.service h1 {
    border-radius: 10px 10px 0 0;
}

.service-items {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.service-items li {
    flex: 0 0 32.5%;
    border: 1px solid #dadada;
    background-color: #ffffff;
	box-shadow:1px 1px 5px 0px rgba(0,0,0,0.3);
    margin: 10px 0;
}

.service-items li h2 {
    font-size: 1.2rem;
    font-weight: bold;
    color: #3f9eb4;
}

.service-items li h2, .service-items li p {
    margin: 10px;
}

.service-items h2 span {
    color: #a02f1f;
}

.service-items li img {
    width: 100%;
}

.service-items p, .news-items {
    color: #000000;
    font-size: 1rem;
}
    
.others {
    padding: 0 10px;
}

.others-items {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-top: 20px;
}

.others-items>li {
    flex: 0 0 49.5%;
    margin: 10px 0;
    background-color: #ffffff;
}

.news {
	height: 330px;
    overflow-y: scroll;
    display: block;
    border-bottom: solid 1px #dadada;
}

.news-items dt {
    padding: 10px 10px 5px 0;
    color: #666699;
}

.news-items dd {
    padding: 0 10px 10px 0;
    border-bottom: solid 1px #dadada;
}

.news-items dd:last-child {
    border-bottom: none;
}

.news-items a:hover, .news-items a:active {
    color: #f89c22;
}

@media screen and (max-width: 744px) {
    .top-contents {
        border-top:1px solid #b22222;
        background:url(../img/mobile_bg.png) repeat-y top center;
        background-size: cover; 
        min-height: 0;
        padding: 0 0 20px 0;
    }

    .top-contents h1 {
        font-size: 2.3rem;
    }

    .top-contents h2 {
        font-size: 1.5rem;
        line-height: 1.9rem;
    }

    .service {
        padding: 0;
    }

    .service h1 {
        border-radius: 0;
    }

    .service-items {
        display: block;
        flex-flow: row wrap;
        justify-content: space-between;
    }

    .service-items li {
        border: none;
	    box-shadow: none;
        margin: 0;
    }
    
    .others {
        padding: 0;
    }

    .others-items {
        display: block;
        margin-top: 0;
    }

    .others-items>li {
        margin: 0;
    }

    .news {
        border-bottom: none;
    }

    .news-items dt {
        padding: 10px 10px 5px 10px;
    }

    .news-items dd {
        padding: 0 10px 10px 10px;
    }
}

@media screen and (min-width: 1130px) {
    .service {
        padding-left: 0;
        padding-right: 0;
    }
    
    .others {
        padding: 0;
    }
}

/*フッター*/
.page-top {
    max-width: 1110px;
    margin: 0 auto;
    text-align: right;
    border-top: 1px solid #dadada;
    padding: 10px 0;
}

footer, .copyright_container {
	background-color:#074188;
}

.footer_container {
    max-width: 1110px;
    margin: 0 auto;
}

.footer_logo {
    text-align: center;
    padding: 20px 0;
    background-color: #00479d;
	border-bottom: 1px solid #00152f;
}

.footer_logo img {
    width: 50%;
    max-width: 200px;
}

.footernav li {
    line-height: 100%;
	color: #ffffff;
	padding: 10px 15px 10px 10px;
	border-top: 1px solid #1559ab;
	border-bottom: 1px solid #00152f;
	background-image: url(../img/arrow.png);
	background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 8px 11px;
}

.footernav li a {
	display: block;
	text-decoration: none;
	color: #ffffff;
}

.footernav li a:hover,
.footernav li a.current {
	color: #00ccff;
}

.address {
    padding-top: 15px;
    color: #ffffff;
    background-color: #00479d;
	border-top: 1px solid #1559ab;
    text-align: center;
    font-size: 0.7rem;
}

.copyright {
    color: #ffffff;
    background-color: #00479d;
    text-align: center;
    font-size: 0.5rem;
    padding-top: 5px;
    padding-bottom: 15px;
}

#goTop {
    position: absolute;
    top: -40px;
    right: 20px;
    z-index: 9999;
    cursor:pointer;
}

#goTop img {
    width: 50px;
}

@media screen and (min-width: 745px) {
    .page-top {
        border-top: none;
        padding: 0;
    }

    footer {
        margin-top: 30px;
	    border-bottom: 1px solid #1559ab;
    }

   
    .footer_logo {
        background-color: transparent;
	    border-bottom: none;
    }

    .footernav {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
    }

    .footernav li {
        flex: 0 0 auto;
        border: 0;
    }

    .footernav li a {
        padding: 0 10px;
	    border: none;
    }

    .footernav li:last-child a {
	    border-right: none;
    }

    .address {
	    border-top: none;
        padding-top: 10px;
        font-size: 1rem;
        background-color: transparent;
    }

    .copyright {
        font-size: 1rem;
        padding: 2px 0 15px 0;
        background-color: transparent;
    }

    #goTop {
        right: 40px;
    }

    #goTop img {
        width: 50px;
    }
}

/*TOPページ以外の各ページ*/
.left_col h1, .right_col h1 {
    text-align: center;
    background-color: #333366;
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: bold;
    padding: 10px 0;
    margin: 0;
}

.left_col .sub_menu {
    display: block;
    border: 1px solid #333366;
    border-left: 10px solid #333366;
    border-bottom: 3px solid #333366;
    margin: 20px;
    padding: 7px 10px 7px 35px;
    text-indent: -12px;
    background-color: #ffffff;
    font-size: 1.3rem;
}

.main-contents-container .top-space {
    padding-top: 0;
}

.mobile_table tr,
.mobile_table th,
.mobile_table td {
	display: block;
}

.mobile_table {
    width: 100%;
	background-color: #ffffff;
    font-size: 1rem;
}

.mobile_table th {
	background-color: #c8e7f9;
    border-radius: 5px;
    margin: 20px 20px 0 20px;
    padding: 5px 10px;
}

.mobile_table3 th {
    margin-top: 0;
}

.mobile_table .mobile_table4 {
    text-align: center;
}

.mobile_table td {
    margin: 10px 20px 20px 20px;
}

.mobile_table .subtitle {
    text-align: center;
    background-color: #a6c5d7;
    border-radius: 0;
    margin-bottom: 10px;
}

.greetings {
    padding: 20px;
    font-size: 1rem;
    line-height: 1.8rem;
    text-align: justify;
}

.president {
    margin: 40px 20px 30px 0;
    text-align: right;
    font-size: 1rem;
}

.procedure1 {
    padding: 20px 20px 0 20px;
    font-size: 1rem;
    line-height: 1.5rem;
    text-align: justify;
}

.procedure2 {
    padding: 0 20px 20px 20px;
    font-size: 1rem;
    line-height: 1.5rem;
}

.procedure2 li {
    margin-left: 20px;
    text-align: justify;
}

.procedure3, .procedure4 {
    padding: 20px;
    font-size: 1rem;
    line-height: 1.5rem;
}

.procedure3 dt {
    font-weight: normal;
}

.procedure3>dt {
    font-weight: bold;
    font-size: 1.2em;
}

.access {
    padding: 20px;
}

.access span {
    display: inline-block;
    padding: 6px 10px;
    margin-right: 10px;
    color: #ffffff;
    background-color: #696969;
    border-radius: 5px;
}

.map img {
    width: 100%;
}

.indent2 {
    padding-left: 2em;
    text-indent: -2em;
}

.indent3 {
    padding-left: 3em;
    text-indent: -3em;
}

.indent4 {
    padding-left: 4em;
    text-indent: -4em;
}

.pl3 {
    padding-left: 3em;
}

.privacy {
    padding: 20px;
    font-size: 1rem;
}

.privacy p {
    text-align: right;
    font-weight: bold;
}

.privacy-items dt {
	background-color: #c8e7f9;
    border-radius: 5px;
    padding: 5px 10px;
    margin: 20px 0 10px 0;
}

.privacy-items dd {
    margin-bottom: 40px;
}

.must {
    color: red;
    font-weight: bold;
}

.contact2 label {
    font-weight: normal;
}

.contact2 .mobile_table p {
    font-size: 0.9em;
    padding: 0.5em 0;
    margin: 0;
}

.error {
	color: #ff0000;
}

.contact2 input[type="text"],
.contact2 input[type="email"],
.contact2 input[type="tel"],
.contact2 textarea,
.contact2 select {
    font-size: 1rem;
    padding: 0.5em;
    line-height: 1em;
    width: 100%;
    border: 1px solid #dadada;
}

.contact2 input[type="text"]:focus,
.contact2 input[type="email"]:focus,
.contact2 input[type="tel"]:focus,
.contact2 textarea:focus,
.contact2 select:focus {
    border: 1px solid #c8e7f9;
}

.contact-privacy {
    font-size: 0.9rem;
    margin: 0 20px 20px 20px;
    padding: 10px;
    line-height: 1.4rem;
    border: solid 5px #b7d6e8;
}

.contact2>p {
    padding:20px;
    text-align: center;
    margin-bottom: -20px;
}

.contact3 {
    padding: 20px;
}

.contact3 p {
    font-size: 1.2em;
    font-weight: bold;
}

@media screen and (min-width: 745px) {
    .column-container {
        display: flex;
        padding: 0 10px;
    }

    .left_col {
        flex: 0 0 270px;
        margin: 20px 2% 0 0;
    }

    .left_col .contact {
        border: none;
	    height: auto;
    }
    
    .left_col .contact div {
        margin-top: 40px;
    }

    .right_col {
        flex: 1 1 auto;
        margin-top: 20px;
    }
    
    .right_col h1 {
        margin-top: 40px;
    }

    .right_col h1:first-child {
        margin-top: 0;
    }

    .left_col .sub_menu {
        margin: 0 0 20px 0;
    }

	.mobile_table {
		display: table;
		border-collapse: collapse;
		width: 100%;
	}
	.mobile_table tr {
		display: table-row;
	}

    .mobile_table th {
        white-space: nowrap;
		display: table-cell;
        width: 120px;
        border: 1px solid #a6c5d7;
        border-radius: 0;
        padding: 10px;
        font-weight: normal;
    }

	.mobile_table td {
		display: table-cell;
        padding: 10px;
        border: 1px solid #a6c5d7;
	}

    .mobile_table .subtitle {
        margin-bottom: 0;
    }

    .greetings {
        line-height: 2.2rem;
        padding: 20px 0;
    }

    .procedure1,.procedure3,.procedure4 {
        padding: 20px 0 0 0;
    }

    .procedure2 {
        padding: 0;
    }

    .access {
        padding: 20px 0;
    }

    .privacy {
        padding: 20px 0;
        font-size: 1rem;
    }

    .contact2 .mobile_table td {
        background-color: #efefef;
    }

    .contact-privacy {
        font-size: 1rem;
        margin: 20px 0;
    }

    .contact3 {
        padding: 20px 0;
    }
}

.contact-check {
    text-align: center;
    margin: 40px 0;
}

.contact-check button[type="submit"] {
	padding: 0.5rem 1rem;
	border: 4px solid #ffd386;
	border-radius: 10px;
	background-color: #008080;
	font-size: 1.2rem;
    font-weight:bold;
	color: #ffffff;
    width: 8em;
}

#clear, #back {
    margin-right:20px;
}

.contact-check button[type="submit"]:hover {
	color: yellow;
	border: 4px solid #6699ff;
}

@media screen and (min-width: 1130px) {
    .column-container {
        padding: 0;
    }

    .main-contents-container .top-space {
        padding-top: 30px;
    }
}
/*end*/

/* ========== Javascript用CSS ========== */
#js-slidemenu {
	display: none;
}

/* ナビゲーションが開いたときに画面を暗くする処理のためのCSS */
.js-slidemenu-effect {
}