@charset "UTF-8";

/* 
	reset
*/
html, body, header, footer, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align:baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #231815;
}
article, header, footer, aside, figure, figcaption, nav, section { 
	display:block;
}
body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
ol, ul {
	list-style: none;
	list-style-type: none;
}


/* 
	base
*/

html {
	font-size: 62.5%;
	font-family: "Noto Sans Japanese";
	font-weight: 200;
}

body, div, p, li, a {
	font-size: 1.4rem;
}

body {
	background: url(../img/bg_body.png) bottom 100px center no-repeat;
	background-size: contain;
	padding-top: 181px;
}

body.recruit {
	background: url(../img/bg_body.png) bottom 65px center no-repeat;
	background-size: contain;
}

a, .op {
	transition: 0.3s;
	text-decoration: none;
}
a:not(.youtube):hover, 
.op:hover {
	text-decoration:none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

.dot_line_s {
	width: 7px;
	text-align: center;
	margin: 100px auto;
}

.dot_line_l {
	width: 7px;
	text-align: center;
	margin: 150px auto;
}

.no_hidden {
	overflow: visible !important;
}

.pc {
	display: block !important;
}

.pc_inline {
	display: inline !important;
}

.sp {
	display: none !important;
}

@media only screen and (max-width:768px){
	body {
		background: url(../img/bg_body.png) bottom 125px center no-repeat;
		background-size: contain;
		padding-top: 19.3%;
	}

	body.recruit {
		background: url(../img/bg_body.png) bottom 40px center no-repeat;
		background-size: contain;
	}

	* > img {
		width: 100%;
		height: auto;
	}

	.pc {
		display: none !important;
	}

	.pc_inline {
		display: none !important;
	}

	.sp {
		display: block !important;
	}
}

@media only screen and (max-width:414px){
	body {
		background: url(../img/bg_body.png) bottom 125px center no-repeat;
		background-size: contain;
		padding-top: 23.9%;
	}
}


/* 
	header
*/

header {
	width: 100%;
	height: 181px;
	margin: 0 auto;
	padding: 41px 7px 36px 0;
	position: fixed;  
    top:0;  
    left:0;
	right: 0;
	background: #fff;
	z-index: 1000;
	border-bottom: #91b222 1px solid;
}

header .header_contents {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}

header .header_contents .bnr_event {
	display: block;
	position: absolute;
	top: -15px;
	left: 300px;
}

header h1 {
	display: inline-block;
}

header #gnav_pc {
	display: inline-block;
	position: relative;
	font-size: 0;
	text-align: right;
	box-sizing:	border-box;
	width: 877px;
	padding-right: 30px
}

header #gnav_pc li {
	padding: 0 33px;
}

header #gnav_pc li.contact {
	padding-right: 0;
}

header #snav {
	position: absolute;
	font-size: 0;
	box-sizing:	border-box;
	top: -87px;
	right: 30px;
	z-index: 999;
}

header #snav li {
	display: inline-block;
	padding: 0;
	margin-left: 38px;
	vertical-align: top;
	position: relative;
}

header #snav li.movie {
	padding-top: 14px;
}

header #snav li.fb {
	padding-top: 13px;
}

header #snav li.insta {
	padding-top: 14px;
}

header #snav li.blog {
	padding-top: 21px;
}

header #snav li p {
	position: absolute;
	display: none;
}

header #snav li.movie p {
	left: -149px;
	top: 36px;
}

header #snav li.fb p {
	left: -143px;
	top: 38px;
}

header #snav li.insta p {
	left: -143px;
	top: 38px;
}

header #snav li.blog p {
	left: -162px;
	top: 36px;
}

header #snav li.navi p {
	left: -165px;
	top: 45px;
}

header #gnav_pc.recruit {
	margin-left: 48px;
	width: auto;
	padding-right: 0;
}

header #gnav_pc.recruit li {
	padding: 0;
}

header .menu_btn {
	display: none;
}

header #gnav_sp {
	display: none;
}

header #gnav_pc li:not(.inquiry) {
	display: inline-block;
}

header #gnav_pc li.inquiry {
	display: block;
	position: absolute;
	top: -40px;
	right: 0;
}

@media only screen and (max-width:768px){
	header {
		width: 100%;
		height: 16%;
		padding: 3% 0;
	}

	header .header_contents {
		width: 100%;
		margin: 0 auto;
		position: relative;
	}

	header .header_contents .bnr_event {
		width: 50%;
		max-width: 275px;
		top: 50%;
		left: auto;
		right: 18%;
		margin-top: -6%;
	}

	header h1 {
		width: 15%;
		margin-left: 3%;
	}

	header .menu_btn {
		display: block;
		position: absolute;
		width: 42px;
		height: 27px;
		top: 25%;
		right: 3%;
	}

	header .menu-trigger,
	header .menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	header .menu-trigger {
		position: relative;
		width: 100%;
		height: 100%;
	}
	header .menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #91b322;
		border-radius: 4px;
	}
	header .menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	header .menu-trigger span:nth-of-type(2) {
		top: 12px;
	}
	header .menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	header .menu-trigger::after {
		position: absolute;
		left: 0;
		bottom: -18px;
		content: 'メニュー';
		display: block;
		width: 100%;
		color: #91b322;
		font-size: 10px;
		text-decoration: none;
		text-align: center;
		transition: all .4s;
	}
	header .menu-trigger.active::after {
		content: '閉じる';
		bottom: -18px;
	}
	header .menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(12px) rotate(-45deg);
		transform: translateY(12px) rotate(-45deg);
	}
	header .menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	header .menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-12px) rotate(45deg);
		transform: translateY(-12px) rotate(45deg);
	}

	header #gnav_pc {
		display: none;
	}

	header #gnav_sp {
		position: absolute;
		width: 100%;
		z-index: 100;
	}

	header #gnav_sp li {
		background: #fff;
	}

	header #gnav_sp li + li {
		border-top: #91b322 1px solid;
	}

	header #gnav_sp li:last-child {
		border-bottom: #91b322 1px solid;
	}

	header #gnav_sp li a {
		display: block;
		padding: 5% 4%;
		color: #91b322;
		text-decoration: none;
		font-size: 1.6rem;
	}

	header #snav {
		position: static;
		font-size: 0;
		box-sizing:	border-box;
		padding: 2%;
		text-align: right;
	}

	header #snav li {
		display: inline-block;
		padding: 0;
		margin-left: 26px;
		vertical-align: top;
		border: 0 !important;
	}

	header #snav li.movie {
		padding-top: 14px;
	}

	header #snav li.fb {
		padding-top: 13px;
	}

	header #snav li.blog {
		padding-top: 21px;
	}
}

@media only screen and (max-width:414px){
	header h1 {
		width: 20%;
		margin-left: 3%;
	}
}


/* 
	contents
*/

.contents {
	width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}

@media only screen and (max-width:768px){
	.contents {
		width: 94%;
		margin: 0 auto;
	}
}


/*
	top
*/

.contents h2 {
	margin-top: 70px;
}

.notice {
	background-color: #91b322;
	padding: 30px 0;
}

.notice h2 {
	margin: 0;
}

.notice li {
	margin-top: 13px;
	padding-bottom: 2px;
}

.notice li span {
	font-size: 1.6rem;
	font-weight: 400;
	color: #fff;
}

.notice li span + span {
	margin-left: 10px;
}

.notice li .date {
	color: #000;
}

.notice li a {
	color: #fff;
	text-decoration: underline;
}

.top_wrapper {
	width: 100%;
	margin: 0 auto;
	background: url(../img/bg_top.png) top center no-repeat;
	background-size: contain;
}

.contents .main_menu {
	width: 770px;
	height: 710px;
	margin: 245px auto;
	position: relative;
}

.contents .main_menu p {
	display: block;
	position: absolute;
}

.contents .main_menu p.about {
	top: 0;
	left: 0;
}

.contents .main_menu p.service {
	top: 0;
	right: 0;
}

.contents .main_menu p.recruit {
	width: 308px;
	height: 314px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

h2.top {
	width: 100%;
	text-align: center;
	margin-top: 80px;
}

.top_lead {
	margin-top: 15px;
	font-size: 1.5rem;
	line-height: 1.9;
	text-align: center;
}

.contents .menu_about {
	width: 812px;
	margin: 90px auto 0;
	overflow: hidden;
}

.contents .menu_about li {
	width: 131px;
	margin-bottom: 81px;
	float: left;
	margin-right: 96px;
}

.contents .menu_about li:nth-child(4n) {
	margin-right: 0;
}

.contents .menu_service {
	width: 960px;
	margin: 90px auto 0;
	overflow: hidden;
}

.contents .menu_service .service_box {
	width: 236px;
	box-sizing: border-box;
	float: left;
	margin-right: 126px;
	margin-bottom: 60px;
	text-align: center;
}

.contents .menu_service .service_box:nth-child(3n) {
	margin-right: 0;
}

.contents .menu_service .service_box .txt {
	margin-top: 15px;
	font-size: 1.4rem;
	line-height: 1.7;
	text-align: left;
}

.contents .menu_recruit {
	width: 687px;
	height: 423px;
	margin: 80px auto 0;
	position: relative;
}

.contents .menu_recruit p {
	display: block;
	position: absolute;
	width: 117px;
	height: 142px;
}

.contents .menu_recruit p.message {
	top: 0;
	left: 0;
}

.contents .menu_recruit p.careerpath {
	top: 0;
	right: 0;
}

.contents .menu_recruit p.ourjob {
	width: 187px;
	height: 207px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.contents .menu_recruit p.ourjob a {
	display: block;
	position: relative;
}

.contents .menu_recruit p.ourjob a::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: -40px;
	background: url(../img/ico_check.png) 0 0 no-repeat;
	background-size: contain;
	width: 60px;
	height: 40px;
}

.contents .menu_recruit p.event {
	bottom: 0;
	left: 0;
}

.contents .menu_recruit p.list {
	bottom: 0;
	right: 0;
}

h2.topics {
	text-align: center;
}

.btn_topics_wrapper {
	width: 770px;
	height: 40px;
	margin: 65px auto 0;
	border-bottom: #91b222 1px solid;
	position: relative;
}

.contents .btn_topics {
	position: absolute;
	top: 0;
	left: 20px;
}

.contents .btn_topics li {
	cursor: pointer;
	display: inline-block;
	width: 120px;
	height: 40px;
	line-height: 40px;
	box-sizing: border-box;
	border: #91b222 1px solid;
	color: #91b222;
	font-size: 1.6rem;
	text-align: center;
}

.contents .btn_topics li.active {
	border-bottom: #fff 1px solid;
	cursor: default;
}

.contents .topics_wrapper {
	width: 770px;
	margin: 0 auto 145px;
	padding: 60px 0 45px;
	border-bottom: #91b222 1px solid;
	display: table;
}

.contents .topics_wrapper .topics_box {
	width: 100%;
	display: table-row;
}

.contents .topics_wrapper .topics_box .date {
	width: 160px;
	display: table-cell;
	vertical-align: top;
	font-size: 1.6rem;
	font-weight: 300;
	letter-spacing: 1px;
	position: relative;
}

.contents .topics_wrapper .topics_box .date::before {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-right: #91b322 2px solid;
	border-top: #91b322 2px solid;
	position: absolute;
	top: 5px;
	right: 30px;
	transform: rotate(45deg);
}

.contents .topics_wrapper .topics_box .date::after {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-right: #91b322 2px solid;
	border-top: #91b322 2px solid;
	position: absolute;
	top: 5px;
	right: 37px;
	transform: rotate(45deg);
}

.contents .topics_wrapper .topics_box .topics_content {
	width: 610px;
	display: table-cell;
	vertical-align: top;
	padding-bottom: 35px;
}

.contents .topics_wrapper .topics_box .topics_content .title a {
	font-size: 1.6rem;
	font-weight: 300;
	color: #91b322;
}

.contents .topics_wrapper .topics_box .topics_content .topics_txt {
	font-size: 1.4rem;
	line-height: 1.9;
	margin-top: 5px;
}

.contents .topics_wrapper.blog,
.contents .topics_wrapper.event {
	display: none;
}


@media only screen and (max-width:768px){
	.contents h2 {
		margin-top: 12%;
	}

	.notice {
		padding: 0 0 8%;
	}

	.notice h2 {
		width: 55%;
		max-width: 247px;
	}
	
	.notice li {
		margin-top: 4%;
	}

	.notice li span {
		display: block;
	}
	
	.notice li span + span {
		margin-left: 0;
	}
	
	.notice li .date {
		color: #000;
	}
	
	.notice li .arrow {
		display: none;
	}
	
	.notice li .title {
		margin-top: 2px;
	}
	
	.top_wrapper {
		width: 100%;
		margin: 0 auto;
		background: url(../img/bg_top.png) top center no-repeat;
		background-size: contain;
	}

	.contents .main_menu {
		width: 90%;
		height: 75vw;
		margin: 18% auto;
		position: relative;
	}

	.contents .main_menu p.about {
		width: 35%;
		height: auto;
	}

	.contents .main_menu p.service {
		width: 37%;
		height: auto;
	}

	.contents .main_menu p.recruit {
		width: 40%;
		height: auto;
	}

	h2.top {
		width: 96%;
		text-align: center;
		margin: 15% auto 0;
	}

	h2.top img {
		max-width: 400px;
		margin: 0 auto;
	}

	.top_lead {
		margin-top: 15px;
		font-size: 1.4rem;
		line-height: 1.9;
		text-align: center;
	}

	.contents .menu_about {
		width: 75%;
		max-width: 300px;
		margin: 8% auto 0;
		overflow: hidden;
	}

	.contents .menu_about li {
		width: 46%;
		margin-right: 8%;
		margin-bottom: 8%;
		float: left;
	}

	.contents .menu_about li:nth-child(4n) {
		margin-right: 8%;
	}

	.contents .menu_about li:nth-child(2n) {
		margin-right: 0;
	}

	.contents .menu_service {
		width: 96%;
		max-width: 400px;
		margin: 8% auto 0;
		overflow: hidden;
	}

	.contents .menu_service .service_box {
		width: 47%;
		box-sizing: border-box;
		float: left;
		margin-right: 6%;
		margin-bottom: 10%;
		text-align: center;
	}

	.contents .menu_service .service_box:nth-child(3n) {
		margin-right: 6%;
	}

	.contents .menu_service .service_box:nth-child(2n) {
		margin-right: 0;
	}

	.contents .menu_service .service_box .txt {
		margin-top: 15px;
		font-size: 1.4rem;
		line-height: 1.7;
		text-align: left;
	}

	.contents .menu_recruit {
		width: 90%;
		height: 75vw;
		margin: 6% auto;
		position: relative;
	}

	.contents .menu_recruit p {
		display: block;
		position: absolute;
		width: 23%;
		height: auto;
	}

	.contents .menu_recruit p.ourjob {
		width: 35%;
		height: 35vw;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	.contents .menu_recruit p.ourjob a::after {
		bottom: -2.5vw;
		right: -8vw;
		width: 12vw;
	}

	h2.topics {
		text-align: center;
		width: 40%;
		margin: 20% auto 0;
	}

	.btn_topics_wrapper {
		width: 100%;
		height: 40px;
		margin: 35px auto 0;
		border-bottom: #91b222 1px solid;
		position: relative;
	}

	.contents .btn_topics {
		position: absolute;
		top: 0;
		left: 20px;
	}

	.contents .btn_topics li {
		cursor: pointer;
		display: inline-block;
		width: 80px;
		height: 40px;
		line-height: 40px;
		box-sizing: border-box;
		border: #91b222 1px solid;
		color: #91b222;
		font-size: 1.4rem;
		text-align: center;
	}

	.contents .btn_topics li.active {
		border-bottom: #fff 1px solid;
		cursor: default;
	}

	.contents .topics_wrapper {
		width: 100%;
		margin: 0 auto 80px;
		padding: 8% 0;
		border-bottom: #91b222 1px solid;
		display: table;
	}

	.contents .topics_wrapper .topics_box {
		width: 100%;
		display: table-row;
	}

	.contents .topics_wrapper .topics_box .date {
		width: 160px;
		display: block;
		vertical-align: top;
		font-size: 1.4rem;
		font-weight: 300;
		letter-spacing: 1px;
		position: relative;
		margin-bottom: 5px;
	}

	.contents .topics_wrapper .topics_box .date::before {
		border-right: 0;
		border-top: 0;
	}

	.contents .topics_wrapper .topics_box .date::after {
		border-right: 0;
		border-top: 0;
	}

	.contents .topics_wrapper .topics_box .topics_content {
		width: 100%;
		display: block;
		vertical-align: top;
		padding-bottom: 35px;
	}

	.contents .topics_wrapper .topics_box .topics_content .title a {
		font-size: 1.4rem;
		font-weight: 300;
		line-height: 1.2;
		color: #91b322;
	}

	.contents .topics_wrapper .topics_box .topics_content .topics_txt {
		font-size: 1.2rem;
		line-height: 1.6;
		margin-top: 5px;
	}

	.contents .topics_wrapper .topics_box .topics_content .topics_txt a {
		font-size: 1.2rem;
	}
}


/*
	menu
*/

.contents .menu_jobseeker {
	width: 687px;
	height: 423px;
	margin: 50px auto;
	position: relative;
}

.contents .menu_jobseeker p {
	display: block;
	position: absolute;
	width: 117px;
	height: 142px;
}

.contents .menu_jobseeker p.message {
	top: 0;
	left: 0;
}

.contents .menu_jobseeker p.careerpath {
	top: 0;
	right: 0;
}

.contents .menu_jobseeker p.ourjob {
	width: 187px;
	height: 207px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.contents .menu_jobseeker p.ourjob a {
	display: block;
	position: relative;
}

.contents .menu_jobseeker p.ourjob a::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: -40px;
	background: url(../img/ico_check.png) 0 0 no-repeat;
	background-size: contain;
	width: 60px;
	height: 40px;
}

.contents .menu_jobseeker p.tour {
	bottom: 0;
	left: 0;
}

.contents .menu_jobseeker p.list {
	bottom: 0;
	right: 0;
}

@media only screen and (max-width:768px){
	.contents .menu_jobseeker {
		width: 90%;
		height: 75vw;
		margin: 6% auto;
		position: relative;
	}

	.contents .menu_jobseeker p {
		display: block;
		position: absolute;
		width: 23%;
		height: auto;
	}

	.contents .menu_jobseeker p.ourjob {
		width: 35%;
		height: 35vw;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	.contents .menu_jobseeker p.ourjob a::after {
		bottom: -2.5vw;
		right: -8vw;
		width: 12vw;
	}
}


/*
	file
*/
.contents .file {
	padding-bottom: 2px;
}

.contents .file li {
	line-height: 1.6;
	position: relative;
	padding-left: 1em;
}

.contents .file li::before {
	content: "・";
	color: #91b222;
	position: absolute;
	top: 2px;
	left: 0;
}

.contents .file li + li {
	margin-top: 15px;
}

.contents .file a {
	border-bottom: 1px solid;
	padding-bottom: 1px;
	line-height: 1.4;
	position: relative;
	display: inline;
	margin-right: 2em;
}

.contents .file a::after {
	position: absolute;
	bottom: -2px;
	right: 0;
	font-family: "FontAwesome";
	right: -1.4em;
}

.contents .file .pdf::after {
	content: '\f1c1';
	color: #ef1f06;
}

.contents .file .img_file::after {
	content: '\f1c5';
	color: #4cb0db;
}

.contents .file .site::after {
	content: '\f2d2';
	color: #e19c24;
}


/*
	greeting
*/

.contents h2.greeting {
	text-align: center;
	margin-top: 120px;
}

.contents .greeting_img {
	margin: 98px auto 0;
}

.contents .greeting_txt {
	margin: 115px 0 auto;
	text-align: center;
	font-size: 1.5rem;
	line-height: 4;
	letter-spacing: 2px;
	text-indent: 2px;
}

.contents .greeting_txt p + p {
	margin-top: 45px;
}

.contents .greeting_name {
	margin: 80px auto 165px;
	font-size: 1.7rem;
	line-height: 2.1;
	text-align: center;
	letter-spacing: 2px;
	text-indent: 2px;
}

.contents .greeting_name span {
	font-size: 1.3rem;
}

.contents .greeting_movie {
	width: 658px;
	margin: 140px auto 0;
}

.contents .greeting_character {
	margin: 60px auto 0;
	text-align: right;
}

@media only screen and (max-width:768px){
	.contents h2.greeting {
		margin-top: 8%;
	}

	.contents h2.greeting img {
		width: 30%;
	}

	.contents .greeting_img {
		margin: 10% auto 0;
	}

	.contents .greeting_txt {
		margin: 10% 0 auto;
		text-align: left;
		font-size: 1.4rem;
		line-height: 2.1;
	}

	.contents .greeting_name {
		margin: 50px auto 0;
		font-size: 1.4rem;
	}

	.contents .greeting_name span {
		font-size: 1.2rem;
	}

	.contents .greeting_movie {
		width: 100%;
		margin: 12% auto 0;
		padding-top: 56.25%;
		position: relative;
	}
	
	.contents .greeting_movie iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}

	.contents .greeting_character {
		margin: 8% auto 0;
		text-align: right;
		width: 100%;
	}

	.contents .greeting_character img {
		width: 70%;
	}
}


/*
	overview
*/

.contents h2.overview {
	margin-top: 120px;
}

.contents h3.overview {
	margin-top: 140px;
	position: relative;
	font-size: 3rem;
	font-weight: 100;
	padding-left: 35px;
}

.contents h3.overview span {
	vertical-align: middle;
	color: #91b222;
	letter-spacing: 14px;
}

.contents h3.overview span.sub {
	font-size: 1.6rem;
	letter-spacing: 7px;
}

.contents h3.overview::before {
	content: url(../img/mark_leaf.png);
	position: absolute;
	left: 0;
}

.contents .overview_txt {
	font-size: 1.6rem;
	line-height: 2.1;
	margin: 25px 0 0 35px;
	box-sizing: border-box;
}

.contents .overview_list {
	margin: 25px 0 0 35px;
}

.contents .overview_list li {
	font-size: 1.6rem;
	line-height: 1.6;
	position: relative;
	padding-left: 1em;
}

.contents .overview_list li::before {
	content: "・";
	color: #91b222;
	position: absolute;
	left: 0;
}

.contents .overview_list.no {
	counter-reset: ol_li;
}

.contents .overview_list.no li::before {
	counter-increment: ol_li;
	content: counter(ol_li)".";
	color: #91b222;
	position: absolute;
	left: 0;
}

.contents .overview_list li + li {
	margin-top: 10px;
}

.contents .overview_table {
	width: 930px;
	box-sizing: border-box;
	margin: 25px 0 0 35px;
	border-top: #91b222 1px solid;
	border-collapse: collapse;
}

.contents .overview_table.overview {
	margin-bottom: 80px;
}

.contents .overview_table th,
.contents .overview_table td {
	border-bottom: #91b222 1px solid;
	padding: 14px 0;
	vertical-align: middle;
}

.contents .overview_table.overview th,
.contents .overview_table.overview td {
	padding: 25px 0;
	box-sizing: border-box;
}

.contents .overview_table th {
	width: 160px;
	color: #91b222;
	font-weight: 200;
	text-align: left;
}

.contents .overview_table th.space {
	letter-spacing: 1em;
}

.contents .overview_table .no_line {
	border-bottom: none;
	padding-bottom: 0;
}

.contents .overview_table td.year {
	width: 57px;
	text-align: right;
}

.contents .overview_table td.month {
	width: 80px;
	text-align: right;
	vertical-align: top;
	line-height: 1.4;
}

.contents .overview_table td.history {
	padding-left: 64px;
	width: 793px;
}

.contents .overview_table td p {
	position: relative;
	padding-left: 1em;
	line-height: 1.2;
}

.contents .overview_table td.multi p {
	display: inline-block;
	width: 195px;
	line-height: 1.6;
}

.contents .overview_table td.office p {
	line-height: 1.6;
	padding-left: 0;
}

.contents .overview_table td.office p + p {
	margin-top: 25px;
}

.contents .overview_table td p::before {
	content: "・";
	color: #91b222;
	position: absolute;
	left: 0;
}

.contents .overview_table td.office p::before {
	content: "";
}

@media only screen and (max-width:768px){
	.contents h2.overview {
		margin-top: 8%;
		width: 40%;
	}

	.contents h3.overview {
		margin-top: 10%;
		font-size: 2rem;
		font-weight: 200;
		padding-left: 25px;
	}

	.contents h3.overview span {
		letter-spacing: 2px;
	}

	.contents h3.overview span.sub {
		font-size: 1.6rem;
		letter-spacing: 1px;
	}

	.contents h3.overview::before {
		top: 5px;
	}

	.contents .overview_txt {
		font-size: 1.4rem;
		line-height: 1.6;
		margin: 15px 0 0 10px;
		box-sizing: border-box;
	}

	.contents .overview_list {
		margin: 15px 0 0 10px;
	}

	.contents .overview_list li {
		font-size: 1.4rem;
		line-height: 1.6;
		position: relative;
		padding-left: 1em;
	}


	.contents .overview_list li + li {
		margin-top: 10px;
	}

	.contents .overview_table {
		width: 100%;
		box-sizing: border-box;
		margin: 25px 0 0 0;
		border-top: #91b222 1px solid;
		border-collapse: collapse;
	}

	.contents .overview_table.overview {
		margin-bottom: 80px;
	}

	.contents .overview_table th,
	.contents .overview_table td {
		border-bottom: #91b222 1px solid;
		padding: 14px 0;
		vertical-align: middle;
	}

	.contents .overview_table.overview th,
	.contents .overview_table.overview td {
		padding: 25px 0;
		box-sizing: border-box;
		display: block;
		width: 100%;
	}

	.contents .overview_table.overview th {
		border: none;
		padding-bottom: 0;
	}

	.contents .overview_table.overview td {
		padding-top: 10px;
	}

	.contents .overview_table td.year {
		width: 100%;
		text-align: left;
		border-bottom: 0;
		color: #91b222;
		padding-bottom: 0;
	}

	.contents .overview_table td.month {
		width: 10%;
		text-align: right;
		vertical-align: top;
		line-height: 1.4;
	}

	.contents .overview_table td.history {
		padding-left: 10px;
	}

	.contents .overview_table td p {
		position: relative;
		padding-left: 1em;
		line-height: 1.4;
	}

	.contents .overview_table td.multi p {
		display: inline-block;
		width: 50%;
		line-height: 1.6;
	}

	.contents .overview_table td.office p {
		line-height: 1.6;
	}

	.contents .overview_table td.office p + p {
		margin-top: 25px;
	}
}


/*
	authentication
*/

.contents h2.authentication {
	margin-top: 120px;
}

.contents h3.authentication {
	font-size: 2rem;
	font-weight: 200;
	letter-spacing: 5px;
	color: #91b222;
	padding-left: 2em;
	position: relative;
	margin: 130px auto 0;
}

.contents h3.authentication::before {
	content: url(../img/mark_authentication.png);
	position: absolute;
	top: -5px;
	left: 0;
}

.contents .h3_authentication_wrapper {
	width: 833px;
	overflow: hidden;
	margin-top: 15px;
}

.contents .h3_authentication_wrapper .h3_authentication_txt {
	width: 570px;
	float: left;
	line-height: 2.1;
}

.contents .h3_authentication_wrapper .h3_authentication_img {
	width: 196px;
	float: right;
}

.contents .h3_authentication_wrapper + h3 {
	margin-top: 85px;
}

.contents .h4_authentication_wrapper {
	width: 735px;
	overflow: hidden;
}

.contents .h4_authentication_wrapper.wrap01 {
	margin-top: 150px;
}

.contents .h4_authentication_wrapper.wrap02 {
	margin-top: 155px;
}

.contents .h4_authentication_wrapper.wrap03 {
	margin-top: 135px;
	margin-bottom: 120px;
}

.contents .h4_authentication_contents {
	width: 340px;
	float: left;
}

.contents h4.authentication {
	font-weight: 200;
	color: #fff;
	background: #91b322;
	text-align: center;
	height: 22px;
	line-height: 22px;
	display: inline-block;
	position: relative;
	padding: 0 30px;
	letter-spacing: 2px;
}

.contents h4.authentication::before {
	content: "";
	width: 0;
	height: 0;
	border-left: #fff 7px solid;
	border-top: transparent 11px solid ;
	border-right: transparent 7px solid;
	border-bottom: transparent 11px solid;
	position: absolute;
	left: 0;
}

.contents h4.authentication::after {
	content: "";
	width: 0;
	height: 0;
	border-right: #fff 7px solid;
	border-top: transparent 11px solid ;
	border-left: transparent 7px solid;
	border-bottom: transparent 11px solid;
	position: absolute;
	right: 0;
}

.contents .h4_authentication_title {
	font-size: 1.7rem;
	line-height: 1.7;
	color: #91b322;
	letter-spacing: 2px;
	margin-top: 25px;
}

.contents .h4_authentication_txt {
	margin-top: 25px;
	line-height: 2.1;
}

.contents .h4_authentication_img {
	width: 356px;
	float: right;
	text-align: center;
}

.contents .h4_authentication_wrapper.wrap01 .h4_authentication_img {
	padding-top: 48px;
}

.contents .h4_authentication_wrapper.wrap02 .h4_authentication_contents {
	padding-top: 40px;
}

.contents .h4_authentication_wrapper.wrap03 .h4_authentication_contents {
	padding-top: 80px;
}

@media only screen and (max-width:768px){
	.contents h2.authentication {
		margin-top: 12%;
		width: 60%;
	}

	.contents h3.authentication {
		font-size: 1.8rem;
		margin: 50px auto 0;
	}

	.contents .h3_authentication_wrapper {
		width: 100%;
		overflow: hidden;
		margin-top: 15px;
	}

	.contents .h3_authentication_wrapper .h3_authentication_txt {
		width: 100%;
		float: none;
		line-height: 1.6;
	}

	.contents .h3_authentication_wrapper .h3_authentication_img {
		width: 100%;
		max-width: 196px;
		margin: 30px auto 0 10px;
		float: none;
	}

	.contents .h3_authentication_wrapper + h3 {
		margin-top: 80px;
	}

	.contents .h4_authentication_wrapper {
		width: 100%;
		overflow: hidden;
	}

	.contents .h4_authentication_wrapper.wrap01 {
		margin-top: 80px;
	}

	.contents .h4_authentication_wrapper.wrap02 {
		margin-top: 80px;
	}

	.contents .h4_authentication_wrapper.wrap03 {
		margin-top: 80px;
		margin-bottom: 80px;
	}

	.contents .h4_authentication_contents {
		width: 100%;
		float: none;
	}

	.contents .h4_authentication_title {
		font-size: 1.6rem;
		line-height: 1.6;
		color: #91b322;
		letter-spacing: 2px;
		margin-top: 15px;
	}

	.contents .h4_authentication_txt {
		margin-top: 15px;
		line-height: 1.6;
	}

	.contents .h4_authentication_img {
		width: 100%;
		max-width: 356px;
		margin: 25px auto 0 0 !important;
		float: none;
		text-align: center;
	}

	.contents .h4_authentication_wrapper.wrap01 .h4_authentication_img {
		padding-top: 0;
	}

	.contents .h4_authentication_wrapper.wrap02 .h4_authentication_contents {
		padding-top: 0;
	}

	.contents .h4_authentication_wrapper.wrap02 .h4_authentication_img {
		max-width: 279px;
	}

	.contents .h4_authentication_wrapper.wrap03 .h4_authentication_contents {
		padding-top: 0;
	}

	.contents .h4_authentication_wrapper.wrap03 .h4_authentication_img {
		max-width: 341px;
	}
}


/*
	information
*/

.contents h2.information {
	margin-top: 120px;
}

.contents h3.information {
	margin-top: 140px;
	position: relative;
	font-size: 3rem;
	font-weight: 100;
	padding-left: 35px;
}

.contents h3.information span {
	vertical-align: middle;
	color: #91b222;
	letter-spacing: 14px;
}

.contents h3.information span.sub {
	font-size: 1.6rem;
	letter-spacing: 7px;
}

.contents h3.information::before {
	content: url(../img/mark_leaf.png);
	position: absolute;
	left: 0;
}

.contents .information_list {
	margin: 25px 0 0 35px;
}

.contents .information_txt {
	font-size: 1.4rem;
	line-height: 1.9;
	margin: 25px 0 0 35px;
	width: 570px;
	box-sizing: border-box;
}

.contents .information_copyright {
	margin: 25px 0 165px 35px;
	width: 570px;
	box-sizing: border-box;
}

.contents .information_copyright dt {
	color: #91b222;
}

.contents .information_copyright dd {
	font-size: 1.4rem;
	line-height: 1.9;
	margin-top: 5px;
}

.contents .information_copyright dd + dt {
	margin-top: 40px;
}

@media only screen and (max-width:768px){
	.contents h2.information {
		margin-top: 12%;
		width: 42%;
	}

	.contents h3.information {
		margin-top: 10%;
		font-size: 2rem;
		font-weight: 200;
		padding-left: 25px;
	}

	.contents h3.information span {
		letter-spacing: 2px;
	}

	.contents h3.information span.sub {
		font-size: 1.6rem;
		letter-spacing: 1px;
	}

	.contents h3.information::before {
		top: 5px;
	}

	.contents .information_list {
		margin: 15px 4% 0 0;
	}

	.contents .information_txt {
		font-size: 1.4rem;
		line-height: 1.6;
		margin: 15px 0;
		width: 100%;
	}

	.contents .information_copyright {
		margin: 15px 0 80px;
		width: 100%;
	}

	.contents .information_copyright dd {
		font-size: 1.4rem;
		line-height: 1.6;
		margin-top: 5px;
	}

	.contents .information_copyright dd + dt {
		margin-top: 40px;
	}
}


/*
	subsidized
*/

.contents .subsidized_wrapper {
	width: 886px;
	margin-top: 120px;
	overflow: hidden;
}

.contents .subsidized_contents {
	width: 480px;
	float: left;
}

.contents .subsidized_contents h2 {
	margin-top: 0;
}

.contents .subsidized_contents .subsidized_txt {
	font-size: 1.7rem;
	line-height: 1.9;
	margin-top: 35px;
}

.contents .subsidized_contents .yasuragi_link {
	margin: 85px 0 0 30px;
	text-align: center;
}

.contents .subsidized_contents .yasuragi_link span {
	display: block;
	margin-top: 10px;
	font-size: 1.7rem;
}

.contents .subsidized_contents .yasuragi_link span.sub {
	font-size: 1.4rem;
}

.contents .subsidized_contents .subsidized_character {
	margin: 70px 0 0 70px;
}

.contents .subsidized_wrapper .subsidized_img {
	width: 300px;
	float: right;
	padding-top: 6px;
}

.contents .subsidized_wrapper .subsidized_img p:nth-child(2) {
	margin-top: 45px;
}

.contents .subsidized_wrapper .subsidized_img p:nth-child(3),
.contents .subsidized_wrapper .subsidized_img p:nth-child(4) {
	margin-top: 75px;
}

.contents .subsidized_wrapper .subsidized_img p span {
	display: block;
	margin-top: 10px;
	font-size: 1.5rem;
}

.contents .subsidized_bnr {
	width: 886px;
	margin: 74px auto 124px 0;
	font-size: 0;
	text-align: right;
}

.contents .subsidized_bnr p {
	display: inline-block;
}

.contents .subsidized_bnr p + p{
	margin-left: 26px;
}

@media only screen and (max-width:768px){
	.contents .subsidized_wrapper {
		width: 100%;
		margin-top: 12%;
		overflow: hidden;
	}

	.contents .subsidized_contents {
		width: 100%;
		float: none;
	}

	.contents .subsidized_contents h2 {
		width: 60%;
	}

	.contents .subsidized_contents .subsidized_txt {
		font-size: 1.5rem;
		line-height: 1.6;
		margin-top: 6%;
	}

	.contents .subsidized_contents .yasuragi_link {
		margin: 35px 0 0 0;
		text-align: center;
	}

	.contents .subsidized_contents .yasuragi_link span {
		display: block;
		margin-top: 10px;
		font-size: 1.4rem;
	}

	.contents .subsidized_contents .yasuragi_link span.sub {
		font-size: 1.2rem;
	}

	.contents .subsidized_wrapper .subsidized_img {
		width: 100%;
		float: none;
		padding-top: 80px;
	}

	.contents .subsidized_wrapper .subsidized_img p:nth-child(2) {
		margin-top: 25px;
	}

	.contents .subsidized_wrapper .subsidized_img p:nth-child(3),
	.contents .subsidized_wrapper .subsidized_img p:nth-child(4) {
		margin-top: 50px;
	}

	.contents .subsidized_wrapper .subsidized_img p span {
		display: block;
		margin-top: 10px;
		font-size: 1.4rem;
	}

	.contents .subsidized_wrapper .subsidized_img .subsidized_character {
		margin: 60px auto 0 0;
		width: 70%
	}

	.contents .subsidized_bnr {
		width: 100%;
		margin: 50px auto 80px;
		font-size: 0;
		text-align: center;
	}

	.contents .subsidized_bnr p {
		display: block;
	}

	.contents .subsidized_bnr p img {
		max-width: 234px;
	}

	.contents .subsidized_bnr p + p{
		margin: 15px 0;
	}
}


/*
	yasuragi
*/

.contents .yasuragi_header {
	margin-top: 120px;
	overflow: hidden;
}

.contents .yasuragi_header_contents {
	width: 561px;
	margin-right: 35px;
	padding-top: 45px;
	float: left;
}

.contents .yasuragi_header_contents h2 {
	margin-top: 0;
}

.contents .yasuragi_header_contents .yasuragi_txt {
	font-size: 1.7rem;
	line-height: 1.9;
	margin-top: 35px;
}

.contents .yasuragi_header_contents .img {
	float: left;
}

.contents h3.yasuragi {
	font-size: 2.5rem;
	font-weight: 200;
	color: #91b222;
	padding-left: 1.5em;
	position: relative;
}

.contents h3.yasuragi::before {
	content: url(../img/mark_book.png);
	position: absolute;
	left: 0;
}

.contents .yasuragi_list_wrapper {
	overflow: hidden;
	margin: 80px 0 130px;
}

.contents .yasuragi_contents {
	width: 340px;
	float: left;
}

.contents .yasuragi_list {
	margin-top: 25px;
}

.contents .yasuragi_character {
	float: left;
	padding-top: 16px;
}

@media only screen and (max-width:768px){
	.contents .yasuragi_header {
		margin-top: 12%;
		overflow: hidden;
	}

	.contents .yasuragi_header_contents {
		width: 100%;
		margin-right: 0;
		padding-top: 0;
		float: none;
	}

	.contents .yasuragi_header_contents h2 {
		margin-top: 10px;
		width: 50%;
	}

	.contents .yasuragi_header_contents .yasuragi_txt {
		font-size: 1.5rem;
		line-height: 1.6;
		margin-top: 6%;
	}

	.contents .yasuragi_header_contents .img {
		float: none;
		width: 200px;
	}

	.contents h3.yasuragi {
		font-size: 1.8rem;
		font-weight: 200;
		color: #91b222;
		padding-top: 5px;
		padding-left: 1.8em;
		position: relative;
		vertical-align: middle;
	}

	.contents h3.yasuragi::before {
		top: 0;
		left: 0;
	}

	.contents .yasuragi_list_wrapper {
		overflow: hidden;
		margin: 80px 0 130px;
	}

	.contents .yasuragi_contents {
		width: 100%;
		float: none;
	}

	.contents .yasuragi_list {
		margin-top: 15px;
	}

	.contents .yasuragi_character {
		float: none;
		padding-top: 30px;
		width: 50%;
		margin-left: auto;
	}
}


/*
	media
*/

.contents .media_header {
	margin-top: 80px;
	overflow: hidden;
}

.contents .media_header_contents {
	width: 406px;
	margin-right: 55px;
	padding-top: 90px;
	float: left;
}

.contents .media_header_contents h2 {
	margin-top: 0;
}

.contents .media_header_contents .media_txt {
	font-size: 1.7rem;
	line-height: 1.9;
	margin-top: 35px;
}

.contents .media_header .media_character {
	float: left;
}

.contents h3.media {
	font-size: 2.5rem;
	font-weight: 200;
	color: #91b222;
	margin-top: 120px;
	padding-left: 1.5em;
	position: relative;
}

.contents h3.media::before {
	content: url(../img/mark_media.png);
	position: absolute;
	left: 0;
}

.contents .media_list {
	margin: 30px auto 135px;
}

.contents .media_list .date {
	color: #91b222;
	font-size: 1.6rem;
	display: block;
	line-height: 1;
	margin-bottom: 3px;
}

.contents .media_list li {
	font-size: 1.5rem;
}

.contents .media_list li::before {
	top: -3px;
}

.contents .media_list li + li {
	margin-top: 30px;
}

@media only screen and (max-width:768px){
	.contents .media_header {
		margin-top: 12%;
		overflow: hidden;
	}

	.contents .media_header_contents {
		width: 100%;
		margin-right: 0;
		padding-top: 0;
		float: none;
	}

	.contents .media_header_contents h2 {
		margin-top: 10px;
		width: 40%;
	}

	.contents .media_header_contents .media_txt {
		font-size: 1.5rem;
		line-height: 1.6;
		margin-top: 6%;
	}

	.contents .media_header .media_character {
		float: none;
		width: 70%;
		margin: 20px 0 0 auto;
	}

	.contents h3.media {
		font-size: 1.8rem;
		font-weight: 200;
		color: #91b222;
		margin-top: 30px;
		padding-top: 5px;
		padding-left: 1.8em;
		position: relative;
		vertical-align: middle;
	}

	.contents h3.media::before {
		top: 0;
		left: 0;
	}

	.contents .media_list {
		margin-top: 15px;
	}
}


/*
	iinenoki
*/

.contents .iinenoki_wrapper {
	width: 700px;
	margin: 120px auto;
}

.contents .iinenoki_header {
	width: 100%;
	overflow: hidden;
	margin-bottom: 100px;
}

.contents .iinenoki_title {
	width: 310px;
	float: left;
}

.contents .iinenoki_title h2 {
	margin-top: 33px;
}

.contents .iinenoki_title .iinenoki_character {
	margin-top: 30px;
	text-align: center;
}

.contents .iinenoki_img {
	width: 350px;
	float: right;
}

.contents .iinenoki_img span {
	display: block;
	font-size: 1.1rem;
	text-align: center;
}

.contents .iinenoki_txt {
	line-height: 2.1;
}

.contents .iinenoki_txt + .iinenoki_txt {
	margin-top: 30px;
}

.contents .iinenoki_point {
	font-size: 2rem;
	font-weight: 200;
	letter-spacing: 5px;
	color: #91b222;
	padding-left: 2em;
	position: relative;
	margin: 90px auto 10px 0;
}

.contents .iinenoki_point::before {
	content: url(../img/mark_book.png);
	position: absolute;
	top: -5px;
	left: 0;
}

.contents .iinenoki_movie {
	width: 658px;
	margin: 0 auto;
}

.contents h3.iinenoki {
	margin: 140px 0 80px;
	text-align: center;
}

@media only screen and (max-width:768px){
	.contents .iinenoki_wrapper {
		width: 100%;
		margin: 12% auto 80px;
	}

	.contents .iinenoki_header {
		width: 100%;
		margin-bottom: 30px;
	}

	.contents .iinenoki_title {
		width: 100%;
		float: none;
	}

	.contents .iinenoki_title h2 {
		margin: 0 auto;
		width: 60%;
	}

	.contents .iinenoki_title .iinenoki_character {
		max-width: 201px;
		margin: 30px auto 0;
		text-align: center;
	}

	.contents .iinenoki_img {
		width: 80%;
		max-width: 350px;
		float: none;
		margin: 30px auto 0;
	}

	.contents .iinenoki_txt {
		line-height: 1.6;
	}

	.contents .iinenoki_point {
		font-size: 1.8rem;
		margin: 50px auto 10px 0;
	}

	.contents .iinenoki_movie {
		width: 100%;
		margin: 12% auto 0;
		padding-top: 56.25%;
		position: relative;
	}
	
	.contents .iinenoki_movie iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}

	.contents h3.iinenoki {
		width: 60%;
		margin: 80px auto 30px;
		text-align: center;
	}
}


/*
	service
*/

.contents .service_wrapper {
	width: 100%;
	overflow: hidden;
}

.contents .service_wrapper .service_txt {
	width: 540px;
	float: left;
}

.contents .service_wrapper .service_img {
	width: 361px;
	margin-top: 120px;
	float: right;
	text-align: right;
}

.contents h2.service {
	font-size: 5.2rem;
	color: #4cb0db;
	font-weight: 100;
	letter-spacing: 14px;
	margin-top: 120px;
}

.contents .service_description_title {
	margin-top: 45px;
	font-size: 1.8rem;
	line-height: 1.8;
	color: #4cb0db;
	letter-spacing: 3px;
}

.contents .sevice_description {
	margin-top: 25px;
	line-height: 1.9;
}

.contents .sevice_description p + p {
	margin-top: 30px;
}

.contents .service_img .comment_area {
	margin-top: 35px;
	position: relative;
}

.contents .service_img .comment_area .comment {
	display: table;
	width: 180px;
	height: 176px;
	text-align: center;
	position: absolute;
	top: 0;
	left: 5px;
}

.contents .service_img .comment_area .comment p {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	font-size: 1.5rem;
	line-height: 1.6;
	color: #4cb0db;
}

.contents h3.service {
	font-size: 1.7rem;
	font-weight: 300;
	color: #4cb0db;
	letter-spacing: 3px;
}

.contents .service_staff_list {
	width: 100%;
	margin: 30px auto 0;
	overflow: hidden;
}

.contents .service_staff_list li {
	width: 134px;
	height: 140px;
	float: left;
}

.contents .service_staff_list li + li {
	margin-left: 27px;
}

.contents .service_staff_list li img {
	width: 134px;
	height: 134px;
}

.contents .service_staff_list li a {
	display: block;
	position: relative;
}

.contents .service_staff_list li a p {
	min-width: 55%;
	padding: 0 5%;
	height: 21px;
	font-size: 1.2rem;
	line-height: 21px;
	background: #e19c24;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 78%;
	right: -8px;
	transform: rotate(-13.1deg);
	letter-spacing: 1px;
	text-indent: 1px;
}

.contents h3.office {
	font-size: 1.7rem;
	font-weight: 300;
	color: #4cb0db;
	padding-bottom: 20px;
	border-bottom: #4cb0db 1px solid;
	letter-spacing: 3px;
}

.contents .office_wrapper {
	width: 100%;
	margin: 100px auto 0;
	padding-bottom: 90px;
	border-bottom: #4cb0db 1px solid;
	overflow: hidden;
}

.contents .office_wrapper:last-child {
	margin-bottom: 185px;
}

.contents .office_wrapper h4 {
	font-size: 3.7rem;
	font-weight: 100;
	letter-spacing: 3px;
}

.contents .office_wrapper .office_txt {
	width: 440px;
	float: left;
	margin-top: 55px;
}

.contents .office_wrapper .office_txt .characteristic_title {
	font-size: 1.5rem;
	line-height: 1.8;
	color: #4cb0db;
	letter-spacing: 2px;
}

.contents .office_wrapper .office_txt .policy_title {
	font-size: 1.5rem;
	line-height: 1.8;
	color: #4cb0db;
	margin-top: 30px;
	letter-spacing: 2px;
}

.contents .office_wrapper .office_txt .characteristic_txt,
.contents .office_wrapper .office_txt .policy_txt {
	font-size: 1.4rem;
	line-height: 1.9;
}

.contents .office_wrapper .office_txt .headword {
	font-size: 1.3rem;
	color: #4cb0db;
	margin-top: 15px;
	letter-spacing: 2px;
}

.contents .office_wrapper .office_txt .headword.office_info,
.contents .office_wrapper .office_txt .headword.address {
	margin-top: 30px;
}

.contents .office_wrapper .office_txt .txt {
	font-size: 1.4rem;
	line-height: 1.9;
}

.contents .office_wrapper .office_txt .txt span {
	color: #4cb0db;
}

.contents .office_wrapper .office_txt .contact {
	font-size: 1.8rem;
	font-weight: 300;
	line-height: 1.9;
}

a.btn_office_list {
	display: block;
	width: 420px;
	height: 46px;
	line-height: 46px;
	background: #4cb0db;
	color: #fff;
	text-align: center;
	font-size: 1.9rem;
	border-radius: 4px;
	margin-top: 40px;
}

.contents .office_wrapper .office_img {
	width: 536px;
	float: right;
	margin-top: 55px;
}

.contents .office_wrapper .office_img .movie.pc {
	margin-bottom: 10px;
}

.contents .office_wrapper .office_img .img_wrapper {
	width: 100%;
	overflow: hidden;
}

.contents .office_wrapper .office_img .img_wrapper p:nth-child(odd) {
	width: 264px;
	float: left;
}

.contents .office_wrapper .office_img .img_wrapper p:nth-child(even) {
	width: 264px;
	float: right;
}

.contents .office_wrapper .office_img .map {
	margin-top: 10px;
}

@media only screen and (max-width:768px){
	.contents .service_wrapper .service_txt {
		width: 100%;
		float: none;
	}

	.contents .service_wrapper .service_img {
		width: 100%;
		margin-top: 12%;
		float: none;
		text-align: right;
	}

	.contents h2.service {
		font-size: 2.4rem;
		font-weight: 200;
		letter-spacing: 6px;
		margin-top: 8%;
	}

	.contents h2.service .img {
		width: 100px;
		margin-bottom: 10px;
	}

	.contents .service_description_title {
		margin-top: 10%;
		font-size: 1.6rem;
		line-height: 1.8;
		color: #4cb0db;
		letter-spacing: 2px;
	}

	.contents .sevice_description {
		margin-top: 3%;
		line-height: 1.9;
	}

	.contents .service_img .comment_area {
		width: 85%;
		height: 50vw;
		margin-top: 10%;
		margin-left: 15%;
		position: relative;
	}

	.contents .service_img .comment_area .comment {
		display: table;
		width: 51%;
		height: 76%;
		text-align: center;
		position: absolute;
		top: 0;
		left: 0;
	}

	.contents .service_img .comment_area .comment p {
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		font-size: 3.5vw;
		line-height: 1.6;
	}

	.contents h3.service {
		font-size: 1.5rem;
	}

	.contents .service_staff_list {
		width: 100%;
		max-width: 400px;
		margin: 5% auto 0 0;
		padding: 0 1%;
	}

	.contents .service_staff_list li {
		width: 45%;
		height: 45%;
		margin-right: 8%;
		margin-bottom: 8%;
	}

	.contents .service_staff_list li + li {
		margin-left: 0;
	}

	.contents .service_staff_list li img {
		width: 100%;
		height: auto;
	}

	.contents .service_staff_list li a p {
		min-width: 55%;
		padding: 0 2%;
		height: 20px;
		font-size: 1rem;
		line-height: 20px;
		top: 82%;
		right: -3px;
	}

	.contents .service_staff_list li:nth-child(3n) {
		margin-right: 8%;
	}

	.contents .service_staff_list li:nth-child(2n) {
		margin-right: 0;
	}

	.contents h3.office {
		font-size: 1.5rem;
	}

	.contents .office_wrapper {
		width: 100%;
		margin: 8% auto 0;
		padding-bottom: 10%;
		overflow: hidden;
	}

	.contents .office_wrapper:last-child {
		margin-bottom: 50px;
	}

	.contents .office_wrapper h4 {
		font-size: 1.6rem;
		line-height: 1.6;
		margin-bottom: 25px;
	}

	.contents .office_wrapper .office_img {
		width: 100%;
		float: none;
		margin-top: 4%;
	}

	.contents .office_wrapper .img_wrapper {
		width: 100%;
		overflow: hidden;
		margin-top: 0;
		font-size: 45px;
	}

	.contents .office_wrapper .img_wrapper p:nth-child(odd) {
		width: 100%;
		float: none;
		display: inline-block;
		max-width: 246px;
	}

	.contents .office_wrapper .office_img .img_wrapper p:nth-child(even) {
		width: 100%;
		float: none;
		display: inline-block;
		max-width: 246px;
	}

	.contents .office_wrapper .img_wrapper p {
		display: inline-block;
		max-width: 246px;
	}

	.contents .office_wrapper .img_wrapper p + p {
		margin-top: 2%;
	}

	.contents .office_wrapper .office_txt {
		width: 100%;
		float: none;
		margin-top: 8%;
	}

	.contents .office_wrapper .office_txt .characteristic_title {
		line-height: 1.6;
	}

	.contents .office_wrapper .office_txt .policy_title {
		line-height: 1.6;
	}

	.contents .office_wrapper .office_txt .characteristic_txt,
	.contents .office_wrapper .office_txt .policy_txt {
		line-height: 1.8;
	}

	.contents .office_wrapper .office_txt .headword {
		margin-top: 15px;
		margin-bottom: 3px;
	}

	.contents .office_wrapper .office_txt .txt {
		line-height: 1.8;
	}

	.contents .office_wrapper .office_txt .contact {
		line-height: 1.8;
	}

	a.btn_office_list {
		display: block;
		width: 90%;
		height: 46px;
		line-height: 46px;
		background: #4cb0db;
		color: #fff;
		text-align: center;
		font-size: 1.6rem;
		border-radius: 4px;
		margin: 5% auto 0;
	}

	.contents .office_wrapper .office_img .map {
		margin-top: 10%;
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
	}

	.contents .office_wrapper .office_img .map iframe,
	.contents .office_wrapper .office_img .map object,
	.contents .office_wrapper .office_img .map embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}


/*
	ourjob
*/

.contents h2.ourjob {
	text-align: center;
}

.contents .lead {
	text-align: center;
	font-size: 1.7rem;
	line-height: 1.9;
	margin-top: 35px;
	color: #e19c24;
}

.contents .staff_list {
	width: 854px;
	margin: 100px auto 0;
}

.contents .staff_list li {
	width: 231px;
	height: 231px;
	float: left;
	margin-right: 80px;
	margin-bottom: 65px;
}

.contents .staff_list li a {
	display: block;
	position: relative;
}

.contents .staff_list li a p {
	min-width: 55%;
	padding: 0 5%;
	height: 25px;
	font-size: 1.5rem;
	line-height: 25px;
	background: #e19c24;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 78%;
	right: -8px;
	transform: rotate(-13.1deg);
	letter-spacing: 1px;
	text-indent: 1px;
}

.contents .staff_list li:nth-child(3n) {
	margin-right: 0px;
}

.contents .comment_ourjob {
	text-align: right;
	padding-right: 14px;
	margin-bottom: 120px;
}

@media only screen and (max-width:768px){
	.contents h2.ourjob img {
		width: 50%;
	}

	.contents .lead {
		font-size: 1.4rem;
		margin-top: 8%;
	}

	.contents .staff_list {
		width: 100%;
		margin: 15% auto 0;
		padding: 0 1%;
	}

	.contents .staff_list li {
		width: 45%;
		height: 45%;
		margin-right: 8%;
		margin-bottom: 8%;
	}

	.contents .staff_list li a p {
		min-width: 55%;
		padding: 0 2%;
		height: 20px;
		font-size: 1rem;
		line-height: 20px;
		top: 82%;
		right: -3px;
	}

	.contents .staff_list li:nth-child(3n) {
		margin-right: 8%;
	}

	.contents .staff_list li:nth-child(2n) {
		margin-right: 0;
	}

	.contents .comment_ourjob {
		width: 90%;
		margin: 0 0 80px auto;
		padding-right: 0;
	}
}


/* staff */

.contents h2.staff {
	color: #e19c24;
	font-size: 4.7rem;
	font-weight: 100;
	position: relative;
	padding-left: 2.2em;
	letter-spacing: 14px;
}

.contents h2.staff::before {
	content: "";
	width: 71px;
	height: 80px;
	background: url(../img/ico_tanoshimasebito.png) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: -10px;
	left: 0;
}

.contents .staff_wrapper {
	width: 100%;
	margin: 100px auto 45px;
	overflow: hidden;
}

.contents .staff_wrapper .staff_contents {
	width: 480px;
	float: left;
}

.contents .staff_wrapper .staff_contents table th {
	color: #e19c24;
	font-size: 1.3rem;
	font-weight: 200;
	text-align: left;
}

.contents .staff_wrapper .staff_contents table td {
	color: #231815;
	text-align: left;
	line-height: 1.9;
	padding-bottom: 45px;
	position: relative;
}

.contents .staff_wrapper .staff_contents table td.last {
	padding-bottom: 0;
}

.contents .staff_wrapper .staff_contents table td p {
	font-size: 1.9rem;
}

.contents .staff_wrapper .staff_contents table td .ehon {
	position: absolute;
	right: 0;
	bottom: -10px;
}

.contents .staff_wrapper .staff_img {
	width: 420px;
	float: right;
}

.contents .staff_wrapper .staff_img p + p {
	margin-top: 10px;
}

.contents .staff_movie_wrapper {
	width: 100%;
	overflow: hidden;
	padding-bottom: 200px;
}

.contents .staff_movie_wrapper .movie {
	float: left;
	width: 658px;
}

.contents .staff_movie_wrapper .comment_area {
	float: right;
	width: 305px;
	height: 343px;
	margin-top: 40px;
	position: relative;
}

.contents .staff_movie_wrapper .comment_area .character {
	position: absolute;
	bottom: 0;
	right: 0;
}

.contents .staff_movie_wrapper .comment_area .comment {
	width: 215px;
	height: 189px;
	background: url(../img/movie_balloon.png) top left no-repeat;
	text-align: center;
	color: #e19c24;
	font-size: 1.5rem;
	line-height: 1.9;
	display: table;
}

.contents .staff_movie_wrapper .comment_area .comment p {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	color: #e19c24;
}

@media only screen and (max-width:768px){
	.contents h2.staff {
		font-size: 2.4rem;
		font-weight: 200;
		padding-left: 0;
		letter-spacing: 6px;
		text-indent: 6px;
		margin-top: 35%;
		text-align: center;
		line-height: 1.4;
	}

	.contents h2.staff::before {
		content: "";
		width: 90px;
		height: 90px;
		background: url(../img/ico_tanoshimasebito.png) top center no-repeat;
		background-size: contain;
		position: absolute;
		top: -100px;
		left: 0;
		right: 0;
		margin: auto;
	}

	.contents .staff_wrapper {
		width: 100%;
		margin: 10% auto;
	}

	.contents .staff_wrapper .staff_contents {
		width: 100%;
		float: none;
		margin-top: 8%;
	}

	.contents .staff_wrapper .staff_contents table td {
		padding-bottom: 10%;
	}

	.contents .staff_wrapper .staff_img {
		width: 100%;
		float: none;
	}

	.contents .staff_movie_wrapper {
		width: 100%;
		overflow: hidden;
		padding-bottom: 80px;
	}

	.contents .staff_movie_wrapper.service {
		width: 100%;
		overflow: hidden;
		padding-bottom: 2%;
	}

	.contents .staff_movie_wrapper .movie {
		float: none;
		width: 100%;
		padding-top: 56.25%;
		position: relative;
	}
	
	.contents .staff_movie_wrapper .movie iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}

	.contents .staff_movie_wrapper .comment_area {
		float: none;
		width: 85%;
		height: 90vw;
		margin-top: 10%;
		margin-left: 15%;
		position: relative;
	}

	.contents .staff_movie_wrapper .comment_area .character {
		width: 50%;
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.contents .staff_movie_wrapper .comment_area .comment {
		width: 70%;
		height: 54%;
		background: url(../img/movie_balloon.png) top left no-repeat;
		background-size: contain;
		text-align: center;
		color: #e19c24;
		font-size: 1.2rem;
		line-height: 1.6;
		display: table;
	}

	.contents .staff_movie_wrapper .comment_area .comment p {
		display: table-cell;
		text-align: center;
		vertical-align: middle;
	}
}


/* 
	message
*/

.contents .message_wrapper {
	width: 100%;
	overflow: hidden;
	margin: 73px auto 120px;
}

.contents .message_wrapper .img {
	width: 540px;
	float: right;
}

.contents .message_wrapper .message {
	width: 400px;
	float: left;
}

.contents .message_wrapper .message .message_txt {
	font-size: 1.5rem;
	line-height: 2.6;
	margin-top: -0.5em;
}

.contents .message_wrapper .message .name {
	font-size: 1.5rem;
	margin-top: 15px;
	text-align: right;
}

.contents .message_wrapper .message .name span {
	margin-right: 14px;
	font-size: 1.2rem;
}

@media only screen and (max-width:768px){
	h2.message {
		width: 70%;
		margin: 12% auto 0;
	}

	.contents .message_wrapper {
		width: 100%;
		overflow: hidden;
		margin: 10% auto 80px;
	}

	.contents .message_wrapper .img {
		width: 100%;
		float: none;
	}

	.contents .message_wrapper .message {
		width: 100%;
		float: none;
		margin-top: 8%;
	}

	.contents .message_wrapper .message .message_txt {
		font-size: 1.4rem;
		line-height: 2;
		margin-top: 0;
	}

	.contents .message_wrapper .message .name {
		font-size: 1.4rem;
		margin-top: 8%;
		text-align: right;
	}

	.contents .message_wrapper .message .name span {
		margin-right: 14px;
		font-size: 1.2rem;
	}
}


/*
	careerpth
*/

.contents h2.careerpath {
	text-align: center;
}

.contents .careerpath_box {
	width: 763px;
	margin: 135px auto 0;
	position: relative;
}

.contents .careerpath_box h3.careerpath {
	font-size: 1.8rem;
	font-weight: 200;
	color: #e19c24;
}

.contents .careerpath_box .careerpath_txt {
	font-size: 1.4rem;
	line-height: 1.9;
	margin-top: 10px;
}

.contents .careerpath_box .behavioral_assessment {
	margin-top: 40px;
}

.contents .careerpath_box + .careerpath_box {
	margin-top: 110px;
	padding-top: 205px;
}

.contents .careerpath_box .hosoccho {
	position: absolute;
	top: 0;
	right: 26px;
}

.contents .careerpath_box h4 {
	font-size: 1.5rem;
	font-weight: 200;
	width: 120px;
	height: 24px;
	line-height: 24px;
	background: #e19c24;
	color: #fff;
	text-align: center;
	border-radius: 3px;
	position: relative;
	margin-top: 30px;
}

.contents .careerpath_box h4::after {
	content: "";
	width: 0;
	height: 0;
	border: 8px solid transparent;
	border-bottom: #e19c24 8px solid;
	position: absolute;
	top: 16px;
	left: 16px;
	right: 0;
	margin: auto;
	transform: rotate(45deg);
}

.contents .careerpath_box .voice {
	margin: 25px auto 0;
	overflow: hidden;
	padding-top: 10px;
}

.contents .careerpath_box .voice > li {
	width: 180px;
	float: left;
	height: 100px;
	box-sizing: border-box;
	border: #e19c24 1px solid;
	border-radius: 5px;
	padding: 15px 10px;
	position: relative;
}

.contents .careerpath_box .voice > li p {
	font-size: 1.4rem;
	color: #e19c24;
	background: #fff;
	padding: 0 6px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
	transform: translateY(-50%);
}

.contents .careerpath_box .voice > li p {
	width: 110px;
}

.contents .careerpath_box .voice > li:nth-child(1) p {
	width: 68px;
}

.contents .careerpath_box .voice > li + li {
	margin-left: 14px;
}

.contents .careerpath_box .voice > li + li::before {
	content: "▲";
	font-size: 1.2rem;
	color: #e19c24;
	position: absolute;
	top: 42%;
	left: -16px;
	transform: rotate(-30deg);
}

.contents .careerpath_box .voice > li ul li {
	font-size: 1.1rem;
	line-height: 1.4;
	padding-left: 1em;
	text-indent: -1em;
}

.contents .careerpath_box .voice > li ul li::before {
	content: "・";
}

.contents .careerpath_box .voice > li ul li + li {
	margin-top: 5px;
}

.careerpath_wrapper {
	width: 833px;
	margin: 95px auto 60px;
	display: table;
	border-collapse: separate;
	border-spacing: 35px 60px;
}

.careerpath_wrapper div {
	display: table-row;
}

.careerpath_wrapper div p {
	display: table-cell;
	vertical-align: middle;
	font-size: 1.4rem;
	line-height: 1.9;
}

@media only screen and (max-width:768px){
	.contents h2.careerpath img {
		width: 50%;
	}

	.contents .careerpath_box {
		width: 100%;
		margin: 20% auto 0;
		position: relative;
	}

	.contents .careerpath_box h3.careerpath {
		font-size: 1.6rem;
		font-weight: 200;
		color: #e19c24;
	}

	.contents .careerpath_box .careerpath_txt {
		font-size: 1.2rem;
		line-height: 1.9;
		margin-top: 2%;
	}

	.contents .careerpath_box .behavioral_assessment {
		margin-top: 8%;
	}

	.contents .careerpath_box + .careerpath_box {
		margin-top: 30%;
		padding-top: 75%;
	}

	.contents .careerpath_box .hosoccho {
		position: absolute;
		top: 0;
		right: 0;
		width: 80%;
	}

	.contents .careerpath_box h4 {
		font-size: 1.5rem;
		font-weight: 200;
		width: 120px;
		height: 24px;
		line-height: 24px;
		background: #e19c24;
		color: #fff;
		text-align: center;
		border-radius: 3px;
		position: relative;
		margin-top: 30px;
	}

	.contents .careerpath_box h4::after {
		content: "";
		width: 0;
		height: 0;
		border: 8px solid transparent;
		border-bottom: #e19c24 8px solid;
		position: absolute;
		top: 16px;
		left: 16px;
		right: 0;
		margin: auto;
		transform: rotate(45deg);
	}

	.contents .careerpath_box .voice {
		margin: 25px auto 0;
		overflow: hidden;
		padding-top: 10px;
	}

	.contents .careerpath_box .voice > li {
		width: 100%;
		float: none;
		height: auto;
	}

	.contents .careerpath_box .voice > li + li {
		margin-left: 0;
		margin-top: 40px;
	}

	.contents .careerpath_box .voice > li + li::before {
		content: "▲";
		font-size: 1.2rem;
		color: #e19c24;
		position: absolute;
		top: -30px;
		text-align: center;
		left: 0;
		right: 0;
		margin: auto;
		transform: rotate(180deg);
	}

	.contents .careerpath_box .voice > li ul li {
		font-size: 1.2rem;
	}

	.careerpath_wrapper {
		width: 100%;
		margin: 30% auto 80px;
		display: block;
	}

	.careerpath_wrapper div {
		display: block;
		margin-top: 12%;
	}

	.careerpath_wrapper div p {
		display: block;
		font-size: 1.2rem;
		line-height: 1.9;
	}
}


/* 
	event
*/

.event_wrapper {
	width: 846px;
	margin: 70px auto 120px;
	overflow: hidden;
}

.event_wrapper h2.event {
	margin-top: 0;
}

.event_txt {
	font-size: 1.4rem;
	line-height: 1.9;
	margin-top: 20px;
}

.event_list_contents {
	width: 530px;
	float: left;
}

.event_list_contents .event_list {
	margin-top: 90px;
	background: url(../img/border_dot.png) top left repeat-x;
}

.event_list_contents .event_list li {
	background: url(../img/border_dot.png) bottom left repeat-x;
}

.event_list_contents .event_list li a {
	display: block;
	padding: 50px 0;
}

.event_list_contents .event_list li .date {
	font-size: 1.8rem;
}

.event_list_contents .event_list li .title {
	font-size: 2.1rem;
	margin-top: 20px;
	position: relative;
	padding-left: 1em;
}

.event_list_contents .event_list li .title span {
	color: #e19c24;
	border-bottom: #e19c24 1px solid;
}

.event_list_contents .event_list li .title::before {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-right: #e19c24 1px solid;
	border-bottom: #e19c24 1px solid;
	position: absolute;
	margin-top: -2px;
	top: 50%;
	left: 0;
	transform: rotate(-45deg);
}

.event_list_contents .event_list li .title::after {
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	border-right: #e19c24 1px solid;
	border-bottom: #e19c24 1px solid;
	position: absolute;
	margin-top: -2px;
	top: 50%;
	left: 5px;
	transform: rotate(-45deg);
}

.event_character {
	float: right;
	width: 267px;
}

a.btn_event_list {
	display: block;
	width: 440px;
	height: 48px;
	line-height: 48px;
	background: #e19c24;
	color: #fff;
	text-align: center;
	font-size: 2rem;
	border-radius: 4px;
	margin-top: 95px;
}

.btn_back + a.btn_event_list {
	margin-top: 50px;
}

.event_wrapper .btn_back {
	text-align: right;
}

h2 + .btn_back {
	margin-top: 80px;
}

.event_wrapper .btn_back a {
	color: #e19c24;
	font-size: 1.3rem;
	position: relative;
	padding-right: 1.8em;
}

.event_wrapper .btn_back a::before {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-left: #e19c24 2px solid;
	border-bottom: #e19c24 2px solid;
	position: absolute;
	margin-top: -5px;
	top: 50%;
	right: 0;
	transform: rotate(45deg);
}

.event_wrapper .btn_back a::after {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-left: #e19c24 2px solid;
	border-bottom: #e19c24 2px solid;
	position: absolute;
	margin-top: -5px;
	top: 50%;
	right: 7px;
	transform: rotate(45deg);
}

.event_wrapper .event_main {
	background-image: url(../img/border_dot.png), url(../img/border_dot.png);
	background-position: top left, bottom left;
	background-repeat: repeat-x, repeat-x;
	margin: 18px auto;
	padding: 40px 0 65px;
}

.event_wrapper .event_main h3 {
	font-size: 5rem;
	font-weight: 100;
	color: #e19c24;
	line-height: 1.2;
}

.event_wrapper .event_main .event_date {
	font-size: 2.2rem;
	margin-top: 20px;
}

.event_wrapper .event_main .event_contents {
	margin-top: 50px;
}

.event_wrapper .event_main .event_contents img {
	max-width: 100%;
	height: auto;
}

.event_wrapper .event_main .event_contents p {
	line-height: 1.9;
}

.event_wrapper .event_main .event_contents p + p{
	margin-top: 20px;
}

.event_wrapper .event_main .event_contents p img + img {
	margin-left: 10px;
}

@media only screen and (max-width:768px){
	.event_wrapper {
		width: 100%;
		margin: 12% auto 80px;
		overflow: hidden;
	}

	.event_wrapper h2.event {
		width: 50%;
		margin: 0 auto;
	}
	
	.event_txt {
		font-size: 1.4rem;
		line-height: 1.9;
		margin-top: 8%;
	}

	.event_list_contents {
		width: 100%;
		float: none;
	}

	.event_list_contents .event_list {
		margin-top: 10%;
	}

	.event_list_contents .event_list li a {
		padding: 8% 0;
	}

	.event_list_contents .event_list li .date {
		font-size: 1.4rem;
	}

	.event_list_contents .event_list li .title {
		font-size: 1.4rem;
		line-height: 1.6;
		margin-top: 3%;
		display: inline-block;
	}

	.event_character {
		width: 100%;
		float: none;
		text-align: right;
		margin-top: 15%;
		padding-right: 5%;
	}

	.event_character img {
		width: 70%;
	}

	a.btn_event_list {
		display: block;
		width: 90%;
		height: 48px;
		line-height: 48px;
		background: #e19c24;
		color: #fff;
		text-align: center;
		font-size: 1.6rem;
		border-radius: 4px;
		margin: 15% auto 0;
	}

	.btn_back + a.btn_event_list {
		margin-top: 10%;
	}

	h2 + .btn_back {
		margin-top: 8%;
	}

	.event_wrapper .event_main {
		background-position: top center, bottom center;
		margin: 3% auto;
		padding: 7% 0 10%;
	}

	.event_wrapper .event_main h3 {
		font-size: 2.1rem;
		font-weight: 200;
		line-height: 1.6;
	}

	.event_wrapper .event_main .event_date {
		font-size: 1.6rem;
		margin-top: 2%;
	}

	.event_wrapper .event_main .event_contents {
		margin-top: 8%;
	}

	.event_wrapper .event_main .event_contents p + p{
		margin-top: 5%;
	}

	.event_wrapper .event_main .event_contents p img + img {
		margin-left: 0;
		margin-top: 3%;
	}
}


/*
	outline
*/

.contents h2.outline {
	text-align: center;
}

.contents h2.outline + .lead {
	text-align: center;
	margin-top: 127px;
}

.contents h3.outline {
	color: #e19c24;
	font-size: 2.5rem;
	text-align: center;
	font-weight: 200;
	letter-spacing: 10px;
	text-indent: 10px;
	margin-top: 105px;
}

.contents .job_list {
	width: 1000px;
	margin: 60px auto 0;
	font-size: 0;
}

.contents .job_list .job_box {
	box-sizing: border-box;
	width: 325px;
	height: 325px;
	border: #e19c24 1px solid;
	border-radius: 46px;
	padding: 55px 30px 0;
	text-align: center;
	margin-left: 12px;
	margin-bottom: 12px;
	display: inline-block;
	vertical-align: top;
}

.contents .job_list .job_box.double {
	width: 662px;
	position: relative;
}

.contents .job_list .job_box.double .balloon01,
.contents .job_list .job_box.double .balloon02 {
	position: absolute;
	width: 228px;
}

.contents .job_list .job_box.double .balloon01 {
	top: -17px;
	right: 32px;
}

.contents .job_list .job_box.double .balloon02 {
	top: 63px;
	left: -20px;
}

.contents .job_list .job_box:nth-child(1),
.contents .job_list .job_box:nth-child(3),
.contents .job_list .job_box:nth-child(6) {
	margin-left: 0;
}

.contents .job_list .job_box .number {
	color: #e19c24;
	font-size: 7.7rem;
	font-weight: 100;
}

.contents .job_list .job_box .job_name {
	color: #e19c24;
	font-size: 3rem;
	letter-spacing: 5px;
	text-indent: 5px;
	margin-top: 28px;
}

.contents .job_list .job_box .description {
	font-size: 1.3rem;
	line-height: 1.6;
	margin-top: 15px;
}

.contents .outline_wrapper {
	width: 764px;
	margin: 175px auto 0;
}

.contents .outline_wrapper + .outline_wrapper {
	margin: 135px auto 0;
}

.contents .outline_wrapper h2 {
	font-size: 3.8rem;
	color: #e19c24;
	font-weight: 200;
	letter-spacing: 17px;
}

.contents .outline_wrapper .lead {
	font-size: 1.4rem;
	line-height: 1.6;
	text-align: left;
	margin-top: 10px;
}

.contents .outline_wrapper .lead a {
	color: #e19c24;
}

.contents .outline_wrapper table {
	width: 100%;
	border-top: #e19c24 1px solid;
	border-collapse: collapse;
	margin-top: 20px;
}

.contents .outline_wrapper table th {
	border-bottom: #e19c24 1px solid;
	color: #e19c24;
	font-weight: 200;
	vertical-align: middle;
	text-align: left;
	width: 190px;
}

.contents .outline_wrapper table th.space {
	letter-spacing: 1em;
}

.contents .outline_wrapper table td {
	border-bottom: #e19c24 1px solid;
	vertical-align: middle;
	padding: 25px 0;
	line-height: 1.6;
	position: relative;
}

.contents .outline_wrapper table td p {
	padding: 0 20px;
	height: 21px;
	font-size: 1.4rem;
	line-height: 21px;
	background: #e19c24;
	color: #fff;
	text-align: center;
	position: absolute;
	bottom: 41px;
	right: 18px;
	transform: rotate(-13.1deg);
}

.contents .outline_wrapper table td ul {
	font-size: 0;
}

.contents .outline_wrapper table td ul li {
	display: inline-block;
	width: 225px;
}

.contents .outline_wrapper table td ul li::before {
	content: "・";
	color: #e19c24;
}

.contents .outline_wrapper table td span::before {
	content: "・";
	color: #e19c24;
}

a.btn_outline {
	display: block;
	width: 440px;
	height: 48px;
	line-height: 48px;
	background: #e19c24;
	color: #fff;
	text-align: center;
	font-size: 2rem;
	border-radius: 4px;
	margin-top: 40px;
}

.contents table.outline_company {
	width: 764px;
	margin: 120px auto 0;
	border-collapse: collapse;
	border: #e19c24 1px solid;
}

.contents table.outline_company th {
	width: 28%;
	box-sizing: border-box;
	padding: 30px;
	color: #e19c24;
	border-right: #e19c24 1px solid;
	border-bottom: #e19c24 1px solid;
	font-weight: 200;
	text-align: left;
}

.contents table.outline_company td {
	box-sizing: border-box;
	padding: 30px;
	border-bottom: #e19c24 1px solid;
}

.contents .maizuru-koyou {
	width: 764px;
	margin: 60px auto 120px;
}

.contents .maizuru-koyou a {
	color: #e19c24;
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: #e19c24 1px solid;
	font-size: 1.6rem;
}


@media only screen and (max-width:768px){
	.contents h2.outline img {
		width: 50%;
	}

	.contents h2.outline + .lead {
		margin-top: 8%;
	}

	.contents h3.outline {
		font-size: 1.8rem;
		margin-top: 10%;
	}

	.contents .job_list {
		width: 100%;
		margin: 10% auto 0;
		font-size: 0;
	}

	.contents .job_list .job_box {
		box-sizing: border-box;
		width: 49%;
		height: auto;
		border: #e19c24 1px solid;
		border-radius: 24px;
		padding: 5% 2% 6%;
		text-align: center;
		margin-left: 2%;
		margin-bottom: 2%;
		display: inline-block;
		vertical-align: top;
	}

	.contents .job_list .job_box.double {
		width: 100%;
		position: relative;
		padding: 5% 2% 8%;
	}

	.contents .job_list .job_box.double .balloon01,
	.contents .job_list .job_box.double .balloon02 {
		position: absolute;
		width: 38%;
		max-width: 150px;
	}

	.contents .job_list .job_box.double .balloon01 {
		top: -17px;
		right: 7px;
	}

	.contents .job_list .job_box.double .balloon02 {
		top: 5px;
		left: -12px;
	}

	.contents .job_list .job_box:nth-child(1),
	.contents .job_list .job_box:nth-child(3),
	.contents .job_list .job_box:nth-child(6) {
		margin-left: 2%;
	}

	.contents .job_list .job_box:nth-child(1),
	.contents .job_list .job_box:nth-child(2),
	.contents .job_list .job_box:nth-child(4),
	.contents .job_list .job_box:nth-child(6),
	.contents .job_list .job_box:nth-child(8) {
		margin-left: 0;
	}

	.contents .job_list .job_box .number {
		color: #e19c24;
		font-size: 3rem;
		font-weight: 100;
	}

	.contents .job_list .job_box .job_name {
		color: #e19c24;
		font-size: 4.1vw;
		letter-spacing: 5px;
		text-indent: 5px;
		margin-top: 15px;
	}

	.contents .job_list .job_box .description {
		font-size: 3vw;
		line-height: 1.6;
		margin-top: 15px;
		text-align: left;
	}

	.contents .job_list .job_box.double .description {
		text-align: center;
	}

	.contents .outline_wrapper {
		width: 100%;
		margin: 15% auto 0;
	}

	.contents .outline_wrapper + .outline_wrapper {
		margin: 20% auto 0;
	}

	.contents .outline_wrapper h2 {
		font-size: 2.1rem;
		color: #e19c24;
		font-weight: 200;
		letter-spacing: 8px;
	}

	.contents .outline_wrapper .lead {
		font-size: 1.2rem;
		line-height: 1.6;
		text-align: left;
		margin-top: 10px;
	}

	.contents .outline_wrapper table {
		width: 100%;
		border-top: #e19c24 1px solid;
		border-collapse: collapse;
		margin-top: 20px;
	}

	.contents .outline_wrapper table th {
		border-bottom: 0;
		font-size: 1.4rem;
		width: 100%;
		padding: 15px 0 0;
		display: block;
	}

	.contents .outline_wrapper table td {
		border-bottom: #e19c24 1px solid;
		vertical-align: middle;
		padding: 10px 0 20px;
		font-size: 1.2rem;
		line-height: 1.6;
		position: relative;
		width: 100%;
		display: block;
	}

	.contents .outline_wrapper table td p {
		padding: 0 5px;
		height: 16px;
		font-size: 1rem;
		line-height: 16px;
		background: #e19c24;
		color: #fff;
		text-align: center;
		position: absolute;
		bottom: 12px;
		right: -5px;
		transform: rotate(-9deg);
	}

	.contents .outline_wrapper table td ul li {
		display: inline-block;
		width: 50%;
		font-size: 1.2rem;
	}

	.contents .outline_wrapper table td span {
		display: inline-block;
		position: relative;
		padding-left: 1em;
	}

	.contents .outline_wrapper table td span::before {
		position: absolute;
		left: 0;
	}

	.contents .outline_wrapper table td img {
		width: auto;
		max-width: 195px;
	}

	a.btn_outline {
		display: block;
		width: 90%;
		height: 48px;
		line-height: 48px;
		background: #e19c24;
		color: #fff;
		text-align: center;
		font-size: 1.6rem;
		border-radius: 4px;
		margin: 10% auto 0;
	}

	.contents table.outline_company {
		width: 100%;
		margin: 10% auto 0;
	}

	.contents table.outline_company th {
		width: 30%;
		box-sizing: border-box;
		padding: 5% 2%;
		font-size: 1.2rem;
		vertical-align: middle;
	}

	.contents table.outline_company td {
		padding: 5% 2%;
		font-size: 1.2rem;
		vertical-align: middle;
		line-height: 1.6;
	}

	.contents .maizuru-koyou {
		width: 100%;
		margin: 5% auto 80px;
	}

	.contents .maizuru-koyou a {
		font-size: 1.4rem;
	}
}


/* 
	contact
*/

h2.contact {
	text-align: center;
}

h2.tel {
	text-align: center;
	padding-top: 145px;
}

.contact_txt {
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.9;
	margin: 25px auto 0;
	width: 500px;
}

.contact_txt2 {
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.9;
	margin: 25px auto 0;
	width: 100%;
}

.contact_txt3 {
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.9;
	margin: 35px auto 120px;
	width: 100%;
}

div.tel {
	text-align: center;
	font-weight: 400;
	margin-top: 40px;
	color: #231815;
}

div.tel .tel_link {
	font-size: 2.9rem;
}

div.tel span:nth-child(1) {
	font-size: 2.1rem;
	vertical-align: 1px;
}

div.tel span:nth-child(2) {
	font-size: 1.8rem;
	vertical-align: 3px;
}

form#contact_form {
	width: 900px;
	border: #f0cd91 1px solid;
	border-radius: 7px;
	margin: 40px auto 0;
	padding: 40px 40px 5px;
	position: relative;
	box-sizing: border-box;
}

form#contact_form.confirm_form {
	margin-bottom: 190px;
}

form#contact_form p.required {
	font-size: 1rem;
	color: #e60012;
}

form#contact_form table {
	margin-top: 15px;
	width: 100%;
}

form#contact_form table th {
	font-size: 1.4rem;
	font-weight: normal;
	color: #e19c24;
	text-align: right;
	padding-top: 5px;
	padding-right: 15px;
	position: relative;
	vertical-align: top;
	width: 131px;
	box-sizing: border-box;
}

form#contact_form table th.required::after {
	content: '※';
	color: #e60012;
	font-size: 1.2rem;
	font-weight: bold;
	position: absolute;
	top: 6px;
	right: 0;
}

form#contact_form table.confirm {
	margin-top: 0;
}

form#contact_form table.confirm th,
form#contact_form table.confirm td {
	padding-top: 0;
	line-height: 1.8;
}

form#contact_form table td {
	font-size: 1.4rem;
	color: #231815;
	padding-bottom: 26px;
	padding-left: 20px;
	box-sizing: border-box;
	width: 700px;
}

form#contact_form table td.zip {
	color: #e19c24;
}

form#contact_form table.confirm td.zip {
	color: #231815;
}

*:focus {
	outline: none;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.submit_btn {
	text-align: center;
	position: absolute;
	bottom: -70px;
	left: 0;
	right: 0;
	margin: auto;
}

input[type="button"].btn_zip {
	background: #e19c24;
	color: #fff;
	font-size: 1.3rem;
	cursor: pointer;
	width: 106px;
	height: 27px;
	line-height: 27px;
	text-align: center;
	margin-left: 9px;
	display: inline-block;
	border-radius: 3px;
}

input[type="submit"] {
	background: #e19c24;
	color: #fff;
	width: 182px;
	height: 42px;
	font-size: 1.4rem;
	font-family : inherit;
	border-radius: 3px;
	display: inline-block;
}

input[type="submit"].send {
	letter-spacing: 6px;
	text-indent: 6px;
}

input[type="button"].back {
	background: #fff;
	color: #e19c24;
	width: 182px;
	height: 42px;
	font-size: 1.4rem;
	font-family : inherit;
	border: #e19c24 2px solid;
	border-radius: 3px;
	display: inline-block;
	margin-right: 13px;
}

input[type="text"], select, textarea {
	border: #eec783 1px solid;
	font-size: 1.3rem;
}

input[type="text"] {
	padding: 5px;
	width: 100%;
	box-sizing: border-box;
}

input[type="text"].zip1 {
	width: 50px;
}

input[type="text"].zip2 {
	width: 65px;
}

textarea {
	padding: 10px;
	font-family: sans-serif;
	width: 100%;
	height: 190px;
	box-sizing: border-box;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 2px 56px 2px 9px;
	border: #eec783 1px solid;
	background: url(../img/select_arrow.png) 99% 50% no-repeat;
	background-size: 25px, 100%;
	box-sizing: border-box;
}

select[name="archive-dropdown"] {
	border: #91b322 1px solid;
	background: url(../img/select_arrow2.png) 99% 50% no-repeat;
}

select::-ms-expand {
	display: none;
}

label.radio {
	margin: 5px 40px 0 0;
}

label.error {
	display: block;
	color: #e60012;
	font-weight: bold;
	margin-top: 10px;
}

input[type="text"].error,
textarea.error {
	background: #fae2da;
}

::-webkit-input-placeholder {
	color: #b5b5b6;
}

:-ms-input-placeholder {
	color: #b5b5b6;
}

::-moz-placeholder {
	color: #b5b5b6;
	opacity: 1;
}

.contact_thanks {
	text-align: center;
	margin-top: 100px;
}

@media only screen and (max-width:768px){
	h2.contact {
		width: 60%;
		margin: 12% auto 0;
	}

	h2.tel {
		width: 90%;
		margin: -20% auto 0;
		padding-top: 0;
	}

	h2.contact.thanks {
		width: 40%;
	}

	.contact_txt {
		font-size: 1.4rem;
		margin: 5% auto 0;
		width: 100%;
	}

	.contact_txt2 {
		margin: 5% auto 0;
	}

	.contact_txt3 {
		margin: 8% auto 80px;
	}

	div.tel {
		margin-top: 10%;
	}

	div.tel a {
		display: inline-block;
		border-bottom: #231815 1px solid;
	}

	form#contact_form {
		width: 100%;
		border: #f0cd91 1px solid;
		border-radius: 7px;
		margin: 8% auto 75%;
		padding: 5% 3% 1%;
		position: relative;
	}

	form#contact_form table {
		margin-top: 5%;
	}

	form#contact_form table th {
		display: inline-block;
		font-size: 1.6rem;
		text-align: left;
		padding-right: 15px;
		position: relative;
		vertical-align: top;
		padding-bottom: 2%;
		width: auto;
		box-sizing: border-box;
	}

	form#contact_form table th.required::after {
		font-size: 1.2rem;
		top: 5px;
		right: 0;
	}

	form#contact_form table.confirm th {
		font-size: 1.4rem;
		padding-right: 0;
		padding-bottom: 0;
	}

	form#contact_form table td {
		display: block;
		font-size: 1.4rem;
		padding-bottom: 5%;
		padding-left: 0;
		box-sizing: border-box;
		width: 100%;
	}

	form#contact_form table.confirm td {
		font-size: 1.6rem;
	}

	textarea {
		padding: 5px;
	}

	select {
		background-size: 30px, 100%;
	}

	input[type="text"], textarea, select {
		-webkit-border-radius: 0;
		-webkit-appearance: none;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		font-size: 1.6rem;
	}

	input[type="submit"].confirm {
		width: 60%;
	}

	input[type="submit"].send {
		width: 60%;
	}

	input[type="button"].back {
		width: 60%;
		margin-right: 0;
		margin-bottom: 3%;
	}

	label.radio {
		margin: 5px 0 0 0;
		display: block;
	}

	.submit_btn.confirm {
		bottom: -110px;
	}

	.contact_thanks {
		width: 100%;
		margin-top: 25%;
	}
}


/* uninitiate */

h2.uninitiate {
	text-align: center;
	position: relative;
	margin-top: 225px;
	padding-top: 92px;
}

h2.uninitiate::before {
	content: "";
	width: 148px;
	height: 147px;
	background: url(../img/ico_uninitiate.png) top center no-repeat;
	background-size: contain;
	position: absolute;
	top: -100px;
	left: 0;
	right: 0;
	margin: auto;
}

.uninitiate_character {
	width: 753px;
	margin: 145px auto 0;
}

.uninitiate_character .character_wrapper {
	font-size: 0;
}

.uninitiate_character .character_wrapper > p, 
.uninitiate_character .character_wrapper > div {
	display: inline-block;
	vertical-align: top;
}

.uninitiate_character .character_wrapper .character_contents {
	position: relative;
	text-align: center;
}

.uninitiate_character .character_wrapper .txt_contents {
	position: absolute;
}

.uninitiate_character .character_wrapper .character_txt {
	font-size: 1.4rem;
	line-height: 1.9;
	text-align: center;
}

.uninitiate_character .character_wrapper .character_txt + .character_txt {
	margin-top: 25px;
}

.uninitiate_character .character_wrapper.meganekko {
	margin-left: 104px;
}

.uninitiate_character .character_wrapper.futoccho {
	margin-left: 50px;
}

.uninitiate_character .character_wrapper.hosoccho {
	margin-left: 50px;
}

.uninitiate_character .character_wrapper + .character_wrapper {
	margin-top: 95px;
}

.uninitiate_character .img_meganekko {
	margin-top: 0;
}

.uninitiate_character .txt_meganekko {
	top: 74px;
	left: 96px;
}

.uninitiate_character .img_futoccho {
	margin-top: 54px;
}

.uninitiate_character .txt_futoccho {
	top: 83px;
	right: 84px;
}

.uninitiate_character .img_hosoccho {
	margin-top: 0;
}

.uninitiate_character .txt_hosoccho {
	top: 126px;
	left: 113px;
}

@media only screen and (max-width:768px){
	h2.uninitiate {
		width: 95%;
		position: relative;
		margin: 31% auto 0;
		padding-top: 3%;
	}

	h2.uninitiate::before {
		content: "";
		width: 80px;
		height: 80px;
		background: url(../img/ico_uninitiate.png) 0 0 no-repeat;
		background-size: contain;
		position: absolute;
		top: -85px;
		left: 0;
		right: 0;
		margin: auto;
	}

	.uninitiate_character  {
		width: 100%;
		margin: 18% auto 15%;
	}

	.uninitiate_character .character_contents .balloon {
		display: none;
	}

	.uninitiate_character .character_contents {
		width: 65%;
	}

	.uninitiate_character .character_wrapper {
		text-align: center;
	}

	.uninitiate_character .character_wrapper .character_txt {
		width: 100%;
		font-size: 3.2vw;
		line-height: 1.9;
		text-align: center;
		margin: 4% auto 0;
	}

	.uninitiate_character .character_wrapper .txt_contents {
		position: static;
	}


	.uninitiate_character .character_wrapper .character_txt + .character_txt {
		margin-top: 2em;
	}

	.uninitiate_character .character_wrapper.meganekko {
		margin-left: 0;
	}

	.uninitiate_character .character_wrapper.futoccho {
		margin-left: 0;
	}

	.uninitiate_character .character_wrapper.hosoccho {
		margin-left: 0;
	}

	.uninitiate_character .character_wrapper.meganekko .character_contents {
		width: 50%;
	}

	.uninitiate_character .character_wrapper.hosoccho .character_contents {
		width: 54%;
	}

	.uninitiate_character .character_wrapper + .character_wrapper {
		margin-top: 15%;
	}

	.uninitiate_character .img_meganekko {
		margin-top: 0;
		width: 36%
	}

	.uninitiate_character .txt_meganekko {
		margin: 24% 0 0 0;
		top: 0;
		left: 0;
	}

	.uninitiate_character .img_futoccho {
		margin-top: 3%;
		width: 33%;
	}

	.uninitiate_character .txt_futoccho {
		top: 0;
		right: 0;
	}

	.uninitiate_character .img_hosoccho {
		margin-top: 0;
		width: 46%;
	}

	.uninitiate_character .txt_hosoccho {
		margin: 18% 0 0 0;
		top: 0;
		left: 0;
	}
}


/*
	ehon
*/

body.ehon {
	background: none;
}

h2.ehon {
	text-align: center;
}

.ehon_lead {
	text-align: center;
	font-size: 1.4rem;
	line-height: 2.6;
	margin-top: 40px;
}

.ehon_character {
	width: 712px;
	margin: 70px auto 90px;
}

.ehon_character .character_wrapper {
	font-size: 0;
}

.ehon_character .character_wrapper > p, 
.ehon_character .character_wrapper > div {
	display: inline-block;
	vertical-align: top;
}

.ehon_character .character_wrapper .character_contents {
	position: relative;
	text-align: center;
}

.ehon_character .character_wrapper .txt_contents {
	position: absolute;
}

.ehon_character .character_wrapper .character_txt {
	width: 290px;
	font-size: 1.4rem;
	line-height: 1.9;
	text-align: left;
	margin: 25px auto 0;
}

.ehon_character .character_wrapper.futoccho {
	margin-left: 55px;
}

.ehon_character .character_wrapper + .character_wrapper {
	margin-top: 50px;
}

.ehon_character .img_hosoccho {
	margin-top: 60px;
}

.ehon_character .txt_hosoccho {
	top: 60px;
	left: 96px;
}

.ehon_character .img_futoccho {
	margin-top: 30px;
}

.ehon_character .txt_futoccho {
	top: 60px;
	right: 86px;
}

.ehon_character .img_meganekko {
	margin-top: 45px;
}

.ehon_character .txt_meganekko {
	top: 60px;
	left: 100px;
}

@media only screen and (max-width:768px){
	h2.ehon {
		width: 90%;
		margin: 12% auto 0;
	}

	.ehon_lead {
		font-size: 3.7vw;
		line-height: 2;
		margin-top: 5%;
	}

	.ehon_character {
		width: 100%;
		margin: 18% auto 15%;
	}

	.ehon_character .character_contents .balloon {
		display: none;
	}

	.ehon_character .character_contents {
		width: 70%;
		padding: 0 2%;
	}

	.ehon_character .character_wrapper .character_txt {
		width: 100%;
		font-size: 3.2vw;
		line-height: 1.9;
		text-align: left;
		margin: 4% auto 0;
	}

	.ehon_character .character_wrapper .txt_contents {
		position: static;
	}

	.ehon_character .character_wrapper .character_title {
		width: 50%;
		margin: 0 auto;
	}

	.ehon_character .character_wrapper.futoccho {
		margin-left: 0;
	}

	.ehon_character .character_wrapper + .character_wrapper {
		margin-top: 10%;
	}

	.ehon_character .img_hosoccho {
		width: 30%;
		margin-top: 6%;
	}

	.ehon_character .txt_hosoccho {
		top: 0;
		left: 0;
	}

	.ehon_character .img_futoccho {
		width: 30%;
		margin-top: 3%;
	}

	.ehon_character .txt_futoccho {
		top: 0;
		right: 0;
	}

	.ehon_character .img_meganekko {
		width: 30%;
		margin-top: 7%;
	}

	.ehon_character .txt_meganekko {
		top: 0;
		left: 0;
	}
}


/*
	movie
*/

body.movie {
	background: #000 none;
	padding: 0;
}

h2.movie {
	text-align: center;
	margin: 100px auto 0;
}

.movie_list {
	width: 1000px;
	margin: 60px auto 0;
	font-size: 0;
}

a.youtube {
	display: inline-block;
	width: 250px;
	height: 250px;
	position: relative;
}

a.youtube img {
	position: absolute;
	top: 0;
	left: 0;
}

body.movie .pagetop {
	text-align: center;
	margin: 80px auto 170px;
}


@media only screen and (max-width:768px){
	h2.movie {
		margin: 12% auto 0;
		width: 60%;
		max-width: 282px;
	}

	.movie_list {
		width: 100%;
		max-width: 600px;
		margin: 30px auto 0;
		font-size: 0;
	}

	a.youtube {
		width: 25%;
		height: auto;
	}

	body.movie .pagetop {
		text-align: center;
		margin: 50px auto 80px;
		width: 15%;
	}
}


/* 
	post
*/

h2.post {
	font-size: 3.7rem;
	font-weight: 100;
	line-height: 1.2;
	color: #91b322;
	letter-spacing: 6px;
}

h2.post p {
	margin-bottom: 100px;
}

.contents .post_wrapper {
	width: 750px;
	float: left;
}

.contents .post_info {
	margin: 20px auto 0;
	text-align: right;
}

.contents .post_info p {
	display: inline-block;
	letter-spacing: 1px;
}

.contents .post_info p + p {
	margin-left: 15px;
}

.contents .post_info p i {
	margin-right: 3px;
	color: #91b322;
}

.contents .post_content {
	width: 100%;
	margin: 60px auto 0;
}

.contents .post_content img {
	max-width: 750px;
	height: auto;
}

.contents .post_content p {
	font-size: 1.6rem;
	line-height: 1.9;
}

.contents .post_content p + p {
	margin-top: 20px;
}

.contents .paging {
	width: 100%;
	margin: 50px auto 100px;
	padding: 30px 0;
	border-top: #91b322 1px solid;
	overflow: hidden;
}

.contents .paging .next {
	width: 48%;
	float: left;
	box-sizing: border-box;
}

.contents .paging .prev {
	width: 48%;
	float: right;
	box-sizing: border-box;
	text-align: right;
}

.contents .paging a {
	font-size: 1.5rem;
	position: relative;
}

.contents .paging .next a {
	padding-left: 1.5em;
}

.contents .paging .next a::before {
	position: absolute;
	top: 4px;
	left: 10px;
	content: "";
	width: 12px;
	height: 12px;
	border-left: #91b322 1px solid;
	border-bottom: #91b322 1px solid;
	transform: rotate(45deg);
}

.contents .paging .prev a {
	padding-right: 1.5em;
}

.contents .paging .prev a::after {
	position: absolute;
	top: 4px;
	right: 10px;
	content: "";
	width: 12px;
	height: 12px;
	border-right: #91b322 1px solid;
	border-top: #91b322 1px solid;
	transform: rotate(45deg);
}

@media only screen and (max-width:768px){
	h2.post {
		font-size: 2.1rem;
		letter-spacing: 2px;
		font-weight: 200;
	}

	h2.post p {
		margin-bottom: 40px;
		width: 250px;
	}

	.contents .post_wrapper {
		width: 100%;
		float: none;
	}

	.contents .post_info p {
		margin-top: 5px;
		font-size: 1.2rem;
	}

	.contents .post_info p a {
		font-size: 1.2rem;
	}
	
	.contents .post_content {
		width: 100%;
		margin: 40px auto 0;
	}
	
	.contents .post_content img {
		width: auto;
		max-width: 100%;
	}

	.contents .post_content p {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.contents .post_content p + p {
		margin-top: 20px;
	}

	.contents .paging {
		width: 100%;
		margin: 30px auto 60px;
		padding: 0;
		border-top: #91b322 1px solid;
		overflow: hidden;
	}

	.contents .paging p {
		color: #91b322;
		margin-bottom: 5px;
	}

	.contents .paging .next {
		width: 100%;
		float: none;
		padding: 20px 0 0;
	}

	.contents .paging .prev {
		width: 100%;
		float: none;
		padding: 20px 0 0;
		text-align: left;
	}

	.contents .paging a {
		font-size: 1.6rem;
		position: relative;
		line-height: 1.4;
	}

	.contents .paging .next a {
		padding-left: 0;
	}

	.contents .paging .next a::before {
		display: none;
	}

	.contents .paging .prev a {
		padding-right: 0;
	}

	.contents .paging .prev a::after {
		display: none;
	}
}


/* 
	archive
*/

.contents .archive_wrapper {
	width: 750px;
	float: left;
}

h2.archive {
	font-size: 3.7rem;
	font-weight: 100;
	line-height: 1.2;
	color: #91b322;
	letter-spacing: 6px;
}

h2.archive p {
	margin-bottom: 100px;
}

.contents div.archive {
	width: 100%;
	margin: 90px auto 0;
	border-top: #91b322 1px solid;
	padding-bottom: 50px;
}

.contents .post_box {
	padding: 25px 0;
	border-bottom: #91b322 1px solid;
}

.contents .post_box .date {
	font-size: 1.7rem;
	letter-spacing: 1px;
}

.contents .post_box .date i {
	margin-right: 3px;
	color: #91b322;
	letter-spacing: 1px;
}

.contents .post_box h3 a {
	display: inline-block;
	font-size: 2.3rem;
	font-weight: 100;
	line-height: 1.2;
	color: #91b322;
	margin-top: 10px;
}

.contents .post_box .post_content {
	width: 100%;
	margin: 15px auto 0;
	font-size: 1.5rem;
	line-height: 1.9;
}

.contents .post_box .post_content a {
	display: block;
	width: 104px;
	font-size: 1.5rem;
	position: relative;
	padding-left: 1.5em;
	margin-top: 5px;
	margin-left: auto;
}

.contents .post_box .post_content a::before {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-right: #91b322 2px solid;
	border-top: #91b322 2px solid;
	position: absolute;
	margin-top: -3px;
	top: 50%;
	left: 0;
	transform: rotate(45deg);
}

.contents .post_box .post_content a::after {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	border-right: #91b322 2px solid;
	border-top: #91b322 2px solid;
	position: absolute;
	margin-top: -3px;
	top: 50%;
	left: 7px;
	transform: rotate(45deg);
}

.contents .archive .pagenation {
	width: 100%;
	text-align: center;
	margin: 30px auto 0;
}

.contents .archive .page-numbers {
	display: inline-block;
	width: 30px;
	padding: 10px 0;
	text-align: center;
	border: #91b322 1px solid;
	color: #91b322;
}

.contents .archive .page-numbers + .page-numbers {
	margin-left: 5px;
}

.contents .archive .pagenation .prev,
.contents .archive .pagenation .next {
	width: 55px;
}

.contents .archive .pagenation .dots {
	border: none;
	width: 20px;
}

.contents .archive .pagenation .current {
	background: #91b322;
	color: #fff;
}

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

	.contents .archive_wrapper {
		width: 100%;
		float: none;
	}

	h2.archive {
		font-size: 2.1rem;
		font-weight: 200;
		letter-spacing: 2px;
	}

	h2.archive p {
		margin-bottom: 40px;
		width: 250px;
	}

	.contents div.archive {
		width: 100%;
		margin: 40px auto 0;
		border-top: #91b322 1px solid;
		padding-bottom: 40px;
	}

	.contents .post_box {
		padding: 15px 0;
	}

	.contents .post_box .date {
		font-size: 1.6rem;
		letter-spacing: 1px;
	}

	.contents .post_box h3 a {
		font-size: 1.8rem;
		font-weight: 200;
		line-height: 1.2;
	}

	.contents .post_box .post_content {
		width: 100%;
		margin: 15px auto 0;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.contents .post_box .post_content a {
		width: 91px;
		font-size: 1.4rem;
		padding-left: 1.5em;
	}

	.contents .archive .page-numbers {
		margin-bottom: 8px;
	}
}


/* 
	side
*/

#side_wrapper {
	width: 200px;
	float: right;
	padding-top: 90px;
}

.side_contents {
	width: 200px;
}

#side_wrapper .side_title {
	font-size: 1.6rem;
	color: #91b222;
	border-bottom: #91b222 1px solid;
	padding: 0 6px 8px;
}

#side_wrapper .side_box li {
	margin-top: 12px;
	padding-left: 6px;
}

#side_wrapper .side_box select {
	margin-top: 10px;
	margin-left: 6px;
}

#side_wrapper .side_box + .side_box {
	margin-top: 50px;
}

@media only screen and (max-width:768px){
	#side_wrapper {
		width: 100%;
		float: none;
		padding-top: 30px;
		padding-bottom: 80px;
	}

	.side_contents {
		width: 100%;
	}

	#side_wrapper .side_box li {
		margin-top: 0;
		padding: 15px 6px;
		border-bottom: #ccc 1px solid;
	}
}


/* 
	navi
*/

#navi {
	width: 770px;
	padding: 35px 0;
	position: relative;
}

#navi #btn_close {
	position: absolute;
	top: 15px;
	right: 10px;
}

#navi .navi_title {
	text-align: center;
}

#navi .navi_table {
	width: 645px;
	margin: 30px auto 30px 45px;
	box-sizing: border-box;
	border-collapse: collapse;
}

#navi .navi_table th,
#navi .navi_table td {
	vertical-align: middle;
	padding: 12px 20px;
	box-sizing: border-box;
}

#navi .navi_table th {
	background: #91b222;
	border-radius: 10px 0 0 10px / 10px 0 0 10px;
	-webkit-border-radius: 10px 0 0 10px / 10px 0 0 10px;
	-moz-border-radius: 10px 0 0 10px / 10px 0 0 10px;
	text-align: left;
	border-right: #fff 8px solid;
}

#navi .navi_table th a {
	font-size: 1.6rem;
	font-weight: 200;
	color: #fff;
}

#navi .navi_table td {
	background: #e1e1e1;
	border-radius: 0 10px 10px 0 / 0 10px 10px 0;
	-webkit-border-radius: 0 10px 10px 0 / 0 10px 10px 0;
	-moz-border-radius: 0 10px 10px 0 / 0 10px 10px 0;
	border-left: #fff 6px solid;
}

#navi .navi_table td a {
	font-size: 1.4rem;
}

#navi .navi_table td.no {
	background: #fff;
	width: 20px;
	text-align: center;
	padding: 0 10px 0 0;
}


#navi .navi_table tr.border {
	font-size: 0;
	background: #fff;
	border: 0;
}

#navi .navi_table td.border {
	background: #fff;
	padding: 0;
	display: inline-block;
	height: 6px;
	border: 0;
}

#navi .navi_table tr.border td.border.col2 {
	height: 16px;
}

@media only screen and (max-width:768px){
	#navi {
		width: 100%;
		padding: 35px 0 10px;
		position: relative;
	}

	#navi #btn_close {
		position: absolute;
		display: block;
		width: 16px;
		top: 10px;
		right: 6px;
	}

	#navi .navi_title {
		text-align: left;
		margin: 0 0 0 auto;
		width: 90%;
	}

	#navi .navi_table {
		width: 100%;
		margin: 30px auto 10px 0;
	}

	#navi .navi_table th,
	#navi .navi_table td {
		padding: 12px 6px;
	}

	#navi .navi_table th {
		border-radius: 6px 0 0 6px / 6px 0 0 6px;
		-webkit-border-radius: 6px 0 0 6px / 6px 0 0 6px;
		-moz-border-radius: 6px 0 0 6px / 6px 0 0 6px;
	}

	#navi .navi_table th a {
		font-size: 1.2rem;
	}

	#navi .navi_table td {
		border-radius: 0 6px 6px 0 / 0 6px 6px 0;
		-webkit-border-radius: 0 6px 6px 0 / 0 6px 6px 0;
		-moz-border-radius: 0 6px 6px 0 / 0 6px 6px 0;
		border-left: #fff 2px solid;
	}

	#navi .navi_table td a {
		font-size: 1.2rem;
	}

	#navi .navi_table td.no {
		width: 15px;
		padding: 0 8px 0 0;
	}

	#navi .navi_table td.no img {
		width: auto;
	}

	#navi .navi_table td.border {
		height: 2px;
	}

	#navi .navi_table tr.border td.border.col2 {
		height: 4px;
	}
}


/* 
	footer
*/

footer {
	width: 1000px;
	margin: 0 auto;
	padding-bottom: 45px;
	font-size: 1.4rem;
	color: #91b322;
}

footer .pagetop {
	text-align: center;
	margin: 30px auto 0;
}

footer .footer_contents {
	width: 100%;
	margin: 350px auto 0;
	overflow: hidden;
}

footer .footer_contents #fnav {
	float: left;
	font-size: 0;
}

footer .footer_contents #fnav li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 38px;
}

footer .footer_contents .copyright {
	float: right;
	color: #91b322;
}

footer.recruit {
	margin: 350px auto 0;
	padding-bottom: 48px;
	text-align: right;
}

@media only screen and (max-width:768px){
	footer {
		width: 94%;
		margin: 0 auto;
		padding-bottom: 6%;
		font-size: 1.2rem;
	}

	footer .pagetop {
		width: 15%;
	}

	footer .footer_contents {
		width: 100%;
		margin: 30vw auto 0;
		overflow: hidden;
		text-align: center;
	}

	footer .footer_contents #fnav {
		float: none;
		font-size: 0;
	}

	footer .footer_contents #fnav li {
		display: inline-block;
		vertical-align: middle;
		margin-right: 0;
		padding: 0 20px 7px;
	}

	footer .footer_contents .copyright {
		float: none;
		color: #91b322;
		padding: 10px 0 5px;
		text-align: center;
	}

	footer.recruit {
		width: 94%;
		margin: 50vw auto 0;
		padding-bottom: 6%;
		font-size: 1.2rem;
	}
}
