@charset "utf-8";
/*
Theme Name:外国人材適正受入れ支援センター
Theme URI:https://g-jinzai-shien.soumu-madoguchi.co.jp/
Version: 1.1
Author:エイジェック広報部
Author URI:https://www.agekke.co.jp/
*/
/* ======================================================
/*               ++  Reset CSS  ++
   ======================================================  */
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, address, del, em, img,
small, strong, sub, i,
dl, dt, dd, ol, ul, li, form, label, 
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figcaption, figure, 
footer, header, menu, nav, section, time, mark, audio, video {
	background: transparent;
	border: 0;
	font-size: 100%;
	letter-spacing: 0.5px;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
	word-break: break-all;
}
*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
article,aside,details,figcaption,figure,
footer,header,menu,nav,section {display: block;}
nav, ul {list-style: none;}
a {
	background: transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
del {text-decoration: line-through;} 
table {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	border: 0;   
	border-top: 1px solid #cccccc;
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
}
img {
	height: auto;
	max-width: 100%;
	max-height: 100%;
	vertical-align: bottom;
}
input, select {vertical-align: middle;}
ul { 
	letter-spacing: -0.5em;
	list-style-type: none;
}
li { letter-spacing: normal;
     list-style-type: none;
}
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
figure {
	margin: 0!important;
}
/* ======================================================
/*               ++ STYLE ++
   ====================================================== */
html,body {
	color: #333;
	/*font-family:'メイリオ', 'Meiryo', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;*/
    font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	text-align: justify; /*文字右端揃え*/
	text-justify: inter-ideograph;
	width: 100%;
	height: 100%;
}

/* ======================================================
/*                     ++ 共通 ++
   ====================================================== */
/* --------------------------------------------------- リキャプチャ */
.grecaptcha-badge { visibility: hidden; }
#contact-form .recaptcha {
	font-size: .875rem;
	margin: 10px 0 0;
}
#contact-form .recaptcha a {
    margin: 0 5px;
    border-bottom: 1px solid #00a1e9;
    color: #00a1e9;
	padding-bottom: 2px;
}
#contact-form .recaptcha a:hover {
    border-bottom: 1px solid #005bac;
    color: #005bac;
}
/* --------------------------------------------------- コンテンツ幅 */
.wrap {
	max-width: 1200px;
	margin: 0 auto;
}
.wrap.mini {
	max-width: 1020px;
}
@media screen and (max-width: 1100px) {
	.wrap.mini {
			max-width: 94%;
	}
}
@media screen and (max-width: 1200px) {
	.wrap {
			max-width: 94%;
	}
}
/* --------------------------------------------------- 改行 */
span.p-br {
	display: block;
}
span.m-br {
	display: inline;
}
span.pad-br {
	display: inline;
}
@media screen and (max-width: 1023px) {
	span.pad-br {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	span.p-br {
		display: inline;
	}
	span.m-br {
		display: block;
	}
}
/* --------------------------------------------------- margin微調整 */
.mt-10 {
	margin-top: 10px;
}
.mt-20 {
	margin-top: 20px;
}
/* --------------------------------------------------- PC/MO　表示切替え */
.m-block {
	display: none;
}
@media screen and (max-width: 767px) {
	.m-block {
		display: block;
	}
	.p-block {
		display: none;
	}
}
/* --------------------------------------------------- コンテンツのpadding */
.interval {
    padding: 80px 0;
}
.interval-top {
    padding: 80px 0 0;
}
.interval-bottom {
    padding:0 0 80px;
}
@media screen and (max-width: 1023px){
	.interval {
    	padding: 50px 0;
	}
	.interval-top {
    	padding: 50px 0 0;
	}
	.interval-bottom {
    	padding: 0 0 50px;
	}
}
@media screen and (max-width: 767px){
	.interval {
    	padding: 30px 0;
	}
	.interval-top {
    	padding: 30px 0 0;
	}
	.interval-bottom {
    	padding: 0 0 30px;
	}
}
/* --------------------------------------------------- Flex */
.flex {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 0 auto;
	height: 100%;
	z-index: 100;
}
/* --------------------------------------------------- フロート */
.c-fix:after {
	clear: both;
	content: " ";
	display: block;
}
.left {
	float: left;
}
.right {
	float: right;
}
/* --------------------------------------------------- 横並び */
.ratio > li {
	display: inline-block;
	vertical-align: top;
}
@media screen and (max-width: 767px) {
	.ratio > li {
		display: block;
		width:100%;
	}
}
/* --------------------------------------------------- aタグ */
a {
	color: #333;
	text-decoration: none;
	}
a.underline {
    padding-bottom: 2px;
    border-bottom: 1px solid;
	color: #004aed;
	margin: 0 5px;
	transition: .3s;
}
a.underline:hover {
	color: #00a1e9;	
}
/* --------------------------------------------------- 背景色 */
.bg-01{
	background: url(/wp-content/themes/mytheme/kotei_images/bg-01.png);
    background-repeat: repeat;
    background-position: 0 0;
}
.bg-02{
	background: #509fe21c;
    background-repeat: repeat;
    background-position: 0 0;
}
.bg-gray {
	background:#f5f5f5;
}
.beige {
	background:#f1ede9;
}
/* --------------------------------------------------- テキストカラー */
.red {
	color: red;
}
.blue {
	color: #005bac;
}
.orange {
	color: #f15a24;
}
.correction {
	text-decoration: line-through; 	
}
/*----- 横並び配置のリスト -----*/
.w-2-15_5-80 > li {
	display: inline-block;
	width: 15%;
	margin: 0 5% 0 0;
}
.w-2-15_5-80 > li:last-child {
	width: 80%;
	margin: 0;
}
.w-2-25_3-72 > li {
	display: inline-block;
	width: 25%;
	margin: 0 3% 0 0;
}
.w-2-25_3-72 > li:last-child {
	width: 72%;
	margin: 0;
}
.w-2-25_5-70 > li {
	display: inline-block;
	width: 25%;
	margin: 0 5% 0 0;
}
.w-2-25_5-70 > li:last-child {
	width: 70%;
	margin: 0;
}
.w-2-30_5-65 > li {
	display: inline-block;
	width: 30%;
	margin: 0 5% 0 0;
}
.w-2-30_5-65 > li:last-child {
	width: 65%;
	margin: 0;
}
.w-2-37_3-60 > li {
	display: inline-block;
	width: 37%;
	margin: 0 3% 0 0;
}
.w-2-37_3-60 > li:last-child {
	width: 60%;
	margin: 0;
}
.w-2-40_5-55 > li {
	display: inline-block;
	width: 40%;
	margin: 0 5% 0 0;
}
.w-2-40_5-55 > li:last-child {
	width: 55%;
	margin: 0;
}
.w-2-50 > li {
	display: inline-block;
	width: 50%;
}
.w-2-48 > li {
	display: inline-block;
	width: 48%;
	margin: 0 4% 0 0;
}
.w-2-48 > li:nth-child(2n) {
	margin: 0;
}
.w-2-45 > li {
	display: inline-block;
	width: 45%;
	margin: 0 10% 0 0;
}
.w-2-45 > li:nth-child(2n) {
	margin: 0;
}
.w-3-30 > li {
	display: inline-block;
	width: 30%;
	margin: 0 5% 0 0;
}
.w-3-30 > li:nth-child(3n) {
	margin: 0;
}
.w-3-31 > li {
	display: inline-block;
	width: 31%;
    margin: 0 3.5% 0 0;
}
.w-3-31 > li:nth-child(3n) {
	margin: 0;
}
.v-top > li {
	vertical-align: top;
}
.v-middle > li {
	vertical-align: middle;
}
.v-bottom > li {
	vertical-align: bottom;
}

@media screen and (max-width: 767px){
    .w-2-25_3-72 > li {
        display: block;
        width: 40%;
        margin: 2% auto 5%;
    }
    .w-2-25_3-72 > li:last-child {
        width: 100%;
        margin: 0;
    }
}

/*----- テーブル -----*/
table.common th, table.common td {
    padding: 14px 20px;
    border: solid 1px #dcdcdc;
    box-sizing: border-box;
    vertical-align: middle;
    background: #fff;
}
table.common td.gray {
    background: #f7f7f7;
}
table.type-01 th {
    width: 25%;
    background: #29B988;
    color: #fff;
    letter-spacing: .1em;
}
/*----- ●■ -----*/
.mark-circle,
.mark-square {
	position: relative;
	padding-left: 20px;
	letter-spacing: .05em;
}
.mark-circle::before, .mark-square::before {
    position: absolute;
    z-index: 2;
    content: '';
    width: 10px;
    height: 10px;
    top: 6px;
    left: 0;
    background: #2258b5;
}
.mark-circle::before {
	border-radius: 5px;	
}
/* --------------------------------------------------- タイトル */
.sec-title {
	text-align: center;
	font-size: 1rem;
	line-height: 1;
	margin: 0 0 50px;
}
.sec-title .en {
    font-family: Cambria;
    letter-spacing: .01em;
    color: #2258b5;
}
.sec-title .ja{
	display: block;
	font-size: 2rem;
	letter-spacing: .1em;
    margin: 12px 0 0;
    font-weight: bold;
}
.sub-title {
	font-size: 1.375rem;
    font-weight: bold;
	text-align: center;
    overflow: hidden;
	margin: 0 0 50px;
}
/*.sub-title span {
	position: relative;
	padding: 0 55px;
	color: #2258B5;
    letter-spacing: .15em;
}
.sub-title span:before,
.sub-title span:after {
	position: absolute;
    top: 50%;
    content: '';
    width: 400%;
    height: 1px;
    background-color: #ccc;
}

.sub-title span:before {
  left:100%;
}
.sub-title span:after {
  right: 100%;
}*/
@media screen and (max-width: 1023px){
	.sub-title {
    	margin: 0 0 20px;
	}
}
@media screen and (max-width: 767px){
	.sec-title {
    	margin: 0 0 20px;
	}
	.sec-title .ja {
    	font-size: 1.5rem;
	    margin: 5px 0 0;
	}
	.sub-title {
    	font-size: 1.125rem;
    	margin: 0 0 14px;
	}
	.sub-title span {
    	padding: 0;
	}
	.sub-title span:before {
    	left: -80px;
	}
	.sub-title span:after {
    	right: -70px;
	}
	.sub-title span:before, 
	.sub-title span:after {
    	width: 60px;
	}
}
/* --------------------------------------------------- リンクボタン */
.more {
	text-align: center;
}
.more a {
    display: block;
    max-width: 200px;
    padding: 14px 0;
    border-radius: 30px;
    font-weight: bold;
    transition: .5s;
    color: #fff;
    background: #29B988;
    margin: 0 auto;
    letter-spacing: .1em;
}
.more.big a {
	max-width: 600px;	
}
.more a:hover {
	background: #5ec6ef;	
}
.more a span {
    position: relative;
	letter-spacing: .15em;
}
.more a span::after {
    font-family: FontAwesome;
    content: '\f054';
	color: #fff;
    position: absolute;
    top: 3px;
	right: -24px;
    font-size: 12px;
    transition: .5s;
}
.more.gray a {
    background: #383838;
}
.more.gray a:hover {
	background: #999;	
}
@media screen and (max-width: 767px){
	.more a span {
		letter-spacing: .15em;
	}
	.more {
    		margin: 30px auto 0;
	}
	.more a {
		max-width: 80%;
    	display: block;
    	padding: 15px 5px;
	}
	.thumbnail-title {
		font-size: 1rem;
	}
}
@keyframes slideText100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
	.more-btn {
		margin: 30px 0 0;
	}
	.btnlinestretches {
		width: 90%;
	}
}
/* ======================================================
/*               ++ アニメーション ++
   ====================================================== */
.fuwat {
	opacity : 0;
	transform: translateY(20px);
	transition: all 1.5s;
}
@media screen and (max-width: 600px) {
	.fuwat {
  		transition: all .5s;
	}
}
/* ----- 画像ホバー -----*/
figure {
	margin: 0 !important;
}
figure.zoom {
	overflow: hidden;
}
figure.zoom img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: .8s ease-in-out;
  transition: .8s ease-in-out;
}
figure.zoom:hover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
/* ======================================================
/*            ++ header ++
   ====================================================== */
.header {
    height: 80px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 9999;
    border-top: 8px solid #29B988;
}

.header.sticky {
	box-shadow: rgb(0 0 0 / 5%) 0 0 10px 3px;
}

.header .container{
	margin: 0 auto;
	position: relative;
}

.header .logo-method {
    background: #29B988;
    color: #fff;
    position: absolute;
    padding: 13px 12px;
    border-radius: 0 0 10px 10px;
    left: 20px;
    text-align: center;
    line-height: 1.3em;
    font-weight: 500;
}

.header .logo {
    position: absolute;
    top: 14px;
    left: 145px;
    text-align: center;
}

.header .logo h1 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    color: #29B988;
}

.header .logo p {
    font-weight: bold;
    margin: 8px 0 0;
    line-height: 1;	
	text-align: center;
    font-size: .8rem;
	letter-spacing: 0;
}

.header .nav {
    max-width: 1000px;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.header .nav-item {
    display: inline-block;
    vertical-align: top;
    line-height: 70px;
    letter-spacing: .05em;
    font-weight: bold;
    cursor: pointer;
    color: #333;
    text-align: center;
    margin: 0 2% 0 0;
    transition: .4s;
}

.header .nav .nav-item:last-child {
	margin: 0;
	border: none;
}

.header .nav-item.el_pdfBtn {
    margin: 0 1% 0 0;
}

.header .nav .nav-item.el_pdfBtn a {
    color: #ffffff;
    background: #FF9800;
    padding: 0 15px;
    border-radius: 60px;
    line-height: 3em;
    transition: .2s;
}

.header .nav-item.el_ctBtn {
    margin: 0 1% 0 0;
}

.header .nav .nav-item.el_ctBtn a {
    color: #ffffff;
    background: #ffaf17;
    padding: 0 15px;
    border-radius: 60px;
    line-height: 3em;
    transition: .2s;
}

.header .nav .nav-item.el_ctBtn a {
    color: #ffffff;
    background: #29B988;
    padding: 0 15px;
    border-radius: 60px;
    line-height: 3em;
    transition: .2s;
}

.header .nav .nav-item.el_ctBtn.el_navBtn_login a{
    background: #ff6182;
}

.header .nav .nav-item:last-child a {
    color: #ffffff;
    background: #2258b5;
    padding: 0 15px;
    border-radius: 60px;
    line-height: 3em;
    transition: .2s;
}

.header .nav-item a {
    display: block;
    font-size: 14px;
}

.header .nav-item a i {
    padding: 0 7px 0 0;
    font-size: 14px;
}

.header .nav-item.m-block {
	display: none;
}

.header .nav-title:hover {
    color: #29b988;
}

.header .nav .nav-item.el_ctBtn a:hover {
    color: #ffe818;
    transition: .2s;
}

.header .nav .nav-item:last-child a:hover {
    color: #ffe818;
    transition: .2s;
}

.header .nav-title:hover:after {
	color: #a0d8ef;
}

.header.sticky .nav-title:hover:after {
	color: #0073a8;
}

.header.sticky .nav-title:after {
	color: #333;
}

.header .nav-title.single:after{
	display: none;
}

.header .nav-title.is-active {
	background: #f5f5f5;
	color:#0073a8;
	transition: background .2s ease;
}

.header .nav-title.is-active:after{
    content: '\f0d8';
	color: #0073a8;
}

.header .panel{
	position: absolute;
	top: 70px;
	left: 0;
	right: 0;
	margin: auto;
	display: none;
	background: #f5f5f5;
	width: 100%;
	z-index: 999;
}

.header .panel-inner{
	padding: 70px 3% 100px;
	max-width: 1300px;
	margin: 0 auto;
}

.header .index-list > li {
	display: inline-block;
	float: left;
    vertical-align: top;
    margin: 0 2% 1% 0;
	width: 32%;
	padding: 0;
	text-align: center;
}

.header .index-list > li.m-block {
	display: none;
}

.header .index-list > li:nth-child(3n) {
	margin: 0 0 2% 0;
}

.header .index-item p span {
	position: relative;
    font-weight: bold;
	font-size: 1rem;
	letter-spacing: .1em;
}

.header .index-item a {
	transition: .2s;
}

.header .index-item p span::after {
	font-family: FontAwesome;
    content: '\f054';
	color: #ccc;
    position: absolute;
    top: 3px;
    right: -22px;
    font-size: 11px;
	font-weight: normal;
}

.header .index-item a:hover,
.header .index-item a:hover p span::after {
	color: #0073a8;
}

.header .index-item a:hover p::after {
    right: 10px;	
}

.header .mail {
	position: absolute;
	top: 0;
	right: 0;
	line-height: 70px;
	text-align: center;
	display: inline-block;
	background: #0073a8;
}

.header .mail a {
	color: #fff;
	letter-spacing: .1em;
	padding: 0 30px 0 34px;
	font-weight: bold;
}

.header .mail-icon,
.header .form-link{
	display: none;
}

@media screen and (max-width: 1450px) {
	.header .logo h1 {
    	font-size: 1rem;
	}
	.header .logo p {
		font-size: .55rem;
	}
	.header .nav {
    	max-width: 940px;
	}
    .header .nav-item a {
        font-size: 13px;
    }
    .header .logo {
        left: 135px;
    }
}

@media screen and (max-width: 1320px) {
    .header .nav-item {
        margin: 0 1% 0 0;
    }
    .header .nav .nav-item.el_ctBtn a {
        padding: 0 10px;
    }
}

@media screen and (max-width: 1220px) {
	#mo-panel {
		display:none;
		padding-top: 70px;
		height: 100vh;
    	overflow-y: scroll;
    	background: #fff;
	}
	.header .mail-icon {
		display: block;
		position: absolute;
    	top: 0;
    	right: 80px;
	}
    .header .mail-icon a {
        display: inline-block;
        position: relative;
        width: 70px;
        height: 70px;
        color: #fff;
        background: #2258b5;
    }
	.header .mail-icon a:before {
    	font-family: FontAwesome;
    	content: '\f0e0';
    	position: absolute;
    	top: 17px;
    	left: 17px;
    	font-size: 36px;
    	line-height: 1;
	}
	.header .logo {
    	top: 17px;
	}
	.header .logo h1 {
    	font-size: 1rem;
	}
	.header .nav {
    	max-width: 700px;
	}
	.header .logo p {
    	font-size: .58rem;
	}
	.header .container {
		padding: 0 10px;
	}
	.header .nav-title {
    	font-size: .75rem;
	}
	.header .mail a {
    	padding: 0px 15px 0 18px;
    	font-size: .75rem;
	}
	.header .nav .nav-item:last-child {
		background: none;
		border-top: 1px solid #eaeaea;
		border-bottom: 1px solid #eaeaea;
	}
	.header{
    	width: 100%;
    	position: fixed;
    	top: 0;
    	left: 0;
    	z-index: 999;
	}
	.header .nav {
    	max-width: 100%;
	}
	.header .container {
		padding: 0;
	}
	.header .nav-title {
		color:#333;
	}
	.header .nav-title:after {
		right: 28px;
	}
	.header .nav-title.is-active {
		background: #fff;
	}
    .header .nav {
        position: static;
        width: 100%;
        display: flex;
        flex-direction: column;
        margin: 6% 0 0;
    }
	.header .mail {
		display: none;
	}
    .header .form-link {
        display: block;
        max-width: 64%;
    }
    .form-link:hover {
        transform: translate(0, 3px);
        color: #fff;
        background: #ff8214;
        box-shadow: 0 2px 0 #874103;
    }
	.header .panel-inner {
    	padding: 37px 6% 104px;
	}
	.header .nav-item {
		display: block;
		width: 100% !important;
		position: relative;
		float: none;
		border-top: 1px solid #eaeaea;
		border-left: none;
	}
	.header .nav-item:last-child {
		border-bottom: 1px solid #eaeaea;
	}
	.header .nav-title {
		text-align: center;
    	font-size: 1.125rem;
		display: block;
		width: 100% !important;
		border-left: solid 2px #f5f5f5;
	}
	.header .index li {
		display: block;
		width:100%;
	}
	.header .index-list li,
	.header .index-list > li:nth-child(3n){
		display: inline-block;
    	width: 49%;
    	margin: 0 2% 1% 0;
		vertical-align: top;
		text-align: left;
	}
	.header .index-list li:nth-child(2n) {
    	margin: 0 0 1% 0;
	}
	.header .panel-inner {
		width: 100%;
    	margin: 0 auto;
		background: #f5f5f5;
	}
	.header .index-item a {
		line-height: 1.3em;
	}
	.header .search-icon {
		display: none;
	}
	.header .index-list li.m-block {
		display: inline-block;
	}
	.header .nav-title:after {
		font-size: 26px;
		color: #0073a8;
	}
	.header .index-item p span::after {
    	top: -1px;
    	right: -22px;
	}
    .header .nav .nav-item:last-child {
        border: none;
    }
    .header .nav .nav-item.el_ctBtn {
        border: none;
    }
    .header .nav .nav-item:last-child a {
        line-height: 60px;
        margin: 2% auto 0;
        width: 50% !important;
    }
    .header .nav .nav-item.el_ctBtn a {
        line-height: 60px;
        margin: 2% auto 0;
        width: 50% !important;
    }
    .header .nav .nav-item.el_pdfBtn a {
        line-height: 60px;
        margin: 2% auto 0;
        width: 50% !important;
    }
}
@media screen and (max-width: 1135px){

}

@media screen and (max-width: 767px) {
	.header{
		height: 70px;
		background: #fff;
	}
	.header .mail-icon {
    	display: none;
	}
	#mo-panel {
    	padding-top: 60px;
	}
    .header .logo {
        top: 14px;
        left: 95px;
        text-align: left;
    }
	.header .nav-title{
		line-height: 1em;
		padding: 20px;
	}
	.header .panel{
		top: 56px;
		padding: 30px 22px 12px;
	}
	.header .index li.right {
		padding: 0;
	}
	.header .index-list li, 
	.header .index-list > li:nth-child(3n),
	.header .index-list li:nth-child(2n) {
		width: 100%;
		margin: 0 0 16px;
	}
	.header .index-item a {
		display: block;
		line-height: 1.6em;
	}
	.header .panel-inner {
		padding: 0;
	}
	.header .index-item p {
    	background: none;
		padding: 0;
	}
	.header .nav-title {
    	font-size: 1rem;
		border-left: none;
	}
	.header .nav-title:after {
		top: 20px;
	}
	.header .index-item p span {
		font-size: .9375rem;
	}
	.header .nav-item.m-block {
		display: block
	}
		.header .mail-icon {
    	right: 62px;
	}
	.header .mail-icon a {
		width: 60px;
		height: 60px;
	}
	.header .mail-icon a:before {
    	top: 14px;
    	left: 14px;
    	font-size: 32px;
	}
    .header .logo-method {
        padding: 10px 0.95%;
        left: 10px;
        font-size: 0.8rem;
    }
    .header .logo h1 {
        font-size: 0.9rem;
    }
    .header .logo p {
        font-size: .52rem;
    }
    .header .nav .nav-item.el_ctBtn a {
        width: 90% !important;
    }
    .header .nav .nav-item:last-child a {
        line-height: 60px;
        margin: 3% auto 0;
        width: 90% !important;
    }
    .header .nav .nav-item.el_pdfBtn a {
        width: 90% !important;
    }
}
@media screen and (max-width: 389px){
	.header .mail-icon {
    	display: none;
	}
}
@media screen and (max-width: 340px) {
	.header .site-name a img {
    	width: 90px;
    	margin-right: 3px;
	}
	.header .site-name {
    	margin: 16px 0 0 10px;
	}
	.header .site-name h1 {
    	font-size: .6875rem;
	    margin: 2px 0 0;
	}
	.header .index-list li.m-block {
		display: block;
	    padding: 15px 15px 30px 37px;
	}
	.header .logo h1 {
    	font-size: 1rem;
	}
	.header .logo p {
    	font-size: .625rem;
	}
	.header .logo {
    	top: 15px;
		left: 10px;
	}
	#main-img #top-title h2 {
    	font-size: 1.5rem;
	}
}
/* --------------------------------------------------- Toggle Button */
#mo-nav-toggle {
	display: none;
	position: absolute;
	right: 15px;
	top: 12px;
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 101;
}
#mo-nav-toggle div {
	position: relative;
}
#mo-nav-toggle span {
    display: block;
    position: absolute;
    height: 6px;
    width: 100%;
    background: #29b988;
    left: 0;
    -webkit-transition: .35sease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35sease-in-out;
}
#mo-nav-toggle span:nth-child(1) {
	top: 0;
}
#mo-nav-toggle span:nth-child(2) {
	top: 20px;
}
#mo-nav-toggle span:nth-child(3) {
	top: 40px;
}
@media screen and (max-width: 1220px) {
	#mo-nav-toggle {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	#mo-nav-toggle {
		right: 16px;
		top: 16px;
		width: 30px;
		height: 28px;
	}
	#mo-nav-toggle span {
		height: 4px;
	}
	#mo-nav-toggle span:nth-child(1) {
		top: 0;
	}
	#mo-nav-toggle span:nth-child(2) {
		top: 12px;
	}
	#mo-nav-toggle span:nth-child(3) {
		top: 24px;
	}
}
/* --------------------------------------------------- #nav-toggle 切り替えアニメーション */
@media screen and (max-width: 1220px) {
	#mo-panel-close {
		display:none;
		position: fixed;
    	right: 22px;
    	top: 15px;
    	width: 50px;
    	height: 40px;
		cursor: pointer;
		z-index:99999;
	}
	#mo-panel-close div {
		position: relative;
	}
    #mo-panel-close span {
        display: block;
        position: absolute;
        height: 6px;
        width: 100%;
        background: #29b988;
        left: 0;
    }
	#mo-panel-close span:nth-child(1) {
		top: 17px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	#mo-panel-close span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	#mo-panel-close span:nth-child(3) {
		top: 17px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
}
@media screen and (max-width: 767px) {
	#mo-panel-close {
		right: 16px;
    	top: 10px;
		width: 30px;
		height: 30px;
	}
    #mo-panel-close span {
        height: 3px;
    }
}
/* ======================================================
/*                ++ フッター ++
   ====================================================== */
footer{
	background: #f5f5f5;
	padding: 80px 0 0;
	position: relative;
	text-align: center;
}
footer .f-logo{
	max-width: 320px;
	margin: 0 auto 20px;
}
footer h2 {
    color: #2258b5;
    font-weight: bold;
    letter-spacing: .1em;
    font-size: 1.25rem;
    margin: 0 0 10px;
    line-height: 1.3em;
}
footer .ratio.navi > li {
	padding: 0 15px;
	font-size: .875rem;
}
footer .ratio.navi > li a {
	letter-spacing: .1em;
	transition: .5s;
	font-weight: bold;
}
footer .ratio.navi > li a:hover {
	color: #005bac;
}
footer .tel .number{
	position: relative;
	padding: 0 0 0 22px;
	font-size: 1.25rem;
	letter-spacing: .1em;
}
footer .tel .number:before{
    font-family: FontAwesome;
	content: '\f095';
    position: absolute;
    top: 1px;
    left: 0;
    font-size: 18px;
    color: #666;
}
footer .link {
	margin: 30px 0 0;
}
footer .link > li {
	display: inline-block;
	vertical-align: middle;
}
footer .link > li:first-child {
	width: 160px;
	margin-right: 20px;
}
footer .link > li:nth-child(2) {
	width: 62px;	
}
footer .agk {
	background: #005bac;
	margin: 50px 0 0;
	padding: 9px 5px 7px;
}
footer .copyright {
	background: #0073a8;
	padding: 9px 5px 7px;
}
footer .copyright p,
footer .agk p {
	font-size: .875em;
	color: #fff;
	letter-spacing: .1em;
	line-height: 1;
}
footer .ratio.contact li {
	display: block;
}
@media screen and (max-width:1220px) {
	footer{
		padding: 30px 0 0;
	}
	footer .w-2-30_5-65 > li {
    	display: block;
    	width: 100%;
		margin: 0;
	}
	footer .w-2-30_5-65 > li:last-child {
		width: 100%;
	}
	footer .ratio.navi {
		margin: 30px 0 0;
		text-align: center;
	}
	footer .ratio.navi li {
		display: inline-block;
		width: 50%;
		padding: 0;
		margin: 0 0 5px;
		font-size: .9375rem;
	}
	footer .ratio.navi li:last-child {
		margin: 0 ;
	}
	footer .f-logo {
		max-width: 280px;
		 margin: 0 auto 20px;
	}
	footer .tel .number {
    	font-size: 1.5rem;
    	font-weight: bold;
	}
}
@media screen and (max-width:767px){
	footer .reception {
    	font-size: .75rem;
		margin: 0;
	}
	footer .agk {
		margin: 30px 0 0;
	}
	footer .copyright p {
    	font-size: .6875em;
	}
	footer .link {
    	margin: 20px 0 25px;
	}
	footer .link > li:first-child {
		width: 60%;
		margin: 0;
	}
	footer .link > li:nth-child(2) {
		width: 40%;
		margin: 0;
	}
	footer .link > li:first-child img {
		max-width: 180px;
		display: block;
		margin: 0 auto;
	}
	footer .link > li:nth-child(2) img {
		max-width: 80px;
		display: block;
		margin: 0 auto;
	}
	footer h2 {
    	margin: 0 0 10px;
	}
}
/* ======================================================
/*               ++ topスクロール(右下固定) ++
   ====================================================== */
#page__top {
width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 0;
    background: #001e43;
    opacity: 0.8;
    z-index: 999;
}
#page__top a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
#page__top a::before {
	font-family: FontAwesome;
	content: '\f106';
	font-size: 40px;
	color: #fff;
	position: absolute;
	width: 50px;
	height: 50px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
	line-height: 48px;
}
@media screen and (max-width: 767px) {
	#page__top {
    	width: 33px;
    	height: 33px;
		bottom: 49px;
	}
	#page__top a {
		width: 33px;
		height: 33px;
	}
	#page__top a::before {
		font-size: 26px;
		width: 20px;
		height: 20px;
		line-height: 1em;
		bottom: 7px;
	}
}
/* ======================================================
/*                      ++ 装飾 ++
   ====================================================== */

.slash {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    font-size: 1.2rem;
    font-weight: 500;
}
 
.slash::before,
.slash::after {
  content: "";
  width: 25px;
  height: 1px;
  background-color: #000;
  margin: 0px 4px 4px;
}
 
.slash::before {
  transform: rotate(45deg);
}
 
.slash::after {
  transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
    .slash {
        font-size: 0.9rem;
    }
}
/* ======================================================
/*                      ++ ページネーション ++
   ====================================================== */
.pagenation {
    margin: 60px auto 0;
}
.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagenation ul {
    margin: 0 auto;
    text-align: center;
}
.pagenation li {
    list-style: none outside none;
    margin-left: 3px;
    display: -moz-inline-box;
  display: inline-block;
  /*display: inline;*/

}
.pagenation li:first-child {
    margin-left: 0;
}
.pagenation li.active {
    background-color: #999999;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 10px 15px;
}
.pagenation li a {
    background: none repeat scroll 0 0 #CCCCCC;
    border-radius: 3px;
    color: #FFFFFF;
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}
.pagenation li a:hover {
    background-color: #444444;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}
@media screen and (max-width: 768px) {
	.pagenation {
		margin: 30px auto 0;
	}
}

/* ======================================================
/*                ++ アニメーション ++
   ====================================================== */

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* アニメーション（ふわっと）*/
.fade {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 0.5s;
}
.fade.active {
	opacity: 1;
	transform: translateY(0px);
}
.warm {
    color: #B23A3A;
    font-weight: bold;
}
.sent a {
  color: #218497;
  text-decoration: underline;
}

.sent a:hover {
  opacity: 0.7;
}