@charset "UTF-8";
/**
 * reset
 */
html, body, div, main, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, main, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td {
	word-break: break-all;
}
img {
	max-width:100%;
	height:auto;
	vertical-align:bottom;

	-webkit-user-select:none;
	-moz-user-select:none;
	-khtml-user-select:none;
	-webkit-user-drag:none;
	-khtml-user-drag:none;
	user-select:none;

	-webkit-touch-callout:none;
	-moz-touch-callout:none;
	touch-callout:none;
}
strong {
	font-weight: 700;
}
a,
*:focus {
	outline: none;
}

/**
 * micro clearfix
 */
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after { clear: both; }

.clear {
	clear: both;
}


/**
 * anime
 */
.ani_ttl .char {
	position: relative;
	display: inline-block;
	overflow: hidden;
}
.ani_ttl .char span {
	display: inline-block;
	position: relative;
	transform: translateY(100%);
}
.ani_ttl.on .char span {
	transition: 0.8s transform ease-out;
	transform: translateY(0);
}

.ani_slideup {
	opacity:0;
	transform: translateY(15px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.ani_slideup.on {
	opacity:1;
	transform:translateY(0);
}

.ani_fade {
	opacity: 0;
	transition: opacity 2s ease-in-out;
}
.ani_fade.on {
	opacity:1;
}

.ani_blur {
	opacity:0;
	filter: blur(15px);
	transition: opacity 1s ease-in-out, filter 1s ease-in-out;
}
.ani_blur.on {
	opacity:1;
	filter: blur(0);
}

.ani_btn {
	transition: opacity .3s ease-in, transform .4s cubic-bezier(0.175, 0.885, 0.320, 1.275);
	transform: scale(0.8);
	opacity: 0;
}
.ani_btn.on {
	transform: scale(1);
	opacity: 1;
}


/**
 * contents
 */
html {
	font-size:62.5%;
}
body {
	background: #fff;
	text-align: left;
	font-family: 'Noto Sans JP', 'Arial', sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 2;
	color:#000;
	/*font-feature-settings:"palt";
	-webkit-font-smoothing: antialiased;*/
	-webkit-text-size-adjust:none;
	overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
	line-height:1.4;
}
a {
	color: #000;
	text-decoration: none;
}
.inner {
	box-sizing: border-box;
	max-width: 1220px;
	padding: 0 60px;
	margin: auto;
}
.an {
	font-family: 'Helvetica Neue', 'Helvetica', 'Noto Sans JP', 'Arial', sans-serif;
}
.tac {
	text-align: center;
}
.tal {
	text-align: left;
}
.tar {
	text-align: right;
}

@media only screen and (min-width:769px) {
	.sp {
		display:none !important;
	}
}
@media only screen and (min-width:374px) {
	.sp_s {
		display:none !important;
	}
}
@media only screen and (max-width:768px) {
	body {
		font-size:1.4rem;
	}
	.pc {
		display:none !important;
	}
	.inner {
		width: 100%;
		padding: 0 20px;
	}
}
/**/
@media print {
	.inner {
		width: 1000px;
	}
	.sp {
		display: none;
	}
	header,
	footer {
		display: none;
	}
	main .map {
		transition: none !important;
		filter: none !important;
	}
}


/**
 * header
 */
header {
	position: fixed;
	box-sizing: border-box;
	background-color: #F4F4F4;
	border-bottom: solid 1px #C9C9C9;
	width: 100%;
	padding-bottom: 27px;
	z-index: 10000;
	transition: transform 0.3s ease-out;
	transform: translateY(0);
}
header.off {
	transition: transform 0.2s ease-in;
	transform: translateY(-100%);
}
header .inner {
	max-width: 100%;
	height: 100%;
	padding: 0 2vw 0 4vw;
}
header .logo {
	float: left;
	padding-top: 2.44vw;
	width: 10vw;
}
header nav {
	float: right;
	width: calc(100% - 10vw);
	height: 100%;
}
header .gnav {
	box-sizing: border-box;
	display: flex;
	justify-content: center; /*flex-end 240227*/
	position: absolute;
	padding-right: 0; /* 2vw 240227*/
	bottom: 0;
	right: 0;
	width: 100%;
	font-size: 1.3rem;
	white-space: nowrap;
}
header .gnav li {
	line-height: 1.4;
	font-weight: 700;
}
header .gnav li a,
header .gnav li span {
	display: block;
	position: relative;
	padding-right: 1.5vw;
	padding-left: 1.5vw;
	border-left: solid 1px #C9C9C9;
	transition: color 0.3s;
}
header .gnav a.act,
header .gnav a:hover {
	color: #7C7C7C;
}
header .gnav li:first-child .pull > a,
header .gnav li:first-child .pull > span,
header .gnav .pull li:first-child a,
header .gnav .pull li:first-child  span {
	border: none;
}
header .gnav li.lang {
	padding: 0;
	border: none;
}
header .gnav li.lang a.act {
	color: #B9B9B9;
}
header .unav li.lang a.act {
	color: #B9B9B9;
}
header .gnav .an {
	font-size: 1.4rem;
	letter-spacing: 0.2em;
}
header .gnav .lang {
	margin-top: -0.2em;
	font-size: 1.6rem;
}
header .gnav .lang a,
header .gnav .lang span {
	display: inline-block;
	border: none;
	padding-right: 0;
}
header .gnav .lang a:last-child:nth-child(n+2),
header .gnav .lang span:last-child:nth-child(n+2) {
	padding: 0;
}
header .gnav .lang span {
	color: #707070;
}
/* .pull */
header .gnav .pull {
	padding-bottom: 20px;
}
header .gnav li .pull > a::before,
header .gnav li .pull > span::before {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -21px;
	width: 0;
	height: 0;
	margin: auto;
	border: solid 6px transparent;
	border-bottom: solid 10px #fff;
	opacity: 0;
	content: '';
}
/*header .gnav li .pull:hover > a::after,
header .gnav li .pull:hover > span::after,*/
/* 20240227 */
header .gnav li .pull.active > a::before,
header .gnav li .pull.active > span::before {
	transition: opacity 0.3s;
	opacity: 1; 
}
header .gnav .pull ul {
	display: none;
	box-sizing: border-box;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: rgba(255,255,255,0.92); /* #fff 20240227 */
	padding: 55px 0;
}
/*header .gnav .pull:hover ul,*/
/* 20240227 */
header .gnav .pull.active ul {
	display: block; 
}
header .gnav .pull li {
	display: inline-block;
}

header .unav {
	display: flex;
	justify-content: flex-end;
	position: absolute;
	right: 2vw;
	top: 20px;
	font-size: 1.3rem;
	font-weight: 700;
}
header .unav li {
	margin-left: 1vw;
}
header .btn_contact,
header .btn_login,
header .btn_search {
	display: inline-block;
	padding: 0 1.5vw;
	border: solid 1px #000;
	border-radius: 100px;
	background-color: #F4F4F4;
	transition: all 0.3s;
}
header .btn_login {
	background-color: #000;
	color: #fff;
}
header .btn_search {
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	background: #ccc url('../img/common/icon_search_w.svg') no-repeat center center / 10px;
}
header .btn_contact:hover,
header .btn_login:hover,
header .btn_search:hover {
	color: #fff;
	border-color: #ACACAC;
	background-color: #ACACAC;
}

header .search {
	position: absolute;
	display: none;
	top: 55px;
	right: 2vw;
}
header .search.act {
	display: block;
}
header .search input[type="text"] {
	width: 260px;
	padding: 8px 20px;
	vertical-align: top;
	padding-right: 90px;
	background-color: #ACACAC;
	font-size: 1.3rem;
}
header .search input[type="submit"] {
	position: absolute;
	display: block;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	min-width: auto;
	padding: 3px 15px;
	background-color: #fff;
	font-size: 1.2rem;
	color: #000;
	transition: all 0.3s;
}
header .search input[type="submit"]:hover {
	color: #454545;
	background-color: #C9C9C9;
}
@media only screen and (min-width:1920px) {
	header {
		height: 165px;
	}
	header .inner {
		padding: 0 38px 0 76px;
	}
	header .logo {
		padding-top: 47px;
		width: 200px;
	}
	header nav {
		width: calc(100% - 200px);
	}
	header .gnav {
		padding-right: 40px;
		font-size: 1.4rem;
	}
	header .gnav li a,
	header .gnav li span {
		padding-right: 30px;
		padding-left: 30px;
	}
	header .gnav .an {
		font-size: 1.4rem;
	}
	header .gnav .lang {
		font-size: 1.6rem;
	}
	/* .pull */
	header .gnav .pull {
		padding-bottom: 20px;
	}
	header .gnav li .pull:hover > a::after,
	header .gnav li .pull:hover > span::after {
		bottom: -20px;
	}
	header .gnav .pull ul {
		padding: 58px 0;
	}

	header .unav {
		right: 38px;
		top: 20px;
		font-size: 1.4rem;
	}
	header .unav li {
		margin-left: 20px;
	}
	header .btn_contact,
	header .btn_login,
	header .btn_search {
		padding: 0 30px;
		border-radius: 100px;
	}
	header .btn_search {
		width: 30px;
		height: 30px;
		padding: 0;
		background-size: 9px;
	}
	header .search {
		top: 60px;
		right: 38px;
	}
	header .search input[type="text"] {
		width: 300px;
		padding: 8px 15px;
		padding-right: 90px;
		font-size: 1.2rem;
	}
	header .search input[type="submit"] {
		right: 10px;
		padding: 5px 20px;
		font-size: 1.2rem;
	}
}
@media only screen and (max-width:1240px) {
	header {
		padding-bottom: 20px;
	}
	header .inner {
		padding: 0 2vw;
	}
	header .gnav {
		font-size: 1.1rem;
	}
	header .gnav .an {
		font-size: 1.2rem;
	}
	header .gnav .lang {
		font-size: 1.4rem;
	}
	header .gnav .pull {
		padding-bottom: 15px;
	}
	header .gnav li .pull > a::after,
	header .gnav li .pull > span::after {
		bottom: -16px;
	}
	header .gnav .pull ul {
		padding: 35px 0;
	}
	header .unav {
		font-size: 1.1rem;
	}
	header .btn_search {
		width: 25px;
		height: 25px;
		background-size: 7px;
	}
	header .search {
		top: 40px;
	}
	header .search input[type="text"] {
		font-size: 1.1rem;
	}
	header .search input[type="submit"] {
		font-size: 1.1rem;
	}
}
@media only screen and (max-width:980px) {
	header {
		padding-bottom: 20px;
	}
	header .gnav {
		font-size: 0.9rem;
	}
	header .gnav .an {
		font-size: 1rem;
	}
	header .gnav .lang {
		font-size: 1.2rem;
	}
	header .gnav .pull {
		padding-bottom: 12px;
	}
	header .gnav li a,
	header .gnav li span {
		padding-right: 1vw;
		padding-left: 1vw;
	}
	header .gnav li .pull > a::after,
	header .gnav li .pull > span::after {
		bottom: -11px;
	}
	header .gnav .pull ul {
		padding: 35px 0;
	}
	header .unav {
		top: 15px;
		font-size: 0.9rem;
	}
	header .btn_search {
		width: 22px;
		height: 22px;
		background-size: 7px;
	}
	header .search {
		top: 30px;
	}
	header .search input[type="text"] {
		font-size: 1rem;
	}
	header .search input[type="submit"] {
		font-size: 1rem;
	}
}
@media only screen and (max-width:768px) {
	header {
		height: 80px;
	}
	header .inner {
		padding: 17px 27px 9px 21px;
	}
	header .logo {
		padding: 0;
		width: 121px;
	}
	header nav {
		position: fixed;
		top: 0;
		left: 0;
		transform: translateY(-100%);
		float: none;
		width: 100vw;
		height: 100vh;
		background-color: #C9C9C9;
		transition: transform 0s ease 0.15s, opacity 0.15s ease-out;
		z-index: 10000;
		opacity: 0;
	}
	header nav.act {
		transition: transform 0s, opacity 0.3s ease-out;
		transform: translateY(0%);
		opacity: 1;
	}
	header nav .nav_inner {
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		padding: 28px 28px 0 28px;
		overflow: scroll;
		transform: translateY(15px);
		opacity: 0;
	}
	header nav.act .nav_inner {
		transition: all 0.5s ease-in-out 0.3s;
		transform: translateY(0);
		opacity: 1;
	}
	header .btn_close {
		position: fixed;
		top: 28px;
		right: 28px;
		width: 22px;
		height: 22px;
		z-index: 100;
	}
	header .btn_close::before,
	header .btn_close::after {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		margin: auto;
		background-color: #000;
		content: '';
	}
	header .btn_close::before {
		transform: rotate(-45deg);
	}
	header .btn_close::after {
		transform: rotate(45deg);
	}
	header .gnav {
		display: block;
		position: static;
		padding: 0;
		font-size: 1.4rem;
		white-space: normal;
	}
	header .gnav > li {
		margin: 30px 0;
	}
	header .gnav li a,
	header .gnav li span {
		padding: 0;
		border: none;
	}
	header .gnav a.act,
	header .gnav span.act {
		color: #fff;
	}
	header .gnav li.lang {
		padding: 0;
		border: none;
	}
	header .gnav .an {
		font-size: 1.4rem;
	}
	header .gnav .lang {
		display: none;
	}

	/* .pull */
	header .gnav .pull {
		display: flex;
		padding: 0;
	}
	header .gnav li .pull > a,
	header .gnav li .pull > span {
		box-sizing: border-box;
		display: block;
		width: 50%;
		padding-right: 1em;
		white-space: nowrap;
	}
	header .gnav li .pull:hover > a::after,
	header .gnav li .pull:hover > span::after {
		display: none;
	}
	header .gnav .pull ul {
		box-sizing: border-box;
		position: static;
		display: block; /* block !important 240228 */
		width: 50%;
		background: none;
		padding: 0;
		opacity: 1; /* 1 !important 240228 */
	}
	header .gnav .pull li {
		display: block;
		margin: 10px 0 0 0;
	}
	header .gnav .pull li:first-child {
		margin: 0;
	}
	header .gnav .pull li a,
	header .gnav .pull li span {
		font-weight: normal;
	}

	header .unav {
		position: static;
		margin: 40px -30px 0 -30px;
		right: 0;
		top: 0;
		font-size: 1.3rem;
		font-weight: 700;
	}
	header .unav li {
		width: 100%;
		margin-left: 0;
		text-align: center;
	}
	header .btn_contact,
	header .btn_login {
		display: block;
		padding: 10px 5px;
		border: none;
		border-radius: 0;
		border: 0;
	}
	header .btn_contact {
		background-color: #fff;
	}
	header .unav li:last-child {
		display: none;
	}

	header .policy {
		margin: 0 -30px;
		padding: 10px 0;
		background-color: #f4f4f4;
		text-align: center;
	}
	header .policy a {
		font-size: 1.2rem;
	}

	header .btn_menu {
		box-sizing: border-box;
		position: absolute;
		top: 20px;
		right: 18px;
		width: 40px;
		height: 40px;
		border: solid 1px #5C5C5C;
		border-radius: 1000px;
		cursor: pointer;
		transition: border 0.4s ease-in-out;
	}
	header .btn_menu:hover {
		border: solid 1px #ccc;
	}
	header .btn_menu span {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 3.5px;
		height: 3.5px;
		margin: auto !important;
		background-color: #4d4d4d;
		border-radius: 5px;
	}
	header .btn_menu span:nth-child(1) {
		left: -13px;
	}
	header .btn_menu span:nth-child(3) {
		right: -13px;
	}

	header .btn_search {
		box-sizing: border-box;
		position: absolute;
		top: 20px;
		right: 68px;
		width: 40px;
		height: 40px;
		background: #CCC url('../img/common/icon_search_w.svg') no-repeat center center / 12px;
		border-radius: 1000px;
		cursor: pointer;
		transition: border 0.4s ease-in-out;
	}
	header .search {
		position: absolute;
		display: none;
		top: 88px;
		right: 18px;
	}
	header .search.act {
		display: block;
	}
	header nav .search.act {
		display: none;
	} 
	header .search input[type="text"] {
		width: 300px;
		padding: 12px 15px;
		padding-right: 80px;
		font-size: 1.2rem;
	}
	header .search input[type="submit"] {
		top: 50%;
		right: 10px;
		padding: 3px 15px;
		font-size: 1.2rem;
	}
}


/**
 * footer
 */
footer {
	position: relative;
	background-color: #F4F4F4;
	border-top: solid 1px #C9C9C9;
}
footer .inner {
	max-width: 2040px;
}
footer .pagetop {
	position: absolute;
	top: -25px;
	right: 1vw;
	width: 50px;
	height: 50px;
	background-color: #f4f4f4;
	border: solid 1px #c9c9c9;
	border-radius: 50px;
	font-size: 1.2rem;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s;
}
footer .pagetop:hover {
	border-color: #ddd;
	color: #c7c7c7;
}
footer .pagetop::before {
	display: block;
	width: 10px;
	height: 6px;
	margin: 15px auto 3px auto;
	background: url('../img/common/icon_arrow_b.svg') no-repeat center center / contain;
	transform: rotate(-90deg);
	content: '';
	transition: all 0.3s;
}
footer .pagetop:hover::before {
	opacity: 0.4;
}
footer .inner {
	display: flex;
	justify-content: space-between;
	padding-top: 130px;
	padding-bottom: 75px;
}
footer h2 {
	width: 16.146vw;
}
footer a {
	transition: color 0.3s;
}
footer a:hover {
	color: #7C7C7C;
}
footer a[target="_blank"]::after {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 0.3em;
	background: url('../img/common/icon_blank_b.svg') no-repeat center center / contain;
	content: '';
}
footer nav {
	display: flex;
	justify-content: space-between;
}
footer nav a {
	display: inline-block;
}
footer nav > * {
	margin: 0 2vw;
}
footer nav ul + ul {
	margin-top: 1em;
}
footer nav li {
	font-size: 1.2rem;
}
footer nav h3 {
	margin-bottom: 1.5em;
	font-weight: 700;
	font-size: 1.4rem;
}
footer nav .an {
	letter-spacing: 0.2em;
}
footer nav .icon_tw {
	padding-left: 1.8em;
	background: url('../img/common/icon_tw.svg') no-repeat left 0.5em / auto 1em;
}
footer nav .icon_insta {
	padding-left: 1.8em;
	background: url('../img/common/icon_insta.svg') no-repeat left 0.5em / auto 1em;
}
footer nav .icon_tw::after,
footer nav .icon_insta::after {
	display: none !important;
}
footer .foot {
	border-top: solid 1px #C9C9C9;
}
footer .foot .inner {
	display: flex;
	justify-content: space-between;
	max-width: 100%;
	padding: 20px 3vw;
	font-size: 1.2rem;
}
footer .copy {
	font-weight: 300;
}
footer .foot li {
	display: inline-block;
	margin-left: 30px;
}
@media only screen and (min-width:1920px) {
	footer .inner {
		max-width: 2040px;
	}
	footer .pagetop {
		top: -25px;
		right: 20px;
		width: 50px;
		height: 50px;
		border-radius: 50px;
		font-size: 12px;
	}
	footer .pagetop::before {
		width: 10px;
		height: 6px;
		margin: 16px auto 1px auto;
	}
	footer .inner {
		padding-top: 145px;
		padding-bottom: 74px;
	}
	footer h2 {
		width: 310px;
	}
	footer nav > * {
		margin: 0 40px;
	}
	footer nav ul + ul {
		margin-top: 30px;
	}
	footer nav li {
		font-size: 1.3rem;
	}
	footer nav h3 {
		font-size: 1.4rem;
	}
	footer .foot .inner {
		padding: 20px 60px;
		font-size: 1.2rem;
	}
	footer .foot li {
		margin-left: 50px;
	}
}
@media only screen and (max-width:1340px) {
	footer .pagetop {
		font-size: 1.1rem;
	}
	footer .inner {
		padding: 80px 30px 50px 30px;
	}
	footer nav > * {
		margin: 0 20px;
	}
	footer nav ul + ul {
		margin-top: 20px;
	}
	footer nav li {
		font-size: 1.1rem;
	}
	footer nav h3 {
		font-size: 1.2rem;
	}
	footer .foot .inner {
		font-size: 1.1rem;
	}
	footer .foot li {
		margin-left: 10px;
	}
}
@media only screen and (max-width:1050px) {
	footer .pagetop {
		font-size: 1rem;
	}
	footer .inner {
		padding: 80px 20px 50px 20px;
	}
	footer nav > * {
		margin: 0 10px;
	}
	footer nav ul + ul {
		margin-top: 20px;
	}
	footer nav li {
		font-size: 0.9rem;
	}
	footer nav h3 {
		font-size: 1rem;
	}
	footer .foot .inner {
		font-size: 0.9rem;
	}
	footer .foot li {
		margin-left: 10px;
	}
}
@media only screen and (max-width:768px) {
	footer {
		padding-top: 100px;
		padding-bottom: 10px;
	}
	footer .pagetop {
		position: absolute;
		top: -25px;
		left: 0;
		right: 0;
		width: 50px;
		height: 50px;
		margin: auto;
		border-radius: 50px;
		font-size: 1.2rem;
	}
	footer .pagetop::before {
		width: 10px;
		height: 6px;
		margin: 16px auto 2px auto;
	}
	footer .inner {
		display: block;
		padding-top: 0;
		padding-bottom: 0;
	}
	footer h2 {
		width: 225px;
		margin: auto;
	}
	footer h2 img {
		width: 100%;
		margin-left: 3px;
	}
	footer nav {
		display: block;
		margin: 70px 0 30px 0;
	}
	footer nav > * {
		margin: 0;
		text-align: center;
	}
	footer nav ul + ul {
		margin-top: 0;
	}
	footer nav li {
		display: inline-block;
		margin: 0 1em;
		font-size: 1.3rem;
	}
	footer .foot {
		border-top: none;
	}
	footer .foot .inner {
		display: block;
		padding: 0;
	}
	footer .copy {
		text-align: center;
		font-size: 2.5vw;
	}
	footer .foot ul {
		display: none;
	}
	footer .foot li {
		display: inline-block;
		margin-left: 2.5vw;
	}
}
@media only screen and (min-width:415px) {
	footer .copy {
		font-size: 1rem;
	}
}


/**
 * .scroll
 */
main .scroll .scroll_inner {
	padding-right: 2vw;
}
.jspVerticalBar {
	background: transparent;
	width: 0.5vw;
}
.jspVerticalBar .jspTrack {
	width: 1px;
	background: #C9C9C9;
}
.jspDrag {
	margin: auto;
	background: #000;
	border-radius: 0.5vw;
}
.jspVerticalBar .jspDrag {
	width: 0.5vw !important;
	left: -0.25vw;
}
.jspHorizontalBar {
	display: none;
}
@media only screen and (min-width:1920px) {
	main .scroll .scroll_inner {
		padding-right: 30px;
	}
	.jspVerticalBar {
		width: 10px;
	}
	.jspDrag {
		border-radius: 10px;
	}
	.jspVerticalBar .jspDrag {
		width: 10px !important;
		left: -4.5px;
	}
}
@media only screen and (max-width:768px) {
	main .scroll .scroll_inner {
		padding-right: 30px;
	}
	.jspVerticalBar {
		width: 6px;
	}
	.jspDrag {
		border-radius: 10px;
	}
	.jspVerticalBar .jspDrag {
		width: 6px !important;
		left: -3px;
	}
}

/**
 * .nowrap : 
 */
.nowrap {
	white-space: nowrap;
}


/**
 * .btn_link : ボタン
 */
.btn_link,
.btn_link_inv {
	box-sizing: border-box;
	display: inline-block;
	padding: 0 20px;
	min-width: 200px;
	border-radius: 100px;
	background-color: #000;
	text-align: center;
	text-decoration: none;
	font-size: 1.3rem;
	font-weight: 700;
	color: #fff;
	transition: all 0.3s;
}
.btn_link:hover {
	background-color: #ACACAC !important;
	color: #fff !important;
}
.btn_link_inv {
	background-color: #fff !important;
	color: #505050 !important;
}
.btn_link_inv:hover {
	background-color: #C9C9C9 !important;
	color: #505050 !important;
}
.btn_link[target="_blank"]::after {
	margin-right: 0;
	background-image: url('../img/common/icon_blank_w.svg');
}
.btn_link_inv[target="_blank"]::after {
	margin-right: 0;
	background-image: url('../img/common/icon_blank_g.svg');
}

/**
 * .btn_circle : 丸ボタン
 */
.btn_circle {
	display: inline-block;
	position: relative;
	width: 25px;
	height: 25px;
	margin: 0 0.5em;
	background-color: transparent;
	border: solid 1px #000;
	border-radius: 100%;
	vertical-align: middle;
	overflow: hidden;
	transition: all 0.3s;
}
a:hover .btn_circle,
.btn_circle:hover {
	opacity: 0.5;
	transform: scale(1.15);
}
.btn_circle span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 35%;
	height: 20%;
	background: url('../img/common/icon_arrow_b.svg') no-repeat center center / contain;
	content: '';
	transition: all 0.3s;
}
.btn_circle.up span {
	transform: translate(-50%, -50%) rotate(-90deg);
}
.btn_circle.down span {
	transform: translate(-50%, -50%) rotate(90deg);
}
.btn_circle.right span {
	transform: translate(-50%, -50%) rotate(-180deg);
}
/* .btn_pdf : PDFボタン　*/
.btn_pdf {
	box-sizing: border-box;
	display: inline-block;
	position: relative;
	width: 260px;
	max-width: 100%;
	background: #fff;
	padding: 1px 25px;
	text-decoration: none;
	text-align: center;
	transition: background 0.3s;
}
.btn_pdf:hover {
	background-color: #C9C9C9;
}
.btn_pdf::before {
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	left: 12px;
	width: 13px;
	height: 13px;
	margin: auto;
	background: url('../img/common/icon_pdf_b.svg') no-repeat center center / contain !important;
	content: '';
}
.btn_pdf::after {
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	right: 12px;
	width: 12px;
	height: 12px;
	margin: auto !important;
	background: url('../img/common/icon_dl.svg') no-repeat center center / contain !important;
	content: '';
}

/* .btn_back : 戻るボタン　*/
.btn_back {
	display: inline-block;
	margin-top: 5em;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.3em;
	transition: color 0.3s;
}
.btn_back:hover {
	color: #999;
}
.btn_back .btn_circle {
	margin: 0 15px 0 0;
}


/**
 * main
 */
main {
	background-color: #f4f4f4;
	padding-top: 1px;
	padding-bottom: 100px;
	opacity: 0;
}
main h1,
main h2,
main h3,
main h4,
main h5 {
	font-weight: 700;
}
/* .ttl : タイトル */
main h1.ttl {
	position: relative;
	margin: 0 0 80px 0;
	font-size: 2rem;
}
main h1.ttl + .read {
	margin-bottom: 3rem;
	font-size: 1.4rem;
}
/*main .column-body h1.ttl{
	margin-bottom: 20px;
}*/
.sns-buttons {
	display: flex;
	margin-bottom: 70px;
}
.sns-buttons.sns-buttons-bottom {
	margin-top: 70px;
	margin-bottom: 60px;
}
.sns-buttons a {
	width: 100px;
	display: inline-block;
	margin-right: 10px;
}
main .mv + .inner h1.ttl:first-child {
	margin: -90px 0 60px 0;
} 
main .mv + .inner h1.ttl:first-child span {
	display: inline-block;
	background-color: #f4f4f4;
	padding: 30px 50px;
}
main h2.ttl {
	margin: 2.5em 0 0 0;
	font-size: 2rem;
}
main h3.ttl {
	margin: 2.5em 0 0 0;
	font-size: 1.6rem;
}
main h4.ttl {
	margin: 2.5em 0 0 0;
	font-size: 1.4rem;
}
main h2.ttl:first-child,
main h3.ttl:first-child,
main h4.ttl:first-child {
	margin-top: 0;
}
main h2.ttl + *,
main h3.ttl + *,
main h4.ttl + * {
	margin-top: 1.5em !important;
}
@media only screen and (max-width:768px) {
	main h1.ttl {
		margin: 0 0 40px 0;
	}
	main .mv + .inner h1.ttl:first-child {
		margin: 40px 0;
	}
	main h1.ttl + .read {
		margin-top: 30px;
	}
	main .mv + .inner h1.ttl:first-child span {
		background: none;
		padding: 0;
	}
}

/* a : リンク */
main a {
	text-decoration: underline;
	transition: color 0.3s;
}
main a:hover {
	text-decoration: none;
	color: #7C7C7C;
}
main a[target="_blank"]::after {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 0.3em;
	background: url('../img/common/icon_blank_b.svg') no-repeat center center / contain;
	content: '';
}
main a.icon_pdf::after {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 0.3em;
	background: url('../img/common/icon_pdf_b.svg') no-repeat center center / contain;
	content: '';
}

/* p, .small, .note : 本文 */
main p + p {
	margin-top: 2em;
}
main .small {
	font-size: 0.86em;
}
main .note {
	position: relative;
	padding-left: 1.2em;
	font-size: 0.86em;
}
main p + .note {
	margin-top: 1em;
}
main .note::before {
	position: absolute;
	left: 0;
	content: '＊';
}

/* li : 本文 */
main li {
	margin-bottom: 0.5em;
}

/* .btns : ボタン群 */
main .btns {
	margin: 3em 0;
}

/* .mt_l : 大きめのマージン */
main .mt_l {
	margin-top: 7em !important;
}

/* .mv : メインビジュアル */
main .mv {
	height: 480px;
	overflow: hidden;
}
main .mv > div {
	width: 100%;
	height: 100%;
	background: no-repeat center center / cover;
	/*opacity: 0;
	transform: scale(1.1);
}
main .mv.on > div {
	transition: all 1.5s ease-out;
	opacity: 1;
	transform: scale(1);*/
}
@media only screen and (max-width:768px) {
	main .mv {
		height: 100vw;
		max-height: 480px;
	}
}

/* .breadcrumbs : パンクズリスト */
main .breadcrumbs {
	margin: 40px 0 70px 0;
}
main .breadcrumbs ol {
	white-space: nowrap;
	overflow: auto;
}
main .breadcrumbs li {
	position: relative;
	display: inline-block;
	margin: 0;
	font-size: 1.2rem;
	vertical-align: bottom;
}
main .breadcrumbs li::before {
	display: inline-block;
	position: relative;
	top: -1px;
	width: 5px;
	height: 5px;
	margin: 0 15px 0 10px;
	border-top: solid 1px #9B9B9B;
	border-right: solid 1px #9B9B9B;
	transform: rotate(45deg);
	content: '';
}
main .breadcrumbs li a {
	text-decoration: none;
}
main .breadcrumbs li:first-child::before {
	display: none;
}
main .breadcrumbs li:first-child a {
	display: block;
	overflow: hidden;
	width: 14px;
	background: url('../img/common/icon_home.svg') no-repeat center center / contain;
	text-indent: 120%;
	white-space: nowrap;
}
main .breadcrumbs li:last-child {
	font-weight: 700;
}
@media only screen and (max-width:768px) {
	main .breadcrumbs {
		margin: 20px 0 30px 0;
	}
}

/* .tab, .anchor : タブ、アンカー */
main .tab,
main .anchor {
	margin: 3em 0;
}
main .tab ul,
main .anchor ul {
	display: flex;
	flex-wrap: wrap;
}
main .tab li,
main .anchor li {
	margin: 5px 0;
	border-left: solid 1px #E5E5E5;
	text-align: center;
}
main .tab li:last-child,
main .anchor li:last-child {
	border-right: solid 1px #E5E5E5;
}
main .tab a,
main .anchor a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 15px 2vw;
	line-height: 1.4;
	text-decoration: none;
	transition: background 0.3s;
}
main .tab a:hover,
main .anchor a:hover,
main .tab a.act,
main .anchor a.act {
	background-color: #fff;
}
main .anchor a::after {
	display: inline-block;
	width: 6px;
	height: 10px;
	margin-left: 1em;
	background: url('../img/common/icon_anchor.svg') no-repeat center center / contain;
	content: '';
}

/* .links : リンクリスト */
main .links {
	margin: 3em 0;
}
main .links li {
	margin: 1em 0;
}
main .links li a {
	text-decoration: none;
}

/* .box : 囲いコンテンツ */
main .box {
	margin: 3em 0;
	padding: 30px 35px;
	background-color: #fff;
}
@media only screen and (max-width:768px) {
	main .box {
		padding: 15px 20px;
	}
}

/* ol.styled, ul.styled : リスト　*/
main ol.styled,
main ul.styled {
	position: relative;
	margin: 3em 0;
	padding-left: 1.8em;
	list-style: none; 
}
main ol.styled:first-child,
main ul.styled:first-child {
	margin: 0;
}
main ol.styled {
	counter-reset: list-count; 
}
main ol.styled > li,
main ul.styled > li {
	float: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 0 0.5em 0 !important;
}
main ol.styled > li::before {
	position: absolute;
	left: 0;
	font-weight: 700;
	content:counter(list-count) '.';
	counter-increment: list-count;
}
main ul.styled > li::before {
	position: absolute;
	left: 0.3em;
	font-weight: 700;
	content: '·';
}
@media only screen and (max-width:768px) {
	main ol.styled,
	main ul.styled {
		margin: 30px 0;
	}
	main ol.styled > li + li,
	main ul.styled > li + li {
		margin: 15px 0 0 0 !important;
	}
}

/* .image, .img_l, .img_r, .col2, .col3 : 画像、カラム表示 */
main .image,
main .img_l,
main .img_r,
main .col2 {
	margin: 3em 0;
}
main .col3 {
	margin: 3em -16px;
}
main .col2:before, main .col2:after,
main .col3:before, main .col3:after,
main .img_l:before, main .img_l:after,
main .img_r:before, main .img_r:after {
	content: "";
	display: table;
}
main .col2:after,
main .col3:after,
main .img_l:after,
main .img_r:after {
	clear: both;
}
main .col2 .image,
main .col3 .image {
	margin-top: 0;
}
main figure img {
	width: 100%;
}
main figcaption,
main .cap {
	margin-top: 1.5em;
	text-align: center;
	font-size: 0.86em;
}
main .image p {
	margin-top: 1.5em;
}
main .col2 > *,
main .col3 > *,
main .img_l > *,
main .img_r > * {
	box-sizing: border-box;
	float: left;
	width: 50%;
}
main .img_l > .txt,
main .img_r > figure {
	float: right;
}
main .col2 > *:nth-child(odd),
main .img_l > figure, 
main .img_r > .txt {
	padding: 0 16px 0 0;
}
main .col2 > *:nth-child(even),
main .img_r > figure,
main .img_l > .txt {
	padding: 0 0 0 16px;
}
main .col3 > * {
	width: 33.333%;
	padding: 0 16px;
}
@media only screen and (max-width:768px) {
	main .col2 > *,
	main .img_l > *,
	main .img_r > *,
	main .img_l > .txt,
	main .img_r > figure {
		float: none;
		width: 100%;
	}
	main .col2 > *:nth-child(odd),
	main .col2 > *:nth-child(even),
	main .img_l > figure, 
	main .img_r > figure,
	main .img_l > .txt,
	main .img_r > .txt {
		padding: 0;
	}
	main .img_l > .txt,
	main .img_r > .txt {
		margin-top: 1em;
	}

	main .col3 {
		margin: 3em -8px;
	}
	main .col3 > * {
		width: 50%;
		padding: 0 8px;
	}
}

/* table.styled : 表組 */
main table.styled {
	margin: 3em 0;
	width: 100%;
}
main table.styled th,
main table.styled td {
	padding: 10px 15px;
	border: solid 1px #e5e5e5;
	text-align: center;
	vertical-align: middle;
}
main table.styled.tal td,
main table.styled.tal td th {
	text-align: left;
}
main table.styled th {
	background-color: #fff;
	font-weight: 700;
	white-space: nowrap;
}
main table.styled .ttl {
	font-weight: 700;
}
main table.styled.border tr:nth-child(odd) td {
	background-color: #EDEDED;
}
main table.styled td th,
main table.styled td td {
	padding: 3px 25px 3px 0;
	border: none;
	vertical-align: top;
}
main table.styled td th {
	background-color: transparent;
}
main .table_max {
	overflow: scroll;
	margin: 3em 0;
}
main .table_max > table {
	min-width: 1100px;
	margin: 0 0 1em 0;
}
@media only screen and (max-width:768px) {
	main .table_box {
		overflow: scroll;
		margin: 3em 0;
	}
	main .table_box > table {
		min-width: 800px;
		margin: 0 0 1em 0;
	}
}

/**
 * table.styled_s : 文中表組
 */
main table.styled_s {
	margin: 1em 0 2em 0;
}
main table.styled_s th,
main table.styled_s td {
	padding: 1px 2em 1px 0;
}

/**
 * main iframe[title="YouTube video player"] : YouTube iframe
 */
main iframe[allowfullscreen="allowfullscreen"] {
	display: block;
	width: 720px;
	max-width: 100%;
	margin: auto;
}

#newsBody p > img {
	display: block;
	margin: auto;
}

/* .news : news一覧 */
main .news {
	margin: 3em 0;
}
main .news li:nth-child(odd) {
	background-color: #EFEFEF;
}
main .news li a,
main .news li > div {
	display: flex; 
	padding: 60px 35px;
	text-decoration: none;
}
main .news a[target="_blank"]::after,
main .news a.icon_pdf::after {
	display: none;
}
main .news li a[target="_blank"] p::after {
	display: inline-block;
	position: relative;
	top: 0.1em;
	width: 1em;
	height: 1em;
	margin-left: 0.5em;
	background: url('../img/common/icon_blank_b.svg') no-repeat center bottom / contain;
	content: '';
}
main .news li a.icon_pdf p::after {
	display: inline-block;
	width: 1em;
	height: 1em;
	background: url('../img/common/icon_pdf_b.svg') no-repeat center center / contain;
	content: '';
}
main .news li time {
	min-width: 150px;
}
main .news li p {
	width: 100%;
	margin-top: 0;
}
@media only screen and (max-width:768px) {
	main .news li a,
	main .news li div {
		display: block; 
		padding: 30px 25px;
	}
	main .news li p {
		margin-top: 0.5em;
	}
}

/* .select : プルダウンセレクト */
main .select {
	text-align: right;
	margin: 1em 0 2em 0;
}
main .read + .select {
	margin-top: -4em;
}
main .read + .select.l2 {
	margin-top: -6em;
}
main .select + * {
	margin-top: 1em;
}
main .select > div {
	display: inline-block;
	position: relative;
	text-align: left;
	z-index: 100;
}
main .select h3 {
	padding: 15px 25px;
	background-color: #EFEFEF;
	cursor: pointer;
	transition: background 0.3s;
}
main .select h3 .btn_circle {
	margin-left: 35px;
}
main .select > div:hover .btn_circle {
	opacity: 0.5;
}
main .select.act .btn_circle span {
	transform: translate(-50%, -50%) rotate(-90deg);
}
main .select ul {
	position: absolute;
	min-width: 100%;
	padding: 10px 0;
	background-color: #fff;
}
main .select li {
	margin: 0;
}
main .select li a {
	box-sizing: border-box;
	display: block;
	padding: 5px 25px;
	text-decoration: none;
}
main .select li a:hover {
	opacity: 0.5;
}
@media only screen and (max-width:768px) {
	main .read + .select {
		margin-top: 1em;
	}
	main .select > div {
		display: block;
	}
	main .select h3 {
		position: relative;
	}
	main .select h3 .btn_circle {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		margin: auto;
	}
}

/* .index : ページリンク */
main .index {
	margin: 80px 0;
}
main .index ul {
	display: flex;
}
main .index li {
	width: 100%;
	margin-top: 0 !important;
	border-left: solid 1px #E5E5E5;
}
main .index li:last-child {
	border-right: solid 1px #E5E5E5;
}
main .index a {
	padding: 90px 10px 60px 10px;
	display: block;
	text-align: center;
	text-decoration: none;
}
main .index a[target="_blank"]::after {
	width: 20px;
	height: 20px;
	margin-top: 2em;
}
main .index a + p {
	display: none;
}
main .index h3 {
	margin-bottom: 70px;
	font-weight: 700;
}
main .index h4 {
	width: 75%;
	margin: 0 auto 20px auto;
	line-height: 1.6;
	font-size: 1.2rem;
	font-weight: 300;
}
main .index a h3,
main .index a h4 {
	transition: opacity 0.3s;
}
main .index a:hover h3,
main .index a:hover h4 {
	opacity: 0.5;
}
@media only screen and (max-width:768px) {
	main .index {
		margin: 60px 0;
	}
	main .index ul {
		display: block;
	}
	main .index li {
		width: 100%;
		border: none;
		border-top: solid 1px #E5E5E5;
	}
	main .index li:last-child {
		border-right: none;
		border-bottom: solid 1px #E5E5E5;
	}
	main .index a {
		padding: 40px 10px 40px 10px;
	}
	main .index h3 {
		margin-bottom: 40px;
	}
	main .index h4 {
		margin-bottom: 25px;
	}
}

/**
 * .exhibition_list : 写真展リスト
 */
main .exhibition_list {
	margin: 50px -12.5px 3em -12.5px;
}
main .exhibition_list li {
	box-sizing: border-box;
	float: left;
	width: 33.333%;
	padding: 0 12.5px;
}
main .exhibition_list li:nth-child(3n+1) {
	clear: both;
}
main .exhibition_list li:nth-child(n+4) {
	margin-top: 70px;
}
main .exhibition_list li a {
	display: block;
	text-decoration: none;
	text-align: center;
	transition: opacity 0.3s;
}
main .exhibition_list li a:hover {
	opacity: 0.5;
}
main .exhibition_list figure {
	background: no-repeat center center / contain;
}
main .exhibition_list figure::before {
	display: block;
	padding-top: 100%;
	content: '';
}
main .exhibition_list h2 {
	margin: 1.5em 0 0 0;
	font-weight: 700;
	font-size: 1.6rem;
}
main .exhibition_list h3 {
	display: block;
	margin: 1.5em 0 0 0;
	font-weight: 700;
}
main .exhibition_list .label {
	width: 140px;
	max-width: 100%;
	margin: 1.5em auto 0 auto;
	padding: 2px 10px;
	background-color: #fff;
	font-weight: 700;
	font-size: 1.2rem;
}
main .exhibition_list .label.end {
	background-color: #EDEDED;
}
@media only screen and (max-width:768px) {
	main .exhibition_list {
		margin: 20px 0 3em 0;
	}
	main .exhibition_list li {
		float: none;
		width: 100%;
		padding: 0;
	}
	main .exhibition_list li:nth-child(n+2) {
		margin-top: 30px;
	}
}

/**
 * .exhibition_detail : 写真展詳細
 */
main .exhibition_detail {
	margin: 80px 0 3em 0;
}
main .exhibition_detail .photo {
	text-align: center;
}
main .exhibition_detail .photo img {
	width: auto;
	max-height: 1100px;
	margin: 1em 0;
}
main .exhibition_detail .photo img:first-child {
	margin-top: 0;
}
main .exhibition_detail h1 {
	margin: 1.5em 0 0 0;
	text-align: center;
	font-weight: 700;
	font-size: 2rem;
}
main .exhibition_detail h2 {
	display: block;
	margin: 1.5em 0 0 0;
	text-align: center;
	font-weight: 700;
	font-size: 1.6rem;
}
main .exhibition_detail .col2 {
	margin-top: 3em;
}
main .exhibition_detail .col2 > *:nth-child(odd) {
	padding: 0 32.5px 0 0;
}
main .exhibition_detail .col2 > *:nth-child(even) {
	padding: 0 0 0 32.5px;
}
main .exhibition_detail .col2 th,
main .exhibition_detail .col2 td {
	padding: 5px 0 5px 0;
}
main .exhibition_detail .col2 th {
	white-space: nowrap;
	padding-right: 2em;
}
@media only screen and (max-width:768px) {
	main .exhibition_detail {
		margin: 30px 0 3em 0;
	}
	main .exhibition_detail .photo img {
		max-height: 100vw;
	}
	main .exhibition_detail .col2 > *:nth-child(odd),
	main .exhibition_detail .col2 > *:nth-child(even) {
		padding: 0;
	}
	main .exhibition_detail .col2 th {
		padding: 10px 2em 0 0;
	}
	main .exhibition_detail .col2 td {
		padding: 10px 0 0 0;
	}
}

/**
 * .magazine_list : 写真展リスト
 */
main .magazine_list {
	margin: 50px -32px 3em -32px;
}
main .magazine_list li {
	box-sizing: border-box;
	float: left;
	width: 25%;
	padding: 0 32px;
}
main .magazine_list li:nth-child(4n+1) {
	clear: both;
}
main .magazine_list li:nth-child(n+5) {
	margin-top: 55px;
}
main .magazine_list li figure {
	background: no-repeat center center / contain;
}
main .magazine_list li figure::before {
	display: block;
	padding-top: 145%;
	content: '';
}
main .magazine_list h2 {
	margin: 1.5em 0 0 0;
	font-weight: 700;
	font-size: 1.6rem;
}
main .magazine_list .scroll {
	margin: 1em 0 0 0;
	height: 170px;
	overflow: hidden;
}
main .magazine_list .btn_pdf {
	margin: 1em 0 0 0;
	width: 100%;
}
@media only screen and (max-width:768px) {
	main .magazine_list {
		margin: 20px 0 3em 0;
	}
	main .magazine_list li {
		float: none;
		width: 100%;
		padding: 0;
	}
	main .magazine_list li:nth-child(n+2) {
		margin-top: 45px;
	}
	main .magazine_list .scroll {
		height: 150px;
	}
	main .magazine_list .btn_pdf {
		margin: 2em 0 0 0;
	}
}

/* .school_lists : 授業実施校一覧 */
main .school_list table {
	width: 100%;
}
main .school_list th,
main .school_list td {
	padding: 26px 0.5em;
}
main .school_list tr:nth-child(odd) {
	background-color: #fff;
}
main .school_list tr:nth-child(even) {
	background-color: #EFEFEF;
}
main .school_list tr:first-child {
	background-color: transparent;
}
main .school_list th:first-child,
main .school_list td:first-child {
	padding-left: 20px;
}
main .school_list th:last-child,
main .school_list td:last-child {
	padding-right: 20px;
}
main .school_list a.icon_pdf {
	white-space: nowrap;
}
@media only screen and (max-width:768px) {
	main .school_list {
		overflow: auto;
	}
	main .school_list table {
		min-width: 800px;
		margin: 0 0 1em 0;
	}
}
/* .order_link : あいうえを別のリンクなど */
main .order_link {
	margin: 2em 0 0 0;
}
main .order_link a {
	text-decoration: none;
}
main .order_link > *:first-child {
	letter-spacing: 0.3em;
}
@media only screen and (max-width:768px) {
	main .order_link .an {
		display: block;
	}
}

/* .member_list : 授業実施校一覧 */
main .member_list .an {
	letter-spacing: 0.3em;
	line-height: 1.4;
}
main .member_list a {
	position: relative;
	display: block;
	text-decoration: none;
}
main .member_list a::before {
	content: attr(href);
}
main .member_list a[target="_blank"]::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	background: url('../img/common/icon_blank_b0.svg') no-repeat center center / contain;
}
main .member_list table {
	width: 100%;
}
main .member_list tr {
	border-bottom: solid 1px #C1C1C1;
}
main .member_list th {
	padding: 25px 1em;
}
main .member_list td {
	padding: 30px 1em;
}
main .member_list td:nth-child(2) {
	font-weight: 700;
}
main .member_list th:first-child,
main .member_list td:first-child {
	padding-left: 0;
}
main .member_list th:last-child,
main .member_list td:last-child {
	padding-right: 20px;
}
@media only screen and (max-width:768px) {
	main .member_list {
		overflow: auto;
	}
	main .member_list table {
		min-width: 800px;
		margin: 0 0 1em 0;
	}
}

/**
 * .column_list : APAコラム 220614追加
 */
main .column_list {
	margin: 50px -12.5px 5em -12.5px;
}
main .column_list li {
	box-sizing: border-box;
	float: left;
	width: 33.333%;
	padding: 0 12.5px;
}
main .column_list li:nth-child(3n+1) {
	clear: both;
}
main .column_list li:nth-child(n+4) {
	margin-top: 70px;
}
main .column_list li a {
	display: block;
	text-decoration: none;
	text-align: left;
	transition: opacity 0.3s;
}
main .column_list li a:hover {
	opacity: 0.5;
}
main .column_list figure {
	background: no-repeat center center / contain;
	background-color: #EFEFEF;
	margin-bottom: 1rem;
}
main .column_list figure::before {
	display: block;
	padding-top: 100%;
	content: '';
}
main .column_list li a span {
	border:1px #000 solid;
	padding:0.05rem 2rem;
	font-size:1.2rem;
	font-weight: bold;
	display:inline-block;
	margin-bottom:1rem;
}
main .column_list h2 {
	font-weight: 500;
	font-size: 1.6rem;
}
main .column_list h3 {
	display: block;
	margin: 1.5em 0 0 0;
	font-weight: 700;
}
main .column_list .label {
	width: 140px;
	max-width: 100%;
	margin: 1.5em auto 0 auto;
	padding: 2px 10px;
	background-color: #fff;
	font-weight: 700;
	font-size: 1.2rem;
}
main .column_list .label.end {
	background-color: #EDEDED;
}
main .column .page-numbers {
	text-align: center;
}
main .column .page-numbers li {
	display:inline-block;
}
main .column .page-numbers li > * {
	text-decoration: none;
	padding:0.5rem 1.2rem;
	margin:0 3px;
}
main .column .page-numbers li .prev,
main .column .page-numbers li .next {
	background:transparent;
	padding:0;
	margin:0;
	position:relative;
	top:5px;
}
main .column .page-numbers li a {
	background:#E5E5E5;
	transition: opacity 0.3s;
}
main .column .page-numbers li a:hover{
	opacity: 0.5;
}
main .column .page-numbers li span.current {
	background:#fff;
	font-weight: bold;
}
@media only screen and (max-width:768px) {
	main .column_list {
		margin: 20px 0 3em 0;
	}
	main .column_list li {
		float: none;
		width: 100%;
		padding: 0;
	}
	main .column_list li:nth-child(n+2) {
		margin-top: 30px;
	}
}

main.column-detail > .inner {
	display:flex;
	justify-content: space-between;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
main.column-detail .column-body,
main.column-detail .column-related {
	max-width: 750px;
	width: 100%;
}
main.column-detail .column-sidebar {
	max-width:300px;
	width: 100%;
}
main.column-detail .column-body .eyecatch {
	height:450px;
	width:100%;
	background: no-repeat center center / contain;
    background-color: #EFEFEF;
}
main.column-detail .column-body table {
	margin: 0 0 3em;
}
main.column-detail .column-body table th{
	font-weight: 300;
	background-color: transparent;
}
main.column-detail .column-body table th,
main.column-detail .column-body table td {
	border: 0;
	text-align: left;
	padding: 20px 15px;
}
main.column-detail .column-body table td {
	background: #EFEFEF;
}
main.column-detail .column-body table tr:nth-child(even) td {
	background: #fff;
}
main.column-detail .column-body p img,
main.column-detail .column-body p iframe {
	max-width: 500px;
}
.column-meta {
	margin:26px 0 8px;
}
.column-lead {
	font-weight: bold;
}
.column-series {
	font-size:1.8rem;
	font-weight: 500;
}
.column-category,
.column-author {
	font-size:1.2rem;
}
main.column-detail h3.ttl {
	font-size:1.8rem;
}
main.column-detail h4.ttl {
	font-size:1.6rem;
}
main.column-detail .column-sidebar {
	border-top:1px #E4E4E4 solid;
	border-bottom:1px #E4E4E4 solid;
	padding:5rem 0;
}
main.column-detail .column-sidebar .sidebar-title {
	font-size:1.8rem;
	text-align:center;
	margin-bottom:2.4rem;
}
main.column-detail .column-sidebar .related-article-eyecatch figure{
	height:300px;
	width:100%;
	background: no-repeat center center / contain;
    background-color: #EFEFEF;
    margin-bottom: 1rem;
}
main.column-detail .column-sidebar .related-article-category,
main.column-detail .column-sidebar .related-article-title {
	text-decoration: none;
}
main.column-detail .column-sidebar .related-article-category {
	border:1px #000 solid;
	padding:0.05rem 2rem;
	font-size:1.2rem;
	font-weight: bold;
	display:inline-block;
	margin-bottom:0.6rem;
}
main.column-detail .column-sidebar .related-article-title {
	font-weight: 500;
	font-size: 1.6rem;
	display:block;
}
main.column-detail #newsBody .column-body p > img {
	display: inline-block;
}
main.column-detail #newsBody .column-body p > img.aligncenter {
	display: block;
}
main.column-detail #newsBody .column-body p > img.alignnone {
	display: inline-block;
}
main.column-detail .column-sidebar .column-article {
	margin-bottom:4rem;
}
main.column-detail .column-related {
	border-top:1px #E4E4E4 solid;
	margin-top:6rem;
	padding:5rem 0;
}
main.column-detail .column-related .related-title {
	font-size:1.8rem;
	text-align:left;
	margin-bottom:2.4rem;
}
main.column-detail .column-related .related-article-eyecatch {
	float:left;
	max-width:165px;
	width:100%;
	margin-right: 20px;
}
main.column-detail .column-related .related-article-eyecatch figure{
	height:165px;
	width:100%;
	background: no-repeat center center / contain;
    background-color: #EFEFEF;
    margin-bottom: 1rem;
}
main.column-detail .column-related .related-article-category,
main.column-detail .column-related .related-article-title {
	text-decoration: none;
}
main.column-detail .column-related .related-article-category {
	border:1px #000 solid;
	padding:0.05rem 2rem;
	font-size:1.2rem;
	font-weight: bold;
	display:inline-block;
	margin-bottom:0.6rem;
}
main.column-detail .column-related .related-article-title {
	font-weight: 500;
	font-size: 1.6rem;
	display:block;
}
main.column-detail .column-related .column-article {
	margin-bottom:1.5rem;
	clear:both;
}
main.column-detail .column-related .column-article:after {
	content: "";
	display: block;
	clear:both;
}
main.column-detail .column-related .column-article:last-child {
	margin-bottom: 0;
}
@media only screen and (max-width:768px) {
	main .column_list li {
		margin-bottom: 4rem;
	}
	main.column-detail > .inner {
		flex-wrap: wrap;
	}
	main.column-detail .column-body p img,
	main.column-detail .column-body p iframe,
	main.column-detail .column-sidebar,
	main.column-detail .column-related .related-article-eyecatch {
		max-width: 100%;
	}
	main.column-detail .column-sidebar .related-article-eyecatch figure,
	main.column-detail .column-related .related-article-eyecatch figure,
	main.column-detail .column-body .eyecatch {
		height: calc(100vw - 40px);
	}
	main.column-detail .column-related .related-title {
		text-align: center;
	}
	main.column-detail .column-related .column-article {
		margin-bottom: 4rem;
	}
}


/* 。contact : お問い合わせフォーム　*/
main form.contact {
	margin-top: 80px;
}
main form.contact > table {
	width: 100%;
}
main form.contact > table th,
main form.contact > table td {
	display: block;
	width: 100%;
}
main form.contact > table th {
	padding: 35px 0 20px 0;
	font-weight: 700;
}
main form.contact > tr:first-child th {
	padding-top: 0;
}
main form.contact .privacy {
	height: 200px;
}
main form.contact .agree {
	text-align: center;
}
main form.contact .agree h3 {
	margin: 2em 0 1em 0;
	font-weight: 700;
}
main form.contact .agree h3 a::after {
	display: none;
}
main form.contact #agree-1 + span {
	display: inline-block;
	width: 30px;
	height: 30px;
	white-space: nowrap;
	overflow: hidden;
}
main form.contact .btns {
	margin-top: 2.5em;
}
main form.contact .submit {
	text-align: center;
}
main .mw_wp_form_input form.contact .submit input[type="submit"] {
	pointer-events: none;
	background-color: #fff;
	color: #7b7b7b;
}
main .mw_wp_form_input form.contact .submit input[type="submit"].act {
	pointer-events: all;
	background-color: #000;
	color: #fff;
}
main form.contact h6 {
	margin-bottom: 0.8em;
}
main form.contact p + h6,
main form.contact br + .block,
main form.contact br + input[type="text"],
main form.contact br + textarea,
main form.contact input[type="text"] + input[type="text"] {
	display: block;
	margin-top: 1em;
}
main form.contact input[type="text"].small {
	width: 25%;
}
@media only screen and (max-width:768px) {
	main form.contact {
		margin-top: 30px;
	}
	main form.contact > table th {
		padding: 25px 0 10px 0;
	}
	main form.contact input[type="text"].small {
		width: 50%;
	}
}
/**
 * input
 */
input[type="text"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="email"],
textarea,
select {
	box-sizing: border-box;
	width: 100%;
	margin:0;
	padding: 20px 25px;
	background: #fff;
	border: none;
	border-radius: 0;
	vertical-align: middle;
	font-family: 'Noto Sans JP', 'Arial', sans-serif;
	font-size: 1.4rem;
	color: #000;

	-webkit-appearance:none;
	-moz-appearance:none;
	-o-appearance:none;
	-ms-appearance:none;
	appearance:none;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
select {
	width: auto;
	min-width: 50%;
	padding-right: 60px;
	background: #fff url("../img/common/icon_select.svg") no-repeat right 30px center / 26px;
	transition: background 0.8s;
	cursor: pointer;
}
select::-ms-expand {
	display:none;
}
button,
input[type="submit"] {
	box-sizing: border-box; 
	min-width: 200px;
	border: none;
	background-color: #000;
	border-radius: 100px;
	padding: 6px 30px 7px 30px;
	font-size: 1.4rem;
	color: #fff;
	cursor: pointer;
	transition: background 0.3s;

	-webkit-appearance:none;
	-moz-appearance:none;
	-o-appearance:none;
	-ms-appearance:none;
	appearance:none;
}
button:hover,
input[type="submit"]:hover {
	background-color: #ACACAC;
}
input[type="submit"][disabled] {
	background-color: #D6D6D6 !important;
	cursor: default;
}
textarea {
	min-height: 200px;
}

input[type="radio"] {
	display: none;
}
input[type="radio"] + label,
input[type="radio"] + span {
	margin-right: 2em;
}
input[type="radio"] + label::before,
input[type="radio"] + span::before {
	display: inline-block;
	position: relative;
	top: -0.1em;
	width: 1em;
	height: 1em;
	background: transparent;
	border-radius: 100%;
	border: 1px solid #000;
	margin-right: 0.5em; 
	vertical-align: middle;
	text-align: center;
	content: '';
	cursor: pointer;
	transition: all 0.25s ease;
}
input[type="radio"]:checked + label::before,
input[type="radio"]:checked + span::before {
	background-color: #000;
	box-shadow: inset 0 0 0 4.5px #f4f4f4;
}

input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + label,
input[type="checkbox"] + span {
	position: relative;
}
input[type="checkbox"] + label::before,
input[type="checkbox"] + span::before {
	display: inline-block;
	width: 30px;
	height: 30px;
	background: #fff;
	vertical-align: middle;
	content: '';
	cursor: pointer;
}
input[type="checkbox"] + label::after,
input[type="checkbox"] + span::after {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background: url('../img/common/icon_check_b.svg') no-repeat center center / 18px auto;
	transform: scale(0);
	content: '';
	transition: all 0.1s ease;
}
input[type="checkbox"]:checked + label::after,
input[type="checkbox"]:checked + span::after {
	transform: scale(1);
}
@media only screen and (max-width:768px) {
	input[type="text"],
	input[type="password"],
	input[type="number"],
	input[type="tel"],
	input[type="email"],
	textarea,
	select {
		padding: 10px 15px;
	}
	textarea {
		min-height: 150px;
	}
	select {
		padding-right: 60px;
		background-position: right 12px center;
	}
	input[type="submit"] + input[type="submit"] {
		margin-top: 1em;
	}
}


/**
 * main .sitemap
 */
main .sitemap {
	margin: 80px 0 3em 0;
	font-size: 1.2rem;
}
main .sitemap h2 {
	padding: 15px 0;
	border-bottom: solid 1px #E5E5E5;
	margin-bottom: 1.5em;
	font-weight: 700;
}
main .sitemap a {
	text-decoration: none;
	transition: color 0.3s;
}
main .sitemap a:hover {
	color: #7C7C7C;
}
main .sitemap li {
	margin-top: 3em;
}
main .sitemap li li {
	margin-top: 0.5em;
}
@media only screen and (max-width:768px) {
	main .sitemap {
		margin: 30px 0 3em 0;
	}
}


/**
 * .map : /apa/access/
 */
main .map {
	transition: filter 0.3s;
	filter: grayscale(100%);
}
main .map:hover {
	filter: grayscale(0);
}


/**
 * 定款 : /apa/articles/
 */
#statute .inner table {
	 width: 100%;
}
#statute .inner td:first-child {
	white-space: nowrap;
	text-align: center;
	padding-right: 1em;
	width: 90px;
}
#statute .inner td[colspan="2"] {
	padding: 2.5em 0 0 0;
	text-align: left;
	font-weight: 700;
}
#statute .inner tr:first-child td[colspan="2"] {
	padding: 0;
}
#statute .inner .a td,
#statute .inner .p td {
	padding-top: 0.8em;
}
@media only screen and (max-width:768px) {
	#statute .inner td:first-child {
		width: 70px;
	}
}


/**
 * 拠点 : /link/
 */
#link .inner ul {
	margin-top: 3em;
	background: url('../img/link/map.png') no-repeat right center / 500px auto;
}
#link .inner h2 {
	margin-top: 3em;
}
#link .inner .btns {
	margin-top: 1.5em;
}
@media only screen and (max-width:768px) {
	
	#link .inner ul {
		background: none;
	}
}


/**
 * #pnf : 404
 */
#pnf {
	position: relative;
	height: 100vh;
	min-height: 620px;
	background-color: #f4f4f4;
}
#pnf main {
	position: absolute;
	width: 100%;
	top: 40%;
	transform: translateY(-50%);
	padding: 0;
	background-color: transparent;
	z-index: 1;
}
#pnf h1 {
	margin: 0 0 0.1em 0.1em;
	line-height: 1;
	letter-spacing: 0.15em;
	font-size: 18.8rem;
	font-weight: 700;
}
#pnf h1 span {
	display: block;
	margin-top: 0.3em;
	margin-left: -0.4em;
	letter-spacing: 0.1em;
	font-size: 4.5rem;
	font-weight: 400;
}
#pnf .btns {
	margin-bottom: 0;
}
#pnf footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	border: none;
	background-color: transparent;
}
#pnf footer .inner {
	display: block;
	padding: 0 60px 30px 60px;
}
#pnf footer h2 {
	margin: auto;
	margin-bottom: 3em;
}
@media only screen and (max-width:768px) {
	#pnf {
		height: 100vh;
		min-height: auto;
	}
	#pnf main {
		top: 45%;
	}
	#pnf h1 {
		font-size: 9.8rem;
	}
	#pnf h1 span {
		font-size: 2.35rem;
	}
	#pnf footer h2 {
		width: 160px;
		margin-bottom: 2.5em;
	}
	#pnf footer .inner {
		padding: 0 10px 15px 10px;
	}
}
@media only screen and (max-width:768px) and (orientation:landscape) {
	#pnf main {
		top: 35%;
	}
	#pnf h1 {
		font-size: 9rem;
	}
	#pnf h1 span {
		font-size: 2.2rem;
	}
	#pnf .btns {
		margin: 1.5em 0 0 0;
	}
	#pnf footer h2 {
		width: 130px;
		margin-bottom: 1em;
	}
}