@charset "utf-8";
/*********************************************************************************************************************
* リサイズ  825px以下から
**********************************************************************************************************************/

@media screen and (max-width: 825px){
	/*
	共通設定
	-------------------------------*/
	img{
		width: 100%;
	}

	/*画像切り替え　20180516*/
	.fig-pc{
		display: none;
	 }
	.fig-sp{
		display:block;
	}


	.headline-fg {font-size: 3.5rem;}
	.headline-xl { font-size: 3rem;}
	.headline-xm { font-size: 2.2rem;}
	.contents-c .headline-xm {
	    font-size: 2.2rem;
	}

	.contents-c {
	    padding: 10px 0 10px;
	}




	/*スライダー*/
	.sldr{
		position: relative;
		margin:0;
		width: 100%;
		height: 60vh;
		z-index: 1;
	}
		.sldr .swiper-slide{
			height: 60vh;
		}

	/*テーブル*/
.tbl-a{
	width: 820px;
	font-size: 1.2rem;
}

	.tbl-a tbody tr th .cell-title {
	    padding: 10px;
	    font-size: 1.2rem;
	}
	.tbl-a thead tr th{
		width: 230px;
	}

	.tbl-a thead tr th:nth-child(1) {
	    width: 129px;
	}

	.tbl-a tbody tr th:nth-child(1)>img {
	    width: 80px;
	}
	.tbl-a tbody tr td ul>li{
		font-size: 1.2rem;
	}


	/*定義テーブル*/
	.dl-tbl dl,
	.dl-tbl dl>dt,
	.dl-tbl dl>dd{
		display: block;
		width: 100%;
		padding:0.5em 0;
		border-bottom: none;
	}

	.dl-tbl dl>dt{
		border-bottom: 1px dashed #A4A4A4;
	}


	/*
	header
	-------------------------------*/
	header {
	    padding-top: 0 !important;
		position: fixed;
		width: 100%;
		top:0;
		left:0;
		z-index: 1000;
		background: #fff;
	}
		header .n-wrap{
			padding: 40px 0;
		}
			header.block::before{
				display: block;
			}
			header.active::before{
				opacity: 1;
			}

	/*sp用ヘッド*/
	header .sp-head {
		position: absolute;
		width: 100%;
		top:0;
		left:0;
	    height: 70px;
	    background: #fff;
	    z-index: 11000;
	}

	/*logo*/
	header .sp-head .logo>a {
	    width: 120px;
	    display: inline-block;

	}
	header .sp-head .logo>a>img{
	    width:100%;
	}
	header .h-wrap nav a:hover{
		opacity: 1 !important;
	}

	/*ナビ*/
	header .h-wrap nav>ul {
		padding-top: 70px;
	    padding-left: 0;
	}
		header .h-wrap nav>ul>li{
			display: block;
			padding: 0;
			border-bottom: 1px solid #535353;
		}
			header .h-wrap nav>ul>li:first-child{
				border-top: 1px solid #535353;
			}
			header .h-wrap nav>ul>li:nth-last-child(2) {
			    padding-right: 0;
			}

			header .h-wrap nav>ul>li>a,
			header .h-wrap nav>ul>li>span {
			    padding: 15px 25px
			}
				header .h-wrap nav>ul>li>a>em,
				header .h-wrap nav>ul>li>span>em,
				header .h-wrap .ch-nav>ul>li>a>em{
					display: inline-block;
					font-weight: bold;
					padding-right: 1em;
					color:#000;
				}
	header .h-wrap nav>ul>li:nth-last-child(2) {
	    float: none;
	}

	/*チャイルドナビ*/
	header .h-wrap .ch-nav{
		position: static;
		width: 100%;
		background: none;
		text-align: left;
	}
		header .h-wrap .ch-nav>ul{
			opacity: 1 !important;
			padding: 0;
			border-top: 1px solid #535353;
		}
			header .h-wrap .ch-nav>ul>li{
				display: block !important;
				padding:0;
				background: #e5eff4;
				border-bottom: 1px solid #b5b5b5;
			}
				header .h-wrap .ch-nav>ul>li:last-child{
					border-bottom: none;
				}

				header .h-wrap .ch-nav>ul>li>a{
					display: block;
					color:#707070;
					padding: 15px 25px
				}

					header .h-wrap .ch-nav>ul>li>a::after {
						display: none;
					}
			header .h-wrap nav>ul>li>a,
			header .h-wrap nav>ul>li>span{
				position: relative;
			}
			/*親メニュー矢印*/
			header .h-wrap nav>ul>li>span::after,
			header .h-wrap nav>ul>li>a::after {
			    content: "";
			    position: absolute;
			    display: block;
			    top: 50%;
			    right: 24px;
			    margin-top: -0.15em;
			    width: 0.8em;
			    height: 0.8em;
			    -webkit-transform: translate(0, -50%) rotate(45deg);
			    transform: translate(0, -50%) rotate(45deg);
			    border-right: 1px solid #707070;
			    border-bottom: 1px solid #707070;
			}


			header .h-wrap .ch-nav>ul>li>a::before {
			    content: "";
			    position: absolute;
			    display: block;
			    top: 50%;
			    right: 15px;
			    width: 1em;
			    height: 1em;
			    margin-top: -0.5em;
			}

	header .h-wrap .ch-nav>ul>li>a>em{
		display: inline-block;
	}

	/*子メニューオープン*/
	header .h-wrap nav>ul>li>span.active::after{
	    content: "";
	    position: absolute;
	    display: block;
	    top: 50%;
	    right: 24px;
	    margin-top: .3em;
	    width: 0.8em;
	    height: 0.8em;
	    -webkit-transform: translate(0, -50%) rotate(-135deg);
	    transform: translate(0, -50%) rotate(-135deg);
	    border-right: 1px solid #707070;
	    border-bottom: 1px solid #707070;
	}



	header .h-wrap nav>ul>li{
		position: relative;
	}
	header .h-wrap .ch-nav>ul>li{
		position: relative;
	}

	/*子メニュー矢印*/
	header .h-wrap .ch-nav>ul>li::after{
	    content: "";
	    position: absolute;
	    display: block;
	    top: 50%;
	    right: 25px;
	    margin-top: 0;
	    width: 0.7em;
	    height: 0.7em;
	    -webkit-transform: translate(0, -50%) rotate(45deg);
	    transform: translate(0, -50%) rotate(45deg);
	    border-top: 1px solid #707070;
	    border-right: 1px solid #707070;
	}


	/*menu-btn*/
	body>header #menu-button{
		display: block;
		position: absolute;
		top: 15px;
		right: 11px;
		width: 45px;
		height: 35px;
		cursor: pointer;
		z-index: 1002;
	}

		body>header #menu-button>div{
			width: 30px;
			height: 2px;
			background: #191a61;
			position: absolute;
			-webkit-transition: all .5s;
			   -moz-transition: all .5s;
			    -ms-transition: all .5s;
			     -o-transition: all .5s;
			        transition: all .5s;
			        -webkit-border-radius: 10%;
			        -moz-border-radius: 10%;
			        -ms-border-radius: 10%;
			        -o-border-radius: 10%;
			        border-radius: 10%;
		}
		body>header #menu-button>div:nth-child(1){
			top: 25%;
			left: 10px;
			-webkit-transform: translate(0%,0%);
			   -moz-transform: translate(0%,0%);
			    -ms-transform: translate(0%,0%);
			     -o-transform: translate(0%,0%);
			        transform: translate(0%,0%);
		}
			body>header #menu-button.active>div:nth-child(1) {
				top: 50%;
				-webkit-transform: translate(-5%,-50%) rotate(45deg);
				   -moz-transform: translate(-5%,-50%) rotate(45deg);
				    -ms-transform: translate(-5%,-50%) rotate(45deg);
				     -o-transform: translate(-5%,-50%) rotate(45deg);
				        transform: translate(-5%,-50%) rotate(45deg);
			}
		body>header #menu-button>div:nth-child(2){
			top: 50%;
			left: 10px;
		}
			body>header #menu-button.active>div:nth-child(2) {
				opacity: 0;
			}
		body>header #menu-button>div:nth-child(3){
			top: 75%;
			left: 10px;
			-webkit-transform: translate(0%,0%);
			   -moz-transform: translate(0%,0%);
			    -ms-transform: translate(0%,0%);
			     -o-transform: translate(0%,0%);
			        transform: translate(0%,0%);
		}
			body>header #menu-button.active>div:nth-child(3) {
				top: 50%;
				-webkit-transform: translate(-5%,-50%) rotate(-45deg);
				   -moz-transform: translate(-5%,-50%) rotate(-45deg);
				    -ms-transform: translate(-5%,-50%) rotate(-45deg);
				     -o-transform: translate(-5%,-50%) rotate(-45deg);
				        transform: translate(-5%,-50%) rotate(-45deg);
			}

		/*ナビ*/
		header nav.show,
		header nav{
			position: absolute;
			width: 100%;
			top:0;
		    left:0;
			 overflow: auto;
		    -webkit-overflow-scrolling: touch;
		    background: #fff;
		    opacity: 0;
		    z-index: 1001;
		    display: none;
		    text-align: center;
		}
			header.active nav{
				display: block;
				opacity: 1;
				animation-duration: 0.7s;
				animation-name: fade-in;
				-moz-animation-duration: 0.7s;
				-moz-animation-name: fade-in;
				-webkit-animation-duration: 0.7s;
				-webkit-animation-name: fade-in;
			}

		@keyframes fade-in {
			0% { display: none; opacity: 0;}
			1% {display: block;opacity: 0;}
			100% { display: block; opacity: 1;}
		}

		@-webkit-keyframes fade-in {
			0% { display: none; opacity: 0;}
			1% { display: block; opacity: 0;}
			100% { display: block;opacity: 1;}
		}

		@keyframes fade-out {
			0% { display:block; opacity: 1;}
			99% { display: block; opacity: 0;}
			100% { display: none; opacity: 0;}
		}

		@-webkit-keyframes fade-out {
			0% { display: block; opacity: 1;}
			99% { display: block; opacity: 0;}
			100% { display: none;opacity: 0;}
		}

	/*ロゴ*/
	header .sp-head .logo {
	    left: 10px;
	}

	header .sp-logo{
		display: block;
		text-align: center;
	}
		header .sp-logo>div{
			display:inline-block;
			width: 70px;
			height: 122px;
			background: url(../img/logo_sp.png) center center no-repeat;
			-webkit-background-size: 100% auto;
			background-size: 100% auto;
		}


/*
footer
-------------------------------*/

footer .grid-two {
  display: block;
}

footer .grid-two>div:nth-child(1),
footer .grid-two>div:nth-child(2) {
    width: 100%;
}

footer .link-tbl>div {
    display: block;
    padding:50px 0;
    height: auto;
    position: relative;
}
footer .link-tbl>div>a .title {
    position: static;
    width: 100%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    font-weight: bold;
    font-size: 2.4rem;
    line-height: 1.2em;
}

    footer .link-tbl {
		display:table;
		height: auto;
		width: 100%;
	}

    footer .link-tbl>div {
    	display: table-cell;
    	width: 50%;
    	vertical-align: center;
	    padding: 0;
	}
	    footer .link-tbl>div>a {
		    display: block;
		    height: auto;
		    padding: 15px 20px;
		}

		footer .link-tbl>div>a .title {
		    line-height: 1.2em;
		    font-size: 1.7rem;
		}

		footer .link-tbl>div>a .title em {
		    font-size: 2rem;
		}


	footer .enter {
	    background: #006ab4 url(../img/icon_enter.png) 92% 82% no-repeat;
	}

	footer .grid-two>div:nth-child(2) .grid-tbl>div:nth-child(2) {
	    display: none;
	}

	footer .grid-two>div:nth-child(2) .grid-tbl>div {
	    display: block;
	    max-width: 320px;
	    width: 100%;
	    margin:0 auto;
	    text-align: left;
	    padding-left: 10px;
	    padding-right: 10px;
	}

	footer .grid-two>div:nth-child(2) .grid-tbl *{
	    font-size: 1.1rem;
	}


	footer .grid-two>div:nth-child(2) .f-inner {
	    padding-top: 20px;
	    padding-bottom: 20px;
	}

	footer .f-logo {
	    width: 80%;
	    display: block;
	    margin:0 auto 20px;
	}

	footer .approval-area {
	    padding: 16px 20px;
	    background: #fff;
	}

	footer .approval-area>figure{
	    max-width: 480px;
	    margin:0 auto;
	}

	footer .copy small{
		font-size: 1.1rem;
	}



/****************************************************************************************
トップページ
****************************************************************************************/
	.container {
	    padding: 70px 0 0 0;
	}

	/*スライダー*/
	.sldr {
		margin:0;
	    width: 100%;
	}
		.sldr .ly-logo {
			display: none;
			padding: 50px;
		}
		.sldr .ly-arw {
			display: none;
		}
		.sldr .ly-inr .ly-txt img {
		    width: 100%;
		    height: auto;
		    margin: 0 auto;
		}

	/*ニュースセクション*/
	.sct-news .n-head .n-more {
    	top: 19px;
	}

	.sct-news .wrap {
		padding: 10px 20px 10px;
	}

	/*ニュースリスト*/
	/*20180927修正*/
	.sct-news .n-list>li>a {
	    padding-left: 125px;
	}
		.sct-news .n-list>li>a>time {
			top:8px;
		    left: 13px;
		    color: #006ab4;
		    font-size: 1.5rem;
		}
		.sct-news .n-list li span.wshift{
		margin-left: 2.5rem;
	}

	/*ニュースリスト*/
	.sct-pagelinks .grid-two {
	    display: block;
	}
	.sct-pagelinks .grid-two>a {
  		  position: relative;
	    padding-top: 53%;
	    width: 100%;
	    margin-top: -2px;
	    margin-bottom: -2px;
	    overflow: hidden;
	    z-index: 1;
	}
	.sct-pagelinks .grid-two>a .title{
	    font-size: 2.4rem;
	    position: absolute;
	    top: 50%;
	    left:0;
	    width: 100%;
	    line-height: 1.2em;
	    text-align: center;
	    -webkit-transform: translate(0, -50%);
	    transform: translate(0, -50%);
    }

    	.sct-pagelinks .grid-two>a .title>em {
		    font-size: 3.2rem;
		    line-height: 1.2em;
		}
	.sct-pagelinks .grid-one {
	    display: block;
	}
	.sct-pagelinks .grid-one>a {
  		  position: relative;
	    padding-top: 53%;
	    width: 100%;
	    margin-top: -2px;
	    margin-bottom: -2px;
	    overflow: hidden;
	    z-index: 1;
	}
	.sct-pagelinks .grid-one>a .title{
	    font-size: 2.4rem;
	    position: absolute;
	    top: 50%;
	    left:0;
	    width: 100%;
	    line-height: 1.2em;
	    text-align: center;
	    -webkit-transform: translate(0, -50%);
	    transform: translate(0, -50%);
    }

    	.sct-pagelinks .grid-one>a .title>em {
		    font-size: 3.2rem;
		    line-height: 1.2em;
		}



/****************************************************************************************
セカンド ページ
****************************************************************************************/
	.main-contents {
	    padding: 0 0 30px 0;
	}

	/*ページヘッド 見出し*/
	.head-title{
		color:#fff;
		padding: 25px 20px;
	}

		.head-title>.headline-xl>spam{
			display: block;
		}

/*----------------------------------------
会社案内
----------------------------------------*/
	.contents-c .headline-xm {
	    font-size: 1.8rem;
	}

	.corporate .ly-box{
		padding-top: 50px;
		position: relative;
		z-index: 1;
	}
		.corporate .ly-box .ly-picture{
			position: static;
			width: 100%;
		}

	/*テキストレイヤー*/
	.corporate .ly-text{
		padding-top: 0px;
		padding:30px 15px 0;
	}
		.corporate .ly-text .inner{
			width: 100%;
			max-width: inherit;
			padding:20px;
		}
			.corporate .ly-text .inner .para{
				margin:1em 0;
			}

	/*定義テーブル*/
	.corporate .dl-tbl .ch-tbl
	.corporate .dl-tbl .ch-tbl>div,
	.corporate .dl-tbl .ch-tbl>div:nth-child(1),
	.corporate .dl-tbl .ch-tbl>div:nth-child(2){
	    display: block;
	    width: 100%;
	}
	.corporate .dl-tbl .ch-tbl>div:nth-child(1){
		margin-bottom: 20px;
	}

	.corporate .if-wrap,
	.corporate .if-wrap.min{
		padding-top:50%;
	}

	/*モットー*/
	.corporate .dl-tbl .motto {
	    color: #FF0000;
	    background: #FFF798;
	    padding: 1em;
	}
		.corporate .dl-tbl .motto>span{
			display: block;
			padding-left: 0;
		}
			.corporate .dl-tbl .motto .br{
				display: none;
			}

	/*番号リスト*/
	.corporate .dl-tbl .lmark {
	    margin-top: 10px;
	    padding-left: 1em;
	}

	/*会社案内：ごあいさつ
	-------------------------------*/
	.greetings .headline-xm {
	    font-size: 1.8rem;
	}


	.greetings .ly-box{
		padding-top: 30px;
		padding-right:0px;
	}

	/*会社案内：沿革
	-------------------------------*/
	.history {
	    padding: 10px 20px 10px;
	}

		.history-list .head {
		    margin-top: 25px;
		    font-size: 1.7rem;
		    font-weight: bold;
		    color: #0068B6;
		    padding: 0.2em 0.1em;
		    border-bottom: 1px solid #0068B7;
		}

	/*----------------------------------------
	個人情報保護
	----------------------------------------*/

	.contents-c .lm-wrap {
	    padding: 0px;
	}
	.contents-c .lm-wrap .mg-b25	{margin-bottom: 15px !important;}


	/*会社案内：企業理念
	--------------------------------*/
.contents-b {
    margin: 25px 0;
}

.contents-b .text-block{
	max-width: 500px;
	margin:0 auto;
}

.contents-b.group1 .fig{
	width: 50%;
	display: block;
	margin:0 auto;
}

.contents-b .text-block .br{
	display: none;
}

	.contents-b .text-block>p {
	    margin-bottom: 20px;
	    text-align: left;
	}

	.contents-b .sct-ch-group .grid-list,
	.contents-b .sct-ch-group .grid-list>li {
		display: block;
		width: 100%;
	}

	.contents-b .text-block>p.lead {
    	font-size: 1.4rem;
    	text-align: center;
	}

	.sub-title {
	    font-size: 1.2rem;
	}

	.contents-b .sct-ch-group .headline {
    	font-size: 2.4rem;
	}

	.contents-b .sct-ch-group .grid-list>li {
	    padding: 0px 20px 0;
	    margin-bottom: 5px;
	}

	.contents-b .sct-ch-group {
	    margin-top: 30px;
	    padding: 5px 0 10px;
	}

	.contents-b  .icon05{
		margin-bottom: 20px;
	}
	.contents-b .num-head-list>li p.detail{
		font-size: 90%;
		margin: 10px 0;
		padding: 0px 0 0px 10%;
		text-align: left;
	}


/*サービス domain
--------------------------------*/
.contents-a .head-lead {
    text-align: center;
    font-size: 1.4rem;
/*    font-size: 3vw;*/
    padding: 30px 0 20px;
    color: #434343;
    max-width: 493px;
    margin:0 auto;
    text-align: left;
}

.contents-a .head-lead .br{
	display: none;
}

.domain .fig {
    display: block;
    margin-bottom: 10px;
}

.domain .resp-wrap{
	overflow-x: scroll;
}

/*サービス：情報管理体制
--------------------------------*/
.license{
	display: block;
}

		.license>div:nth-child(1){
			text-align:center;
			padding-left: 0px;
			width: 100%;
			margin-top: 20px;
			margin-bottom: 20px;
		}
			.license>div:nth-child(1) img{
				max-width: 150px;
			}


		.license>div:nth-child(2){
			text-align: center;
			width: 100%;
			padding-right: 0;
		}
		.license>div:nth-child(2){
			font-size: 1.2rem;
		}

}

/***********************************************************************************************************************
* リサイズ  425px以下から
***********************************************************************************************************************/
/*20180927修正*/
@media screen and (max-width: 425px){

	.sct-news .n-list>li>a {
	    padding-left: 10px;
	}

	.sct-news .n-list>li>a>time {
		display: block;
		position: static;
	    top: 8px;
	    left: 13px;
	    color: #006ab4;
	    font-size: 1.4rem;
	}
}


/***********************************************************************************************************************
* リサイズ  375px以下から
***********************************************************************************************************************/
@media screen and (max-width: 375px){

	/*ニュースセクション*/
	.sct-news .n-head {
	    position: relative;
	    padding: 1em 0 2em;
	}

		.sct-news .n-head .n-more {
		    top: 48px;
		    font-size: 1.2rem;
		    padding-left: 1.5em;
		    background: url(../img/icon_arw.png) 0 3px no-repeat;
		}

	.sub-title {
	    font-size: 1.1rem;
	}

	.contents-b .sct-ch-group .title {
	    font-size: 1.6rem;
	    text-align: center;
	    padding: 0.8em 0.5em;
	}
	.contents-b .sct-ch-group .title>span {
	    display: block;
	    font-size: 1.6rem;
	}
	.contents-b .sct-ch-group p {
	    font-size: 1.4rem;
	    text-align: left;
	}

	.contents-b .num-head-list>li p.detail{
		font-size: 90%;
		margin: 10px 0;
		padding: 0px 0 0px 5%;
		text-align: left;
	}
	/*サービス
	--------------------------------*/
/*	.contents-a .head-lead {
		font-size: 3vw;
		text-align: left;
	}
	.contents-a .head-lead {
		font-size: 3vw;
	}
*/



}