@charset "UTF-8";
/*base
----------------------------------------*/
#contents {
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	overflow: hidden;
}
#contents > section {
	width: 100%;
}
#contents > .ttl_page.sub + section {
	width: calc(100% - 282px);
}
.ttl_page.sub + section > .txt_type {
	text-align: center;
	color: #333;
	letter-spacing: 2.8px;
	padding-left: 3.5px;
}
@media only screen and (max-width: 1280px) {
	#contents > .ttl_page.sub + section {
		width:  calc(100% - 21.562% - 6px);
	}
}
@media only screen and (max-width: 736px) {
	#contents {
		display: block;
	}
	#contents > .ttl_page.sub + section {
		width: 100%;
	}
	.ttl_page.sub + section > .txt_type {
		letter-spacing: 1.4px;
		padding-left: 0;
	}
}

/*title
----------------------------------------*/
.ttl_page {
	width: 100%;
	height: 400px;
	overflow: hidden;
	margin-bottom: 64px;
}
.ttl_page.sub,
.ttl_page.contact {
	height: 276px;
	margin-bottom: 0;
}
.ttl_page.contact {
	margin-bottom: 50px;
}
.ttl_page > img {
	min-width: 100%;
	min-height: 100%;
	max-width: none;
	width: auto;
	height: auto;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.ttl_page h1 {
	position: absolute;
	left: 21px;
	right: 0;
	top: 50%;
	text-align: center;
	color: #fff;
	font-size: 5rem;
	font-weight: 300;
	letter-spacing: 0.1em;
	-webkit-transform: translate(0, -46%);
	transform: translate(0, -46%);
}
.ttl_page h1 img {
	display: block;
	margin: 15px auto 5px;
	position: relative;
	left: -8px;
}
.ttl_page h1 span {
	display: block;
	font-size: 1.8rem;
	letter-spacing: 0;
	padding-right: 21px;
	margin-bottom: 8px;
	letter-spacing: 1px;
}
.ttl_page.sub h1,
.ttl_page.contact h1 {
	font-size: 3.2rem;
	-webkit-transform: translate(0, -52%);
	transform: translate(0, -52%);
	left: 14px;
	letter-spacing: 0.1em;
}
.ttl_page.sub h1 span {
	padding-right: 14px;
}
.ttl_h2 {
	text-align: center;
	color: #333;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.03em;
	padding-left: 10px;
	margin-bottom: 15px;
}
.ttl_h2_sub {
	text-align: center;
	color: #333;
	font-weight: 500;
	line-height: 1.6;
	font-size: 2.2rem;
	padding-left: 3px;
	letter-spacing: 0.03em;
	margin-bottom: 12px;
}
.ttl_page.sub + section .ttl_h2_sub {
	padding-top: 64px;
}
.ttl_h2_learning {
	max-width: 880px;
	width: 88%;
	letter-spacing: 3.2px;
	padding-bottom: 14px;
	margin: 69px auto 20px;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 500;
	color: #333;
	border-bottom: solid 1px #333;
}
.ttl_h2_learning span {
	font-size: 1.9rem;
	display: block;
}
.ttl_h2_about,
.ttl_h2_event {
	max-width: 1128px;
	width: 88.125%;
	letter-spacing: 0.08em;
	padding-bottom: 30px;
	margin: 0 auto 34px;
	text-align: center;
	font-size: 2.7rem;
	font-weight: normal;
	color: #333;
}
.construction_block .ttl_h2_about {
	border-bottom: solid 1px #333;
}
.ttl_h3 {
	background: #e0e0e0;
	text-align: center;
	margin-top: 79px;
	color: #333;
	font-size: 2.7rem;
	font-weight: normal;
	padding: 42px 20px 44px 25px;
	letter-spacing: 5.5px;
}
.ttl_h3_sub {
	text-align: center;
	border-bottom: solid 1px #333;
	color: #333;
	font-size: 1.9rem;
	font-weight: 500;
	margin: 0 0 20px;
	letter-spacing: 2px;
	padding-bottom: 16px;
}
.ttl_h3_sub img {
	display: block;
	margin: 0 auto 12px;
}
.ttl_h3_learning {
	max-width: 880px;
	width: 88%;
	letter-spacing: 3.2px;
	padding-bottom: 14px;
	margin: 69px auto 20px;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	color: #333;
	border-bottom: solid 1px #333;
}
.ttl_h3_about {
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 4.5px;
	margin-bottom: 10px;
}
.ttl_h3_about span {
	font-size: 1.7rem;
	letter-spacing: 2px;
}
.ttl_h4 {
	background: #e0e0e0;
	text-align: center;
	color: #333;
	font-size: 2.1rem;
	font-weight: normal;
	padding: 45px 20px 18px 23px;
	letter-spacing: 4px;
}
.ttl_h4_sub {
	color: #333;
	font-size: 2.4rem;
	margin: 33px 0 20px;
	letter-spacing: 1.5px;
	font-weight: 500;
}
.ttl_h5_sub {
	font-size: 1.5rem;
	color: #333;
	overflow: hidden;
	padding: 6px 12px;
	font-weight: 500;
    margin: 10px 0 5px;
	background: #ededed;
}
.bgnone {
	background:none;
}
.bdrnone {
	border:none;
}
@media only screen and (max-width: 736px) {
	.ttl_page,
	.ttl_page.sub,
	.ttl_page.contact {
		height: 200px;
		margin-bottom: 30px;
	}
	.ttl_page > img {
		max-height: 100%;
	}
	.ttl_page h1,
	.ttl_page.sub h1,
	.ttl_page.contact h1 {
		font-size: 3rem;
		left: 8px;
		letter-spacing: 0.1em;
		font-weight: 400;
	}
	.ttl_page h1 span {
		font-size: 1.8rem;
		padding-right: 0;
		font-weight: normal;
	}
	.ttl_page h1 img {
		max-width: 50px;
		margin: 10px auto 5px;
	}
	.ttl_h2 {
		font-size: 2rem;
		padding-left: 2px;
		margin: 0 5.333% 15px;
	}
	.ttl_h2_sub {
		font-size: 1.9rem;
		padding-top: 0;
		padding-left: 0;
		margin: 0 5.333% 12px;
		text-align: left;
	}
	.ttl_page.sub + section .ttl_h2_sub {
		padding-top: 0;
	}
	.ttl_h2_learning,
	.ttl_h2_about,
	.ttl_h2_event {
		max-width: none;
		width: auto;
		letter-spacing: 2px;
		padding-bottom: 10px;
		margin: 40px 5.333% 20px;
		font-size: 2rem;
	}
	.ttl_h2_learning span {
		font-size: 1.8rem;
	}
	.ttl_h2_about {
		margin: 0 5.333% 20px;
	}
	.ttl_h3 {
		margin-top: 40px;
		font-size: 2rem;
		padding: 20px 15px 20px 17px;
		letter-spacing: 2px;
	}
	.ttl_h3_learning {
		max-width: none;
		width: auto;
		letter-spacing: 2px;
		padding-bottom: 10px;
		margin: 69px 5.333% 20px;
		font-size: 1.5rem;
	}
	.ttl_h3_about {
		font-size: 1.8rem;
		margin-bottom: 5px;
		letter-spacing: 1.5px;
	}
	.ttl_h3_about span {
		font-size: 1.5rem;
	}
	.ttl_h4 {
		font-size: 1.8rem;
		font-weight: normal;
		padding: 30px 10px 10px;
		letter-spacing: 2px;
	}
	.ttl_h4_sub {
		font-size: 1.8rem;
		margin: 20px 0 15px;
	}
}

/*text
----------------------------------------*/
.txtarea p {
	text-align: center;
	font-size: 1.5rem;
	color: #333;
	line-height: 1.9;
}
.txtarea,
.ttl_page.sub + section > .txtarea {
	width: 88%;
	max-width: 880px;
	margin: 0 auto 41px;
}
.ttl_page.sub + section > .txtarea.products {
	width: 88%;
	max-width: 880px;
	margin: 0 auto 41px;
}
.ttl_page.sub + section > .txtarea.task {
	margin-bottom: 87px;
	margin-top: 69px;
}
.ttl_page.sub + section > .txtarea p {
	font-size: 1.5rem;
	text-align: left;
	line-height: 2;
}
.ttl_page.sub + section > .txtarea.products p,
.txtarea p.txt_small {
	font-size: 16px;
}
.ttl_page.sub + section > .txtarea.catalog {
	margin-top: 50px;
	width: 90%;
	max-width: 900px;
}
.ttl_page.sub + section > .txtarea.catalog p {
	font-size: 1.5rem;
	text-align: center;
	line-height: 1.9;
}
.ttl_page.sub + section > .txtarea p + p,
.ttl_page.sub + section > .txtarea ul + p {
	margin-top: 5px;
}
.txtarea p a {
	color: #009fe6;
}
.txtarea p a:hover,
.txtarea .indent_list a:hover {
	color: #009fe6;
	text-decoration: underline;
}
.ttl_page.sub + .learning .txtarea p {
	font-size: 1.5rem;
	line-height: 1.85;
}
.ttl_page.sub + .learning .txtarea p.img {
	margin-right: -4px;
	text-align: center;
}
.side_by_side {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.side_by_side figure {
	min-width: 40.807%;
}
.txtarea sup {
	line-height: 1;
	font-size: 1rem;
}
.txt_border::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	background: #333;
	height: 1px;
}
.txt_border span {
	display: inline-block;
	background: #fff;
	padding-right: 10px;
	min-width: 4em;
}
@media only screen and (max-width: 736px) {
	.txtarea,
	.ttl_page.sub + section > .txtarea,
	.ttl_page.sub + section > .txtarea.products,
	.ttl_page.sub + section > .txtarea.catalog {
		width: auto;
		max-width: none;
		padding: 0 5.333%;
		margin-top: 0;
	}
	.ttl_page.sub + section > .txtarea.task {
		margin-bottom: 45px;
		margin-top: 35px;
	}
	.txtarea p,
	.ttl_page.sub + section > .txtarea.catalog p {
		text-align: left;
	}
	.ttl_page.sub + section > .txtarea p {
		font-size: 1.3rem;
	}
	.side_by_side {
		display: block;
	}
	.side_by_side figure {
		min-width: 0;
		text-align: center;
		margin-bottom: 30px;
	}
	.sp_align_l {
		text-align: left;
	}
}

/* リスト
----------------------------------------*/
ul.asterisk {
	color: #333;
}
ul.asterisk li {
	margin-left: 1.3em;
	text-indent: -1.3em;
	font-size: 1.5rem;
	line-height: 1.9;
}
ul.asterisk li::before {
	content: "\0274a";
}
/* カラム
----------------------------------------*/
.col4_block {
	width: 1000px;
	margin: 0 auto;
}

/* 2カラム */
.col2_block {
	margin-top: 80px;
	margin-bottom: -30px;
}
.col2_block > * {
	float: left;
	width: 48.863%;
	margin: 0 0 30px 2.274%;
	*display: inline;
	*zoom: 1;
}
.col2_block > *:nth-child(2n+1) {
	margin-left: 0;
	clear: both;
}

/* 3カラム */
.col3_block > * {
	float: left;
	width: 31%;
	margin: 0 0 30px 3.5%;
	*display: inline;
	*zoom: 1;
}
.col3_block > *:nth-child(3n+1) {
	margin-left: 0;
}

/* 4カラム */
.col4_block > * {
	float: left;
	width: 23.5%;
	margin: 0 0 20px 2%;
	*display: inline;
	*zoom: 1;
	position: relative;
}
.col4_block > *:nth-child(4n+1) {
	margin-left: 0;
}

@media only screen and (max-width: 736px) {
	.col4_block {
		width: auto;
		margin: 0 4.687%;
	}
	.col2_block {
		margin-top: 40px;
		margin-bottom: 0;
	}
	.col2_block > *,
	.col3_block > *,
	.col3_block > .col2 {
		width: auto;
		float: none;
		margin: 0 0 5%;
	}
	.col4_block > * {
		width: 48%;
		float: left;
		margin: 0 0 5% 4%;
	}
	.col4_block > *:nth-child(2n+1) {
		margin-left: 0;
	}
}

/*border_block
----------------------------------------*/
.border_block {
	border: solid 1px #333;
	margin: 15px 0;
	padding: 10px;
}
.ttl_page.sub + section > .txtarea .border_block p {
	text-align: center;
}

/*bg_block
----------------------------------------*/
.bg_block {
	background: #868585;
	overflow: hidden;
	padding: 17px 25px;
}
.bg_block p {
	color: #fff;
}
.ttl_page.sub + .learning .bg_block p {
	color: #fff;
	line-height: 1.85;
	font-size: 1.4rem;
}
@media only screen and (max-width: 736px) {
	.bg_block {
		padding: 10px 20px;
	}
	.ttl_page.sub + .learning .bg_block p {
		line-height: 1.8;
		font-size: 1.3rem;
	}
}

/*local_nav
----------------------------------------*/
.local_nav {
	width: 276px;
	background: #cdcdcd;
	font-weight: 500;
	color: #333;
	margin-left: 6px;
}
.local_nav > ul {
	background: #fff;
}
.local_nav > ul > li > span,
.local_nav > ul > li > a {
	display: block;
	background: #d7d7d7;
	font-size: 1.6rem;
	padding: 16px 21px 14px;
	letter-spacing: 3px;
	cursor: pointer;
	-webkit-transition: all 300ms;
	transition: all 300ms;
}
.local_nav.products > ul > li > span,
.local_nav.products > ul > li > a {
	font-size: 1.5rem;
	background: #ebebeb;
	letter-spacing: 0;
	padding-left: 13px;
}
.local_nav > ul > li:nth-child(2n) > span,
.local_nav > ul > li:nth-child(2n) > a {
	background: #c4c4c4;
}
.local_nav.products > ul > li:nth-child(2n) > span,
.local_nav.products > ul > li:nth-child(2n) > a {
	background: #f9f9f9;
}
.local_nav > ul > li > span::before {
	content: "";
	width: 10px;
	height: 10px;
	display: block;
	background: url(../img/products/icon_plus.png) no-repeat;
	position: absolute;
	top: 22px;
	right: 18px;
	z-index: 2;
}
.local_nav > ul > li.open > span::before {
	background: url(../img/products/icon_minus.png) no-repeat;
}
.local_nav > ul > li span::before {
	right: 8px;
}
.local_nav > ul > li ul {
	display: none;
}
.local_nav > ul > li li a,
.local_nav > ul.mailnews > li a {
	display: block;
	background: #f9f9f9 url(../img/common/icon_lnav_arrow.png) no-repeat 13px 18px;
	font-size: 1.4rem;
	padding: 13px 28px 15.5px;
	color: inherit;
	letter-spacing: 1.5px;
	-webkit-transition: all 300ms;
	transition: all 300ms;
}
.local_nav.products > ul > li ul::before,
.local_nav.products > ul > li ul li::before {
	content: "";
	height: 1px;
	display: block;
	position: absolute;
	top: 0;
	left: 12px;
	right: 12px;
	background: #333;
	z-index: 2;
}
.local_nav.products > ul > li ul li::before {
	top: auto;
	bottom: 0;
}
.local_nav.products > ul > li:last-child ul:last-child::before,
.local_nav.products > ul > li:last-child ul:last-child li:last-child::before {
	display: none;
}
.local_nav.products > ul > li li a {
	font-size: 1.4rem;
	background-color: #ebebeb;
	padding-top: 5px;
	letter-spacing: .2px;
	background-position: 13px 7px;
	font-weight: normal;
}
.local_nav.products > ul > li li a span {
	font-size: 1.4rem;
	display: block;
	font-weight: 500;
}
.local_nav.learning > ul > li li a {
	padding: 15px 10px 14.5px 20px;
	letter-spacing: 0;
}
.local_nav > ul > li li a:hover,
.local_nav > ul > li > span:hover,
.local_nav > p a:hover,
.local_nav ul a:hover {
	opacity: .6;
}
.local_nav > ul > li li:nth-child(2n+1) a,
.local_nav > ul.mailnews > li:nth-child(2n+1) a {
	background-color: #ebebeb;
}
.local_nav.products > ul > li li:nth-child(2n+1) a {
	background-color: #ebebeb;
}
.local_nav.products > ul > li:nth-child(2n) li a,
.local_nav.products > ul > li:nth-child(2n) li:nth-child(2n+1) a {
	background-color: #f9f9f9;
}
.local_nav > ul > li li.current a,
.local_nav.products > ul li.current a,
.local_nav.products > ul > li li.current a {
	background-color: #d1dddd !important;
}
.local_nav > p a,
.local_nav > p img {
	display: block;
}
.local_nav > p a {
	-webkit-transition: all 300ms;
	transition: all 300ms;
}

@media only screen and (max-width: 1280px) {
	.local_nav {
		width: 21.562%;
	}
	.local_nav > ul > li span::before {
		top: 2vw;
	}
	.local_nav > ul > li li a {
		background: #f9f9f9 url(../img/common/icon_lnav_arrow.png) no-repeat 13px 1.5vw;
		background-size: .703vw auto;
	}
}
@media only screen and (max-width: 736px) {
	.local_nav {
		width: auto;
		margin-left: 0;
	}
	.local_nav > ul > li span::before {
		top: 21px;
	}
	.local_nav > ul > li > span {
		font-size: 1.5rem;
	}
	.local_nav > ul > li li a {
		background: #f9f9f9 url(../img/common/icon_lnav_arrow.png) no-repeat 13px 17px;
		background-size: 7px auto;
		font-size: 1.3rem;
	}
	.local_nav > p {
		background: #fff;
	}
	.local_nav > p img {
		margin: 0 auto;
	}
	.local_nav > ul > li li a:hover,
	.local_nav > ul > li > span:hover,
	.local_nav > p a:hover,
	.local_nav ul a:hover {
		opacity: 1;
	}
}

/*label
----------------------------------------*/
.label_orange,
.label_green,
.label_blue,
.label_gray,
.label_yellow,
.label_dark {
	font-size: 2rem;
	font-weight: 500;
	background: #db9010;
	color: #fff;
	text-align: center;
	width: 107px;
	display: inline-block;
	margin: 0 auto;
	padding-bottom: 1px;
	border: solid 2px #fff;
	border-radius: 17.5px;
}
.label_green {
	background: #529464;
}
.label_blue {
	background: #329fdf;
}
.label_gray {
	background: #a7a7a8;
}
.label_yellow {
	background: #eabb00;
}
.label_dark {
	background: #717071;
}

/*products_banner
----------------------------------------*/
.products_banner {
	max-width: 1280px;
	margin: 0 auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.products_banner li {
	width: 33.359%;
	margin: 20px;
}
.products_banner li:nth-child(2) {
	width: 33.282%;
}
.products_banner a {
	display: block;
	-webkit-transition: all 300ms;
	transition: all 300ms;
}
.products_banner a:hover {
	opacity: .6;
}
@media only screen and (max-width: 736px) {
	.products_banner li {
		text-align: center;
		width: 100%;
		margin: 0;
	}
	.products_banner li a {
		display: inline;
	}
	.products_banner li img {
		display: inline;
		margin-right: 10px;
		vertical-align: bottom;
	}
	.products_banner li:nth-child(2) {
		width: 100%;
	}
	.products_banner a:hover {
		opacity: 1;
	}
}

/*example_list
----------------------------------------*/
dl.example_list dt {
	background: #9d9d9e;
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	position: absolute;
	left: 0;
	width: 60px;
	letter-spacing: 3px;
	padding: 2px 0 2px 3px;
}
dl.example_list dd {
	padding: 2px 0 16.5px 74px;
	color: #333;
	font-size: 1.5rem;
}

/*btn_contact
----------------------------------------*/
.btn_contact {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 45px;
}
.btn_contact p {
	display: inline-block;
	margin: 0 4px;
}
.btn_contact p a {
	display: block;
	background: #065ca8;
	color: #fff;
	font-size: 1.4rem;
	padding: 6px 20px 5px 37px;
	-webkit-transition: all 300ms;
	transition: all 300ms;
}
.btn_contact p a:hover {
	opacity: .6;
	text-decoration: none;
}
.btn_contact p a.contact {
	letter-spacing: .7px;
	padding: 6px 11px 5px 33px;
}
.btn_contact p a.contact::before {
	content: "";
	width: 15px;
	height: 19px;
	display: block;
	position: absolute;
	top: 50%;
	left: 13px;
	margin-top: -10px;
	background: url(../img/index/icon_btn_contact.png) no-repeat;
	background-size: 100% auto;
}
@media only screen and (max-width: 736px) {
	.btn_contact p a:hover {
		opacity: 1;
	}
}

/*btn_block
----------------------------------------*/
.btn_block {
	max-width: 1189px;
	width: 100%;
	margin: 63px 10% 0;
	text-align: center;
}
.btn_block p {
	display: inline-block;
	width: 292px;
	margin: 0 19.5px 47px;
}
.btn_block p a {
	display: block;
	color: #fff;
	background: #065ca8;
	font-size: 1.38rem;
	padding: 24px 20px 27px;
	letter-spacing: .7px;
	-webkit-transition: all 300ms;
	transition: all 300ms;
}
.btn_block p a::before {
	content: "";
	width: 24px;
	height: 31px;
	display: inline-block;
	background: url(../img/index/icon_btn_contact.png) no-repeat;
	background-size: 100% auto;
	vertical-align: -7px;
	margin-right: 5px;
}
.btn_block p a.event {
	background: #a09b98;
	padding: 26px 20px 29px;
}
.btn_block p a.event::before {
	width: 29px;
	height: 27px;
	background: url(../img/index/icon_btn_event.png) no-repeat;
	background-size: 100% auto;
	vertical-align: -5px;
	margin-right: 10px;
}
.btn_block a:hover {
	opacity: .6;
}
@media only screen and (max-width: 1280px) {
	.btn_block {
		width: 92.89vw;
		margin: 4.922vw auto 0;
	}
	.btn_block p {
		width: 22.812vw;
		margin: 0 1.523vw 3.672vw;
	}
	.btn_block p a {
		padding: 1.875vw 1.4vw 2.109vw;
	}
	.btn_block p a::before {
		width: 1.875vw;
		height: 2.422vw;
		vertical-align: -.547vw;
		margin-right: .391vw;
	}
	.btn_block p a.event {
		padding: 2.031vw 1.4vw 2.266vw;
	}

	.btn_block p a.event::before {
		width: 2.265vw;
		height: 2.109vw;
		vertical-align: -.39vw;
		margin-right: .781vw;
	}
}
@media only screen and (max-width: 736px) {
	.btn_block {
		width: 255px;
		margin: 67px auto 0;
	}
	.btn_block p {
		display: block;
		width: 255px;
		margin: 0 0 15px;
	}
	.btn_block p a {
		font-size: 1.3rem;
		padding: 21px 5px 24px;
	}
	.btn_block p a::before {
		width: 21px;
		height: 27px;
		margin-right: 7px;
		vertical-align: -7px;
	}
	.btn_block p a.event {
		padding: 23px 5px 26px;
		font-size: 1.2rem;
	}
	.btn_block p a.mail::before {
		width: 23px;
		height: 23px;
		vertical-align: -4px;
		margin-right: 7px;
	}
	.btn_block p a.event::before {
		width: 24px;
		height: 23px;
		vertical-align: -5px;
		margin-right: 10px;
	}
	.btn_block a:hover {
		opacity: 1;
	}
}

/*unachieved_block
----------------------------------------*/
.unachieved_block {
	background: #f4f4f4;
	margin-right: -6px;
	height: 100%;
	padding: 58px 20px 269px;
}
section .unachieved_block .txtarea {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}
section .unachieved_block .txtarea p {
	text-align: left;
	line-height: 1.7;
	font-size: 1.5rem;
}
section .unachieved_block .txtarea p + p {
	margin-top: 21px;
}
@media only screen and (max-width: 736px) {
	.unachieved_block {
		margin-right: 0;
		margin-top: -30px;
		padding: 25px 5.333%;
	}
	section .unachieved_block .txtarea {
		padding: 0;
	}
}

/* colobox
----------------------------------------*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 19999;
	-webkit-transform: translate3d(0,0,0);
}
#cboxWrapper {
	max-width: none;
}
#cboxOverlay{
	position: fixed;
	width: 100%;
	height:100%;
}
#cboxMiddleLeft,
#cboxBottomLeft{
	clear:left;
}
#cboxLoadedContent{
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#cboxTitle{
	margin: 0;
}
#cboxLoadingOverlay,
#cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
	cursor: pointer;
}
.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}
.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}
#colorbox,
#cboxContent,
#cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
#cboxLoadedContent {
	overflow: visible !important;
	text-align: center;
	display: inline-block;
	max-height: 360px;
	height: 50.5vw;
}
#colorbox.movie #cboxLoadedContent {
	max-height: 634px;
}
#cboxOverlay {
	background: #000;
	opacity: .96;
	filter: alpha(opacity = 96);
}
#colorbox,
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
	outline: 0;
}
#cboxContent {
	overflow: visible;
	margin: 0;
	max-width: 640px;
	max-height: 360px;
	height: 50.5vw;
}
#colorbox.movie #cboxContent {
	max-width: 1128px;
	max-height: 634px;
}
#cboxContent iframe {
	width: 100% !important;
	height: 100%;
}
#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}
#cboxLoadingGraphic {
	background: url(../img/common/loading.gif) no-repeat center center;
}
#cboxTitle {
	position: absolute;
	top: -22px;
	left: 0;
	color: #000;
}
#cboxCurrent {
	position: absolute;
	top: -22px;
	right: 205px;
	text-indent: -9999px;
}
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -20px;
}
#cboxClose {
	background: none;
	top: -30px;
	right: 0;
	z-index: 1100;
	width: 30px;
	height: 30px;
	background: rgba(0,0,0,.85);
}
#cboxClose::before,
#cboxClose::after {
	background: #d1d1d1;
	content: "";
	display: block;
	left: 0;
	right: 0;
	padding-top: 3px;
	width: 20px;
	position: absolute;
}
#cboxClose::before {
	left: 0;
	margin: 0 0 0 5px;
	top: 14px;
	transform: rotate(-135deg);
}
#cboxClose::after {
	top: 14px;
	left: 0;
	margin: 0 0 -3px 5px;
	transform: rotate(135deg);
}
@media only screen and (max-width: 767px) {
	#cboxClose::before,
	#cboxClose::after {
		background: #fff;
	}
}

/*indent_list
----------------------------------------*/
.indent_list li {
	font-size: 1.5rem;
	line-height: 2;
	color: #333;
	margin-left: 1.3em;
	text-indent: -1.3em;
}
.indent_list li::before {
	content: "\025cb";
	padding-right: 0.3em;
}
@media only screen and (max-width: 736px) {
	.indent_list li {
		font-size: 1.3rem;
	}
}

/*info_list
----------------------------------------*/
dl.info_list {
	margin: 11px 0 28px;
	padding-top: 6px;
}
dl.info_list dt {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 2px;
	position: absolute;
	left: 0;
		width: 6em;
}
dl.info_list dd {
	padding: 0 0 10px 6.5em;
	font-size: 1.5rem;
}

/*movie_block
----------------------------------------*/
.txtarea .movie_block {
	width: 100%;
	max-width: 560px;
	max-height: 315px;
	margin: 0 auto;
}
.txtarea .movie_block .movie {
	padding-top: 56.25%;
}
.txtarea .col2_block .movie_block iframe {
	max-width: 420px;
	max-height: 237px;
}
.txtarea .movie_block iframe,
.txtarea .col2_block .movie_block iframe {
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


