@charset "utf-8";
/* ===== COMMON ===== */
@import url('https://fonts.googleapis.com/css?family=Kosugi+Maru&display=swap');

html {
	font-size: 62.5%;
}
body {
	width: 100%;
	background: #f7f7f7;
	font-family: "Kosugi Maru","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 14px; font-size:1.4em;
	line-height: 1;
	color: #333;
}
.body_wrap {
	width: 100%;
	max-width: 1600px;
	background: #fff;
	overflow: hidden;
}
.clear {
	clear: both;
	overflow: hidden;
}

@media screen and (min-width:920px) {
	.body_wrap {
		position: relative;
		display: table;
		table-layout: fixed;
		border-top: 4px solid #3eb160;
	}
	.nav_wrap, .main_wrap {
		display: table-cell;
		vertical-align: top;
	}
	.nav_wrap {
		width: 200px;
		padding-bottom: 170px;
		border-right: 1px solid #c9caca;
	}
	.main_wrap {
		max-width: 1400px;
		padding-top: 65px;
	}
	.main {
		width: 100%;
		border-top: 1px solid #c9caca;
	}
	.main_inner {
		padding-top: 40px;
	}
	.pcbl {
		display: block;
	}
	.sp {
		display: none;
	}
}
@media screen and (max-width:919px) {
	.body_wrap {
		border-top: 2px solid #3eb160;
	}
	.main_inner {
		padding-top: 20px;
	}
	.pc {
		display: none;
	}
}

/* ----- text ----- */
p {
	line-height: 1.6;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
.bold {
	font-weight: bold;
}

/* ----- color ----- */
.pink {
	color: #e51f4d;
}
.bg_gray {
	background-color: #f5f5f5;
}
.bg_pink {
	background-color: #fff6f8;
}

/* ----- link ----- */
a {
	color: inherit;
	text-decoration: none;
}
.link_uline {
	text-decoration: underline;
}
.link_style {
	color: #00a4b8;
	text-decoration: underline;
}

@media screen and (min-width:769px) {
	a:hover {
		text-decoration: underline;
	}
	a:hover img {
		opacity: 0.8;
	}
}

/* ----- arrow ----- */
.arrow::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	position: relative;
	border-right: 1px solid #898989;
	border-bottom: 1px solid #898989;
	transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
/* 2022.06.27追加 */
/* ----- tag ----- */
.page_hashtag{
	font-size: 14px;
	font-size: 1.4rem;
	color: #00B9D3;
}

/* ===== MENU ===== */

/* header */

.logo_jp img {
	width: 157px;
}

@media screen and (min-width:920px) {
	h1.tagline, p.tagline {
		position: absolute;
		top: 26px;
		left: 220px;
		height: 18px;
	}
	.logo_en {
		padding: 20px;
		text-align: center;
	}
	.logo_jp {
		position: absolute;
		bottom: 120px;
		left: 0;
		width: 200px;
		text-align: center;
	}
}
@media screen and (max-width:919px) {
	.header {
		position: relative;
		z-index: 10;
		padding-top: 15px;
		box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
		-moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
		-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
	}
	.tagline {
		height: 9px;
		padding: 0 60px 0 15px;
		text-align: center;
	}
	.tagline img {
		height: 9px;
	}
	.logo_en {
		display: none;
	}
	.logo_jp {
		padding: 15px;
		text-align: center;
	}
}

/* groval menu */

.nav.fixed {
	position: fixed;
	top: 0;
	left: 0;
}

.nav.fixedBottom {
	position: absolute;
}

.switch {
	cursor: pointer;
}
.gnav {
	margin-bottom: 20px;
}
.gnav li {
	border-top: 1px solid #c9caca;
}
.gnav > li {
/*	font-size: 16px; font-size:1.6rem;*/
}
.gnav > li:last-child {
	border-bottom: 1px solid #c9caca;
}
.gnav .arrow {
	position: relative;
	display: block;
	width: 100%;
	font-weight: bold;
}
.gnav >li > .arrow::before {
	content: "●";
	position: absolute;
}
.gnav .arrow::after {
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -6px;
}
.gnav .arrow.open::after {
	animation: rotation 0.1s;
	-webkit-animation: rotation 0.1s;
	animation-fill-mode: forwards;
	-webkit-animation-fill-mode: forwards;
}
.tag_button a{
	border: 1px solid #00B9D3;
	font-size: 12px;
	font-size: 1.2rem;
	color: #00B9D3;
	background: #fff;
	padding: 1em;
	margin: 0 1em 20px;
}
.tag_button a:hover{
	text-decoration: none;
	background-color: #E5FCFF;
}
.tag_button .arrow {
	position: relative;
	display: block;
	font-weight: bold;
}
.tag_button .arrow::after {
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -6px;
  border-right: 1px solid #00B9D3;
  border-bottom: 1px solid
}
@keyframes rotation {
	0% {
		transform: rotate(-45deg) translateY(0);
	}
 100% {
		transform: rotate(45deg) translateY(-3px);
	}
}
@-webkit-keyframes rotation {
	0% {
		-webkit-transform: rotate(-45deg) translateY(0);
	}
	100% {
		-webkit-transform: rotate(45deg) translateY(-3px);
	}
}

.gnav .arrow.nav1::before {
	color: #30b45a;
}
.gnav .arrow.nav2::before {
	color: #218936;
}
.gnav .arrow.nav3::before {
	color: #008da3;
}
.gnav .arrow.nav4::before {
	color: #006a3d;
}
.gnav .arrow.nav5::before {
	color: #008da3;
}
.gnav .arrow.nav6::before {
	color: #1b68a5;
}

.subnav {
	display: none;
}
.subnav li {
	background: #f5f5f5;
/*	font-size: 14px; font-size:1.4rem;*/
	font-size:13px; font-size:1.3rem;
}
.subnav li span {
	display: block;
	padding-top: 2px;
	font-size: 12px; font-size:1.2rem;
	font-weight: normal;
}
.gnav a:hover {
	text-decoration: none;
}

#data .switch.open.nav1 + ul{
	display:block;
}
#jbrc .switch.open.nav4 + ul{
	display:block;
}
.gnav .nav1-1.active,
.gnav .nav1-2.active,
.gnav .nav1-3.active,
.gnav .nav1-4.active,
.gnav .nav1-5.active,
.ap .gnav .nav1-1,
.haken .gnav .nav1-2,
.datareport .gnav .nav1-3,
.research .gnav .nav1-4,
.opendata .gnav .nav1-5{
	background: rgba(48,180,90,0.05);
	color: #30b45a;
}
.gnav .nav2.active,
#case .gnav .nav2 {
	background: rgba(0,255,51,0.05);
	color: #218936;
}
.gnav .arrow.nav2.active::after {
	border-color: #218936;
}
.gnav .nav3.active,
#lecture .gnav .nav3.active{
	background: rgba(0,141,163,0.05);
	color: #008da3;
}
.gnav .arrow.nav3.active::after {
	border-color: #008da3;
}
.gnav .nav4.active,
.gnav .nav4-1.active,
.gnav .nav4-2.active{
	background: rgba(0,106,61,0.05);
	color: #006a3d;
}
.gnav .arrow.nav4.active::after {
	border-color: #006a3d;
}
.gnav .nav5.active,
#lecture .gnav .nav5.active{
	background: rgba(0,141,163,0.05);
	color: #008da3;
}
.gnav .arrow.nav5.active::after {
	border-color: #008da3;
}

.gnav .nav6.active,
#session .gnav .nav6.active {
	background: rgba(27,104,165,0.05);
	color: #1b68a5;
}
.gnav .arrow.nav6.active::after {
	border-color: #1b68a5;
}

@media screen and (min-width:920px) {
	.sp_menu_btn {
		display: none;
	}
	.gnav .arrow {
		padding: 20px 25px 20px 40px;
	}
	.gnav .arrow::before {
		top: 16px;
		left: 15px;
		font-size: 20px; font-size:2.0rem;
	}
	.subnav li.l2 a {
		padding: 12px 25px 12px 40px;
	}
}
@media screen and (max-width:919px) {
	.sp_menu_btn {
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		width: 50px;
		height: 50px;
	}
	.sp_menu_btn span::before, .sp_menu_btn span::after {
		content: "";
	}
	.sp_menu_btn span, .sp_menu_btn span::before, .sp_menu_btn span::after {
		display: block;
		width: 24px;
		height: 3px;
		position: absolute;
		background: #000;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
	}
	.sp_menu_btn.open {
		z-index: 11;
	}
	.sp_menu_btn.open span {
		top: 24px;
		left: 13px;
	}
	.sp_menu_btn.open span::before {
		top: -8px;
	}
	.sp_menu_btn.open span::after {
		top: 8px;
	}
	.sp_menu_btn.close span {
		top: 24px;
		left: 13px;
		background: transparent;
	}
	.sp_menu_btn.close span::before, .sp_menu_btn.close span::after {
		background: #fff;
	}
	.sp_menu_btn.close span::before {
		transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}
	.sp_menu_btn.close span::after {
		transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
	}
	.sp_menu_o-c ~ .nav {
		display: none;
	}
	.gnav .arrow, .gnav a {
		padding: 15px 25px 15px 40px;
		color: #fff;
	}
	.gnav .arrow::before {
		top: 14px;
		left: 15px;
		font-size: 16px; font-size:1.6rem;
	}
	.gnav .arrow::after {
		right: 15px;
		width: 10px;
		height: 10px;
		margin-top: -6px;
		border-color: #fff;
	}
	.subnav li {
		background: rgba(255,255,255,0.2);
	}
	.subnav li.l2 a {
		padding: 10px 25px 8px 40px;
	}
	/* sp menu checked */
	.sp_menu_o-c:checked ~ .nav {
		position: fixed;
		top: -2px;
		left: 0;
		bottom: -50px;
		z-index: 100;
		display: block;
		width: 100%;
		padding: 50px 0 70px;
		background: rgba(0,0,0,0.90);
		overflow-y: scroll;
	}
}

/* search */
.search_input {
	border: 1px solid #c9caca;
	border-radius: 15px;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	font-size: 14px; font-size:1.4rem;
}
.search_btn {
	position: absolute;
	margin: 0;
	border-radius: 15px;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border: none;
}
@media screen and (min-width:920px) {
	.search {
		position: absolute;
		top: 22px;
		right: 20px;
		width: 200px;
	}
	.search_input {
		width: 200px;
		height: 25px;
		padding: 1px 25px 1px 10px;
	}
	.search_btn {
		top: 1px;
		right: 1px;
		height: 23px;
		padding: 5px 10px;
		background: #f3f0ef;
		font-size: 12px; font-size:1.2rem;
	}
}
@media screen and (max-width:919px) {
	.search {
		position: relative;
		width: 100%;
		max-width: 400px;
		padding: 0 15px;
		margin: 0 auto 20px;
	}
	.search_input {
		width: 100%;
		height: 33px;
		padding: 5px 25px 5px 10px;
		background: #C9CACA;
		border-color: #fff;
	}
	.search_btn {
		top: 1px;
		right: 16px;
		height: 31px;
		padding: 5px 10px;
		background: #F3F0EF;
		font-size: 14px; font-size:1.4rem;
		color: #666;
	}
}

/* ranking (Ranklet4) */

.ranking {
	max-width: 198px;
	padding: 2rem 0 3rem;
}
.ranking .ranking_title {
	margin-bottom: 10px;
	text-align: center;	
}
.ranking #ranklet4-VcBwuHZq30dF3XnyMk4z .ranklet {
	border-top: 1px solid #c9caca;
}
.ranking #ranklet4-VcBwuHZq30dF3XnyMk4z .ranklet-item {
	border-bottom: 1px solid #c9caca;
}
.ranking #ranklet4-VcBwuHZq30dF3XnyMk4z .ranklet-item b {
	font-size: 1.2rem;
	line-height: 1.2;
}
.ranking #ranklet4-VcBwuHZq30dF3XnyMk4z .ranklet-count {
	display: inline-block;
	font-size: 1rem;
	margin-top: .2rem;
}

@media screen and (max-width:919px) {
	.ranking {
		max-width: 100%;
		color: #fff;
	}
	.ranking #ranklet4-VcBwuHZq30dF3XnyMk4z .ranklet-item b {
		font-size: 1.3rem;
	}
	.ranking #ranklet4-VcBwuHZq30dF3XnyMk4z .ranklet-item a:hover {
		background: #666;
	}
}

/* bunner */
.bnrs {
	padding: 0 15px;
}
.bnr,
.bnr_title {
	margin-bottom: 10px;
	text-align: center;
}

@media screen and (max-width:919px) {
	.bnr_title {
		color: #fff;
	}
}


/* ===== FOOTER ===== */

.footer {
	position: relative;
	border-top: 1px solid #c9caca;
	font-size: 12px; font-size:1.2rem;
	color: #898989;
}
.footer address span {
	display: inline-block;
	margin-right: 1em;
}
.copy_txt {
	display: inline-block;
	margin-bottom: -3px;
	margin-left: 10px;
	vertical-align: bottom;
	font-size: 10px;
	font-family: "メイリオ", "Meiryo", sans-serif;
	font-weight: bold;
	color: #435B67;
}
.gotop {
	position: fixed;
	display: block;
	width: 57px;
	height: 57px;
	background: #3eb160;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
}
.gotop::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 24px;
	left: 24px;
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
@media screen and (min-width:769px) {
	.footer {
		clear: both;
		height: 170px;
		padding: 20px 20px;
	}
	.gotop {
		bottom: 30px;
		right: 30px;
	}
	.f_nav {
		float: right;
		letter-spacing: -.4em;
	}
	.f_nav li {
		display: inline-block;
		margin-bottom: 15px;
		letter-spacing: normal;
	}
	.f_nav li::before, .f_nav li:last-child::after {
		content: "|";
	}
	.f_nav li a {
		padding: 0 5px;
	}
	.f_nav li a:hover {
		text-decoration: underline;
	}
	.footer .company {
		float: left;
		width: 470px;
	}
	.copy {
		margin-right: 1em;
		padding-top: 15px;
		vertical-align: text-bottom;
	}
}
@media screen and (max-width:768px) {
	.footer {
		padding: 15px;
	}
	.gotop {
		bottom: 20px;
		right: 20px;
	}
	.f_nav {
		display: none;
	}
	.footer .copy {
		display: block;
		padding: 15px 0;
	}
}


/* ===== MAIN ===== */

.wrap {
	position: relative;
	padding: 20px;
	background: #fff;
	border-top: 1px solid #c9caca;
}

/* ----- title ----- */

.ttl_brd {
	padding: 10px 0 30px;
	text-align: center;
	line-height: 1.2;
}
.ttl_brd::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	position: relative;
	top: 10px;
	margin: auto;
	background: #3eb160;
}

.ttl_circle {
	position: relative;
	margin-left: 40px;
	background: #30b45a;
	border-radius: 18px;
	-moz-border-radius: 18px;
	-webkit-border-radius: 18px;
	font-size: 16px; font-size:1.6rem;
	font-weight: bold;
	line-height: 1.2;
	color: #fff;
}
/* 2022.06.27追加 */
#chie .ttl_brd::after {
	background: #008DA3;
}

.ttl_circle::before {
	content: "";
	display: block;
	width: 35px;
	height: 35px;
	position: absolute;
	top: 0;
	left: -40px;
	background: url(../images/icon_ttl.png);
}
@media screen and (min-width:769px) {
	.ttl_brd {
		font-size: 22px; font-size:2.2rem;
	}
	.ttl_circle {
		padding: 8px 16px 8px;
	}
}
@media screen and (max-width:768px) {
	.ttl_brd {
		font-size: 18px; font-size:1.8rem;
	}
	.ttl_circle {
		padding: 8px 16px 8px;
	}
}

/* ----- button ----- */

.btn {
	display: block;
	width: 100%;
	padding: 12px 20px 10px;
	margin: 0 auto 20px;
	background: #5a6569;
	text-align: center;
	font-weight: bold;
	line-height: 20px;
	color: #fff;
	cursor: pointer;
}
.btn .arrow::after {
	margin-left: 10px;
	border-color: #fff;
}
@media screen and (min-width:769px) {
	.btn {
		font-size: 18px; font-size:1.8rem;
	}
	.btn:hover {
		background: #7b8487;
		text-decoration: none;
	}
}
@media screen and (max-width:768px) {
	.btn {
		font-size: 16px; font-size:1.6rem;
	}
}


/* tel link */
@media screen and (min-width:920px) {
	.tel {
		cursor: default;
		pointer-events: none;
	}
	.tel:hover {
		text-decoration: none;
	}
}

/* pdf */
.pdf::before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 32px;
	margin-right: 5px;
	background: url(../images/icon_pdf.png) center center no-repeat;
	background-size: contain;
	vertical-align: middle;
}
@media screen and (min-width:769px) {
	.pdf::before {
		width: 32px;
		height: 32px;
		margin-right: 5px;
	}
}
@media screen and (max-width:768px) {
	.pdf {
		position: relative;
		padding-left: 25px;
	}
	.pdf::before {
		position: absolute;
		top: -2px;
		left: 0;
		width: 18px;
		height: 18px;
	}
}

/* breadcrumb */
@media screen and (min-width:769px) {
	.breadcrumb {
		padding: 0 40px;
		font-size: 12px; font-size:1.2rem;
		line-height: 1.4;
	}
	.breadcrumb ol {
		list-style: none;
		letter-spacing: -.4em;
	}
	.breadcrumb li {
		display: inline-block;
		letter-spacing: normal;
	}
	.breadcrumb li::after {
		content: ">";
		padding: 0 4px;
	}
	.breadcrumb li:last-child::after {
		content: "";
	}
}
@media screen and (max-width:768px) {
	.breadcrumb {
		display: none;
	}
}

/* kv */
.kv {
	text-align: center;
}
.kv img {
	width: 100%;
	margin-bottom: 20px;
}
.kv p {
	width: 100%;
	max-width: 700px;
	margin: auto;
}
@media screen and (min-width:769px) {
	.kv {
		max-width:1160px;
		margin:0 auto;
		padding: 20px 40px;
	}
}
@media screen and (max-width:768px) {
	.kv {
		padding: 20px;
	}
}

/* image */
.box .img {
	display: block;
	margin: 0 auto 10px;
	overflow: hidden;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	text-align: center;
}
.box .img img {
	width: 100%;
}
.img_frame {
	margin-bottom: 10px;
	background: #f5f5f5;
}
.img_frame figure {
	text-align: center;
}
.img_frame figure a {
	display: block;
}
.img_frame figcaption {
	line-height: 1.4;
	text-align: left;
}
@media screen and (min-width:769px) {
	.img_frame {
		padding: 20px;
	}
	.img_frame figcaption {
		padding-top: 10px;
		font-size: 14px; font-size:1.4rem;
	}
}
@media screen and (max-width:768px) {
	.box .img {
		max-width: 380px;
	}
	.img_frame {
		padding: 10px;
	}
	.img_frame figcaption {
		padding-top: 5px;
		font-size: 12px; font-size:1.2rem;
	}
}

/* pager */
.pager ul {
	letter-spacing: -.4em;
	text-align: center;
}
.pager li {
	display: inline-block;
	letter-spacing: normal;
	background: #fff;
	border: 1px solid #d9d9d9;
}
.pager a {
	display: block;
	font-size: 14px; font-size:1.4rem;
	line-height: 1.5;
	color: #333;
}
.pager a.active, .pager a.inactive {
	cursor: default;
	pointer-events: none;
}
.pager a.active {
	background: #218936;
	color: #fff;
}
.pager a.inactive {
	color: #d9d9d9;
}
#session .pager a.active {
	background: #1b68a5;
	color: #fff;
}
#chie .pager a.active {
	background: #008DA3;
	color: #fff;
}
@media screen and (min-width:769px) {
	.pager {
		padding: 60px 20px;
	}
	.pager li {
		width: 34px;
		margin-right: 10px;
	}
	.pager li.prev, .pager li.next {
		width: 142px;
	}
	.pager a {
		padding: 7px 0;
	}
	.pager a:hover {
		background: #218936;
		color: #fff;
		text-decoration: none;
	}
}
@media screen and (max-width:768px) {
	.pager {
		padding: 20px 20px;
	}
	.pager li {
		width: 34px;
		margin-right: 10px;
	}
	.pager li.prev, .pager li.next {
		width: 50px;
	}
	.pager li.sp_hide {
		display: none;
	}
	.pager a {
		padding: 7px 0;
	}
}

/* change open-close */
.tgl ~ .tgl_content {
	display: none;
}
.tgl:checked ~ .tgl_content {
	display: block;
}
.tgl:checked + label .arrow::after {
	animation: rotation2 0.1s;
	-webkit-animation: rotation2 0.1s;
	animation-fill-mode: forwards;
	-webkit-animation-fill-mode: forwards;
}
@keyframes rotation2 {
	0% {
		transform: rotate(-45deg) translateY(0);
	}
	100% {
		transform: rotate(45deg) translateY(-5px);
	}
}
@-webkit-keyframes rotation2 {
	0% {
		-webkit-transform: rotate(-45deg) translateY(0);
	}
	100% {
		-webkit-transform: rotate(45deg) translateY(-5px);
	}
}

/* flex_container */
.flex_container .box a {
	display: block;
}
@media screen and (min-width:769px) {
	.flex_container {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.flex_container .box {
		position: relative;
		flex-basis: 25%;
	}
	.flex_container .box::after {
		content: "";
		display: block;
		width: 1px;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		z-index:2;
		background: #c9caca;
	}
	.flex_container .box.w2 {
		flex-basis: 50%;
	}
	.flex_container .box.w3 {
		flex-basis: 75%;
	}
	.flex_container .box.w4 {
		flex-basis: 100%;
	}
}

/* ----- MODAL ----- */
.modal-content {
	width: 90%;
	max-width: 800px;
	margin: 0;
	padding: 0;
	background: #fff;
	position: fixed;
	display: none;
	z-index: 2;
	text-align: center;
}
#modal-overlay {
	z-index: 1;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-color: rgba(0,0,0,0.75);
}
.button-link {
	cursor: pointer;
}
.modal-close {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: -15px;
	right: -10px;
	background: #fff;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
}
.modal-close::before, .modal-close::after {
	content: "";
	display: block;
	width: 4px;
	height: 16px;
	position: absolute;
	top: 7px;
	left: 13px;
	background: #ccc;
}
.modal-close::before {
	transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}
.modal-close::after {
	transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

/* ----- FORM ----- */
input, textarea, select {
	position: relative;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	padding: 5px 10px;
	background: #fff;
	border: 1px solid #ccc;
	color: inherit;
}
textarea {
	width: 100%;
}
input[type=radio], input[type=checkbox] {
	position: relative;
	margin: 10px 5px 10px 0;
	vertical-align: middle;
}
input[type=radio] {
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
}
label.select {
	display: inline-block;
	position: relative;
}
label.select::after {
	display: block;
	content: "▼";
	position: absolute;
	top: 7px;
	right: 10px;
	pointer-events: none;
}
label.select select {
	position: relative;
	background: #fff;
	padding: 6px 41px 6px 11px;
}
