@charset "utf-8";
/* CSS Document */
/*
Theme Name: デザインテンプレート縦
Theme URI:
Description: 2016年製作
Author: エクナ株式会社
*/

*{
	margin:0;
	padding:0;
	border:0;
	font-size:18px;
	line-height:1.3em;
	
	text-decoration:none;
	font-weight:normal;
	font-style:normal;
}

body, textarea { font-family: 'Zen Kaku Gothic New', sans-serif; }
input, select { font-family: 'Zen Kaku Gothic New', sans-serif; }
/*-------*/

html{
	overflow-y: scroll;
	min-width:1020px;
}

body{
	min-width:1020px;
	background-repeat:repeat-y;
	background-position:center;
}

p{
	text-align:justify;
	margin-bottom:13px;
}

a{
	text-decoration:none;
	transition: .2s;
}

a:hover{
	opacity: .8;
}

.red{
	color:#F30;
}

.center{
	text-align:center;
}

.right{
	text-align:right;
}

/*記事内の画像*/
.aligncenter{
	display:block;
	margin-left: auto;
	margin-right:auto;
}

.alignleft{
	float:left;
	margin-right:10px;
	margin-bottom:10px;
}
			
.alignright{
	float: right;
	margin-left:10px;
	margin-bottom:10px;
}

/*送信メッセージ*/
.wpcf7-response-output{
	color:#C30;
	text-align:center;
	margin-top:20px;
}

/*記入漏れ*/
.wpcf7-not-valid-tip-no-ajax{
	color:#C30;
	margin-left:5px;
	text-decoration:underline;
}
			
sup{
	font-size:10px;
}

iframe{/*グーグルマップとか*/
}

dt{
	font-weight:bold;
}

strong{
	font-weight: bold;
}

em{
	font-style:italic;
}

del{
	text-decoration: line-through;
}

blockquote{
	color:#999;
	padding:30px;
	font-style:oblique;
	text-align:justify;
}

blockquote p{
	font-style:oblique;
	text-align:justify;
}

td p{
	text-align:justify;
	}
	
/*パンくずリスト*/
#p_list{
	margin-top:5px;
	margin-bottom:5px;
}

#p_list p{
	text-align:right;
	font-size:small;
}

#p_list a{
	font-size:90%;
}

#p_list a:hover{
}


/*=====================================*/

		/*リスト*/
		#main .text ul{
			margin-left:30px;
			list-style-type:disc;
		}
		
		#main .text ol{
			margin-left:30px;
			list-style-type:decimal;
		}
		
		#main .text li{
		}


/*=====================================*/

		/*テーブル*/
		table{
			border-collapse:collapse;
			margin-bottom:15px;
		}
		
		tr{
		}
		
		th{
			padding:10px;
			white-space:nowrap;
			font-weight:bold;
			text-align:center;
		}
		
		td{
			padding:10px;
		}
		
		td p{
			font-size:16px;
			line-height:1.3em;
			text-indent:0;
			margin-bottom:10px;
			margin-top:10px;
		}

		/*フォーム*/
		form{
			padding-left:15px;
		}
		
			form fieldset{
				overflow:hidden;
			}
			
			form legend{
				color: #F60;
				font-weight:bold;
				font-size:16px;
				letter-spacing:0.3em;
				margin-bottom:15px;
			}
			
			form label{
				cursor:pointer;
			}
			
			form input{
			}
			
			form input[type="text"]{
				border:1px solid #CCC;
				width:200px;
				margin-left:20px;
			}
			
			form input[type="email"]{
				border:1px solid #CCC;
				width:200px;
				margin-left:20px;
			}
			
			form input[type="checkbox"]{
				margin-left:20px;
			}
			
			form input[type="radio"]{
				margin-left:20px;
			}
			
			form select{
				border:1px solid #CCC;
				margin-left:20px;
				cursor:pointer;
			}
			
			form textarea{
				vertical-align:top;
				width:500px;
				margin-left:20px;
			}
			
			form input[type="submit"]{
				width:200px;
				height:40px;
				margin-left:175px;
				color:#FFF;
				font-size:16px;
				font-weight:bold;
				cursor:pointer;
			}
			
			form input[type="submit"]:hover{
			}			
			
			/*ページトップへ*/
			#go_top{
				height:50px;
				line-height:55px;
				text-align:right;
				clear:both;
				overflow:hidden;
			}
			
			#go_top a{
				margin-right:3px;
				text-align:right;
				line-height:2em;
				float:right;
				color:#369;
			}
			
			#go_top a:hover{
			}
			
			
#wrap_top{
	clear:both;
	overflow:hidden;
}

#wrap_bottom{
	clear:both;
	overflow:hidden;
}

#wrap{
	background-image: url(./img/logo_t22.png);
    background-repeat: no-repeat;
    background-position: bottom right;
}

/*----------------ヘッダー----------------*/	
#head{
	display: flex;
    justify-content: space-between;
    align-items: center;
	gap: .5em;
    max-width: 1200px;
    padding: 20px 0;
    margin: 0 auto;
    overflow: hidden;
}

	/*会社名*/
	#head h1{
		font-size: 36px;
		padding-left: 54px;
		position: relative;
	}
	
	#head h1::before {
		content: '';
		display: block;
		width: 54px;
		height: 54px;
		background-image: url(./img/logo_w.png);
		background-size: contain;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 0;
	}

	#head h1 a{
		font-size:36px;
		text-decoration:none;
		text-decoration:none;
	}

	
	
	/*問い合わせ先*/
	#head_add p{
		font-size: 15px;
		line-height: 1em;
		text-align: center;
		margin-bottom: 0;
	}
		
	#head_add p:first-line{
		font-size:15px;
	}
		
	#head_add p:last-line{
		font-size:15px;
	}
		
/*----------------コンテンツ　２カラム　左メニュー----------------*/
#cont{
	max-width:1200px;
	padding:20px;
	margin:0 auto;
	clear:both;
	overflow:hidden;
	min-height:700px;
}

		/*メイン画像*/
		.slick-slide{
			height: 80vh !important;
			background-position: center;
			background-size: cover;
			background-repeat: no-repeat;
			text-indent: -100%;
			overflow: hidden;
		}
		.slide.slick-slide::before {
			content: '';
			display: block;
			width: 100%;
			height: 100%;
			/* background-color: rgb(51 51 51 / 40%); */
		}
		
		/*パンくずリスト*/
		#p_list{
		}

	/*----------------左メニュー----------------*/
	#menu{
		width:185px;
		float:left;
	}
	
	#menu ul{
		list-style-type:none;
	}
	
	#menu li{
	
	}
	
	#menu li a{
		padding:1em;
		display:block;
		border: solid 1px #1d3d70;
		border-radius:5px;
		margin-bottom: 8px;
		font-weight:bold;
		text-decoration:none;
		transition:.2s;
	}
	
	#menu li a:hover,#menu li.current_page_item a{
		transition:.2s;
		border: solid 1px #cae7f2;
	}
	
	/*いまここ*/
	#menu .current-menu-item a{
	}
	
	
	/*----------------メイン ボックス二つ----------------*/
	/*トップページ*/
	.home #main_top{
		width:calc(100% - 225px);
		min-height:550px;
		overflow:hidden;
		float:right;
	}
	
	.home #main{
		width:100%;
		min-height:550px;
		overflow:hidden;
		float:right;
	}

	/*ページ*/
	#main {
		width: calc(100% - 225px);
		min-height:550px;
		overflow:hidden;
		float:right;
	}
	
	/*====================トップのみ====================*/
	
			/*お知らせ*/
			#news{
				margin-bottom: 1em;
				background-repeat: no-repeat;
				background-position: bottom;
				padding-bottom: 8px;
				border-top-left-radius: 50px;
				border-bottom-right-radius: 50px;
			}
			
			#news h3 {
				font-size: 120%;
				font-weight: 500;
				padding: .5em 2em;
				margin: .5em;
				display: inline-block;
				border-bottom: 3px dashed #3261ab;
			}
			
			/*見出しh4*/
			#news h4{
				padding:5px;
				margin-bottom:15px;
				margin-top:15px;
				font-size:100%;
				font-weight:bold;
			}
			
			/*見出しh5*/
			#news h5{
				padding:5px;
				font-size:100%;
				margin-bottom:15px;
				margin-top:15px;
				font-weight:bold;
			}
			
			/*見出しh6*/
			#news h6{
				padding:5px;
				font-size:100%;
				margin-bottom:15px;
				margin-top:15px;
				font-weight:bold;
			}
			
			#news ul{
				background-repeat:repeat-y;
				list-style-type:none;
				margin-left:0 !important;
				margin-bottom:0 !important;
				padding-bottom:10px;
			}
			
			#news li{
				max-width: 80%;
				margin: 0 auto;
				padding-bottom: 10px;
				padding-top: 10px;
				font-weight: bold;
			}
			
			#news li a{
				font-weight: 500;
			}
			
			#news li a:hover{
			}
			
			li#kako{
				border:0;
			}
		
			li#kako a{
				font-weight:normal;
			}
		
			#kako{
				text-align:right;
			}
		
			#kako a{
			}
			
		/*----------------ボックス　右----------------*/
		#top_right{
			width:780px;
			margin-top:10px;
			margin-bottom:10px;
		}
			
		#top_right h3{
			padding:10px;
			font-size:120%;
			font-weight:bold;
			margin-bottom:10px;
			margin-top:0 !important;
		}
		
		/*見出しh4*/
		#top_right h4{
			padding:5px;
			margin-bottom:15px;
			margin-top:15px;
			font-size:100%;
			font-weight:bold;
		}
		
		/*見出しh5*/
		#top_right h5{
			padding:5px;
			font-size:100%;
			margin-bottom:15px;
			margin-top:15px;
			font-weight:bold;
		}
		
		/*見出しh6*/
		#top_right h6{
			padding:5px;
			font-size:100%;
			margin-bottom:15px;
			margin-top:15px;
			font-weight:bold;
		}
			
		#top_right ul{
		}
			
		#top_right ul li{
		}
			
			
		/*------------ボックス　右ここまで------------*/
		
	/*================トップのみここまで================*/
	
	
		
	/*====================各ページ====================*/
	
		/*見出しh2*/
		h2 {
			background-position: center;
			position: relative;
		}

		h2 span {
			max-width: 1200px;
			margin: auto;
			display: block;
			color: #fff;
			font-size: 200%;
			padding: 50px;
			text-shadow: 3px 3px 5px #333;
		}
		
		/*見出しh3*/
		#main h3{
			padding:10px 10px 10px 15px;
			margin-bottom:1em;
			font-size:150%;
			font-weight:bold;
		}
		
		/*見出しh4*/
		#main h4 {
			padding: 5px 10px;
			margin-bottom: 1em;
			font-size: 130%;
			font-weight: bold;
		}
		
		/*見出しh5*/
		#main h5{
			padding:5px 10px;
			margin-bottom:15px;
			font-size:120%;
			font-weight:bold;
		}
		
		/*見出しh6*/
		#main h6{
			padding:5px;
			margin-bottom:15px;
			font-size:100%;
			font-weight:bold;
		}
		
		/*本文*/
		#main p{
			margin:auto 13px 1em;
		}
		
		/*リスト*/
		#main ul,#main dt{
			margin-left:30px;
			margin-bottom:10px;
			list-style-type:none;
		}
		
		#main ol{
			margin-left:30px;
			margin-bottom:10px;
		}
		
		#main li, #main dt {
			padding: 8px;
			margin: 0 0 13px 0;
			border-bottom: 1px dotted #aaa;
			border-left: 4px solid #3261ab;
		}
		
		/*テーブル*/
		#main table{
			border-collapse:collapse;
			margin-bottom:15px;
		}
		
		#main tr{
		}
		
		#main th{
			padding:10px;
			white-space:nowrap;
			font-weight:400;
			text-align:center;
			border: 1px solid #666666;
		}
		
		#main td{
			padding:10px;
		}
		
		#main td p{
			line-height:1.3em;
			text-indent:0;
			margin-bottom:10px;
			margin-top:10px;
		}
			
	
	/*================各ページここまで================*/
	/*================カテゴリー一覧================*/
	#cat_list ul{
		overflow:hidden;
	}

	#cat_list li{
		display:block;
		float:left;
		border-left:none;
		border-bottom:none;
	}

	/*================カテゴリー一覧ここまで================*/

/*----------------フッター----------------*/
#foot{
	width:980px;
	margin:0 auto;
	clear:both;
	overflow:hidden;
	padding-top:20px;
}
	
	/*フッターメニュー*/
	#foot_menu{
		margin-bottom:20px;
	}
	
	#foot_menu ul{
		overflow:hidden;
		list-style-type:none;
	}
	
	#foot_menu li{
		line-height:1em;
		height:1em;
		float:left;
		padding-right:15px;
		margin-right:15px;
	}
	
	#foot_menu ul li a{
		line-height:1em;
		text-decoration:none;
	}
	
	#foot_menu a:hover{
	}
	
	/*問い合わせ先*/
	#foot_add{
		min-width:200px;
		float:right;
	}
	
	#foot_add h3{
		font-size: 110%;
		font-weight:bold;
		margin-bottom: .5em;
	}
	
	#foot_add p{
		margin-bottom:3px;
	}
	
	/*アドレス*/
	address{
		clear:both;
		text-align:center;
		font-size:small;
		margin-bottom:15px;
	}
	
#sp_menu{
	display:none;
}


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

*{
	font-size:1em;
}

html{
	 width:100%;
	 min-width:300px;
}

body{
	 width:100%;
	 min-width:300px;
}



/*------- sp_header -------*/
#head{
	width:100%;
	height:auto;
	background-image:none;
	flex-direction: column;
	align-items: flex-start;
}

#head h1 {
	padding: 0 0 10px 54px;
}

#head h1::before {
	width: 48px;
    height: 48px;
}

#head h1 a{
	font-size:70%;
}

#head h2 a{
	font-size:7vw;
}

#head_add{
	height:auto;
}

#head_add p{
	font-size:4vw !important;
}

#head_add span{
	font-size:4vw !important;
}

.home #main_top{
	width:95%;
	margin:0 auto;
	float:none;
}

/*----sp_menu ----*/
#sp_menu {
	display: block;
}

.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 50px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #3584bb;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
	transition: .3s;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

#menu-btn-check {
    display: none;
}


.menu {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #3584bb;
    transition: all 0.5s;/*アニメーション設定*/
}
.menu ul {
    padding: 70px 10px 0;
}
.menu ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}

#menu-btn-check:checked ~ .menu {
    left: 0;/*メニューを画面内へ*/
}

/*------- sp_global navi -------*/

#menu{
	display:none;
}

/*---- sp_main ----*/
#main{
	min-width:300px;
	width:100%;
	padding: 1em;
}

#main img{
	max-width:100%;
	height:auto;
}

#main ul{
	width:95%;
	margin:0 auto;
}


#main h2{
	margin:8px 0 !important;
}

/*---- sp_sidemenu ----*/

#side_menu {
	display:none;
}

/*---- sp_contents ----*/

#cont{
	width:100%;
	float:none;
	padding-left:0px;
	padding-right:0px;
}

#cont h3{
	
}
#cont p{
	width:95%;
}

/*---- sp_news--*/

#news a{
	clear:both;
	display:block;
}

/*---- sp_fact_item ----*/
#fact_item{
	width:42%;
	margin:4px 1% 13px;
}

/*---- sp_footer ----*/

#foot{
	min-width:320px;
	width:95%;
	margin:0 auto;
}

#foot_menu{
	display:none;
}

#footer p:first-line{
	font-weight:bold;
	font-size:120%;
}

address{
	font-size:0.5em;
	width:100%;
	text-align:center;
}

/*---- go_top ----*/
	.pageTopBtn {
	display: none;
	position: fixed;
	bottom: 40px;
	right: 40px;
	width: 50px;
	height: 50px;
	margin-bottom: 0;
	border-radius: 15px;
	background-color: #666;
	background: rgb(50 97 171 / 50%);
	text-align: center;
	}
	.pageTopBtn a {
    display: block;
    width: 50px;
    height: 50px;
    background: url("./img/icon_pageTop.png") center 2px no-repeat;
    background-size: 40px auto;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    }
    .pageTopBtn:hover {
	background: rgb(50 97 171 / 50%);
	}
	.pageTopBtn {
    display: none;
    position: fixed;
    bottom: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    margin-bottom: 0;
    border-radius: 15px;
    background-color: #666;
    background: rgb(50 97 171 / 50%);
}

#go_top{
	display:none;
}

/*---- sp_table ----*/

iframe{
	width:100%;
	height:auto;
}

/*---- sp_table ----*/

table{
	border-collapse:collapse;
	width:95%;
	margin:0 auto 15px;
}
	
tr{
}
	
th{
	padding:1%;
	white-space:nowrap;
	font-weight:bold;
	text-align:center;
}
		
td{
	padding:1%;
}
	
td p{
	font-size:80%;
	margin:10px 0;
}



/*---- sp_form ----*/
form{
	padding-left:0 !important;
	width:95%;
	margin:0 auto;
}

form fieldset{
}

form legend{
	font-size:90%;
}
			
form label{
}
			
form input{
}
	
form input[type="text"]{
	width:95%;
	margin:1%;
}
			
form input[type="email"]{
	width:95%;
	margin:1%;
}
			
form input[type="checkbox"]{
	margin:1%;
}
			
form input[type="radio"]{
	margin-left:1%;
}
			
form select{
	margin-left:1%;
}
			
form textarea{
	width:95%;
	margin:1%;
}
			
form input[type="submit"]{
	width:95%;
	padding:1%;
	margin:1%;
	font-size:90%;
}
			
form input[type="submit"]:hover{
}			

#p_list{
	display:none;
}
			
}

@media screen and (max-width:450px){
#fact_item{
	width:95%;
	margin: 4px 0 13px;
}
}