@charset "utf-8";

/* Base Start */

* {
  margin:0;
  padding:0;
}

article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,textarea {
	display:block;
}

img {
  border:0;
  vertical-align:top;
}

em,address {
	font-style:normal;
}

body {
	color:#000;
	font-family:'小塚明朝 Pro','Kozuka Mincho Pro',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	font-size:100%;
	text-align:center;
}

.gothic {
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
}

a {
	color:#000;
	text-decoration:none;
	outline:none;
}

a:hover {
	text-decoration:underline;
}

#anc-wrapper {
	width:100%;
	overflow:hidden;
}

/* Base End */

/* Clearfix Start */

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

/* Clearfix End */

/* Header Start */

#header {
	z-index:100;
	position:fixed;
	left:0;
	top:0;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	background-color:rgba(255,255,255,.85);
	width:100%;
	height:94px;
}

#header strong {
	margin-right:auto;
	padding-left:32px;
	height:33px;
}

#header strong img {
	width:auto;
	height:100%;
}

.pc-navi {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-around;
	justify-content:space-around;
	list-style-type:none;
	width:100%;
	max-width:648px;
}

.pc-navi li {
	line-height:15px;
	font-size:15px;
	white-space:nowrap;
}

.pc-navi li a {
	position:relative;
	display:inline-block;
	padding:12px 0;
	color:#000;
	text-decoration:none;
}

.pc-navi li a:hover::after,
.pc-navi li.current a::after,
.pc-navi li.current a:hover::after {
	position:absolute;
	left:calc(50% - 16px);
	bottom:0px;
	display:block;
	background-color:#000;
	width:32px;
	height:1px;
	content:"";
}

#header em {
	display:block;
	width:109px;
	height:94px;
}

#header em a {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	background-color:#f07428;
	color:#fff;
	width:109px;
	height:94px;
	line-height:15px;
	font-size:15px;
	text-decoration:none;
}

#header em a:hover {
	opacity:.8;
}

#nav-toggle {
	z-index:10001;
	display:none;
	box-sizing:border-box;
	border:1px solid transparent;
	margin-right:8px;
	width:40px;
	height:40px;
	cursor:pointer;
}

#nav-toggle div {
	position:relative;
	width:30px;
	height:16px;
}

#nav-toggle div span {
	position:absolute;
	left:0;
	display:block;
	width:100%;
	height:2px;
	background-color:#f07428;
	-webkit-transition:.35s ease-in-out;
	-moz-transition:.35s ease-in-out;
	transition:.35s ease-in-out;
}

#nav-toggle div span:nth-child(1) {
	top:0;
}

#nav-toggle div span:nth-child(2) {
	top:7px;
}

#nav-toggle div span:nth-child(3) {
	top:14px;
}

.sp-navi {
	z-index:10000;
	position:absolute;
	left:100%;
	top:0;
	box-sizing:border-box;
	padding:88px 34px 20px 34px;
	background-color:rgba(0,0,0,.95);
	width:100%;
	height:auto;
	-webkit-transition:.5s ease-in-out;
	-moz-transition:.5s ease-in-out;
	transition:.5s ease-in-out;
}

.sp-navi ul {
	list-style-type:none;
}

.sp-navi ul li {
	padding-bottom:17px;
	line-height:16px;
	font-size:16px;
	text-align:right;
	letter-spacing:2px;
}

.sp-navi ul li a {
	position:relative;
	display:inline-block;
	padding-bottom:12px;
	color:#fff;
	text-decoration:none;
}

.sp-navi ul li.current a::after {
	position:absolute;
	right:2px;
	bottom:0;
	display:block;
	background-color:#fff;
	width:32px;
	height:1px;
	content:"";
}

#upper {
	padding-top:94px;
}

@media only screen and (max-width : 1135px) {
	#header {
		height:62px;
	}
	
	#header strong {
		padding-left:10px;
		height:24px;
	}
	
	.pc-navi,
	#header em {
		display:none;
	}
	
	#nav-toggle {
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:center;
		justify-content:center;
		-webkit-align-items:center;
		align-items:center;
	}
	
	.open #nav-toggle {
		z-index:100000;
		border-color:#fff;
	}
	
	.open #nav-toggle div span {
		background-color:#fff;
	}
	
	.open #nav-toggle div span:nth-child(1) {
		top:7px;
		transform:rotate(315deg);
	}
	
	.open #nav-toggle div span:nth-child(2) {
		width:0;
		left:50%;
	}
	
	.open #nav-toggle div span:nth-child(3) {
		top:7px;
		transform:rotate(-315deg);
	}
	
	.open .sp-navi {
		transform:translateX(-100%);
	}
	
	#upper {
		padding-top:62px;
	}
}

#slider {
	position:relative;
	overflow:hidden;
}

#slider ul {
	z-index:1;
	width:100%;
	height:auto;
	list-style-type:none;
}

#slider ul li {}

.on-slider-base {
	z-index:10;
	position:absolute;
	left:0;
	top:60px;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	width:100%;
	height:calc(100% - 120px);
}

.on-slider-base h1 {
	color:#fff;
	line-height:0;
	font-size:0;
}

.on-slider-base h1 strong {
	display:block;
	box-sizing:border-box;
	padding-left:4px;
	line-height:175%;
	font-size:29px;
	font-weight:500;
	text-shadow:0px 0px 5px rgba(0,0,0,.9),0px 0px 5px rgba(0,0,0,.8),0px 0px 5px rgba(0,0,0,.7),0px 0px 10px rgba(0,0,0,.7);
	letter-spacing:4px;
}

.on-slider-base h1 strong span {
	display:inline-block;
}

.on-slider-base h1 big {
	display:block;
	box-sizing:border-box;
	padding-left:9px;
	padding-bottom:10px;
	line-height:151%;
	font-size:23px;
	font-weight:300;
	text-shadow:0px 0px 5px rgba(0,0,0,.9),0px 0px 5px rgba(0,0,0,.8),0px 0px 5px rgba(0,0,0,.7),0px 0px 10px rgba(0,0,0,.7);
	letter-spacing:9px;
}

.on-slider-base h1 em {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	background-color:#f60;
	margin:0 auto;
	padding-left:20px;
	width:362px;
	height:52px;
	font-size:29px;
	font-weight:200;
	letter-spacing:20px;
}

.mv {
	position:relative;
}

.mv img {
	z-index:1;
	width:100%;
	height:auto;
}

.mv div {
	z-index:2;
	position:absolute;
	left:0;
	top:0;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	width:100%;
	height:100%;
}

.mv div h1 {
	line-height:0;
	font-size:0;
}

.mv div h1 strong {
	display:block;
	box-sizing:border-box;
	padding-left:4px;
	padding-bottom:30px;
	line-height:30px;
	font-size:30px;
	font-weight:500;
	text-shadow:0px 0px 5px rgba(255,255,255,.9),0px 0px 5px rgba(255,255,255,.8),0px 0px 5px rgba(255,255,255,.7),0px 0px 10px rgba(255,255,255,.7);
	letter-spacing:4px;
}

.mv div h1 em {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	padding-left:4px;
	background-color:#f60;
	color:#fff;
	width:212px;
	height:36px;
	line-height:20px;
	font-size:20px;
	font-weight:normal;
	letter-spacing:4px;
}

@media only screen and (max-width : 1135px) {
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	
	
	.mv div h1 strong {
		padding-bottom:20px;
	}
}

@media only screen and (max-width : 767px) {
	#slider ul li img {
		height:596px;
		object-fit:cover;
	}
	
	.on-slider-base section {
		width:90%;
		max-width:328px;
	}
	
	.on-slider-base h1 strong {
		font-size:19px;
	}
	
	.on-slider-base h1 big {
		padding-left:7px;
		padding-top:10px;
		font-size:18px;
		letter-spacing:7px;
	}
	
	.on-slider-base h1 em {
		padding-left:16px;
		width:254px;
		height:36px;
		font-size:18px;
		letter-spacing:16px;
	}
	
	.mv div h1 strong {
		padding-bottom:10px;
	}
}

/* Header End */

/* Main Start */

.container {
	margin:0 auto;
	width:1126px;
}

#contents {
	padding-top:68px;
}

.more {
	display:block;
}

.more a {
	position:relative;
	display:inline-block;
	padding-right:28px;
	line-height:14px;
	font-size:14px;
	letter-spacing:2px;
}

.more a::after {
	position:absolute;
	right:0;
	top:calc(50% - 13px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #000;
	border-right:1px solid #000;
	width:22px;
	height:22px;
	transform:rotate(45deg);
	content:"";
}

.beige {
	background-color:#edebe0;
}

.main-h2 {
	box-sizing:border-box;
	padding-left:14px;
	color:#f60;
	line-height:160%;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:54px;
	font-weight:300;
	letter-spacing:14px;
}

.main-h3 {
	box-sizing:border-box;
	line-height:118%;
	font-size:28px;
	font-weight:400;
	letter-spacing:3px;
}

.main-h3 span {
	display: block;
	margin-top: 10px;
	font-size: 16px;
}

.works-ul {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	list-style-type:none;
}

.works-ul li {
	width: 350px;
	padding-bottom: 56px;
}

.works-ul li:not(.has) {
	padding-bottom: 0;
}

.works-ul li a {
	display:block;
	text-decoration:none;
}

.works-ul li a dl {
	width:100%;
	max-width:350px;
}

.works-ul li a dl dt {
	width: 100%;
	height: 260px;
	overflow: hidden;
}

.works-ul li a dl dt img {
	width:100%;
	/* height:auto; */
	height: 260px;
	object-fit: cover;
}

.works-ul li a dl dd {
	padding-top:18px;
}

.works-ul li a dl dd strong {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	margin:0 auto;
	padding-left:2px;
	border:1px solid #f60;
	color:#f60;
	width:136px;
	height:26px;
	line-height:12px;
	font-size:12px;
	font-weight:bold;
	letter-spacing:2px;
}

.works-ul li a dl dd small {
	display:block;
	padding:12px 0 8px 0;
	line-height:12px;
	font-size:12px;
	font-weight:bold;
}

.works-ul li a dl dd h4 {
	box-sizing:border-box;
	padding-left:2px;
	line-height:140%;
	font-size:14px;
	font-weight:300;
	letter-spacing:2px;
}

.works-ul li a:hover {
	opacity:.8;
}

.in-works em {
	padding:44px 0 164px 0;
}

.archive-index {
	padding-bottom:64px;
}

.archive-index h2 {
	padding-bottom:88px;
}

.pager {
	margin:0 auto;
	padding:32px 0 160px 0;
	border-top:1px solid #ccc;
}

.pager-inner {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
}

.back,
.next {
	position:relative;
	box-sizing:border-box;
	margin:10px 0;
	border:1px solid #999;
	width:22px;
	height:22px;
	text-indent:-9999px;
}

.back a,
.next a {
	display:block;
	width:100%;
	height:100%;
	text-indent:-9999px;
}

.back::after,
.next::after {
	position:absolute;
	top:calc(50% - 4px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #ccc;
	width:8px;
	height:8px;
	content:"";
	pointer-events: none;
}

.back::after {
	border-left:1px solid #ccc;
	left:calc(50% - 2px);
	transform:rotate(315deg);
}

.pager ol {
	display:-webkit-inline-flex;
	display:inline-flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	margin:0 10px;
	list-style-type:none;
}

.pager ol li {
	margin:12px 0;
	padding:0 20px;
	line-height:18px;
	font-size:18px;
}

.pager ol li a {
	display: block;
	color:#000;
	text-decoration:none;
}

.pager ol li a:hover,
.pager ol li.current a {
	color:#6c9752;
}

.pager ol li+li {
	border-left:1px solid #ccc;
}

.next::after {
	border-right:1px solid #ccc;
	left:calc(50% - 6px);
	transform:rotate(45deg);
}

.back:hover::after,
.next:hover::after {
	border-color:#6c9752;
}

@media only screen and (max-width : 1135px) {
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.container {
		width:750px;
	}
	
	#contents {
		padding-top:51px;
	}
	
	.main-h2 {
		padding-left:10px;
		font-size:42px;
		letter-spacing:10px;
	}
	
	.main-h3 {
		font-size:23px;
	}
	
	.works-ul {
		-webkit-justify-content:center;
		justify-content:center;
	}
	
	.works-ul li {
		padding:0 calc(25px / 2) 42px;
	}
	
	.in-works em {
		padding:33px 0 123px 0;
	}
	
	.archive-index {
		padding-bottom:48px;
	}
	
	.archive-index h2 {
		padding-bottom:66px;
	}
	
	.pager {
		padding:24px 0 120px 0;
	}
	
	.pager ol li {
		padding:0 15px;
	}
}

@media only screen and (max-width : 767px) {
	.container {
		width:90%;
	}
	
	#contents {
		padding-top:34px;
	}
	
	.main-h2 {
		padding-left:6px;
		font-size:30px;
		letter-spacing:6px;
	}
	
	.main-h3 {
		font-size:18px;
	}
	
	.works-ul {
		-webkit-flex-direction:column;
		flex-direction:column;
		-webkit-justify-content:center;
		justify-content:center;
	}
	
	.works-ul li {
		margin:0 auto;
		padding:0 0 28px;
	}
	
	.in-works em {
		padding:22px 0 82px 0;
	}
	
	.in-works ul li:nth-child(n+4) {
		display:none;
	}
	
	.archive-index {
		padding-bottom:32px;
	}
	
	.archive-index h2 {
		padding-bottom:44px;
	}
	
	.pager {
		padding:16px 0 80px 0;
	}
	
	.pager ol li {
		padding:0 10px;
	}
}

/* Main End */

/* Footer Start */

#footer {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	padding:36px 40px 44px 40px;
	background-color:#000;
	width:100%;
	color:#fff;
	text-align:left;
}

.foot-texts {}

.foot-texts h2 {
	width:auto;
	height:33px;
}

.foot-texts h2 img {
	width:auto;
	height:100%;
}

.foot-texts address {
	display:block;
	padding:14px 0;
	line-height:18px;
	font-size:13px;
}

.foot-texts address span {
	display:inline-block;
}

.foot-texts small {
	display:block;
	line-height:10px;
	font-size:9px;
}

#footer p a {
	position:relative;
	display:block;
	width:28px;
	height:28px;
	text-indent:-10000px;
}

#footer p a::after {
	position:absolute;
	left:calc(50% - 14px);
	top:50%;
	display:block;
	box-sizing:border-box;
	border-top:2px solid #fff;
	border-left:2px solid #fff;
	width:28px;
	height:28px;
	transform:rotate(45deg);
	content:"";
}

@media only screen and (max-width : 1135px) {
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	#footer {
		padding:27px 30px 33px 30px;
	}
	
	#footer address {
		padding:11px 0;
	}
}

@media only screen and (max-width : 767px) {
	#footer {
		padding:18px 20px 22px 20px;
	}
	
	#footer address {
		padding:7px 0;
	}
}

/* Footer End */

/* Top Page (index.html) Start */

.top-top {
	padding-bottom:88px;
}

.top-top h2 {
	padding-bottom:40px;
}

.top-top h3 {
	padding-bottom:16px;
	padding-left:3px;
}

.top-top p {
	line-height:200%;
	font-size:18px;
}

.top-chara {}

.top-chara ul {
	list-style-type:none;
}

.top-chara ul li {
	position:relative;
}

.top-chara ul li img {
	z-index:1;
	width:100%;
	height:auto;
}

.top-chara ul li div {
	z-index:10;
	position:absolute;
	left:0;
	top:0;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	width:100%;
	height:100%;
}

.top-chara ul li div section {
	box-sizing:border-box;
	padding:44px 60px;
	background-color:rgba(255,255,255,.9);
	width:478px;
}

.top-chara ul li div section h3 {
	line-height:0;
	font-size:0;
}

.top-chara ul li div section h3 small {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	margin:0 auto;
	padding-left:3px;
	background-color:#f60;
	color:#fff;
	width:210px;
	height:40px;
	line-height:100%;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:15px;
	letter-spacing:3px;
}

.top-chara ul li div section h3 big {
	display:block;
	padding:36px 0 28px 3px;
	line-height:100%;
	font-size:24px;
	font-weight:bold;
	letter-spacing:3px;
}

.top-chara ul li div section p {
	padding-bottom:36px;
	line-height:160%;
	font-size:16px;
	font-weight:200;
	text-align:left;
}

.top-chara ul li div section em {
	display:block;
	margin:0 auto;
	width:15px;
	height:15px;
}

.top-chara ul li div section em a {
	position:relative;
	display:block;
	width:15px;
	height:15px;
	text-indent:-10000px;
}

.top-chara ul li div section em a::after {
	position:absolute;
	left:0;
	top:0;
	display:block;
	box-sizing:border-box;
	border-top:1px solid #000;
	border-right:1px solid #000;
	width:15px;
	height:15px;
	transform:rotate(45deg);
	content:"";
}

.top-works {
	padding:100px 0 40px 0;
}

.top-works h3 {
	padding:12px 0 56px 3px;
}

.top-works p {
	line-height:141%;
	font-size:16px;
}

.top-news {
	padding:92px 0 164px 0;
}

.top-news h2 {
	box-sizing:border-box;
	padding-left:4px;
	color:#f60;
	line-height:100%;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:40px;
	font-weight:300;
	letter-spacing:4px;
}

.top-news h3 {
	box-sizing:border-box;
	padding:16px 0 48px 3px;
	line-height:100%;
	font-size:20px;
	font-weight:400;
	letter-spacing:3px;
}

.top-news dl dt {
	padding-top:28px;
	line-height:100%;
	font-size:16px;
}

.top-news dl dd {
	padding-top:8px;
	line-height:140%;
	font-size:16px;
}

.top-news em {
	padding-top:64px;
}

.top-last {
	position:relative;
}

.top-last ul {
	z-index:1;
	display:-webkit-flex;
	display:flex;
	list-style-type:none;
}

.top-last ul li {
	width:50%;
}

.top-last ul li img {
	width:100%;
	height:auto;
}

.top-last div {
	z-index:10;
	position:absolute;
	left:0;
	top:0;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	width:100%;
	height:100%;
}

.top-last div section {
	color:#fff;
	width:90%;
}

.top-last div section strong {
	display:block;
	box-sizing:border-box;
	padding-left:5px;
	line-height:100%;
	font-size:31px;
	font-weight:300;
	text-shadow:0px 0px 5px rgba(0,0,0,.9),0px 0px 5px rgba(0,0,0,.8),0px 0px 5px rgba(0,0,0,.7),0px 0px 10px rgba(0,0,0,.7);
	letter-spacing:5px;
}

.top-last div section small {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	margin:24px auto;
	background-color:#f60;
	line-height:100%;
	font-size:17px;
	width:254px;
	height:38px;
}

.top-last div section em {
	display:block;
	margin:0 auto;
	width:30px;
	height:30px;
}

.top-last div section em a {
	position:relative;
	display:block;
	width:30px;
	height:30px;
	text-indent:-10000px;
}

.top-last div section em a::after {
	position:absolute;
	left:-8px;
	top:0;
	box-sizing:border-box;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	width:30px;
	height:30px;
	transform:rotate(45deg);
	content:"";
}



@media only screen and (max-width : 1135px) {
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.top-top {
		padding-bottom:66px;
	}
	
	.top-top h2 {
		padding-bottom:30px;
	}
	
	.top-top h3 {
		padding-bottom:12px;
	}
	
	.top-top p {
		font-size:16px;
	}
	
	.top-chara ul li div section {
		padding:33px 45px;
		width:411px;
	}
	
	.top-chara ul li div section h3 big {
		padding:27px 0 21px 3px;
	}
	
	.top-chara ul li div section p {
		padding-bottom:27px;
		font-size:15px;
	}
	
	.top-works {
		padding:75px 0 30px 0;
	}
	
	.top-works h3 {
		padding:9px 0 42px 3px;
	}
	
	.top-works p {
		font-size:15px;
	}
	
	.top-news {
		padding:69px 0 123px 0;
	}
	
	.top-news h3 {
		padding:12px 0 36px 3px;
	}
	
	.top-news dl dt {
		padding-top:21px;
	}
	
	.top-news em {
		padding-top:48px;
	}
	
	
}

@media only screen and (max-width : 767px) {
	.top-top {
		padding-bottom:44px;
	}
	
	.top-top h2 {
		padding-bottom:20px;
	}
	
	.top-top h3 {
		padding-bottom:8px;
	}
	
	.top-top p {
		font-size:14px;
	}
	
	.top-chara ul li div section {
		padding:22px 30px;
		width:344px;
	}
	
	.top-chara ul li div section h3 big {
		padding:18px 0 14px 2px;
		letter-spacing:2px;
	}
	
	.top-chara ul li div section p {
		padding-bottom:18px;
		font-size:14px;
	}
	
	.top-chara ul li img {
		object-fit:cover;
		height:568px;
	}
	
	.top-works {
		padding:50px 0 20px 0;
	}
	
	.top-works h3 {
		padding:6px 0 28px 3px;
	}
	
	.top-works p {
		font-size:14px;
	}
	
	.top-news {
		padding:46px 0 82px 0;
	}
	
	.top-news h3 {
		padding:8px 0 24px 3px;
	}
	
	.top-news dl dt {
		padding-top:14px;
	}
	
	.top-news em {
		padding-top:32px;
	}
	
	.top-last ul li {
		width:100%;
	}
	
	.top-last ul li:last-child {
		display:none;
	}
	
	.top-last div section strong {
		font-size:26px;
	}
	
	.top-last div section small {
		margin:12px auto;
	}
	
	
}

/* Top Page (index.html) End */

/* Archive Detail (archive/detail.html) Start */

.detail {
	margin:0 auto;
	padding-bottom:140px;
	width:1000px;
}

.detail h3 {
	padding:92px 0 28px 0;
}

.detail strong {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	margin:0 auto;
	padding-left:2px;
	border:1px solid #f60;
	color:#f60;
	width:136px;
	height:26px;
	line-height:12px;
	font-size:12px;
	font-weight:bold;
	letter-spacing:2px;
}

.detail b {
	display:block;
	padding-top:12px;
	line-height:100%;
	font-size:12px;
	font-weight:400px;
}

.detail h4 {
	padding:88px 0 20px 0;
	line-height:160%;
	font-size:24px;
	font-weight:400;
}

.detail big {
	display:block;
	padding-bottom:44px;
	line-height:160%;
	font-size:15px;
	font-weight:300;
	text-align:left;
}

.detail figure {
	display:block;
	padding-bottom:24px;
}

.detail figure img {
	display:block;
	margin:0 auto;
	max-width:100%;
	height:auto;
}

.detail p {
	display: block;
	padding-bottom:72px;
	line-height:160%;
	font-size:15px;
	font-weight:300;
	text-align:left;
}

.detail em {
	display:block;
}

.detail em a {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	background-color:#000;
	color:#fff;
	margin:0 auto;
	width:296px;
	height:50px;
	line-height:100%;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:20px;
	font-weight:300;
	text-decoration:none;
}

.detail em a span {
	position:relative;
	display:inline-block;
	padding:0 22px 0 25px;
	letter-spacing:3px;
}

.detail em a span::before {
	position:absolute;
	left:0;
	top:calc(50% - 7px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	width:12px;
	height:12px;
	transform:rotate(45deg);
	content:"";
}

.detail em a:hover {
	opacity:.8;
}

.detail ul {
	margin:0 auto;
	width:100%;
	max-width:670px;
	list-style-type:none;
}

.detail ul li {
	padding:14px 20px 14px 10px;
}

.detail ul li+li {
	border-top:1px solid #ccc;
}

.detail ul li dl {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	line-height:140%;
	font-size:14px;
	font-weight:300;
}

.index-back {
	display:block;
}

.index-back a {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	background-color:#edebe0;
	width:100%;
	height:120px;
	line-height:100%;
	font-size:21px;
	font-weight:bold;
	text-decoration:none;
}

.index-back a span {
	position:relative;
	display:inline-block;
	padding:0 23px;
}

.index-back a span::before {
	position:absolute;
	left:0;
	top:calc(50% - 6px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #000;
	border-right:1px solid #000;
	width:12px;
	height:12px;
	transform:rotate(45deg);
	content:"";
}

.index-back a:hover {
	opacity:.8;
}

@media only screen and (max-width : 1135px) {
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.detail {
		padding-bottom:105px;
		width:750px;
	}
	
	.detail h3 {
		padding:69px 0 21px 0;
	}
	
	.detail h4 {
		padding:66px 0 15px 0;
	}
	
	.detail big {
		padding-bottom:33px;
	}
	
	.detail small {
		padding-bottom:18px;
	}
	
	.detail p {
		padding-bottom:54px;
	}
	
	
}

@media only screen and (max-width : 767px) {
	.detail {
		padding-bottom:70px;
		width:90%;
	}
	
	.detail h3 {
		padding:46px 0 14px 0;
	}
	
	.detail h4 {
		padding:44px 0 10px 0;
	}
	
	.detail big {
		padding-bottom:22px;
	}
	
	.detail small {
		padding-bottom:12px;
	}
	
	.detail p {
		padding-bottom:36px;
	}
	
	.detail ul li {
		padding:12px 0;
	}
	
	
}

/* Archive Detail (archive/detail.html) End */

/* Company (company/index.html) Start */

.company01 {}

.company01 h3 {
	padding-top:76px;
	padding-left:3px;
}

.company01 h3 span {
	display:inline-block;
}

.company01 p {
	padding:44px 0 80px 0;
	line-height:141%;
	font-size:18px;
}

.company02 {}

.company02 ul {
	list-style-type:none;
}

.company02 ul li {
	padding-bottom:48px;
}

.company02 ul li dl {
	display:-webkit-flex;
	display:flex;
	-webkit-align-items:center;
	align-items:center;
}

.company02 ul li dl dt {
	-webkit-flex-shrink:0;
	flex-shrink:0;
	width:499px;
}

.company02 ul li dl dt img {
	max-width:100%;
	height:auto;
}

.company02 ul li dl dd {
	-webkit-flex-grow:1;
	flex-grow:1;
	padding:0 48px;
	text-align:left;
}

.company02 ul li dl dd h3 {}

.company02 ul li dl dd p {
	padding-top:12px;
	line-height:141%;
	font-size:16px;
}

.company02 em {
	display:block;
	margin:0 auto;
	width:90%;
	line-height:141%;
	font-size:18px;
	text-align:left;
}

.outline {
	padding-top:160px;
}

.outline h3 {
	padding-left:3px;
	padding-bottom:48px;
}

.outline ul {
	list-style-type:none;
}

.outline ul li {
	padding:8px 10px;
}

.outline ul li+li {
	border-top:1px solid #ccc;
}

.outline ul li dl {
	display:-webkit-flex;
	display:flex;
	line-height:220%;
	font-size:16px;
	text-align:left;
	font-weight:300;
}

.outline ul li dl dt {
	-webkit-flex-shrink:0;
	flex-shrink:0;
	width:164px;
}

.outline ul li dl dd {
	-webkit-flex-grow:1;
	flex-grow:1;
	letter-spacing:2px;
}

.outline ul li dl dd span {
	display:inline-block;
	width:8em;
}

.outline ul li dl dd em {
	display:inline-block;
	width:10.1em;
}

.outline ul li dl dd small {
	display:inline-block;
	width:14em;
	font-size:inherit;
}

.access {
	padding:160px 0;
}

.access h3 {
	padding-left:3px;
	padding-bottom:48px;
}

.access div {
	position:relative;
	padding-top:46.15%;
	width:100%;
	height:0;
	overflow:hidden;
}

.access div iframe {
	position:absolute;
	left:0;
	top:0;
	width:100% !important;
	height:100% !important;
}

.access p {
	padding-top:32px;
	padding-left:2px;
	line-height:220%;
	font-size:16px;
	letter-spacing:2px;
}

.access p span {
	display:inline-block;
}

@media only screen and (max-width : 1135px) {
	.outline ul li {
		padding:8px 10px;
	}
	
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.company01 h3 {
		padding-top:57px;
	}
	
	.company01 p {
		padding:33px 0 60px 0;
	}
	
	.company02 ul li {
		padding-bottom:48px;
	}
	
	.company02 ul li dl dd {
		padding:0 36px;
	}
	
	.company02 ul li dl dd p {
		font-size:15px;
	}
	
	.outline {
		padding-top:120px;
	}
	
	.outline h3 {
		padding-bottom:36px;
	}
	
	.outline ul li dl {
		font-size:15px;
	}
	
	.access {
		padding:120px 0;
	}
	
	.access h3 {
		padding-bottom:36px;
	}
	
	.access p {
		padding-top:24px;
		font-size:15px;
	}
}

@media only screen and (max-width : 767px) {
	.company01 h3 {
		padding-top:38px;
	}
	
	.company01 p {
		padding:22px 0 40px 0;
		font-size:16px;
	}
	
	.company02 {
		margin:0 auto;
		width:90%;
	}
	
	.company02 ul li {
		padding-bottom:24px;
	}
	
	.company02 ul li dl {
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	
	.company02 ul li dl dt {
		width:100%;
	}
	
	.company02 ul li dl dd {
		padding:18px 0 0 0;
		width:100%;
	}
	
	.company02 ul li dl dd p {
		font-size:14px;
	}
	
	.company02 em {
		width:100%;
		font-size:16px;
	}
	
	.outline {
		padding-top:80px;
	}
	
	.outline h3 {
		padding-bottom:24px;
	}
	
	.outline ul li dl {
		-webkit-flex-direction:column;
		flex-direction:column;
		font-size:14px;
	}
	
	.outline ul li dl dt {
		font-weight:900;
	}
	
	.outline ul li dl dd {
		letter-spacing:0;
	}
	
	.access {
		padding:80px 0;
	}
	
	.access h3 {
		padding-bottom:24px;
	}
	
	.access div {
		padding-top:100%;
	}
	
	.access p {
		padding-top:16px;
		font-size:14px;
	}
}

/* Company (company/index.html) End */

/* Contact (contact/index.html) Start */

.form {}

.form p {
	padding:60px 0;
	line-height:220%;
	font-size:16px;
	font-weight:300;
	letter-spacing:2px;
	text-align:left;
}

.form ul {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin:0 auto;
	max-width:1000px;
	list-style-type:none;
	text-align:left;
}

.form ul li {
	padding-bottom:44px;
	width:465px;
}

.form ul li.long-field {
	width:100%;
}

.form ul li dl dt {
	padding-bottom:16px;
	line-height:19px;
	font-size:16px;
}

.form ul li dl dt::before {
	display:inline;
	content:"●";
}

.nece::after {
	display:inline-block;
	margin:-8px 0 0 18px;
	padding:4px 12px 2px;
	background-color:#666;
	color:#fff;
	line-height:13px;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:13px;
	content:"必須"
}

.form ul li dl dd {
	line-height:19px;
	font-size:16px;
}

.form ul li dl dd input[type="text"],
.form ul li dl dd input[type="email"],
.form ul li dl dd input[type="tel"],
.form ul li dl dd textarea,
.form ul li dl dd select {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	padding:8px;
	background-color:transparent;
	border:3px solid #ccc;
	width:100%;
	font-family:'小塚明朝 Pro','Kozuka Mincho Pro',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	line-height:20px;
	font-size:16px;
}

label {
	vertical-align:middle;
	padding:0 0 0 12px;
	cursor:pointer;
}

.form ul li dl dd ol {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	list-style-type:none;
}

.form ul li dl dd ol>li {
	margin-right:28px;
	padding:0;
	width:auto;
}

.form ul li em {
	position: relative;
	display:block;
	width: fit-content;
	height:80px;
	margin-inline: auto;
}

.form ul li em input[type="submit"] {
	position:relative;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	margin:0 auto;
	padding-left:2px;
	border:0;
	background-color:#333;
	color:#fff;
	width:295px;
	height:80px;
	line-height:16px;
	font-family:'小塚明朝 Pro','Kozuka Mincho Pro',"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	font-size:16px;
	letter-spacing:2px;
	cursor:pointer;
}

.form ul li em input[type="submit"]:hover {
	opacity:.8;
}

.form ul li em:before {
	position:absolute;
	left:15px;
	top:calc(50% - 5px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	width:10px;
	height:10px;
	transform:rotate(45deg);
	content:"";
	z-index: 1;
	pointer-events: none;
}

.wpcf7-list-item {
	margin-left: 0;
}

.wpcf7-list-item label {
    vertical-align: middle;
    padding: 0 28px 0 0;
    cursor: pointer;
}

.wpcf7-not-valid-tip {
	margin-top: 10px;
}

.privacy {
	padding:180px 0 160px 0;
	text-align:left;
}

.privacy h3 {
	padding-left:3px;
	padding-bottom:20px;
	text-align:center;
}

.privacy dl {
	line-height:220%;
	font-size:16px;
}

.privacy dl dt {
	padding-top:20px;
	font-weight:bold;
}

.privacy dl dd p {
	font-weight:300;
}

.privacy dl dd ul {
	font-weight:300;
}

.privacy dl dd ul li {
	margin-left:1em;
}

.privacy div {
	display:inline-block;
	margin-top:64px;
	margin-right:auto;
	padding:44px 48px;
	background-color:rgba(236,237,218,.23);
	width:auto;
	line-height:220%;
	font-size:16px;
	letter-spacing:2px;
}

.privacy div h4 {
	font-weight:300;
}

.privacy div address {
	display:block;
	font-weight:300;
}

.privacy div address span {
	display:inline-block;
}

.privacy div strong {
	display:block;
	font-weight:300;
}

.privacy div em {
	display:block;
	font-weight:300;
}

.privacy div em a {
	position:relative;
	display:inline-block;
	padding-left:23px;
}

.privacy div em a::before {
	position:absolute;
	left:0;
	top:calc(50% - 10px);
	display:block;
	background:url(../contact/images/icon_sp.png) no-repeat;
	background-size:12px 20px;
	width:12px;
	height:20px;
	content:"";
}

@media only screen and (max-width : 1135px) {
	.form ul li {
		width:100%;
	}
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.form p {
		padding:45px 0;
	}
	
	.form ul li {
		padding-bottom:33px;
	}
	
	.form ul li dl dt {
		padding-bottom:12px;
	}
	
	.privacy {
		padding:135px 0 120px 0;
	}
	
	.privacy h3 {
		padding-bottom:15px;
	}
	
	.privacy dl,
	.privacy div {
		font-size:15px;
	}
	
	.privacy dl dt {
		padding-top:15px;
	}
	
	.privacy div {
		margin-top:48px;
		padding:33px 36px;
	}
}

@media only screen and (max-width : 767px) {
	.form p {
		padding:30px 0;
	}
	
	.form ul li {
		padding-bottom:22px;
	}
	
	.form ul li dl dt {
		padding-bottom:8px;
	}
	
	.privacy {
		padding:90px 0 80px 0;
	}
	
	.privacy h3 {
		padding-bottom:10px;
	}
	
	.privacy dl,
	.privacy div {
		font-size:14px;
	}
	
	.privacy dl dt {
		padding-top:10px;
	}
	
	.privacy div {
		margin-top:32px;
		padding:22px 24px;
	}
}

/* Contact (contact/index.html) End */

/* Feature (feature/index.html) Start */

.feature {
	padding-bottom:160px;
}

.feature ol {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	counter-reset:number;
	list-style-type:none;
}

.feature ol li {
	margin:76px 34px 0 34px;
	padding-bottom:60px;
	background-color:#EDEBE0;
	width:422px;
}

.feature ol li div {
	position:relative;
	margin:0 auto;
	width:100px;
	height:45px;
}

.feature ol li div em {
	position:absolute;
	left:0;
	top:-55px;
	display:block;
	background-color:#000;
	border-radius:50%;
	width:100px;
	height:100px;
}

.feature ol li div em::before {
	position:absolute;
	top:20px;
	left:0;
	color:#fff;
	width:100%;
	line-height:12px;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:12px;
	font-weight:400;
	content:"feature";
}

.feature ol li div em::after {
	position:absolute;
	bottom:28px;
	left:0;
	color:#fff;
	width:100%;
	line-height:34px;
	font-family:'小塚ゴシック Pro','Kozuka Gothic Pro',"游ゴシック体",YuGothic,"YuGothic M","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size:34px;
	font-weight:300;
	counter-increment:number;
	content:counter(number);
}

.feature ol li span {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	margin:44px auto 0 auto;
	width:131px;
	height:118px;
}

.feature ol li span img {
	max-width:100%;
	max-height:100%;
}

.feature ol li h3 {
	box-sizing:border-box;
	padding:40px 10px 14px 13px;
	line-height:140%;
	font-size:21px;
	letter-spacing:3px;
}

.feature ol li p {
	padding:0 48px;
	line-height:141%;
	font-size:14px;
	text-align:left;
}

@media only screen and (max-width : 1135px) {
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.feature {
		padding-bottom:120px;
	}
	
	.feature ol li {
		margin:76px 20px 0 20px;
		padding-bottom:45px;
		width:335px;
	}
	
	.feature ol li span {
		margin:33px auto 0 auto;
	}
	
	.feature ol li h3 {
		padding:30px 10px 14px 13px;
		font-size:19px;
	}
	
	.feature ol li p {
		padding:0 36px;
	}
}

@media only screen and (max-width : 767px) {
	.feature {
		padding-bottom:80px;
	}
	
	.feature ol {
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	
	.feature ol li {
		margin:76px 0 0 0;
		padding-bottom:30px;
		width:100%;
	}
	
	.feature ol li span {
		margin:22px auto 0 auto;
	}
	
	.feature ol li h3 {
		padding:20px 10px 14px 13px;
		font-size:17px;
	}
	
	.feature ol li p {
		padding:0 24px;
	}
}

/* Feature (feature/index.html) End */

/* News (news/index.html) Start */

.news-base {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	text-align:left;
}

.articles {
	width:751px;
}

.article {
	padding-bottom:84px;
}

.article+.article {
	border-top:1px solid #ccc;
} 

.article h3 {
	position:relative;
	padding:108px 0 20px 0;
	line-height:140%;
	font-size:22px;
	letter-spacing:3px;
}

.article h3::after {
	position:absolute;
	left:0;
	bottom:0;
	display:block;
	background-color:#ff8c3f;
	border-radius:2px;
	width:180px;
	height:4px;
	content:"";
}

.article dl {
	display:-webkit-flex;
	display:flex;
	padding:20px 0 40px 0;
	line-height:15px;
	font-size:15px;
}

.article dl dt {
	padding:3px 12px 3px 0;
}

.article dl dd {
	padding:3px  0 3px 12px;
	border-left:1px solid #666;
}

.article p,
.article figure {
	padding:12px 0;
	line-height:180%;
	font-size:16px;
	letter-spacing:2px;
}

.article p img {
	max-width:100%;
	height:auto;
}

.article p a {
	position:relative;
	display:inline-block;
	padding-left:16px;
	color:#f60;
}

.article p a::before {
	position:absolute;
	left:0;
	top:calc(50% - 6px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #f60;
	border-right:1px solid #f60;
	width:10px;
	height:10px;
	transform:rotate(45deg);
	content:"";
}

.news-navi {
	margin-bottom: 84px;
	padding-top:12px;
	width:278px;
}

.news-navi h3 {
	padding:88px 0 16px 0;
	border-bottom:1px solid #ccc;
	line-height:100%;
	font-size:16px;
}

.news-navi ul {
	list-style-type:none;
}

.news-navi ul li {
	padding-top:12px;
	line-height:160%;
	font-size:16px;
	letter-spacing:2px;
}

@media only screen and (max-width : 1135px) {
	.news-base {
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	
	.articles,
	.news-navi {
		width:100%;
	}
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.article {
		padding-bottom:63px;
	}
	
	.article h3 {
		padding:81px 0 15px 0;
		font-size:20p;
	}
	
	.article dl {
		padding:15px 0 30px 0;
	}
	
	.article p {
		padding:9px 0;
		font-size:15px;
	}
	
	.news-navi h3 {
		padding:66px 0 12px 0;
		font-size:15px;
	}
	
	.news-navi ul li {
		padding-top:9px;
		font-size:15px;
	}
	
	.news-pager {
		margin-top:60px;
	}
}

@media only screen and (max-width : 767px) {
	.article {
		padding-bottom:42px;
	}
	
	.article h3 {
		padding:54px 0 10px 0;
		font-size:18px;
	}
	
	.article dl {
		padding:10px 0 20px 0;
	}
	
	.article p {
		padding:6px 0;
		font-size:14px;
	}
	
	.news-navi h3 {
		padding:44px 0 8px 0;
		font-size:14px;
	}
	
	.news-navi ul li {
		padding-top:6px;
		font-size:14px;
	}
	
	.news-pager {
		margin-top:40px;
	}
}

/* News (news/index.html) End */

/* Recruitment (recruitment/index.html) Start */

.rec01 {}

.rec01 h3 {
	padding:64px 0 84px 3px;
}

.rec01 ul {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-flow:row wrap;
	flex-flow:row wrap;
	-webkit-justify-content:center;
	justify-content:center;
	margin:0 auto;
	list-style-type:none;
}

.rec01 ul li {
	box-sizing:border-box;
	background-color:#edebe0;
	margin:0 4px 8px 4px;
	padding:64px 32px 48px 32px;
	width:328px;
}

.rec01 ul li span {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	margin:12px auto 0 auto;
	width:124px;
	height:93px;
}

.rec01 ul li span img {
	max-width:100%;
	max-height:100%;
}

.rec01 ul li h4 {
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	padding-left:3px;
	height:106px;
	line-height:140%;
	font-size:18px;
	letter-spacing:3px;
}

.rec01 ul li p {
	line-height:141%;
	font-size:14px;
	text-align:left;
}

.rec02 {}

.rec02 h3 {
	padding:200px 0 80px 3px;
}

.rec02 ul {
	margin:0 auto;
	list-style-type:none;
	width:100;
	max-width:962px;
}

.rec02 ul li {
	padding:20px 8px;
}

.rec02 ul li+li {
	border-top:1px solid #ccc;
}

.rec02 ul li dl {
	display:-webkit-flex;
	display:flex;
	line-height:220%;
	font-size:16px;
	text-align:left;
}

.rec02 ul li dl dt {
	-webkit-flex-shrink:0;
	flex-shrink:0;
	width:164px;
}

.rec02 ul li dl dd {
	-webkit-flex-grow:1;
	flex-grow:1;
}

.rec03 {
	padding-bottom:160px;
}

.rec03 h3 {
	padding:200px 0 24px 3px;
}

.rec03 p {
	padding-left:2px;
	line-height:220%;
	font-size:16px;
	letter-spacing:2px;
}

.rec03 p span {
	display:inline-block;
}

.rec03 em {
	display:block;
	padding-top:56px;
}

.rec03 em a {
	position:relative;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-align-items:center;
	align-items:center;
	box-sizing:border-box;
	margin:0 auto;
	padding-left:2px;
	border:1px solid #000;
	width:100%;
	max-width:494px;
	height:78px;
	line-height:14px;
	font-size:14px;
	text-decoration:none;
	letter-spacing:2px;
}

.rec03 em a::after {
	position:absolute;
	right:20px;
	top:calc(50% - 6px);
	display:block;
	box-sizing:border-box;
	border-top:1px solid #000;
	border-right:1px solid #000;
	width:12px;
	height:12px;
	transform:rotate(45deg);
	content:"";
}

.rec03 em a:hover {
	background-color:#000;
	color:#fff;
}

.rec03 em a:hover::after {
	border-color:#fff;
}

@media only screen and (max-width : 1135px) {
	
}

@media screen and (min-width : 768px) and (max-width : 1135px) {
	.rec01 h3 {
		padding:48px 0 63px 3px;
	}
	
	.rec01 ul li span {
		margin:9px auto 0 auto;
	}
	
	.rec02 h3 {
		padding:150px 0 60px 3px;
	}
	
	.rec02 ul li {
		padding:15px 4px;
	}
	
	.rec02 ul li dl {
		font-size:15px;
	}
	
	.rec03 {
		padding-bottom:120px;
	}
	
	.rec03 h3 {
		padding:150px 0 18px 3px;
	}
	
	.rec03 p {
		font-size:15px;
	}
	
	.rec03 em {
		padding-top:42px;
	}
}

@media only screen and (max-width : 767px) {
	.rec01 h3 {
		padding:32px 0 42px 3px;
	}
	
	.rec01 ul,
	.rec02 ul li dl {
		-webkit-flex-direction:column;
		flex-direction:column;
	}
	
	.rec01 ul li {
		margin:0 0 8px 0;
		padding:32px 16px 24px 16px;
		width:100%;
	}
	
	.rec01 ul li span {
		margin:6px auto 0 auto;
	}
	
	.rec01 ul li h4 {
		height:80px;
	}
	
	.rec02 h3 {
		padding:100px 0 40px 3px;
	}
	
	.rec02 ul li {
		padding:10px 0;
	}
	
	.rec02 ul li dl {
		font-size:14px;
	}
	
	.rec02 ul li dl dt {
		font-weight:bold;
	}
	
	.rec02 ul li dl dd {
		width:100%;
	}
	
	.rec03 {
		padding-bottom:80px;
	}
	
	.rec03 h3 {
		padding:100px 0 12px 3px;
	}
	
	.rec03 p {
		font-size:14px;
	}
	
	.rec03 em {
		padding-top:28px;
	}
}

/* Recruitment (recruitment/index.html) End */
