/*
Theme Name: 20190802kdi-home
Theme URI: 
Description: 
Version: 1.4
Author: obakeyashiki
Author URI: http://obake-yashiki.com
*/

@charset "UTF-8";
/* CSSリセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	background: none repeat scroll 0 0 transparent;
	border: 0 none;
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	outline: 0 none;
	padding: 0;
	vertical-align: baseline;
}
body {
	line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul {
	list-style: outside none none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: none;
}
a {
	background: none repeat scroll 0 0 transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	-moz-border-bottom-colors: none;
	-moz-border-left-colors: none;
	-moz-border-right-colors: none;
	-moz-border-top-colors: none;
	border-color: #ccc -moz-use-text-color -moz-use-text-color;
	border-image: none;
	border-right: 0 none;
	border-style: solid none none;
	border-width: 1px 0 0;
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
input[type="button"],input[type="submit"] {
	border-radius: 0;
	-webkit-appearance: none;
}
address, em {
	font-style: normal;
}

*, *:before, *:after{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* フルードイメージ */
img, iframe {
	max-width: 100%;
}

img {
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
	
/*
	-webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
*/
}

/*
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
*/

/*-----------------------------------------------
base
-----------------------------------------------*/
@font-face {
 font-family: "MyYuGothicM";
 font-weight: normal;
 src: local("YuGothic-Medium"),
 	local("Yu Gothic Medium"),/* for chrome */
 	local("YuGothic-Regular"); /* Mediumない場合 */
}
@font-face {
 font-family: "MyYuGothicM";
 font-weight: bold;
 src: local("YuGothic-Bold"),
 	local("Yu Gothic"), /* for chrome */
}

html{
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	overflow: visible !important;
}
body {
	color: #222222;
	background-color: #ffffff;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.8;
	font-family:  MyYuGothicM, "游ゴシック体", "YuGothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ ゴシック",Helvetica,sans-serif;
/* 	font-family: "Helvetica Neue", Avenir, Arial, MyYuGothicM, "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
	padding: 0;
	margin: 0;
	width:100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	letter-spacing: 0.05em;
	
	overflow-y: scroll;
    overflow-x: hidden;
    
    -webkit-text-rendering: optimizeLegibility;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::selection { background: #222222; color: #ffffff;}
::-moz-selection { background: #222222; color: #ffffff;}
::-webkit-selection { background: #222222; color: #ffffff;}

a {
	color: #4c4948;
	text-decoration: none;
	-webkit-transform: all .4s;  
	-moz-transform: all .4s;
	transition: all .4s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a:hover {
	color:#007dcc;
	text-decoration: none;
}
/*-----------------------------------------------
font
-----------------------------------------------*/
.pop300{
	font-family:  'Poppins', MyYuGothicM, "游ゴシック体", "YuGothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ ゴシック",Helvetica,sans-serif;
	font-weight: 300;
}

.pop400{
	font-family:  'Poppins', MyYuGothicM, "游ゴシック体", "YuGothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ ゴシック",Helvetica,sans-serif;
	font-weight: 400;
}

.pop500{
	font-family:  'Poppins', MyYuGothicM, "游ゴシック体", "YuGothic","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ ゴシック",Helvetica,sans-serif;
	font-weight: 500;
}

/*-----------------------------------------------
General Setting
-----------------------------------------------*/

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

.hide-text{
	overflow: hidden;
	position: absolute;
	height: 1px;
	width: 1px;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
	padding: 0;
	border: 0;
}

.pc{
	display: block !important;
}
.sp{
	display: none !important;
}
@media screen and (max-width: 640px) {
	.pc{
		display: none !important;
	}
	.sp{
		display: block !important;
	}
}

/*-----------------------------------------------
fade
-----------------------------------------------*/


.fadecont{
	opacity: 0;
	-webkit-transition: .8s;
	transition: .8s;
}
.fadeshow{
	opacity: 1.0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

}
.fademove{
	opacity: 0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(0,30px,0);
    -moz-transform: translate3d(0,30px,0);
    -o-transform: translate3d(0,30px,0);
    transform: translate3d(0,30px,0);
    -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademove{
		-webkit-transform: translate(0,30px);
	    transform: translate(0,30px);
	}
}

.fademoveleft{
	opacity: 0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(-20px,0,0);
    -moz-transform: translate3d(-20px,0,0);
    -o-transform: translate3d(-20px,0,0);
    transform: translate3d(-20px,0,0);
    -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademoveleft{
		-webkit-transform: translate(-20px,0);
		transform: translate(-20px,0);
	}
}
.fademoveright{
	opacity: 0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(20px,0,0);
    -moz-transform: translate3d(20px,0,0);
    -o-transform: translate3d(20px,0,0);
    transform: translate3d(20px,0,0);
    -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademoveright{
		-webkit-transform: translate(20px,0);
		transform: translate(20px,0);
	}
}
.fademove_show{
	opacity: 1.0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademove_show{
		-webkit-transform: translate(0,0);
		transform: translate(0,0);
	}
}

.img_anime_left{
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
}
	.img_anime_left span{
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		z-index: 10;
		top:0;
		left: -100%;
		background-color: #222222;
	}
	.img_anime_left img{
		opacity: 0;
	}
	
.img_anime_right{
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
}
	.img_anime_right span{
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		z-index: 10;
		top:0;
		right: -100%;
		background-color: #222222;
	}
	.img_anime_right img{
		opacity: 0;
	}


/*-----------------------------------------------
button
-----------------------------------------------*/
.button {
	position: relative;
	display: inline-block;
/* 	background-color: #ffffff; */
	border: 1px solid #222222;
	color: #222222;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all .3s;
	transition: all .3s;
	width: 180px;
	height: 40px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 38px;
	z-index: 10;
}
@media screen and (max-width: 640px) {
	.button {
		display: block;
		margin: 0 auto;
	}
}

.button::after {
	position: absolute;
	z-index: -10;
	display: block;
	width: 180px;
	height: 40px;	
	border: 1px solid #222222;
	top: 0;
	left: 0;
	content: '';
	-webkit-transition: all .3s;
	transition: all .3s;
	
	-webkit-transform: translate3d(5px,5px,0);
    -moz-transform: translate3d(5px,5px,0);
    -o-transform: translate3d(5px,5px,0);
    transform: translate3d(5px,5px,0);
}

.button i{
	display: block;
	width: 11px;
	height: 11px;
	position: absolute;
	top:12px;
	left: 30px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
	.button i::before{
		content: '';
		width: 11px;
		height: 1px;
		display: block;
		background-color: #222222;
		position: absolute;
		top:5px;
		left: 0;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
	.button i::after{
		content: '';
		width: 1px;
		height: 11px;
		display: block;
		background-color: #222222;
		position: absolute;
		top:0;
		left: 5px;
		-webkit-transition: all .3s;
		transition: all .3s;
	}

.button:hover {
/* 	background-color: #4c4948; */
	color: #ffffff;
}
.button:hover::after {
	background-color: #222222;
	top: 0;
	left: 0;
	
	-webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.button:hover i{
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
	.button:hover i::before{
		background-color: #fff;
	}
	.button:hover i::after{
		background-color: #fff;
	}

/*
.button {
	position: relative;
	display: inline-block;
	background-color: rgba(255,255,255,.7);
	border: 5px solid #4c4948;
	color: #4c4948;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all .3s;
	transition: all .3s;
	width: 260px;
	height: 90px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 80px;
	letter-spacing: 0.1em;
}

.button::after {
	position: absolute;
	display: block;
	width: 10px;
	height: 10px;
	
	margin-top: -5px;
	
	border-bottom: 2px solid #4c4948;
	border-right: 2px solid #4c4948;
	
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	
	top: 50%;
	right: 13px;
	content: '';
	-webkit-transition: all .3s;
	transition: all .3s;
}


.button:hover {
	background-color: #4c4948;
	color: #ffffff;
}
.button:hover::after {
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	right: 5px;
}
*/



/*-----------------------------------------------
wrapper
-----------------------------------------------*/
#wrapper{
	width:100%;
	height: 100%;
/* 	min-height: 100%; */
	position: relative;
/* 	background-color: #fff; */
/* 	padding-top: 70px; */
}
@media screen and (max-width: 1024px) {
	#wrapper{
/* 		padding-top: 70px; */
	}
}
#wrapper.top_load{
	filter:alpha(opacity=0);
	opacity: 0;
}

#content{
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: 0 auto;
}

/*-----------------------------------------------
loader-bg
-----------------------------------------------*/

#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 9999;
	text-align: center;
}
#loader {
	display: inline-block;
	position: fixed;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	padding: 10px;
	z-index: 10000;
}
#loader img{
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 380px;
	animation: fadeIn 3.5s infinite cubic-bezier(0.8, 0, 0.2, 1);
    -webkit-animation: fadeIn 3.5s infinite cubic-bezier(0.8, 0, 0.2, 1);
}

@keyframes fadeIn {
    0% {opacity: 0}
    50% {opacity: 1}
    100% {opacity: 0}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    50% {opacity: 1}
    100% {opacity: 1}
}


/*-----------------------------------------------
ruledline
-----------------------------------------------*/

.ruledline_wrap{
	position: fixed;
	z-index: -999;
    max-width: 1180px;
    width: 100%;
    height: 100%;
    height: 100vh;
    margin: 0 auto;
    padding: 0 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
	.ruledline_wrap .ruledline_wrap_inner{
		position: relative;
		width: 100%;
		height: 100%;
		height: 100vh;
	}

.ruledline{
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    height: 100vh;
    display: block;
    background-color: rgba(170, 170, 170, 0.2);
/*
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
*/
}
	.ruledline.ruledline_00{
		left: 0;
	}
	.ruledline.ruledline_25{
		left: 25%;
	}
	.ruledline.ruledline_50{
		left: 50%;
	}
	.ruledline.ruledline_75{
		left: 75%;
	}
	.ruledline.ruledline_100{
		left: 100%;
	}
		
@media screen and (max-width: 1024px) {
	.ruledline_wrap{
		display: none;
	}
}
/*-----------------------------------------------
header
-----------------------------------------------*/
#header{
	width: 100%;
	height: 84px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	top:0;
	left: 0;
	z-index: 1000;
	position: fixed;
	background-color: #ffffff;
	border-bottom: 1px solid #efefef;
	-webkit-transition: .3s;
    transition: .3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
	.header_inner{
		width: 100%;
		height: 100%;
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 10px;
		overflow: hidden;
	}
		.header_inner h1{
			display: block;
			width: 153px;
			height: 23px;
			float: left;
			margin: 30px 0 0;
		}
			.header_inner h1 a{
				display: block;
				width: 153px;
				height: 23px;
				background-position: center center;
				background-repeat: no-repeat;
				background-size: 100% auto;
				background-image: url('images/common/logo-b.png');
			}
			
		.header_inner .header_right{
			float: right;
			
		}
			.header_inner .header_right .header_nav{
				font-size: 0;
				margin-top: 30px;
			}
				.header_inner .header_right .header_nav li{
					display: inline-block;
					font-size: 14px;
					font-size: 1.4rem;
/* 					margin-left: 36px; */
					margin-left: 20px;
					height: 24px;
				}
					.header_inner .header_right .header_nav li a{
						display: block;
						height: 24px;
						position: relative;
						line-height: 24px;
					}
					
					.header_inner .header_right .header_nav li a::after {
					    content: '';
					    position: absolute;
					    left: 0;
					    bottom: -8px;
					    width: 100%;
					    height: 2px;
					    background-color: #222222;
					    -webkit-transform-origin: left top;
					    transform-origin: left top;
					    -webkit-transform: scale(0,1);
					    transform: scale(0,1);
					    transition: transform .2s cubic-bezier(.47,0,.745,.715);
					}
					
					.header_inner .header_right .header_nav li a:hover,
					.header_inner .header_right .header_nav li.current_page_item a{
						color: #222222;
					}
					
					.header_inner .header_right .header_nav li a:hover::after,
					.header_inner .header_right .header_nav li.current_page_item a::after {
					    -webkit-transform-origin: right top;
					    transform-origin: right top;
					    -webkit-transform: scale(1);
					    transform: scale(1);
					    background-color: #222222;
					}
					


#header.top_header{
	background-color: transparent;
	border-bottom: none;
}
	#header.top_header .header_inner h1 a{
		background-image: url('images/common/logo-h.png');
	}
		#header.top_header .header_inner .header_right .header_nav li a{
			color: #fff;
		}
		#header.top_header .header_inner .header_right .header_nav li a::after{
			background-color: #fff;
		}
		#header.top_header .header_inner .header_right .header_nav li a:hover{
			color: #fff;
		}
		
		#header.top_header .header_inner .header_right .header_nav li a:hover::after {
		    background-color: #fff;
		}

		
#menu-trigger{
	display: none;
}
#sp_header_menu{
	display: none;
}

@media screen and (max-width: 1124px) {
#header{
	height: 70px;
	overflow:visible;
}

#header.top_page.active_header{
	background-color: #fff;
	border-bottom: none;
}
	#header.top_page.active_header .header_inner h1 a{
		background-image: url('images/common/logo-b.png');
	}

.header_inner h1 {
    display: block;
    width: 160px;
    height: 24px;
    float: left;
    margin: 23px 0 0;
}	

	#header_pc{
		display: none;
	}
	.header_right{
		display: none;
	}
	
		#menu-trigger,
		#menu-trigger span {
			display: inline-block;
			transition: all .4s;
			box-sizing: border-box;
		}
		#menu-trigger {
			position: relative;
			width: 30px;
			height: 22px;
			float: right;
			margin-top: 24px;
			margin-right: 10px;
		}
		
		#menu-trigger p{
			position: absolute;
			left: 0;
			bottom: -20px;
			color: #222222;
			font-size: 10px;
			font-size: 1.0rem;
			letter-spacing: 0;
		}
	
		#menu-trigger span {
			position: absolute;
			left: 0;
			width: 100%;
			height: 2px;
			background-color: #222222;
			border-radius: 2px;
		}
		#header.top_header #menu-trigger span{
			background-color: #fff;
		}
		#header.top_page.active_header #menu-trigger span{
			background-color: #222222;
		}
		#menu-trigger span:nth-of-type(1) {
			top: 0;
		}
		#menu-trigger span:nth-of-type(2) {
			top: 10px;
		}
		#menu-trigger span:nth-of-type(3) {
			bottom: 0;
		}
		
		#menu-trigger.active span:nth-of-type(1) {
			-webkit-transform: translateY(10px) rotate(-45deg);
			transform: translateY(10px) rotate(-45deg);
		}
		#menu-trigger.active span:nth-of-type(2) {
			opacity: 0;
		}
		#menu-trigger.active span:nth-of-type(3) {
			-webkit-transform: translateY(-10px) rotate(45deg);
			transform: translateY(-10px) rotate(45deg);
		}
		
#sp_header_menu{
	width: 100%;
	position: absolute;
	top:70px;
	left: 0;
/* 	background-color: #f6f5f5; */
	background-color: #222222;
}
	#sp_header_menu{
		width: 100%;
		text-align: center;
	}
		#sp_header_menu li{
			width: 100%;
			padding: 10px;
		}
		#sp_header_menu li.last{
			display: none;
		}
			#sp_header_menu li a{
				color: #fff;
			}
			#sp_header_menu li a:hover{
				color: #ccc;
			}
}

/*-----------------------------------------------
footer
-----------------------------------------------*/
#footer{
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: relative;
}
	#footer_top{
		width: 100%;
		height: auto;
		margin: 0;
		padding: 30px 0 50px;
		overflow: hidden;
		position: relative;
		background-color: #222222;
		color: #fff;
	}
		#footer_top .top_link{
			width: 100%;
		}
			#footer_top .top_link a{
				display: block;
				width: 30px;
				height: 30px;
				position: relative;
				border-top: 1px solid #818181;
				margin: 0 auto 30px;
			}
				#footer_top .top_link a::after{
					content: '';
					display: block;
					width: 22px;
					height: 22px;
					border-top: 1px solid #818181;
					border-right: 1px solid #818181;
					
					position: absolute;
					top:18px;
					left: 50%;
					margin-left: -11px;
					-webkit-transform: rotate(-45deg);
					transform: rotate(-45deg);
					
					-webkit-transform: all .4s;  
					-moz-transform: all .4s;
					transition: all .4s;
				}
				
			#footer_top .top_link a:hover{
				border-top: 1px solid #fff;
			}
				#footer_top .top_link a:hover::after{
					border-top: 1px solid #fff;
					border-right: 1px solid #fff;
				}
				
		#footer_top .footer_top_inner{
			width: 100%;
			max-width: 1180px;
			margin: 0 auto;
			padding: 0 10px;
		}
			#footer_top .footer_top_inner .link_wrap{
				width: 100%;
				overflow: hidden;
			}
				#footer_top .footer_top_inner .link_wrap dl{
					width: 25%;
					float: left;
				}
					#footer_top .footer_top_inner .link_wrap dl dt{
						display: block;
						line-height: 1.0;
						letter-spacing: 0.1em;
						height: 26px;
						position: relative;
						font-size: 15px;
						font-size: 1.5rem;
						margin-bottom: 10px;
					}
						#footer_top .footer_top_inner .link_wrap dl dt::after{
							content: '';
							width: 30px;
							height: 1px;
							display: block;
							position: absolute;
							bottom: 0;
							left: 0;
							border-bottom: 1px solid #fff;
						}
						
					#footer_top .footer_top_inner .link_wrap dl dd{
						font-size: 13px;
						font-size: 1.3rem;
						letter-spacing: 0.1em;
						line-height: 1.85;
					}
					
						#footer_top .footer_top_inner .link_wrap dl dd .footer_nav{
							width: 100%;
							overflow: hidden;
						}
							#footer_top .footer_top_inner .link_wrap dl dd .footer_nav li{
								width: 50%;
								float: left;
							}
							#footer_top .footer_top_inner .link_wrap dl dd .footer_nav li.policy_li{
								width: 100%;
							}
							#footer_top .footer_top_inner .link_wrap dl dd .footer_nav li.policy_li_top{
								width: 100%;
								margin-top: 20px;
							}
								#footer_top .footer_top_inner .link_wrap dl dd .footer_nav li a{
									color: #fff;
								}
								#footer_top .footer_top_inner .link_wrap dl dd .footer_nav li a:hover{
									color: #888888;
								}
					
						#footer_top .footer_top_inner .link_wrap dl dd #footer_sns{
							width: 100%;
							font-size: 0;
							text-align: left;
						}
							#footer_top .footer_top_inner .link_wrap dl dd #footer_sns li{
								display: inline-block;
								margin-right: 20px;
							}
								#footer_top .footer_top_inner .link_wrap dl dd #footer_sns li a{
									color: #fff;
								}
									#footer_top .footer_top_inner .link_wrap dl dd #footer_sns li a:hover{
										color: #888888;
									}
									#footer_top .footer_top_inner .link_wrap dl dd #footer_sns li a i{
										font-size: 20px;
										font-size: 2.0rem;
									}
									
@media screen and (max-width: 768px) {
	#footer_top .footer_top_inner .link_wrap dl{
		width: 50%;
		margin-bottom: 25px;
	}
}
@media screen and (max-width: 640px) {
	#footer_top .footer_top_inner .link_wrap dl{
		width: 100%;
	}
}
	
	#footer_bottom{
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
		overflow: hidden;
		position: relative;
		background-color: #fff;
	}
		#footer_bottom .footer_copy{
			width: 100%;
			max-width: 1680px;
			text-align: left;
			margin: 0 auto;
			padding: 13px 10px 13px;
			line-height: 1.0;
		}
			#footer .footer_copy>small{
				font-size: 12px;
				font-size: 1.2rem;				
			}


/*-----------------------------------------------
bread
-----------------------------------------------*/
#bread{
	width: 100%;
	max-width: 1180px;
	overflow: hidden;
	padding: 0 10px;
	margin: 0 auto;
}
#bread_inner{
	width: 100%;
	margin: 0 auto;
	padding: 10px 0 0;
	position: relative;
	overflow: hidden;
}
#bread_inner nav{
     float: left;
     margin-top: 0px;

}
#bread_inner nav ul{
	width: 100%;
	padding: 0;
	overflow: hidden;
	font-size: 12px;
	font-size: 1.2rem;

}
     #bread_inner nav ul li{
          display: inline-block;
/*           margin-right: 3px;  */  
     }
/*
     #bread_inner nav a{
          color: #000;
          text-decoration: none;
     }
     #bread_inner nav a:hover{color: #f1f1f1;text-decoration: underline;}
*/

/*-----------------------------------------------
content_wrap
-----------------------------------------------*/

.content_wrap{
	margin: 0;
/* 	padding: 120px 0 0; */
	padding: 0;
	width: 100%;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: center;
}
	.content_wrap_inner{
		margin: 0 auto;
		width: 100%;
		max-width: 1180px;
		height: auto;
		position: relative;
		overflow: hidden;
		text-align: center;
	}

.font_wrap{
	margin: 0 auto;
	padding: 0 10px;
	width: 100%;
	max-width: 1180px;
	height: 120px;
	position: relative;
}
	.font_wrap .font_wrap_inner{
		width: 100%;
		height: 120px;
		position: relative;
	}
		.font_wrap .font_wrap_inner .scroll_font_01{
			display: block;
			width: 172px;
			position: absolute;
			top:0;
			left: -60px;
			z-index: 100;
		}
		.font_wrap .font_wrap_inner .scroll_font_02{
			display: block;
			width: 178px;
			position: absolute;
			top:0;
			left: 75%;
			z-index: -10;
		}
		.font_wrap .font_wrap_inner .scroll_font_03{
			display: block;
			width: 36px;
			position: absolute;
			top:0;
			left: -50px;
			z-index: 100;
		}


@media screen and (max-width: 1024px) {
	.font_wrap{
		height: 85px;
	}
	.font_wrap .font_wrap_inner{
		display: none;
	}
}

/*-----------------------------------------------
hero
-----------------------------------------------*/
/*-----------------------------------------------
hero_top
-----------------------------------------------*/
.hero_top{
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden;
/*
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('images/top/bg-hero.jpg');
*/
}
	.hero_top .hero_top_inner{
		position: absolute;
		top:0;
		left: 0;
		z-index: 10;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.3);
		
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
		.hero_top .hero_top_inner h2{
			display: block;
			width: 380px;		
		}
		
		@media screen and (max-width: 640px) {
			.hero_top .hero_top_inner h2{
				width: 200px;
			}
		}
	
#hero_slide{
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden;
}
	#hero_slide .hero_slide_01,
	#hero_slide .hero_slide_02,
	#hero_slide .hero_slide_03,
	#hero_slide .hero_slide_04{
		margin: 0;
		padding: 0;
		width: 100%;
		height: 100%;
		position: relative;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover !important;
		background-color: #fff;
		overflow: hidden;
	}
	#hero_slide .hero_slide_01{
		background-image: url('images/top/img-hero01.jpg');
	}
	#hero_slide .hero_slide_02{
		background-image: url('images/top/img-hero02.jpg');
	}
	#hero_slide .hero_slide_03{
		background-image: url('images/top/img-hero03.jpg');
	}
	#hero_slide .hero_slide_04{
		background-image: url('images/top/img-hero04.jpg');
	}
	
	#hero_slide .slick-list,
	#hero_slide .slick-track{
		height: 100%;
	}
	
/*-----------------------------------------------
hero_bottom
-----------------------------------------------*/
.hero_bottom {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 404px;
    position: relative;
    overflow: hidden;
    padding-top: 84px;
}
.blog_hero{
	margin: 0;
    padding: 0;
    width: 100%;
    height: 0;
    position: relative;
    overflow: hidden;
    padding-top: 84px;
}
@media screen and (max-width: 1024px) {
	.hero_bottom,
	.blog_hero{
		padding-top: 70px;
	}
}
	.hero_bottom .hero_bottom_inner{
		margin: 0;
	    padding: 0;
	    width: 100%;
	    height: 100%;
	    position: relative;
	    overflow: hidden;
	    background-position: top center;
	    background-repeat: no-repeat;
	    background-size: cover;
	}
	.hero_bottom .hero_bottom_inner.bg_apart{
		background-image: url('images/apart/bg_apart.jpg');
	}
	.hero_bottom .hero_bottom_inner.bg_order{
		background-image: url('images/order/bg_order.jpg');
	}
	.hero_bottom .hero_bottom_inner.bg_ready{
		background-image: url('images/ready/bg_ready.jpg');
	}
	.hero_bottom .hero_bottom_inner.bg_about{
		background-image: url('images/about/bg_about.jpg');
	}
	.hero_bottom .hero_bottom_inner.bg_staff{
		background-image: url('images/staff/bg_staff.jpg');
	}
	
		.hero_bottom .hero_bottom_inner .hero_bottom_inner_bg{
			margin: 0;
		    padding: 0;
		    width: 100%;
		    height: 100%;
		    position: relative;
		    overflow: hidden;
		    background-color: rgba(0,0,0,.4);
		    text-align: center;
		    display: -webkit-flex;
		    display: flex;
		    -webkit-justify-content: center;
			justify-content: center;
			-webkit-align-items: center;
			align-items: center;
		}


/*-----------------------------------------------
title
-----------------------------------------------*/
.title_h3{
	font-size: 31px;
	font-size: 3.1rem;
	line-height: 1.0;
	
}

.title_h3.jp_h3{
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.0;
	font-weight: bold;
}

.title_h2{
	display: inline-block;
	position: relative;
	overflow: hidden;
}
	.title_h2 .h2_font{
		font-size: 46px;
		font-size: 4.6rem;
		letter-spacing: 0.05em;
		color: #fff;
		opacity: 0;
		line-height: 1.1;
	}
	.title_h2 .h2_bg{
		display: block;
	    width: 100%;
	    height: 100%;
	    position: absolute;
	    z-index: 10;
	    top: 0;
/* 	    left: 0; */
	    left: -100%;
	    background-color: #fff;
	}
	
	.title_h2 .jp{
		margin-bottom: 10px;
		position: relative;
	}
	
	.title_h2 .en{
		margin-bottom: 10px;
		position: relative;
	}
	
	.title_h2 .jp .h2_font{
		font-size: 36px;
		font-size: 3.6rem;
		letter-spacing: 0.05em;
		color: #fff;
		opacity: 0;
		line-height: 1.1;
		font-weight: bold;
	}
	.title_h2 .en .h2_font{
		font-size: 20px;
		font-size: 2.0rem;
		letter-spacing: 0.05em;
		color: #fff;
		opacity: 0;
		line-height: 1.1;
	}
@media screen and (max-width: 768px) {
	.title_h2 .h2_font{
		font-size: 25px;
		font-size: 2.5rem;
		letter-spacing: 0.05em;
		color: #fff;
		opacity: 0;
		line-height: 1.1;
	}
}

/*-----------------------------------------------
contact
-----------------------------------------------*/

.sec_contact{
	margin: 0 auto;
	padding: 120px 10px;
	width: 100%;
	max-width: 1180px;
	height: auto;
	position: relative;
	overflow: hidden;
}
.sec_contact.sec_contact_top{
	padding: 120px 10px 40px;
}
.sec_contact.sec_contact_bottom{
	padding: 0 10px 120px;
}
.sec_contact.sec_staff_link{
	padding: 120px 10px 0;
}

	.sec_contact .left{
		width: 50%;
		float: left;
		text-align: left;
	}
		.sec_contact .left img{
			width: 91.379310%;
			max-width: 530px;
		}
		
		.sec_contact .left .left_inner{
			width: 100%;
			max-width: 530px;
			padding-top: 45px;
		}
			.sec_contact .left .left_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_contact .left .left_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_contact .left .left_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				margin-bottom: 42px;
			}
		
	
	.sec_contact .right{
		width: 50%;
		float: right;
		text-align: left;
	}
		.sec_contact .right .right_inner{
			width: 100%;
			max-width: 530px;
			padding-top: 45px;
		}
			.sec_contact .right .right_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_contact .right .right_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_contact .right .right_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				margin-bottom: 42px;
			}
			
		.sec_contact .right img{
			width: 91.379310%;
			max-width: 530px;
			float: right;
		}
@media screen and (max-width: 768px) {
	.sec_contact{
		margin: 0 auto;
		padding: 85px 10px;
	}
	.sec_contact.sec_contact_top{
		padding: 85px 10px 40px;
	}
	.sec_contact.sec_contact_bottom{
		padding: 0 10px 85px;
	}
	.sec_contact.sec_staff_link{
		padding: 85px 10px 0;
	}
}
@media screen and (max-width: 640px) {
	.sec_contact .left,
	.sec_contact .right{
		width: 100%;
	}
		.sec_contact .left img,
		.sec_contact .right img{
			width: 100%;
			max-width: 100%;
		}
		.sec_contact .right .right_inner,
		.sec_contact .left .left_inner{
			padding-top: 40px;
			margin-bottom: 0;
		}
}

/*-----------------------------------------------
top
-----------------------------------------------*/
.sec_top01{
	margin: 0 auto;
	padding: 0 10px;
	width: 100%;
	max-width: 1180px;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: center;
}
	.sec_top01 .left{
		width: 50%;
		float: left;
	}
		.sec_top01 .left .img{
			width: 91.379310%;
			max-width: 530px;
		}
	.sec_top01 .right{
		width: 50%;
		float: right;
		text-align: left;
	}
		.sec_top01 .right .right_inner{
			width: 100%;
			max-width: 530px;
			padding-top: 45px;
		}
			.sec_top01 .right .right_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_top01 .right .right_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_top01 .right .right_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				margin-bottom: 42px;
			}
@media screen and (max-width: 640px) {
	.sec_top01 .left,
	.sec_top01 .right{
		width: 100%;
	}
		.sec_top01 .left .img{
			width: 100%;
			max-width: 100%;
		}
		.sec_top01 .right .right_inner{
			padding-top: 0;
			margin-bottom: 40px;
		}
}

.sec_top02{
	margin: 0 auto;
	padding: 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}
	.sec_top02 .slider_wrap_inner{
		float: left;
		width: 20%;
	}
		.sec_top02 .slider_wrap_inner a{
			display: block;
			position: relative;
		}


.sec_top03{
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1440px;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: center;
}
	.sec_top03 .right{
		width: 50%;
		float: right;
	}
		.sec_top03 .right img{

		}
	.sec_top03 .left{
		width: 50%;
		float: left;
		text-align: left;
	}
		.sec_top03 .left .left_inner{
			width: 100%;
			max-width: 590px;
			padding: 45px 50px 0 10px;
			float: right;
		}
			.sec_top03 .left .left_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_top03 .left .left_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_top03 .left .left_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				margin-bottom: 42px;
			}
			
@media screen and (max-width: 640px) {
	.sec_top03{
		padding: 0 10px;
	}
	.sec_top03 .left,
	.sec_top03 .right{
		width: 100%;
	}
		.sec_top03 .left .img{
			width: 100%;
			max-width: 100%;
		}
		.sec_top03 .left .left_inner{
			padding: 0;
			margin-bottom: 40px;
		}
}



.sec_top04{
	margin: 0 auto;
	padding: 120px 0 0;
	width: 100%;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: center;
}
	.sec_top04 .bg_img{
		width: 100%;
		height: 500px;
		margin: 0;
		padding: 0;
		position: relative;
		background-position: center center;
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: cover !important;
		background-image: url('images/top/bg-01.jpg');
	  
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	
	.sec_top04 .txt_wrap{
		width: 100%;
		max-width: 1180px;
		padding: 0 10px;
		margin: 0 auto;
		text-align: left;
	}
		.sec_top04 .txt_wrap .txt_wrap_inner{
			width: 100%;
			padding: 45px 0 50px 0;
			border-bottom: 1px solid #222222;
		}
			.sec_top04 .txt_wrap .txt_wrap_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_top04 .txt_wrap .txt_wrap_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_top04 .txt_wrap .txt_wrap_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				margin-bottom: 42px;
				width: 100%;
				max-width: 655px;
			}
@media screen and (max-width: 1024px) {
	.sec_top04{
		margin: 0 auto;
		padding: 120px 0 0;
	}
	.sec_top04 .bg_img{
		width: 100%;
		height: 500px;
		margin: 0;
		padding: 0;
		position: relative;
		background-position: center center;
		background-repeat: no-repeat;
		background-attachment: inherit;
		background-size: cover !important;
		background-image: url('images/top/bg-01.jpg');
	  
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
}
@media screen and (max-width: 768px) {
	.sec_top04{
		margin: 0 auto;
		padding: 85px 0 0;
	}
}

.sec_top05{
	margin: 0 auto;
	padding: 120px 0 0;
	width: 100%;
	max-width: 1440px;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: center;
}
	.sec_top05 .left{
		width: 50%;
		float: left;
		padding: 0 50px 0 0;
	}
		.sec_top05 .left img{

		}
	.sec_top05 .right{
		width: 50%;
		float: right;
		text-align: left;
	}
		.sec_top05 .right .right_inner{
			width: 100%;
			max-width: 530px;
			padding: 45px 0 0 0;
		}
			.sec_top05 .right .right_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_top05 .right .right_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_top05 .right .right_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				margin-bottom: 42px;
			}
@media screen and (max-width: 768px) {
	.sec_top05{
		padding: 85px 0 0;
	}
}
@media screen and (max-width: 640px) {
	.sec_top05{
		padding: 85px 10px 0;
	}
	.sec_top05 .left,
	.sec_top05 .right{
		width: 100%;
	}
	.sec_top05 .left{
		padding: 0;
	}
		.sec_top05 .left .img{
			width: 100%;
			max-width: 100%;
		}
		.sec_top05 .right .right_inner{
			padding-top: 0;
			margin-bottom: 40px;
		}
}

/* banner */
.banner_wrap{
	margin: 0;
	padding: 60px 0 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}	
	.banner_wrap ul{
		width: 100%;
		max-width: 1180px;
		overflow: hidden;
		margin: 0 auto;
		
	}
	
	.banner_wrap ul.big--ul {
		width: 100%;
		max-width: 1180px;
		overflow: hidden;
		margin: 0px auto 20px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
		.banner_wrap ul li{
			width: 33.333333%;
			float: left;
			padding: 0 10px;
		}
		.banner_wrap ul.big--ul li{
			width: 50%;
			padding: 0 10px;
		}
		
			.banner_wrap ul li a{
				display: block;
			}
			.banner_wrap ul li a img{
				opacity: 1.0;
				-webkit-transform: all .4s;  
				-moz-transform: all .4s;
				transition: all .4s;
				-webkit-backface-visibility:hidden;
				backface-visibility:hidden;
			}
		
			.banner_wrap ul li a:hover img{
				opacity: 0.7;
			}
		
@media screen and (max-width: 768px) {
	.banner_wrap{
		margin: 0;
		padding: 45px 0 0;
	}
	
	.banner_wrap ul.big--ul {
		margin: 0 auto 20px;
	}
}

@media screen and (max-width: 640px) {
	.banner_wrap{
		margin: 0;
		padding: 35px 0 0;
	}
	
	.banner_wrap ul.big--ul {
		margin: 0 auto 0;
	}
		.banner_wrap ul li{
			width: 100%;
			padding: 10px 10px 0;
		}
		.banner_wrap ul.big--ul li{
			width: 100%;
			padding: 10px 10px 0;
		}
}

/* news */
.news_wrap{
	margin: 0;
	padding: 60px 0 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}
	.news_wrap .sec_news{
		margin: 0;
		padding: 0 10px;
		width: 100%;
		height: auto;
		overflow: hidden;
		background-color: #f7f7f7;
	}
		.news_wrap .sec_news .sec_news_inner{
			margin: 0 auto;
			padding: 0;
			width: 100%;
			max-width: 1160px;
			height: auto;
			overflow: hidden;
			position: relative;
		}
			.news_wrap .sec_news .sec_news_inner .left{
				width: 290px;
				height: 100%;
				float: left;
				position: relative;
			}
				.news_wrap .sec_news .sec_news_inner .left .news_title_top{
					position: absolute;
					top: 50%;
					left: 0;
					-webkit-transform: translateY(-50%);
					transform: translateY(-50%);
				}
					.news_wrap .sec_news .sec_news_inner .left .news_title_top h3{
						display: block;
						margin-bottom: 5px;
					}
					.news_wrap .sec_news .sec_news_inner .left .news_title_top .sub{
						font-size: 16px;
						font-size: 1.6rem;
						display: block;
					}
			.news_wrap .sec_news .sec_news_inner .right{
				width: 100%;
				float: right;
				margin-left: -290px;
				padding: 50px 0 55px 290px;
			}
				.news_wrap .sec_news .sec_news_inner .right ul{
					width: 100%;
					margin-bottom: 25px;
				}
					.news_wrap .sec_news .sec_news_inner .right ul li{
						margin-bottom: 18px;
					}
						.news_wrap .sec_news .sec_news_inner .right ul li span{
							display: block;
							font-size: 12px;
							font-size: 1.2rem;
							line-height: 1.0;
							margin-bottom: 5px;
						}
						.news_wrap .sec_news .sec_news_inner .right ul li p{
							font-size: 14px;
							font-size: 1.4rem;
						}
						
			.news_wrap .sec_news .sec_news_inner .right ul li a p{
				-webkit-transition: .4s;
				transition: .4s;
				display: inline-block;
			}
			.news_wrap .sec_news .sec_news_inner .right ul li a:hover p{
				background-color: #222222;
				color: #fff;
			}
			.news_wrap .sec_news .sec_news_inner .right ul li a span time{
				color: #222222 !important;
			}
						
@media screen and (max-width: 768px) {
.news_wrap{
	margin: 0;
	padding: 45px 0 0;
}
	.news_wrap .sec_news .sec_news_inner .left{
		width: 100%;
		height: auto;
	}
	.news_wrap .sec_news .sec_news_inner .right{
		margin-left: 0;
		padding: 50px 0 55px;
	}
			.news_wrap .sec_news .sec_news_inner .left .news_title_top{
				position: static;
				top: 0;
				left: 0;
				-webkit-transform: translateY(0);
				transform: translateY(0);
				padding-top: 50px;
			}
}

/*-----------------------------------------------
bottom
-----------------------------------------------*/
.sec_bottom01{
	margin: 0 auto;
	padding: 85px 0 0;
	width: 100%;
	height: auto;
	position: relative;
	text-align: center;
}
	.sec_bottom01 .bg_img{
		width: 100%;
		height: 500px;
		margin: 0;
		padding: 0;
		position: relative;
		background-position: center center;
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: cover !important;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	.sec_bottom01 .bg_img.sec01_apart{
		background-image: url('images/apart/img-01.jpg');
	}
	.sec_bottom01 .bg_img.sec01_order{
		background-image: url('images/order/img-01.jpg');
	}
	.sec_bottom01 .bg_img.sec01_ready{
		background-image: url('images/ready/img-01.jpg');
	}
	.sec_bottom01 .bg_img.sec01_about{
		background-image: url('images/about/img-01.jpg');
	}
	
	.sec_bottom01 .txt_wrap{
		width: 100%;
		max-width: 1180px;
		padding: 0 10px;
		margin: 0 auto;
		text-align: left;
	}
		.sec_bottom01 .txt_wrap .txt_wrap_inner{
			width: 100%;
			padding: 0 0 110px;
		}
			.sec_bottom01 .txt_wrap .txt_wrap_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_bottom01 .txt_wrap .txt_wrap_inner h3.jp_h3{
				margin-bottom: 10px;
			}
			.sec_bottom01 .txt_wrap .txt_wrap_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_bottom01 .txt_wrap .txt_wrap_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				width: 100%;
				max-width: 830px;
			}

@media screen and (max-width: 1024px) {
	.sec_bottom01 .bg_img{
		width: 100%;
		height: 500px;
		margin: 0;
		padding: 0;
		position: relative;
		background-position: center center;
		background-repeat: no-repeat;
		background-attachment: scroll !important;
		background-size: cover !important;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
}			
@media screen and (max-width: 768px) {
	.sec_bottom01{
		padding: 75px 0 0;
	}
		.sec_bottom01 .txt_wrap .txt_wrap_inner{
			padding: 0 0 85px;
		}
}
			
.sec_bottom02{
	margin: 0 auto;
	padding: 77px 0 0;
	width: 100%;
	height: auto;
	position: relative;
	text-align: center;
}

.sec_bottom02.bottom120{
	padding: 115px 0 0;
}
	
	.sec_bottom02 .txt_wrap{
		width: 100%;
		max-width: 1180px;
		padding: 0 10px;
		margin: 0 auto;
		text-align: left;
	}
		.sec_bottom02 .txt_wrap .txt_wrap_inner{
			width: 100%;
			padding: 0;
/* 			padding: 0 0 110px; */
		}
			.sec_bottom02 .txt_wrap .txt_wrap_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_bottom02 .txt_wrap .txt_wrap_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_bottom02 .txt_wrap .txt_wrap_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				width: 100%;
				max-width: 830px;
				margin-bottom: 50px;
			}
			
	.sec_bottom02 .img_wrap{
		width: 100%;
		max-width: 1180px;
		padding: 0 10px;
		margin: 0 auto;
		overflow: hidden
	}
		.sec_bottom02 .img_wrap .img_wrap_left{
			float: left;
			width: 50%;
		}
		.sec_bottom02 .img_wrap .img_wrap_right{
			float: right;
			padding: 50px 0 0;
			width: 50%;
		}


		
.sec_bottom03{
	margin: 0 auto;
	padding: 115px 0 0;
	width: 100%;
	height: auto;
	position: relative;
	text-align: center;
}
.sec_bottom03.bottom100{
	padding: 100px 0 0;
}
	
	.sec_bottom03 .txt_wrap{
		width: 100%;
		max-width: 1180px;
		padding: 0 10px;
		margin: 0 auto;
		text-align: left;
	}
		.sec_bottom03 .txt_wrap .txt_wrap_inner{
			width: 100%;
			padding: 0 0;
		}
			.sec_bottom03 .txt_wrap .txt_wrap_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_bottom03 .txt_wrap .txt_wrap_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_bottom03 .txt_wrap .txt_wrap_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				width: 100%;
				max-width: 830px;
				margin-bottom: 43px;
			}
			
	.sec_bottom03 .link_txt{
		width: 100%;
		text-align: center;
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		margin-bottom: 8px;
	}
	
@media screen and (max-width: 768px) {
	.sec_bottom03,
	.sec_bottom03.bottom100{
		padding: 85px 0 0;
	}
}

.link_txt_wrap{
	display: block;
	margin: 0 auto;
	text-align: center;
	padding-top: 50px;
}
	.link_txt_wrap .link_txt{
		width: 100%;
		text-align: center;
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		margin-bottom: 8px;
	}
	
.sec_bottom04{
	margin: 0 auto;
	padding: 120px 0 0;
	width: 100%;
	max-width: 1440px;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: center;
}
	.sec_bottom04 .right{
		width: 50%;
		float: right;
	}
		.sec_bottom04 .right img{

		}
	.sec_bottom04 .left{
		width: 50%;
		float: left;
		text-align: left;
	}
		.sec_bottom04 .left .left_inner{
			width: 100%;
			max-width: 590px;
			padding: 0 50px 0 10px;
			float: right;
		}
			.sec_bottom04 .left .left_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_bottom04 .left .left_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 10px;
			}
			.sec_bottom04 .left .left_inner p{
				letter-spacing: 0.08em;
				line-height: 1.9;
				margin-bottom: 42px;
			}
			
@media screen and (max-width: 768px) {
	.sec_bottom04{
		padding: 85px 0 0;
	}
}

@media screen and (max-width: 640px) {
	.sec_bottom04 .right,
	.sec_bottom04 .left{
		width: 100%;
	}
	.sec_bottom04 .left{
		width: 100%;
		margin-bottom: 30px;
	}
	.sec_bottom04 .right{
		padding: 0 10px;
	}
}
			
.sec_bottom05{
	margin: 0 auto;
	width: 100%;
	max-width: 1180px;
	padding: 120px 10px 0;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: left;
}

	.sec_bottom05 h3{
		display: block;
		margin-bottom: 5px;
	}
	.sec_bottom05 .sub{
		font-size: 16px;
		font-size: 1.6rem;
		display: inline-block;
		margin-bottom: 20px;
	}
	
	.sec_bottom05_inner{
		margin: 0px auto 50px;
		padding: 0 0 0;
		width: 100%;
		height: auto;
		position: relative;
		overflow: hidden;
		text-align: left;
	}
	.sec_bottom05_inner.bottom_mb{
		margin: 0px auto;
	}
		.sec_bottom05_inner .left{
			float: left;
		}
		.sec_bottom05_inner .right{
			float: right;
		}
		
		.sec_bottom05_inner .sec_bottom05_img,
		.sec_bottom05_inner .sec_bottom05_txt{
			width: 50%;
			overflow: hidden;
		}
		.sec_bottom05_inner .sec_bottom05_txt{
			padding: 45px 0 0;
		}

			.sec_bottom05_inner .sec_bottom05_txt h4{
				font-size: 16px;
				font-size: 1.6rem;
				font-weight: bold;
				display: block;
				margin-bottom: 4px;
			}
				.sec_bottom05_inner .sec_bottom05_txt h4 span{
					font-size: 12px;
					font-size: 1.2rem;
					font-weight: bold;
				}
			.sec_bottom05_inner .sec_bottom05_txt p{
				font-size: 14px;
				font-size: 1.4rem;
				line-height: 1.9;
				letter-spacing: 0.08em;
			}
			.sec_bottom05_inner .sec_bottom05_txt.left p{
				width: 91.379310%;
				max-width: 530px;
			}
				.sec_bottom05_inner .sec_bottom05_txt p span{
					font-size: 12px;
					font-size: 1.2rem;
				}
		
			.sec_bottom05_inner .sec_bottom05_img .img_anime_left,
			.sec_bottom05_inner .sec_bottom05_img .img_anime_right{
				width: 91.379310%;
				max-width: 530px;
			}
			
@media screen and (max-width: 768px) {
	.sec_bottom05{
		padding: 85px 10px 0;
	}
}
@media screen and (max-width: 640px) {
	.sec_bottom05_inner .sec_bottom05_img,
	.sec_bottom05_inner .sec_bottom05_txt{
		width: 100%;
	}
		.sec_bottom05_inner .sec_bottom05_txt{
			padding: 10px 0 10px;
		}
			.sec_bottom05_inner .sec_bottom05_img .img_anime_left,
			.sec_bottom05_inner .sec_bottom05_img .img_anime_right{
				width: 100%;
				max-width: 100%;
			}
}
	

.sec_bottom_ready{
	margin: 0 auto;
	width: 100%;
	max-width: 1180px;
	padding: 120px 10px 0;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: left;
}

	.sec_bottom_ready h3{
		display: block;
		margin-bottom: 5px;
	}
	.sec_bottom_ready .sub{
		font-size: 16px;
		font-size: 1.6rem;
		display: inline-block;
		margin-bottom: 10px;
	}
	.sec_bottom_ready p{
	    letter-spacing: 0.08em;
	    line-height: 1.9;
	    width: 100%;
	    max-width: 830px;
	    margin: 0 0 50px;
	}
	
	.sec_bottom_ready .sec_bottom_ready_img{
		width: 100%;
		text-align: center;
		overflow: hidden;
	}
		.sec_bottom_ready .sec_bottom_ready_img li{
			display: block;
			width: 20%;
			text-align: center;
			float: left;
			padding: 0 10px;
		}
			.sec_bottom_ready .sec_bottom_ready_img li img{
				width: 100%;
				max-width: 160px;
				display: inline-block;
			}
			.sec_bottom_ready .sec_bottom_ready_img li p{
				font-size: 16px;
				font-size: 1.6rem;
				line-height: 1.4;
			}

@media screen and (max-width: 768px) {
	.sec_bottom_ready{
		padding: 85px 10px 0;
	}
}
@media screen and (max-width: 640px) {
		.sec_bottom_ready .sec_bottom_ready_img li{
			display: inline-block;
			width: 30%;
			text-align: center;
			float: none;
			padding: 0 10px;
			vertical-align: top;
		}
			.sec_bottom_ready .sec_bottom_ready_img li img{
				width: 100%;
				max-width: 160px;
				display: inline-block;
			}
			.sec_bottom_ready .sec_bottom_ready_img li p{
				font-size: 10px;
				font-size: 1.0rem;
				line-height: 1.4;
				margin: 0 0 20px;
			}
			.sec_bottom_ready .sec_bottom_ready_img li:nth-child(4) p,
			.sec_bottom_ready .sec_bottom_ready_img li:nth-child(5) p{
				margin: 0;
			}
}	

.sec_bottom_about{
	margin: 0 auto;
	width: 100%;
	max-width: 1180px;
	padding: 120px 10px 0;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: left;
}

	.sec_bottom_about h3{
		display: block;
		margin-bottom: 5px;
	}
	.sec_bottom_about .sub{
		font-size: 16px;
		font-size: 1.6rem;
		display: inline-block;
		margin-bottom: 20px;
	}
	
	.sec_bottom_about .sec_bottom_about_inner{
		margin: 0px auto;
		padding: 0;
		width: 100%;
		height: auto;
		position: relative;
		overflow: hidden;
		text-align: left;
	}
		.sec_bottom_about .sec_bottom_about_inner .left{
			width: 50%;
			float: left;
		}
			.sec_bottom_about .sec_bottom_about_inner .left .about_dl01{
				margin: 0 0 15px;
				padding: 0;
				width: 100%;
				height: auto;
				position: relative;
				overflow: hidden;
			}
				.sec_bottom_about .sec_bottom_about_inner .left .about_dl01 dl{
					margin: 0;
					padding: 0;
					width: 100%;
					height: auto;
					position: relative;
					overflow: hidden;
					line-height: 1.9;
					letter-spacing: 0.08em;
				}
					.sec_bottom_about .sec_bottom_about_inner .left .about_dl01 dl dt{
						float: left;
						width: 85px;
						display: block;
					}
					.sec_bottom_about .sec_bottom_about_inner .left .about_dl01 dl dd{
						float: right;
						width: 100%;
						margin-left: -85px;
						padding-left: 85px;
						display: block;
					}
					
			.sec_bottom_about .sec_bottom_about_inner .left .about_dl02{
				margin: 0 0 15px;
				padding: 0;
				width: 100%;
				height: auto;
				position: relative;
				overflow: hidden;
				line-height: 1.9;
				letter-spacing: 0.08em;
			}
				.sec_bottom_about .sec_bottom_about_inner .left .about_dl02 dt{
					display: block;
				}
				.sec_bottom_about .sec_bottom_about_inner .left .about_dl02 dd{
					display: block;
				}
			
		.sec_bottom_about .sec_bottom_about_inner .right{
			width: 50%;
			float: right;
		}

@media screen and (max-width: 768px) {
	.sec_bottom_about{
		padding: 85px 10px 0;
	}
}
@media screen and (max-width: 640px) {
	.sec_bottom_about .sec_bottom_about_inner .left,
	.sec_bottom_about .sec_bottom_about_inner .right{
		width: 100%;
	}
			.sec_bottom_about .sec_bottom_about_inner .left .about_dl01{
				margin: 0 0 15px;
				padding: 20px 0 0;
				width: 100%;
				height: auto;
				position: relative;
				overflow: hidden;
			}
}

.sec_bottom_about_history{
	margin: 0 auto;
	width: 100%;
	max-width: 1180px;
	padding: 120px 10px 0;
	height: auto;
	position: relative;
/* 	overflow: hidden; */
	text-align: center;
}

	.sec_bottom_about_history h3{
		display: block;
		width: 100%;
		text-align: center;
		margin-bottom: 5px;
	}
	.sec_bottom_about_history .sub{
		font-size: 16px;
		font-size: 1.6rem;
		display: inline-block;
		margin-bottom: 20px;
	}
	
	.sec_bottom_about_history dl{
		margin: 0 auto;
		width: 600px;
		padding: 0 10px;
		height: auto;
		position: relative;
		overflow: hidden;
		text-align: left;
		line-height: 1.9;
		letter-spacing: 0.08em;
	}
		.sec_bottom_about_history dl dt{
			display: block;
			float: left;
			width: 105px;
		}
		.sec_bottom_about_history dl dd{
			display: block;
			float: left;
			width: 475px;
		}
@media screen and (max-width: 768px) {
	.sec_bottom_about_history{
		padding: 85px 10px 0;
	}
}
@media screen and (max-width: 640px) {
	.sec_bottom_about_history dl{
		margin: 0 auto;
		width: 100%;
		padding: 0px;
		height: auto;
		position: relative;
		overflow: hidden;
		text-align: left;
		line-height: 1.9;
		letter-spacing: 0.08em;
	}
		.sec_bottom_about_history dl dt{
			display: block;
			float: left;
			width: 100%;
		}
		.sec_bottom_about_history dl dd{
			display: block;
			float: left;
			width: 100%;
			margin-bottom: 10px;
		}
}
/*-----------------------------------------------
apart
-----------------------------------------------*/


/*-----------------------------------------------
home_wrap
-----------------------------------------------*/

.home_cont{
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 10px;
	overflow: hidden;
}
.home_wrap{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
	.home_wrap>li{
		width: 25%;
		float: left;
		padding: 0 30px 0 0;
		margin: 0 0 45px;
		overflow: hidden;
	}
		.home_wrap>li .post{
			width: 100%;
			overflow: hidden;
		}
@media screen and (max-width: 768px) {
.home_wrap{
	width: 100%;
	margin: 0 auto 45px;
	padding: 0;
	overflow: hidden;
}
	.home_wrap>li{
		width: 50%;
		float: left;
		padding: 0 10px;
		margin: 0 0 70px;
		overflow: hidden;
	}
}
@media screen and (max-width: 640px) {
	.home_wrap>li{
		width: 100%;
		float: left;
		padding: 0;
		margin: 17px 0 0;
		overflow: hidden;
	}
	.home_wrap>li:first-child{
		padding: 0;
		margin: 0;
	}
		.home_wrap>li .post{
			width: 100%;
			overflow: hidden;
			padding: 17px 0 0;
/* 			border-top: 1px solid #eaeaea; */
		}
		.home_wrap>li:first-child .post{
			padding: 0;
			border-top: none;
		}
}	
.home_wrap .post a,
.home_wrap .post .post-image::after,
.home_wrap .post .post-image figure img {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.home_wrap .post a {
    display: block;
    border-bottom: 1px solid #222222;
    color: #222222;
    position: relative;
    overflow: hidden;
}
.home_wrap .post .post-image {
    position: relative;
    text-align: center;
}
@media screen and (max-width: 640px) {
	.home_wrap .post a{
		padding-bottom: 17px;
	}
	.home_wrap .post .post-image {
	    width: 110px;
	    float: left;
	}
}
.home_wrap .post .post-image::after {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    content: '';
    width: 90%;
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
    height: 90%;
    height: -webkit-calc(100% - 20px);
    height: calc(100% - 20px);
    background-color: rgba(0,0,0,.6);
    opacity: 0;
}
.home_wrap .post .post-image figure {
    overflow: hidden;
    text-align: left;
}
.home_wrap .post .post-image figure img {
    width: 100%;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: #fafafa;
}
.home_wrap .post .post-image p {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    display: inline-block;
    color: #fff;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-transition: margin 0.3s 0,opacity 0.3s 0;
    transition: margin 0.3s 0,opacity 0.3s 0;
}
.home_wrap .post .post-image .image_hover {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    display: block;
    color: #505050;
    line-height: 1;
    white-space: nowrap;
    opacity: 1;
/*
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
*/
    -webkit-transition: margin 0.3s 0,opacity 0.3s 0;
    transition: margin 0.3s 0,opacity 0.3s 0;
    width: 100%;
}

.home_wrap .post a:hover .post-image figure img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.home_wrap .post a:hover .post-image.about_post figure img {
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
/*
    margin-top: 0;
    opacity: 0;
    -webkit-transition: margin 0.3s 0.3s,opacity 0.3s 0.3s;
    transition: margin 0.3s 0.3s,opacity 0.3s 0.3s;
*/
}

.home_wrap .post a:hover .post-image::after {
    opacity: 1;
}
.home_wrap .post a:hover .post-image.about_post::after {
    opacity: 0;
}
.home_wrap .post a:hover .post-image p {
    margin-top: 5px;
    opacity: 1;
    -webkit-transition: margin 0.3s 0.3s,opacity 0.3s 0.3s;
    transition: margin 0.3s 0.3s,opacity 0.3s 0.3s;
}
@media screen and (max-width: 640px) {
	.home_wrap .post a:hover .post-image::after,
	.home_wrap .post a:hover .post-image.about_post::after,
	.home_wrap .post a:hover .post-image p {
		display: none;
	}
}

div.new-cate{
	background-color:#222222;
	color: #fff;
	text-align: center;
	line-height: 25px;
	font-size: 14px;
	font-size: 1.4rem;
	width: 80px;
	height: 25px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
@media screen and (max-width: 640px) {
	div.new-cate{
		width: 45px;
		height: 18px;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 18px;
	}
}

.home_wrap .post .post-data{
	width: 100%;
/* 	background-color: #fff; */
	padding: 10px 0 0;
	text-align: left;
}

	.home_wrap .post .post-data ul{
		font-size: 0;
	}
		.home_wrap .post .post-data ul li{
			font-size: 13px;
			font-size: 1.3rem;
			display: inline-block;
			line-height: 18px;
		}
		.home_wrap .post .post-data ul li.post-data-cat{
			background-color: #eaeaea;
			color: #222222;
			margin-right: 15px;
			padding: 0 7px;
		}
		.home_wrap .post .post-data ul li.post-data-auth{
			display: block;
			padding: 10px 0 3px;
		}
		
	.home_wrap .post .post-data h1{
		line-height: 1.8;
		letter-spacing: 0.07em;
		font-size: 14px;
		font-size: 1.4rem;
		padding-bottom: 5px;
	}

@media screen and (max-width: 640px) {
	.home_wrap .post .post-data{
		float: right;
		width: 100%;
		margin-left: -120px;
		padding: 0 0 0 120px;
	}
	.home_wrap .post .post-data h1{
		line-height: 1.8;
		letter-spacing: 0.07em;
		font-size: 12px;
		font-size: 1.2rem;
	}
}


/*-----------------------------------------------
blog_wrap
-----------------------------------------------*/
.blog_wrap_inner{
	width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 10px;
    overflow: hidden;
}
.blog_wrap_inner.blog_pt80{
	padding: 82px 10px 0;
}
@media screen and (max-width: 640px) {
	.blog_wrap_inner.blog_pt80{
		padding: 40px 10px 0;
	}
}

#main{
	float: left;
	width: 100%;
	margin: 0 -290px 0 0;
	padding: 0 290px 0 0;
}

#side {
	float: right;
	width: 290px;
	padding: 0;
}
@media screen and (max-width: 768px) {
	#main{
		width: 100%;
		margin: 0 0 70px;
		padding: 0;
	}
	
	#side {
		width: 100%;
		padding: 0;
	}
}


/* sidebar */

#side .side_posts{
	position: relative;
	padding: 0;
	margin-bottom: 50px
}
	#side .side_posts h3{
		width: 100%;
		margin: 0 auto 20px;
		padding: 0;
		position: relative;
		text-align: left;
	}
		#side .side_posts h3 .side_title_en{
			display: block;
			line-height: 1.0;
			font-size: 20px;
			font-size:2.0rem;
			margin-bottom: 9px;
		}
		#side .side_posts h3 .side_title_jp{
			display: block;
			line-height: 1.0;
			font-size: 12px;
			font-size:1.2rem;
		}



.side_cat{
	width: 100%;
	position: relative;
}
	.side_cat li{
		width: 100%;
		height: 41px;
		border-bottom: 1px dotted #222222;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 40px;
	}
	.side_cat li:first-child{
		height: 42px;
		border-top: 1px dotted #222222;
	}
		.side_cat li a{
			display: block;
			position: relative;
			width: 100%;
			line-height: 40px;
			text-align: left;
			padding-left: 5px;
			font-size: 14px;
			font-size: 1.4rem;
			-webkit-transform: all .4s;  
			-moz-transform: all .4s;
			transition: all .4s;
		}
			.side_cat li a::after{
				content: '';
				width: 7px;
				height: 7px;
				border-bottom: 2px solid #222222;
				border-left: 2px solid #222222;
				position: absolute;
				right: 10px;
				top :50%;
				-webkit-transform: rotate(-135deg);
				transform: rotate(-135deg);
				margin-top: -4px;
				-webkit-transform: all .2s;  
				-moz-transform: all .2s;
				transition: all .2s;
			}
			
		.side_cat li a:hover{
			background-color: #f7f7f7;
		}
		.side_cat li a:hover::after{
			right: 7px;
		}
		

/* blog_wrap_side */
.blog_wrap_side{
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
	.blog_wrap_side>li{
		width: 100%;
		float: left;
		padding: 0;
		margin: 10px 0 0;
		overflow: hidden;
	}
	@media screen and (max-width: 640px) {
		.blog_wrap_side>li{
			margin: 17px 0 0;
		}
	}
	.blog_wrap_side>li:first-child{
		margin: 0;
	}
	
	.blog_wrap_side>li:last-child{
		padding: 0 0 17px;
		border-bottom: 1px solid #eaeaea;
	}
	
		.blog_wrap_side>li .post {
		    width: 100%;
		    overflow: hidden;
		    padding: 17px 0 0;
		    border-top: 1px solid #eaeaea;
		}
		.blog_wrap_side>li:first-child .post {
		    padding: 0;
		    border-top: none;
		}
			.blog_wrap_side>li .post a {
			    display: block;
			    color: #222222;
			    position: relative;
			    overflow: hidden;
			}
				.blog_wrap_side .post .post-data {
				    overflow: hidden;
				    width: 100%;
				    margin-bottom: 5px;
				}
					.blog_wrap_side .post .post-data li {
					    font-size: 11px;
					    font-size: 1.1rem;
					    display: block;
					    line-height: 20px;
					    float: left;
					    margin-bottom: 5px;
					}
					.blog_wrap_side .post .post-data li.post-data-cat {
						background-color: #eaeaea;
						color: #222222;
						margin-right: 15px;
					    padding: 0 7px;
					    
					}
					.blog_wrap_side .post .post-data li.post-data-date {
					    
					}
			
				.blog_wrap_side .post .post-image {
				    width: 60px;
				    float: left;
				    position: relative;
					text-align: center;
				}
				@media screen and (max-width: 640px) {
					.blog_wrap_side .post .post-image {
					    width: 110px;
					}
				}
				.blog_wrap_side .post .post-image::after {
				    position: absolute;
				    top: 0;
				    left: 0;
				    z-index: 2;
				    content: '';
				    width: 100%;
				    height: 100%;
				    background-color: rgba(0,0,0,.6);
				    opacity: 0;
				}
					.blog_wrap_side .post .post-image figure {
					    overflow: hidden;
					    text-align: left;
					}
						.blog_wrap_side .post .post-image figure img {
						    width: 100%;
						    -webkit-transform: scale(1);
						    transform: scale(1);
						    -webkit-backface-visibility: hidden;
						    backface-visibility: hidden;
						    background-color: #fafafa;
						}
						
					.blog_wrap_side .post .post-image p {
					    position: absolute;
					    top: 50%;
					    left: 50%;
					    z-index: 3;
					    display: inline-block;
					    color: #fff;
					    font-size: 16px;
					    font-size: 1.6rem;
					    line-height: 1;
					    white-space: nowrap;
					    opacity: 0;
					    -webkit-transform: translate(-50%,-50%);
					    transform: translate(-50%,-50%);
					    -webkit-transition: margin 0.3s 0,opacity 0.3s 0;
					    transition: margin 0.3s 0,opacity 0.3s 0;
					}
				
				.blog_wrap_side .post .post-title{
					float: right;
				    width: 100%;
				    margin-left: -70px;
				    padding: 0 0 0 70px;
				    text-align: left;
				}
				.blog_wrap_side .post .post-title.news-post-title{
					float: right;
				    width: 100%;
				    margin-left: 0;
				    padding: 0;
				    text-align: left;
				}
				@media screen and (max-width: 640px) {
					.blog_wrap_side .post .post-title {
						margin-left: -120px;
						padding: 0 0 0 120px;
					}
				}
					
						
					.blog_wrap_side .post .post-title h1 {
					    line-height: 1.8;
					    letter-spacing: 0.07em;
					    font-size: 14px;
					    font-size: 1.4rem;
					    display: inline-block;
					    -webkit-transition: .4s;
						transition: .4s;
					}
					@media screen and (max-width: 640px) {
						.blog_wrap_side .post .post-title h1{
							font-size: 16px;
							font-size: 1.6rem;
						}
					}
					
					
.blog_wrap_side .post a:hover .post-image figure img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.blog_wrap_side .post a:hover .post-image p {
    opacity: 1;
    -webkit-transition: margin 0.3s 0.3s,opacity 0.3s 0.3s;
    transition: margin 0.3s 0.3s,opacity 0.3s 0.3s;
}
.blog_wrap_side .post a:hover .post-image::after {
    opacity: 1;
}

.blog_wrap_side .post a,
.blog_wrap_side .post .post-image::after,
.blog_wrap_side .post .post-image figure img {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.blog_wrap_side .post a:hover .post-title h1{
	background-color: #222222;
	color: #fff;
}

/*-----------------------------------------------
blog_wrap
-----------------------------------------------*/
.news_title{
	margin: 0;
    padding: 0;
    width: 100%;
    height: 190px;
    position: relative;
    overflow: hidden;
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}
	.news_title h2{
		display: inline-block;
	    position: relative;
	    overflow: hidden;
	    
	}
		.news_title .title_h2 .h2_font{
			color: #222222;
		}
	
	p.photo_ttl_p{
		display: block;
	    overflow: hidden;
	    width: 100%;
	    margin: 0 auto;
	    text-align: center;
	}

.news_wrap_bottom{
	margin: 0 auto 44px;
}
.news_wrap_bottom>li{
	width: 100%;
    padding: 0 40px 0 0;
}
	.news_wrap_bottom>li .post a {
	    display: block;
	    color: #222222;
	    position: relative;
	    overflow: hidden;
	}
		.news_wrap_bottom .post .post-data {
		    overflow: hidden;
		    width: 100%;
		    margin-bottom: 0;
		}
			.news_wrap_bottom .post .post-data li {
			    font-size: 11px;
			    font-size: 1.1rem;
			    display: block;
			    line-height: 20px;
			    float: left;
			    margin-bottom: 5px;
			}
			.news_wrap_bottom .post .post-data li.post-data-cat {
				background-color: #eaeaea;
				color: #222222;
				margin-right: 15px;
			    padding: 0 7px;
			    
			}
			.news_wrap_bottom .post .post-data li.post-data-date {
			    
			}
		.news_wrap_bottom .post .post-title {
		    overflow: hidden;
		    width: 100%;
		    margin-bottom: 32px;
		    text-align: left;
		    font-size: 0;
		}
			.news_wrap_bottom .post .post-title h1{
				font-size: 16px;
				font-size: 1.6rem;
				font-weight: bold;
				line-height: 1.6;
				letter-spacing: 0.05em;
				display: inline-block;
				-webkit-transition: .4s;
				transition: .4s;
				
			}
			
	.news_wrap_bottom>li .post a:hover .post-title h1{
		color: #fff;
		background-color: #222222;
	}
/*
			.news_wrap_bottom .post .post-title h1{
				font-size: 16px;
				font-size: 1.6rem;
				font-weight: bold;
				line-height: 1.6;
				letter-spacing: 0.05em;
				display: inline-block;
				padding: 0 .3em;
				background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgba(34,34,34,1) 50%);
				background-position: 0 0;
				background-size: 200% auto;
				transition: .3s;
			}
			
	.news_wrap_bottom>li .post a:hover .post-title h1{
		color: #fff;
		background-position: -100% 0;
	}
*/
/*-----------------------------------------------
article_wrap
-----------------------------------------------*/
.home_wrap.home_wrap_bottom{
	margin: 0 auto 44px;
}
.home_wrap.home_wrap_bottom>li{
	width: 33.333333%;
	width: -webkit-calc(100% / 3);
    width: calc(100% / 3);
    padding: 0 40px 0 0;
}
@media screen and (max-width: 1024px) {
	.home_wrap.home_wrap_bottom>li{
		width: 50%;
		padding: 0 20px 0 0;
	}
}
@media screen and (max-width: 1024px) {
	.home_wrap.home_wrap_bottom>li{
		padding: 0 10px 0;
	}
}
@media screen and (max-width: 640px) {
	.home_wrap.home_wrap_bottom>li{
		width: 100%;
		padding: 0;
	}
}


/*-----------------------------------------------
wp-pagenavi
-----------------------------------------------*/
.post-nav{
	width: 100%;
	padding: 0 40px 0 0;
	margin: 0 auto;
}
@media (max-width: 1024px) {
	.post-nav{
		width: 100%;
		padding: 0 10px 0;
		margin: 0 auto;
	}
}
.wp-pagenavi {
	width: 100%;
    position: relative;
    text-align: center;
    border-bottom: 1px solid #222222;
    padding-bottom: 1px;
    overflow: hidden;
}
@media (max-width: 768px) {
	.wp-pagenavi {
/* 		margin-bottom: 60px; */
	}
}

.wp-pagenavi{
	font-size: 0;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    /* position: absolute; */
    display: inline-block;
    /* padding-bottom: 25px; */
    line-height: 32px;
    height: 33px;
    margin: 0;
/*     margin: 0 20px; */
/*     color: #adadad; */
	color: #222222;
    font-size: 14px;
    font-size: 1.4rem;
}
.wp-pagenavi a{
	color: #9a9a9a;
}

.wp-pagenavi a, .wp-pagenavi span {
	line-height: 32px;
	height: 33px;
	min-width: 55px;
	text-align: center;
	display: inline-block;
	font-size: 14px;
    font-size: 1.4rem;
    bottom: -1px;
    position: relative;
}
.wp-pagenavi .current,
.wp-pagenavi a:hover {
    position: relative;
	border-bottom: 1px solid #000;
	color: #222222;
	-webkit-transform: all .4s;  
    -moz-transform: all .4s;
    transition: all .4s;
}
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover{
	border-bottom: none;
	color: #9a9a9a;
}
@media (max-width: 768px) {
	.wp-pagenavi a.page{
		display: none;
	}
	.wp-pagenavi .nextpostslink{
		float: right;
		margin: 0 0 0 20px;
	}
	.wp-pagenavi .previouspostslink {	
		float: left;
		margin: 0 20px 0 0;
	}
	.wp-pagenavi .last,
	.wp-pagenavi .first{
		display: none;
	}
	.wp-pagenavi .extend{
		display: none;
	}
}

/*-----------------------------------------------
single
-----------------------------------------------*/

/* post_single */

.post_single{
	width: 100%;
	float: left;
	padding: 0 50px 0 0;
	overflow: hidden;
	text-align: left;
}
@media (max-width: 1024px) {
	.post_single{
		padding: 0 20px 0 0;
	}
}
@media (max-width: 768px) {
	.post_single{
		padding: 0;
	}
}
	.post_single .post_header{
		display: block;
		width: 100%;
		position: relative;
		overflow: hidden;
		margin-bottom: 20px;
	}
		.post_single .post_header .post_data_date{
			display: inline-block;
			font-size: 14px;
			font-size: 1.4rem;
		}
		.post_single .post_header .post_data{
			display: block;
			width: 100%;
			position: relative;
			overflow: hidden;
			margin-bottom: 0px;
			font-size: 0;
			margin-bottom: 10px;
		}
			.post_single .post_header .post_data li{
				display: inline-block;
/* 				margin-left: 20px; */
				margin-right: 20px;
				line-height: 25px;
			}
/*
			.post_single .post_header .post_data li:first-child{
				margin-left: 0px;
			}
*/
			.post_single .post_header .post_data .post_data_cat{
				
				font-size: 12px;
				font-size: 1.2rem;
				background-color: #eaeaea;
				padding: 0 17px;
			}
			.post_single .post_header .post_data .post_data_auth{
				font-size: 12px;
				font-size: 1.2rem;
			}
			.post_single .post_header .post_data .post_data_date{
				font-size: 14px;
				font-size: 1.4rem;
			}
			
		.post_single .post_header h1{
			display: block;
			font-size: 22px;
			font-size: 2.2rem;
			font-weight: bold;
			letter-spacing: 0.05em;
			margin-bottom: 10px;
		}
/*
		.post_single .post_header img{
			margin-bottom: 20px;
		}
		.post_single .post_header p{
			
		}
*/
		    		
		
	.post_contents_wrap{
		display: block;
		width: 100%;
		position: relative;
		overflow: hidden;
		margin-bottom: 94px;
	}
		.post_contents_wrap p{
			font-size: 16px;
			font-size: 1.6rem;
			margin-bottom: 20px;
		}
		.post_contents_wrap h2,
		.post_contents_wrap h3,
		.post_contents_wrap h4,
		.post_contents_wrap h5{
			display: block;
			font-size: 20px;
			font-size: 2.0rem;
			font-weight: bold;
			width: 100%;
			margin: 63px 0 20px;
		}
		.post_contents_wrap h2{
			border-left: 5px solid #222222;
			padding: 0 15px;
		}
		.post_contents_wrap h3{
			background-color: #eaeaea;
			padding: 0 20px;
			-webkit-border-radius: 3px;
			border-radius: 3px;
		}
		.post_contents_wrap h4{
			border-bottom: 1px solid #222222;
		}
		.post_contents_wrap img{
			width: auto;
			margin: 0 auto 20px;
		}
			.post_contents_wrap .img_col_02{
				width: 100%;
				overflow: hidden;
			}
				.post_contents_wrap .img_col_02 div{
					width: 50%;
					float: left;
				}
				.post_contents_wrap .img_col_02 div.left{
					padding-right: 10px;
				}
				.post_contents_wrap .img_col_02 div.right{
					padding-left: 10px;
				}
		.post_contents_wrap a{
			color: #0092f4;
		}
		.post_contents_wrap a:hover{
			color: #1a0dab;
			text-decoration: underline;
		}
		
		.post_contents_wrap video{
			display: block;
			margin: 0 auto;
			max-width: 100%;
		    height: auto;
		
		}
		
		.post_contents_wrap .youtube_wp {
		  position: relative;
		  padding-bottom: 56.25%;
		  height: 0;
		  overflow: hidden;
		  max-width: 100%;
		  margin: 0 auto 20px;
		}
		.post_contents_wrap .youtube_wp iframe {
		  position: absolute;
		  top: 0;
		  left: 0;
		  width: 100%;
		  height: 100%;
		}

@media screen and (max-width: 768px) {
		.post_single .post_header h1{
			display: block;
			font-size: 18px;
			font-size: 1.8rem;
			font-weight: bold;
			letter-spacing: 0.05em;
			margin-bottom: 10px;
		}
		
		.post_contents_wrap h2,
		.post_contents_wrap h3,
		.post_contents_wrap h4,
		.post_contents_wrap h5{
			display: block;
			font-size: 17px;
			font-size: 1.7rem;
			font-weight: bold;
			width: 100%;
			margin: 63px 0 20px;
		}
}

	/* post_sns_wrap */		
	.post_sns_wrap{
		display: block;
		width: 100%;
		position: relative;
		overflow: hidden;
	}
		.post_sns_wrap .post_sns_wrap_left{
			display: block;
			width: 35.365854%;
			position: relative;
			overflow: hidden;
		}
		.post_sns_wrap .post_sns_wrap_right{
			display: block;
			width: 64.634146%;
			position: relative;
			overflow: hidden;
		}
		
		
		.post_sns_wrap .post_sns_wrap_left{
			float: left;
			padding-right: 20px;
			text-align: center;
		}
					
		.post_sns_wrap .post_sns_wrap_right{
			float: right;
		}
			.post_sns_wrap .share_link{
				display: block;
				width: 100%;
				position: relative;
				overflow: hidden;
			}
				.post_sns_wrap .share_link li{
					display: block;
					float: left;
					width: 100%;
					height: 70px;
					text-align: center;
					margin-bottom: 20px;
				}
				.post_sns_wrap .share_link li.li_face{
					
				}
				.post_sns_wrap .share_link li.li_twit{
					
				}
				.post_sns_wrap .share_link li.li_line{
					display: none;
				}
					.post_sns_wrap .share_link li a{
						display: block;
						width: 100%;
						height: 70px;
						color: #fff;
						line-height: 66px;
						padding: 0;
						font-size: 0;
						-webkit-border-radius: 2px;
						border-radius: 2px;
						position: relative;
					}
						.post_sns_wrap .share_link li a i{
							font-size: 28px;
							font-size: 2.8rem;
							display: inline-block;
							line-height: 66px;
							float: left;
							position: absolute;
							top:0;
							left: 30px;
						}
							.post_sns_wrap .share_link li.li_face a i::before{
								margin-left: 4px;
							}
						.post_sns_wrap .share_link li a span{
							display: inline-block;
							font-size: 17px;
							font-size: 1.7rem;
						}
				
					.post_sns_wrap .share_link li a.facebook{
						background-color: #3b5898;
						border: 2px solid #3b5898;
					}
						.post_sns_wrap .share_link li a.facebook:hover{
							background-color: #fff;
							color: #3b5898;
						}
				
					.post_sns_wrap .share_link li a.twitter{
						background-color: #0F1419;
						border: 2px solid #0F1419;
					}
						.post_sns_wrap .share_link li a.twitter:hover{
							background-color: #fff;
							color: #0F1419;
						}
				
					.post_sns_wrap .share_link li a.line{
						background-color: #00c300;
						border: 2px solid #00c300;
					}
						.post_sns_wrap .share_link li a.line:hover{
							background-color: #fff;
							color: #00c300;
						}
						
			.face_like{
				width: 100%;
				height: 160px;
				background-color: #222222;
			}
				.face_like .left{
					width: 50%;
					height: 100%;
					float: left;
					display: block;
					background-position: 50% 50%;
					background-repeat: no-repeat;
					background-size: cover;
					background-image: url('images/blog01.jpg');
				}
				.face_like .right{
					width: 50%;
					height: 100%;
					float: left;
					display: block;
					text-align: center;
				}
					.face_like .right p{
						color: #fff;
						font-size: 15px;
						font-size: 1.5rem;
						font-weight: bold;
						margin: 35px 0 5px;
					}
					.face_like .right .fb-like{
						
					}
/* シングル */
.single-nav{
	width: 100%;
	display: block;
	margin: 0 auto;
	padding: 23px 0 0;
}
	.single-nav .prev{
		display: block;
		float: left;
	}
	.single-nav .next{
		display: block;
		float: right;
	}

		
@media screen and (max-width: 1024px) {
	.post_sns_wrap .post_sns_wrap_left,
	.post_sns_wrap .post_sns_wrap_right{
		width: 100%;
		margin: 0 auto;
		padding:0;
	}
	.post_sns_wrap .post_sns_wrap_left{
/* 		margin-bottom: 50px; */
	}
		
/*
				.post_sns_wrap .share_link li{
					display: block;
					float: left;
					width: 32%;
					text-align: center;
				}
*/
/*
				.post_sns_wrap .share_link li.li_face{
					padding-right: 0;
					margin-right: 2%;
				}
				.post_sns_wrap .share_link li.li_twit{
					padding-left: 0;
					margin-right: 2%;
				}
*/
				.post_sns_wrap .share_link li.li_line{
					display: block;
				}
				[class^="c-fa-"]:before, [class*=" c-fa-"]:before {
					margin: 0;
				}
				
				.post_sns_wrap .share_link li{
					display: block;
					float: left;
					width: 100%;
					height: 50px;
					text-align: center;
					margin-bottom: 20px;
				}

				.post_sns_wrap .share_link li a{
					display: block;
					width: 100%;
					height: 50px;
					color: #fff;
					line-height: 46px;
					padding: 0;
					font-size: 0;
					-webkit-border-radius: 2px;
					border-radius: 2px;
					position: relative;
				}
					.post_sns_wrap .share_link li a i{
						font-size: 28px;
						font-size: 2.8rem;
						display: inline-block;
						line-height: 46px;
						float: left;
						position: absolute;
						top:0;
						left: 30px;
					}
				
			.face_like{
				height: 110px;
			}
				.face_like .right p{
					color: #fff;
					font-size: 12px;
					font-size: 1.2rem;
					font-weight: bold;
					margin: 15px 0 5px;
				}
							
				
}


/*-----------------------------------------------
contact
-----------------------------------------------*/
.contact_form{
	width: 100%;
/* 	max-width: 740px; */
	max-width: 908px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	padding: 0 10px 80px;
	text-align: center;
}
	.contact_form p{
		width: 100%;
		text-align: center;
		font-size: 14px;
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		margin: 0 auto 40px;
	}
	.contact_form p.contact_desc{
		margin: 0 auto 35px;
	}
	.contact_form dl{
		width: 100%;
		text-align: left;
		overflow: hidden;
	}
		.contact_form dl dt{
			display: block;
			float: left;
			width:148px;
			font-size: 14px;
			font-size: 1.4rem;
			font-weight: bold;
		}
/*
			.contact_form dl dt span{
				color: #dd4b39;
			}
*/
		.contact_form dl dd{
			display: block;
			float: right;
			
			width: 100%;
			margin-left: -154px;
			padding-left: 154px;
			
			font-size: 14px;
			font-size: 1.4rem;
			margin-bottom: 20px;
		}
		@media screen and (max-width: 768px) {
			.contact_form dl dt{
				width:100%;
			}
			.contact_form dl dd{
				margin-left: 0;
				padding-left: 0;
			}
		}
		
		
.contact_form input.input-box,
.contact_form textarea.input-box {
    width: 100%;
}
.contact_form input{
    max-width: 580px !important;
    border-top: 1px solid #f7f7f7;
    border-left: 1px solid #f7f7f7;
    border-right: 1px solid #f7f7f7;
    border-bottom: 1px solid #f7f7f7;
    background-color: #f7f7f7;
    min-height: 30px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

.contact_form .zip input{
    max-width: 110px !important;
    border-top: 1px solid #f7f7f7;
    border-left: 1px solid #f7f7f7;
    border-right: 1px solid #f7f7f7;
    border-bottom: 1px solid #f7f7f7;
    background-color: #f7f7f7;
    min-height: 30px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    margin-left: 10px;
}


.contact_form textarea {
    max-width: 580px !important;
    min-height: 140px !important;
    border: 1px solid #f7f7f7;
    background-color: #f7f7f7;
    margin-bottom: 30px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}
@media screen and (max-width: 768px) {
	.contact_form input,
	.contact_form textarea{
		font-size: 16px;
		font-size: 1.6rem;
	}
}

.contact_form input.submit {
    color: #ffffff;
    width: 200px;
    height: 40px !important;
    line-height: 34px;
    background-color: #222222 !important;
    border: 1px solid #222222;
    font-size: 13px;
    font-size: 1.3rem;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .4s;
    -moz-transform: all .4s;
    transition: all .4s;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    outline: none;
    position: relative;
    cursor: pointer;
    
    font-family:  'Lora',"Yu Gothic", YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ ゴシック",Helvetica,sans-serif;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.contact_form input.submit:hover{
	background-color: #ffffff !important;
	color: #222222 !important;
}

input[type="text"],
input[type="password"],
input[type="tell"],
input[type="email"],
textarea,
select {
    outline: none;
}

span.wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0 !important;
}



.contact_txt{
	width: 100%;
	display: block;
	text-align: center;
	margin: -50px auto 50px;
	position: relative;
}
	.contact_txt h3{
		display: block;
		margin: 0 auto;
		font-size: 18px;
		font-size: 1.8rem;
		font-weight: bold;
	}
	
	.contact_txt p{
		width: 100%;
		max-width: 640px;
		margin: 0 auto 20px;	
	}

.contact_form .file input{
    max-width: 580px !important;
    border: none;
    background-color: transparent;
    min-height: 30px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}


/*-----------------------------------------------
tag_list
-----------------------------------------------*/

.tag_list{
	margin: 0 auto;
}
	.tag_list li{
		display: inline-block;
		border: 1px solid #888888;
		border-radius: 2px;
		margin-bottom: 5px;
	}
		
		.tag_list li a{
			display: block;
			padding: 0 4px;
			background-color: #fff;
			color: #222222;
		}
			
			.tag_list li a::before{
				content:'\f02b';
				color: #888888;
				transition: all .3s;
				font-family: FontAwesome;
			}

			
			.tag_list li a:hover{
				background-color: #888888;
				color: #fff;
			}
				
				.tag_list li a:hover::before{
					color: #fff;
				}

.cat_photo_top_tag{
	margin: 0 auto 50px;
}


.photo_wrap_inner{
	width: 100%;
	max-width: 1180px;
	margin: 0 auto 40px;
	overflow: hidden;
}
	.photo_wrap_inner ul{
		width: 100%;
		overflow: hidden;
		padding: 0 5px;
	}
		.photo_wrap_inner ul li{
			width: 20%;
			padding: 0 5px 10px;
			float: left;
		}

#modal-iframe{	
	position: fixed;
}
	
	#modal-iframe .close_button{
		display: block;
		position: absolute;
		top:0;
		right: 0;
		width: 40px;
		height: 40px;
		background-color: #222222;
		cursor: pointer;
		border: 2px solid #222222;
		transition: all .3s;
	}
		
		#modal-iframe .close_button::before{
			content: '';
			display: block;
			width: 20px;
			height: 2px;
			position: absolute;
			top:17px;
			left: 9px;
			background-color: #fff;
			transform: rotate(-45deg);
			transition: all .3s;
		}
		
		#modal-iframe .close_button::after{
			content: '';
			display: block;
			width: 2px;
			height: 20px;
			position: absolute;
			top:8px;
			left: 18px;
			background-color: #fff;
			transform: rotate(-45deg);
			transition: all .3s;
		}
		
		#modal-iframe .close_button:hover{
			background-color: #fff;
		}
			#modal-iframe .close_button:hover::before,
			#modal-iframe .close_button:hover::after{
				background-color: #222222;
			}

.modal_inner{
	padding: 60px 20px 20px;	
	position: relative;
}
@media screen and (max-width: 640px) {
	.modal_inner{
		padding: 60px 10px 20px;	
		position: relative;
	}
}
	.modal_inner p{
		font-size: 14px;
		font-size: 1.4rem;
		letter-spacing: 0.08em;
		line-height: 1.9;
		padding-top: 5px;
	}
	
.photo_nav{
	width: 100%;
	max-width: 1180px;
	padding: 0 10px;
	margin: 60px auto 0;
}


/*-----------------------------------------------
bottom
-----------------------------------------------*/
.sec_staff{
	margin: 0 auto;
	padding: 85px 0 0;
	width: 100%;
	height: auto;
	position: relative;
}
	
	.sec_staff .txt_wrap{
		width: 100%;
		max-width: 1180px;
		padding: 0 10px;
		margin: 0 auto;
		text-align: left;
	}
		.sec_staff .txt_wrap .txt_wrap_inner{
			width: 100%;
			padding: 0;
		}
			.sec_staff .txt_wrap .txt_wrap_inner h3{
				display: block;
				margin-bottom: 5px;
			}
			.sec_staff .txt_wrap .txt_wrap_inner .sub{
				font-size: 16px;
				font-size: 1.6rem;
				display: inline-block;
				margin-bottom: 0;
			}
			
	.staff_wrap{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		text-align: left;
		overflow: hidden;
	}
		.staff_wrap li{
			width: 33.333333%;
			width: calc(100% / 3);
			float: left;
			padding: 0 20px;
			overflow: hidden;
			margin-top: 100px;
		}
			.staff_wrap li img{
				margin-bottom: 17px;
			}
			.staff_wrap li .staff_wrap_inner{
				width: 100%;
				overflow: hidden;
			}
				.staff_wrap li .staff_wrap_inner h4{
					display: block;
					font-size: 16px;
					font-size: 1.6rem;
					font-weight: bold;
				}
				.staff_wrap li .staff_wrap_inner .staff_desc{
					display: block;
					font-size: 14px;
					font-size: 1.4rem;
				}
				.staff_wrap li .staff_wrap_inner p{
					font-size: 14px;
					font-size: 1.4rem;
					border-top:1px solid #222222;
					margin-top: 10px;
					padding-top: 10px;
				}
		
@media screen and (max-width: 768px) {
	.sec_staff{
		padding: 75px 0 0;
	}
		.staff_wrap li{
			width: 50%;
			padding: 0 10px;
			margin-top: 75px;
		}
}

@media screen and (max-width: 640px) {
	.staff_wrap li{
		width: 100%;
		margin-top: 50px;
	}
}



/*-----------------------------------------------
recruit
-----------------------------------------------*/
.recruit{
	margin: 0 auto 80px;
	text-align: left;
	padding: 0 10px;
}

.recruit .link{
	margin: 40px auto 60px;
	display: block;
}

.ttl_02 {
	width: 100%;
	display: block;
	margin-bottom: 38px;
}

.ttl_02 .en {
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	position: relative;
	display: block;
	width: 90%;

	margin: 0 auto 0;
	text-align: center;
}


.ttl_02 .jp {
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.0;
	display: block;
	width: 90%;
	margin: 0 auto 10px;
	text-align: center;
}

.ttl_02 .jp span {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.0;
}


.bottom_recruit_list {
	width: 100%;
}

.bottom_recruit_list li {
	margin-top: 60px;
}

.bottom_recruit_list li:first-child {
	margin-top: 0;
}

.bottom_recruit01 .img {
	width: 100%;
	height: 340px;
	position: relative;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url("../images/recruit/bg-recruit.jpg");
	margin: 0 auto 30px;
}

.bottom_recruit01 .img_inner {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	position: relative;
}

.bottom_recruit01 .img_inner .ttl {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
}

.bottom_recruit01 .img_inner .ttl .en {
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	
}

.bottom_recruit01 .img_inner .ttl .jp {
	display: block;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.0;
	margin-bottom: 5px;
}



.bottom_recruit01 .txt {
	position: relative;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 14px 0;
}

.bottom_recruit01 .txt::before {
	content: '';
	width: 1px;
	height: 100%;
	display: block;
	background-color: #ccc;
/* 	background-color: #e5c687; */
	position: absolute;
	top: 0px;
	left: 110px;
	z-index: 10;
}

.bottom_recruit01 .txt .dl_rec {
	width: 100%;
	overflow: hidden;
	text-align: left;
}

.bottom_recruit01 .txt .dl_rec dt {
	display: block;
	width: 110px;
	float: left;
	font-weight: bold;
}

.bottom_recruit01 .txt .dl_rec dd {
	display: block;
	width: calc(100% - 110px);
	float: right;
	padding: 0 40px;
	
}

.bottom_recruit_form {
	max-width: 1020px;
	margin: 0 auto;
}

.bottom_recruit_form dl {
	width: 100%;
	overflow: hidden;
	margin-bottom: 20px;
}

.bottom_recruit_form dl.last {
	margin-bottom: 70px;
}

.bottom_recruit_form dl dt {
	display: block;
	width: 150px;
	float: left;
	font-weight: bold;
	text-align: left;
}

.bottom_recruit_form dl dt span {
	color: #ff0000;
	display: inline-block;
	margin-left: 10px;
	font-size: 11px;
	font-size: 1.1rem;
}

.bottom_recruit_form dl dd {
	display: block;
	width: 700px;
	float: left;
	font-weight: bold;
	text-align: left;
}

.bottom_recruit_form dl dd .error_blank {
	color: #fc0202;
}

.bottom_recruit_form dl dd span.wpcf7-list-item {
	display: inline-block !important;
	margin: 0 !important;
}

.bottom_recruit_form dl dd span.wpcf7-list-item-label {
	font-weight: bold;
}

.bottom_recruit_form p {
	text-align: center;
}

.bottom_recruit_form .recruit_form input,
.bottom_recruit_form .recruit_form textarea {
	width: 100%;
	border-radius: 3px;
	font-size: 14px;
	font-size: 1.4rem;
	-webkit-appearance: none;
}

.bottom_recruit_form .recruit_form input {
	max-width: 700px !important;
	border-top: 1px solid #f3f3f3;
	border-left: 1px solid #f3f3f3;
	border-right: 1px solid #f3f3f3;
	border-bottom: 1px solid #f3f3f3;
	background-color: #f3f3f3;
	min-height: 30px;
}

.bottom_recruit_form .recruit_form.check input {
	width: auto;
}

.bottom_recruit_form .recruit_form.check label span {
	display: inline-block;
	margin-right: 15px;
	margin-left: 3px;
}

.bottom_recruit_form .recruit_form.yubin_wrap dd .your-yubin {
	display: inline-block !important;
	width: 220px;
	margin-left: 10px;
}

.bottom_recruit_form .recruit_form.age_wrap dd .your-age {
	display: inline-block !important;
	width: 100px;
	margin-right: 10px;
}

.bottom_recruit_form .recruit_form textarea {
	max-width: 700px !important;
	min-height: 300px !important;
	border: 1px solid #f3f3f3;
	background-color: #f3f3f3;
}

.bottom_recruit_form #form_submit input {
	color: #fff;
	width: 180px;
	height: 36px !important;
	line-height: 34px;
	background-color: #0bade7 !important;
	border: 1px solid #0bade7;
	font-size: 12px;
	font-size: 1.2rem;
	letter-spacing: 0.2em;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .4s;
	-moz-transform: all .4s;
	transition: all .4s;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	outline: none;
	position: relative;
	cursor: pointer;
	padding: 0 !important;
}

.bottom_recruit_form #form_submit input:hover {
	background-color: #ffffff !important;
	color: #0bade7 !important;
}

.color-white{
	color: #fff;
}



@media screen and (max-width: 640px) {
	.bottom_recruit01 .txt::before {
	content: none;
}

.bottom_recruit01 .txt .dl_rec dt {
	width: 100%;
	border-bottom: 1px solid #ccc;
}

.bottom_recruit01 .txt .dl_rec dd {
	width: 100%;
	padding: 0 0 20px;
}

.bottom_recruit_form dl dt {
	width: 100%;
	margin-bottom: 5px;
}

.bottom_recruit_form dl dd {
	width: 100%;
}
}





