@charset "utf-8";
/*-------------------------------------------------*/
/*(C) A.C.Planet Inc. All rights reserved.*/
/*--------------------------------------------------*/

ul{
	list-style: none;
    padding-left: 0;
	margin: 10px 0 10px 0;
}
ol {
    margin: 10px 0 10px 0;
}

/*トップへ戻る
----------------------------------------*/

#pagetop a{
	position: fixed;
	bottom: 15px;
	right: 15px;
	display: block;
    width: 50px;
    height: 50px;
	/*background: var(--main-color);*/
	background: #ffffff;
	font-size: 0;
	border-radius: 50%;
	z-index: 99;
	border: 1px solid var(--main-color);
	border-radius: 50%;
}
#pagetop a::before{
	content: "";
	display: block;
	/*top: calc(4px + 50%);*/
	top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    /*border: 2px solid #ffffff;
    border-bottom: unset;
    border-right: unset;*/
    transform: translate(-50%, -50%);
    position: absolute;
	background: url("../../imgs/common/ic_pagetop.png");
	background-size: cover;
}
#sp-pagetop-area {
	display: none;
}

@media screen and (max-width: 991px) and (min-width: 576px)  {
	#pagetop a{
		bottom: calc(100vw / 991 * 76);
		right: calc(100vw / 991 * 15);
		width: calc(100vw / 991 * 50);
		height: calc(100vw / 991 * 50);
	}
	#pagetop a::before{
		/*top: calc((100vw / 991 * 4) + 50%);*/
		top: 50%;
		width: calc(100vw / 991 * 18);
		height: calc(100vw / 991 * 18);
	}
	#sp-pagetop-area {
		display: block;
		clear: both;
	}
}
@media screen and (max-width: 575px) {
	#pagetop a{
		bottom: calc(100vw / 375 * 65);
		right: calc(100vw / 375 * 6);
		width: calc(100vw / 375 * 45);
		height: calc(100vw / 375 * 45);
	}
	#pagetop a::before{
		/*top: calc((100vw / 375 * 3) + 50%);*/
		top: 50%;
		width: calc(100vw / 375 * 18);
		height: calc(100vw / 375 * 18);
	}
	#sp-pagetop-area {
		display: block;
		clear: both;
	}
}

/*
#footer-fixed-link{
	position: fixed;
	bottom: 60%;
	right: 0;
	z-index: 1000;
}
#fb-link{}
#tw-link{}
#pagetop{}
*/



/*表示しない*/
.hidden {
	display: none;
}
/*外部リンクアイコン*/
/*.icon {
	display: inline;
	margin: 0 9px 0 5px;
	width: auto;
	height: 1.3rem;
	vertical-align: middle;
}*/
.icon {
    display: inline;
    margin: 0 9px 0 5px;
    vertical-align: middle;
}
.icon-link {
    display: inline;
    margin: 0 9px 0 5px;
    width: auto;
    height: 1.3rem;
    vertical-align: middle;
}
/*----- テーブル -----*/
table,
table.table {
	margin-top: 15px;
	border-bottom: solid 1px #808080;
	border-left: solid 1px #808080;
	border-right: none;
	border-top: none;
	width: 100%;
	border-spacing: 0px;
	/*overflow-wrap: anywhere;*/
}
table caption,
table.table caption {
	color: #333333;
	font-weight: bold;
	text-align: left;
	padding: 0;
	margin-top: 10px;
	font-size: 0.875rem;
    caption-side: top;
}
table thead th,
table.table thead th {
	background-color: var(--main-color);
	color: #FFFFFF;
}
table th,
table.table th {
	padding: 7px 9px;
	border-bottom: none;
	border-left: none;
	border-right: solid 1px #808080;
	border-top: solid 1px #808080;
	background-color: var(--bg-color02);
	color: #333333;
}
table td,
table.table td {
	padding: 7px 9px;
	border-bottom: none;
	border-left: none;
	border-right: solid 1px #808080;
	border-top: solid 1px #808080;
	/*background: #FFF;*/
	color: #333333;
}
table tfoot th,
table.table tfoot th {
	font-weight: bold;
	/*background-color: #ECF5C4;*/
	background-color:var(--sub-color02);
}
table tfoot td,
table.table tfoot td {
	/*background-color: #ECF5C4;*/
	background-color:var(--sub-color02);
	font-weight: normal;
}

table th p:first-child,
table td p:first-child{
	margin-top:0 !important;
}
table th p:last-child,
table td p:last-child{
	margin-bottom:0;
}

.contact-table{
	width:80%;
}
.contact-table th{
	width:30%;
}
.contact-table td{}

.cell-border-none{
	border-top: none;
}


/*セル色*/
.bg-blue{
	
}
.bg-lightgray{
	background:#f5f5f5;
}
.bg-td-footer{
	/*background:#ECF5C4;*/
	background-color:var(--sub-color02);
}

/*線なしテーブル*/
table.no-border {
	border-bottom: 0px;
	border-left: 0px;
	border-right: 0px;
	border-top: 0px;
}
table.no-border th,
table.no-border td {
	border-bottom: 0px;
	border-left: 0px;
	border-right: 0px;
	border-top: 0px;
	background-color:transparent;
}

@media screen and (max-width: 768px) {
	
	table caption,
	table.table caption {
		font-size: 0.857rem;
	}
	/*スマホ縦積みテーブル*/
	table.sp-vertical th,
	table.sp-vertical td{
		display: block;
	}
	
	/*スマホスクロールテーブル*/
	.table-scroll{
		overflow-x: auto !important;
		overflow-y: hidden !important;

		  background: linear-gradient(to left, hsla(0,0%,100%,0), white 15px) 0 0 / 50px 100%,
		    linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) 0 0/20px 100%,
		    linear-gradient(to right, hsla(0,0%,100%,0), white 15px) right / 50px 100%,
		    linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.2)) right/20px 100%;
		  background-repeat: no-repeat;
		  background-attachment: local, scroll, local, scroll;
		  margin-top:15px;
	}
	.table-scroll table{
		width:768px;
		margin-top:0;
	}
}

@media screen and (max-width: 768px) {
	.contact-table{
		width:100%;
	}
}

/*入試速報内 記事用テーブル*/
.entry-detail table{
	width:95%;
	border-bottom: solid 2px #1A1A1A;
	border-left: solid 2px #1A1A1A;
	border-right: solid 2px #1A1A1A !important;
	border-top: solid 2px #1A1A1A !important;
}
.entry-detail table th{
	border-bottom: none;
	border-left: none;
	border-right: solid 1px #1A1A1A;
	border-top: solid 1px #1A1A1A;
}
.entry-detail table td{
	border-bottom: none;
	border-left: none;
	border-right: solid 1px #1A1A1A;
	border-top: solid 1px #1A1A1A;
}

.entry-detail table{
	margin:10px 0 0;
	width:100%;
	border: solid 2px #1A1A1A !important;
}
.entry-detail table th{
	border: solid 1px #1A1A1A;
}
.entry-detail table td{
	border: solid 1px #1A1A1A;
}


/*----- 横幅指定 -----*/
.wd1 {
	width: 1%;
}
.wd5 {
	width: 5%;
}
.wd8 {
	width: 8%;
}
.wd10 {
	width: 10%;
}
.wd13 {
	width: 13%;
}
.wd15 {
	width: 15%;
}
.wd20 {
	width: 20%;
}
.wd25 {
	width: 25%;
}
.wd30,
.pc-wd30 {
	width: 30%;
}
.wd35 {
	width: 35%;
}
.wd40,
.pc-wd40 {
	width: 40%;
}
.wd44 {
	width: 44%;
}
.wd45 {
	width: 45%;
}
.wd50 {
	width: 50%;
}
.wd60,
.pc-wd60 {
	width: 60%;
}
.wd65 {
	width: 65%;
}
.wd70 {
	width: 70%;
}
.wd75 {
	width: 75%;
}
.wd80 {
	width: 80%;
}
.wd90 {
	width: 90%;
}
.wd100 {
	width: 100% !important;
}
@media screen and (max-width: 768px) {
table.wd80,
table.wd60,
table.wd50,
.pc-wd60,
.pc-wd30,
.pc-wd40{
	width:100%;
}
}



/*バックグラウンド*/
.bg-koiyellow{
	background:#ffffe0;
}
.bg-yellow{
	background:#fffacd;
}


.bg-lightblue {
	background-color: #E8F5FE!important;
}
.bg-blue-a {
	background-color: #0EB6D3 !important;
}
.bg-blue-b {
	background-color: #0E71D3 !important;
}
.bg-blue-c {
	background-color: #F44289 !important;
}
.bg-blue-ath {
	background-color: #AFEFFA !important;
}
.bg-blue-select {
	background-color: #FFEFC7 !important;
}
.bg-blue-pink {
	background-color: #FBC6E1 !important;
}
/*リスト設定
--------------------------------------------------*/
/*.list-f:after, .list-two:after, .list-three:after, .list-four:after, .list-fs:after, .linklist-f:after, .linklist-two:after, .linklist-three:after, .linklist-four:after, .linklist-fs:after, .list-two-s:after ,.linklist-three-s:after{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}*/
ul[class*="list"] li > p:first-child:not(.spmenu-parent){
	padding-top: 0;
	margin-top: 0 !important;
	margin-left: 0 !important;
}
.list-f, .list-two, .list-three, .list-four, .list-fs, .linklist-f, .linklist-two, .linklist-three, .linklist-four, .linklist-fs, .list-two-s,.linklist-three-s {
	min-height: 1%;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	/*gap:10px;*/
}
/* Hides from IE-mac \*/
* html .list-f, * html .list-two, * html .list-three, * html .list-four, * html .list-fs, * html .linklist-f, * html .linklist-two, * html .linklist-three, * html .linklist-four, * html .linklist-fs, * html .list-two-s,* html .linklist-three-s {
	height: 1%;
}
/*---- リストアイコン基本設定 ----*/
.list, .list-f, .list-two, .list-three, .list-four, .list-s, .list-fs, .list-two-s {
	margin: 10px 0 0 10px;
	list-style: none;
	padding-left: 0;
}
/*リスト大*/
.list li, .list-f li, .list-two li, .list-three li, .list-four li{
	position: relative;
	padding: 1px 0 1px 18px;
}
.list li::before, .list-f li::before, .list-two li::before, .list-three li::before, .list-four li::before {
	position: absolute;
	content: "";
	width:10px;
	height: 10px;
	background: var(--main-color);
	border-radius: 50%;
	left: 0;
	top: 8px;
}

.box03 .list li::before, .box03 .list-f li::before, .box03 .list-two li::before, .box03 .list-three li::before, .box03 .list-four li::before {
	background:#ffffff;
}
.box03 p.link::before{
	border-color:#ffffff;
}
.box03 .font-red {
	color: #eb6c50;
}
/*リスト小*/
.list-s li, .list-fs li, .list-two-s li {
	position: relative;
	padding: 1px 0 1px 18px;
}
.list-s li::before, .list-fs li::before, .list-two-s li::before {
	position: absolute;
	content: "";
	width:9px;
	height: 9px;
	border:1px solid var(--sub-color03);
	border-radius: 50%;
	left: 0;
	top: 8px;
}
.box03 .list-s li::before{
	border-color:#fff;
}
/*リスト小*/
ul li ul.list-s li, ul li ul.list-fs li, ul li ul.list-two-s li, ul li ul.list-s li:hover, ul li ul.list-fs li:hover, ul li ul.list-two-s li:hover {
	/*background-image: url(../../imgs/common/ic_list_s.png);
	background-repeat: no-repeat;
	background-position: 4px 0.6em;
	padding: 1px 0 1px 18px;
	margin-top: 0px;*/
}
/*---通常リスト---*/
.list li {
}
/*通常リスト:横並び*/
.list-f li {
	white-space: nowrap;
	float: left;
	padding-right: 20px;
}
/*通常リスト:2カラム*/
.list-two li {
	float: left;
	width: 48%;
	margin-right: 1%;
}
/*通常リスト:3カラム*/
.list-three li {
	float: left;
	width: 31%;
	margin-right: 1%;
}
/*通常リスト:4カラム*/
.list-four li {
	float: left;
	width: 23%;
	margin-right: 1%;
}
@media screen and (max-width: 768px){
	.list li, .list-f li, .list-two li, .list-three li, .list-four li{
		padding-left: 16px;
	}
	.list li::before, .list-f li::before, .list-two li::before, .list-three li::before, .list-four li::before{
		width: 8px;
		height: 8px;
		top: 7px;
	}
}
/*通常リスト:小さめ*/
.list-s li {
}
/*通常リスト:横並び(小さめ)*/
.list-fs li {
	white-space: nowrap;
	float: left;
	padding-right: 20px;
}
/*通常リスト:3カラム(小さめ)*/
.list-two-s li {
	width: 40%;
	float: left;
}
/*入れ子にしたとき、画像が出てしまうのを防ぐ*/
.none li {
	background: none;
	padding-left: 0px;
}
@media screen and (max-width: 768px){
	.list-s li, .list-fs li, .list-two-s li{
		padding-left: 16px;
	}
	.list-s li::before, .list-fs li::before, .list-two-s li::before{
		width: 8px;
		height: 8px;
		top: 7px;
	}
}
/*---- リンクリストアイコン基本設定 ----*//* リスト大 */
.linklist, .linklist-f, .linklist-two, .linklist-three, .linklist-four {
	margin: 10px 0 0 10px;
	list-style: none;
	padding-left: 0;
}
.linklist > li, .linklist-f > li, .linklist-two > li, .linklist-three > li, .linklist-four > li {
	/*padding: 1px 0 10px 34px;*/
	padding: 5px 0 5px 34px;
	position: relative;
	margin-right: 1%;
	display: block;
}
.linklist > li::before, .linklist-f > li::before, .linklist-two > li::before, .linklist-three > li::before, .linklist-four > li::before{
	content: "";
	position: absolute;
	left: 0;
	/*top: 0;*/
	top: 4px;
	width:24px;
	height: 24px;
	background:var(--sub-color02);
	border-radius: 50%;
	transition: .3s;
}
.linklist > li::after, .linklist-f > li::after, .linklist-two > li::after, .linklist-three > li::after, .linklist-four > li::after{
	content: "";
	position: absolute;
    left: 8px;
    /*top: 7px;*/
    top: 11px;
	background: url("../../imgs/common/ic_arrow_blue.png");
	background-size: cover;
	width:9px;
	height: 9px;
	transition: .3s;
}
.linklist > li > a, .linklist-f > li > a, .linklist-two > li > a, .linklist-three > li > a, .linklist-four > li > a, p.link > a{
	text-decoration:underline;
	color: var(--main-color);
}
p.link a{
	color:#333333;
	text-decoration:underline;
}
.linklist > li a:hover, .linklist-f > li a:hover, .linklist-two > li a:hover, .linklist-three > li a:hover, .linklist-four > li a:hover{
	text-decoration:underline;
}
.linklist > li:has( > a:hover)::before, .linklist-f > li:has( > a:hover)::before, .linklist-two > li:has( > a:hover)::before, .linklist-three > li:has( > a:hover)::before, .linklist-four li:has( > a:hover)::before{
	left: 4px;
}
.linklist > li:has( > a:hover)::after, .linklist-f > li:has( > a:hover)::after, .linklist-two > li:has( > a:hover)::after, .linklist-three > li:has( > a:hover)::after, .linklist-four > li:has( > a:hover)::after{
	left: 12px;
}
/* リスト小 */
.linklist-s, .linklist-fs {
	margin: 10px 0 0 10px;
	list-style: none;
	padding-left: 0;
}
.linklist-s > li, .linklist-fs > li,.linklist-three-s > li,p.link{
	position: relative;
	padding: 1px 0 1px 18px;
	display: block;
}
.linklist-s > li > a, .linklist-fs > li > a , .linklist-three-s > li > a{
	color: #333333;
	/*text-decoration: none;*/
	text-decoration: underline;
}
.linklist-s > li::before, .linklist-fs > li::before ,.linklist-three-s > li::before,p.link::before{
	content: "";
	position: absolute;
    left: 0;
    /*top: 10px;*/
    top:0.5em;
	border: 1px solid var(--sub-color03);
	border-left: unset;
	border-top: unset;
	transform: rotate(-45deg);
	width:6px;
	height: 6px;
	transition: .3s;
    background: unset;
    border-radius: unset;
}
.linklist-s > li::after, .linklist-fs > li::after , .linklist-three-s > li::after, p.link::after{
	display:none;
}
.linklist-s > li a:hover, .linklist-fs > li a:hover,.linklist-three-s > li a:hover{
	text-decoration: underline;
}
.linklist-s > li:has( > a:hover)::before, .linklist-fs > li:has( > a:hover)::before, .linklist-three-s > li:has( > a:hover)::before, p.link:has( > a:hover)::before,
.linklist-s > li:has( > * > a:hover)::before, .linklist-fs > li:has( > * > a:hover)::before, .linklist-three-s > li:has( > * > a:hover)::before, p.link:has( > * > a:hover)::before{
    left: 4px;
}
ul li .linklist-s, ul li .linklist-fs {
	margin: 0 0 0 10px !important;
}
@media screen and (max-width: 768px){
	.linklist-s > li, .linklist-fs > li, .linklist-three-s > li, p.link{
		padding-left: 16px;
	}
	.linklist-s > li::before, .linklist-fs > li::before, .linklist-three-s > li::before, p.link::before{
        top: 0.5em !important;
        width: 5px !important;
        height: 5px !important;
	}
}
/*背景カラーが濃いときのリンクリスト小*/
.linklist-s-w > li > a{
	color: #ffffff;
}
.linklist-s-w > li::before,
.box03 .linklist-s > li::before {
	border-color:#ffffff;
}
/*---- リンクリスト ----*/
.linklist li {
}
/*リンクリスト：横並び*/
.linklist-f > li {
	white-space: nowrap;
	padding-right: 20px;
}
/*リンクリスト：2カラム*/
.linklist-two > li {
	width: 47%;
}
/*リンクリスト：3カラム*/
.linklist-three > li,
.linklist-three-s > li {
	width: 31%;
}
/*リンクリスト：4カラム*/
.linklist-four > li {
	width: 23%;
}
/*リンクリスト:小さめ*/
.linklist-s > li {
}
/*リンクリスト：横並び(小さめ)*/
.linklist-fs > li {
	white-space: nowrap;
	float: left;
	padding-right: 20px;
/*	width: 90%;*/
}

.linklist-two > li .linklist-fs > li,
.linklist-two > li .linklist-s > li {
	width:auto;
    white-space: normal;
}
}

@media screen and (max-width: 768px){
	.list-f, .list-two, .list-three, .list-four, .list-fs, .linklist-f, .linklist-two, .linklist-three, .linklist-four, .linklist-fs, .list-two-s, .linklist-three-s{
		/*gap:5px;*/
	}
	.linklist > li, .linklist-f > li, .linklist-two > li, .linklist-three > li, .linklist-four > li{
		padding-left:26px;
		padding-bottom: 5px;
	}
	.linklist > li::before, .linklist-f > li::before, .linklist-two > li::before, .linklist-three > li::before, .linklist-four > li::before {
		width: 19px;
		height: 19px;
		/*top: 1px;*/
		top: 5px;
	}
	.linklist > li::after, .linklist-f > li::after, .linklist-two > li::after, .linklist-three > li::after, .linklist-four > li::after {
        left: 6px;
        /*top: 7px;*/
        top: 11px;
        width: 7px;
        height: 7px;
	}
	.linklist > li:hover::after, .linklist-f > li:hover::after, .linklist-two > li:hover::after, .linklist-three > li:hover::after, .linklist-four > li:hover::after {
		left: 10px;
	}
}


/*番号リスト:ローマ大文字*/
.ollist-ur {
	list-style-type: upper-roman;
}
/*番号リスト:ローマ小文字*/
.ollist-lr {
	list-style-type: lower-roman;
}
/*番号リスト:アルファベット大文字*/
.ollist-ua {
	list-style-type: upper-alpha;
}
/*番号リスト:アルファベット小文字*/
.ollist-la {
	list-style-type: lower-alpha;
}
/*----- カラーボックス -----*/
.box01 :not(div):first-child,.box02 :not(div):first-child,.box03 :not(div):first-child,.box04 :not(div):first-child,.box05 :not(div):first-child,.box06 :not(div):first-child{
	margin-top: 0 !important;
}
.box01 *:last-child,.box02 *:last-child,.box03 *:last-child,.box04 *:last-child,.box05 *:last-child,.box06 *:last-child{
	margin-bottom: 0;
}
.box-midashi {
	padding: 0 0 0 0 !important;
	margin: 0 !important;
	color: #000000 !important;
	border: 0 !important;
	overflow: unset;
}
.box-midashi::before,
.box-midashi::after,
.box-midashi a::before,
.box-midashi a::after{
	display:none;
}
/*グレー*/
.box01 {
	background-color: var(--bg-color01);
	padding: 20px 30px;
	margin: 20px 0;
	position: relative;
}
.box01 .box-midashi{
	color:#ffffff !important;
	font-size: 1.25rem !important;
	position: relative;
	padding:20px !important;
	background: var(--main-color);
	top: -20px;
	left: -30px;
	display: inline-block;
	font-weight: normal !important;
	margin-bottom:-15px !important;
}
.box01 .box-midashi:not(:first-child){
    top: 0;
    margin-top: 1em !important;
    margin-bottom: 5px !important;
}
.box01 .box-midashi a{
	color:#ffffff !important;
}
.box01 .box-midashi:first-letter{
	color:#ffffff !important;
}
.box01 p.link a{
	color:#333333;
}
.box01 p.link a::before{
	transform: rotate(45deg);
    top: 8px;
	border-color:var(--main-color);
}
.box01 p.link a:hover::before{
	top: 12px;
    left: 0;
}
@media screen and (max-width: 768px){
	.box01 {
		padding: 20px;
	}
	.box01 .box-midashi {
		font-size: 1.1428rem !important;
		padding: 15px 20px !important;
		background: var(--main-color);
		top: -20px;
		left: -20px;
		margin-right: -20px!important;
	}
	.box01 p.link a::before{
		top: 7px;
	}
}
/*ブルー*/
.box02 {
	background-color: var(--bg-color02);
	padding: 30px;
	margin: 20px 0;
}
.box02 .box-midashi{
	border-bottom: #333333 1px solid !important;
	padding-bottom: 20px !important;
	color: var(--sub-color03) !important;
	font-size: 1.25rem !important;
	font-weight: bold !important;
	margin-bottom:20px !important;
}
.box02 .box-midashi a{
	color: var(--sub-color03) !important;
}
.box02 .box-midashi:first-letter{
	color: var(--sub-color03) !important;
}
.box02 p.link a{
	color:#333333;
}
@media screen and (max-width: 768px){
	.box02 {
		padding: 20px;
	}
	.box02 .box-midashi {
		font-size: 1.1428rem !important;
		padding-bottom: 6px !important;
		margin-bottom: 10px !important;
	}
}
/*メインカラー（紺）*/
.box03 {
	background-color: var(--main-color);
	padding: 30px;
	margin: 20px 0;
	color: #ffffff;
}
.box03 .box-midashi{
	color:var(--sub-color02) !important;
	font-size: 1rem !important;
	font-weight: bold !important;
}
.box03 .box-midashi:first-letter{
	color:var(--sub-color02) !important;
}
.box03 .midashi strong{
	color:var(--sub-color02) !important;
}
.box03 h2{
	color:var(--sub-color02) !important;
}
.box03 h2::after{
	display:none;
}
.box03 *:last-child{
	margin-bottom:0 !important;
}
.box03 .box-midashi a{
	color:var(--sub-color02) !important;
}
.box03 p.link a{
	color:#ffffff;
}
.box03 ul a{
	color:#ffffff !important;
}
@media screen and (max-width: 768px){
	.box03 {
		padding: 20px;
	}
}
/*red*/
.box04 {
	border:2px solid var(--danger-color);
	padding: 20px 30px;
	margin: 20px 0;
}
.box04 .box-midashi{
	color:var(--danger-color) !important;
	font-size: 1rem !important;
	font-weight: bold !important;
}
.box04 .box-midashi a{
	color:var(--danger-color) !important;
}
.box04 .box-midashi:first-letter{
	color:var(--danger-color) !important;
}
@media screen and (max-width: 768px){
	.box04 {
		padding: 20px;
	}
}
/*グレー ライン*/
.box05 {
	padding: 20px 30px;
	margin: 20px 0;
	border: solid 3px #DAEAF0;
}
.box05 .box-midashi{
	color:var(--sub-color03) !important;
	font-size: 1rem !important;
	font-weight: bold !important;
}
.box05 .box-midashi a{
	color:var(--sub-color03) !important;
}
.box05 .box-midashi:first-letter{
	color:var(--sub-color03) !important;
}
.box05 .box-midashi + h2,
.box05 .box-midashi + h3,
.box05 .box-midashi + h4{
	margin-top:1rem !important;
}
@media screen and (max-width: 768px){
	.box05 {
		padding: 20px;
	}
}
/*強調補足用 メインカラーライン*/
.box06 {
	padding: 20px 30px;
	margin: 20px 0;
	border: solid 2px var(--main-color);
}
.box06 .box-midashi{
	color:var(--main-color) !important;
	font-size: 1rem !important;
	font-weight: bold !important;
}
.box06 .box-midashi a{
	color:var(--main-color) !important;
}
.box06 .box-midashi:first-letter{
	color:var(--main-color) !important;
}
@media screen and (max-width: 768px){
	.box06 {
		padding: 20px;
	}
}
/*ブラック ライン*/
.box07 {
	padding: 20px 30px;
	margin: 20px 0;
	border: solid 1px #333;
}
@media screen and (max-width: 768px){
	.box07 {
		padding: 20px;
	}
}
/*タイトル付き（ラベルボックス）*/
#main .box08{
	background-color:#fff; /* ボックス背景色 */
	padding:2.3em; /* ボックス内側余白 */
	position:relative; /* 配置(ここを基準に) */
	border: 2px solid var(--main-color);/* ボックスの線 (太さ・種類・色)*/
	margin-bottom:50px;
}
#main .box08 h2.box-title {
	background-color:#fff; /* タイトル背景色 */
	font-size: 1.2em;/* タイトル文字の大きさ */
	font-weight:800;
	color: var(--main-color); /* タイトル文字色 */
	padding: 0 10px;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;/* 配置(ここを動かす) */
	top: -8px; /*上からの距離*/
	left: 20px; /*左からの距離*/
	margin-top:0;
}
#main .box08 h2.box-title:after{
	display:none;
}
@media screen and (max-width: 768px){
#main .box08{
	padding:1.5em 2.3em; /* ボックス内側余白 */
}
}

/*----- 位置設定 -----*/
/*1/2サイズ*/
.harf-l,.half-l {
	float: left;
	width: 49%;
}
.harf-r,.half-r {
	float: right;
	width: 49%;
}
/*1/3サイズ*/
.three-l {
	width: 32%;
	float: left;
	margin: 0 2% 0 0;
	box-sizing:border-box;
}
.three-c {
	width: 32%;
	float: left;
	box-sizing:border-box;
}
.three-r {
	width: 32%;
	float: right;
	box-sizing:border-box;
}
.three-l img,.three-c img,.three-r img{
	max-width:100%;
	height:auto;
}
/*フロート左*/
.float-l, .fl {
	float: left;
}
/*フロート右*/
.float-r, .fr {
	float: right;
}
.img-l {
	float: left;
	margin: 0 20px 10px 0;
}
.img-r {
	float: right;
	margin: 0 0 10px 20px;
}

/*table用*/
.table-harf-l,.table-half-l {
	float: left;
	width: 50%;
}
.table-harf-r,.table-half-r {
	float: right;
	width: 50%;
}



/*マージン
---------------------------------------*/
/*マージン設定*/
/*マージン全方向０*/
.m0 {
	margin: 0 !important;
}
/*マージン全方向10*/
.m10 {
	margin: 10px !important;
}
/*マージン全方向20*/
.m20 {
	margin: 20px !important;
}
/*マージン全方向30*/
.m30 {
	margin: 30px !important;
}
/*マージン左右０*/
.mrl0 {
	margin-right: 0 !important;
	margin-left: 0 !important;
}
/*マージン左右10*/
.mrl10 {
	margin-right: 10px !important;
	margin-left: 10px !important;
}
/*マージン左右20*/
.mrl20 {
	margin-right: 20px !important;
	margin-left: 20px !important;
}
/*マージン左右30*/
.mrl30 {
	margin-right: 30px !important;
	margin-left: 30px !important;
}
/*マージン左右 中央*/
.mrlauto {
	margin-right: auto !important;
	margin-left: auto !important;
}
/*マージン上下０*/
.mtb0 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
/*マージン上下10*/
.mtb10 {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}
/*マージン上下20*/
.mtb20 {
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}
/*マージン上下30*/
.mtb30 {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}
/*マージン上０*/
.mt0 {
	margin-top: 0 !important;
}
/*マージン上5*/
.mt5 {
	margin-top: 5px !important;
}
/*マージン上10*/
.mt10 {
	margin-top: 10px !important;
}
/*マージン上20*/
.mt20 {
	margin-top: 20px !important;
}
/*マージン上30*/
.mt30 {
	margin-top: 30px !important;
}
/*マージン上30*/
.mt35 {
	margin-top: 35px !important;
}
/*マージン上40*/
.mt40 {
	margin-top: 40px !important;
}
/*マージン上50*/
.mt50 {
	margin-top: 50px !important;
}
/*マージン下０*/
.mb0 {
	margin-bottom: 0 !important;
}
/*マージン下5*/
.mb5 {
	margin-bottom: 5px !important;
}
/*マージン下10*/
.mb10 {
	margin-bottom: 10px !important;
}
/*マージン下20*/
.mb20 {
	margin-bottom: 20px !important;
}
/*マージン下30*/
.mb30 {
	margin-bottom: 30px !important;
}
/*マージン左０*/
.ml0 {
	margin-left: 0 !important;
}
/*マージン左5*/
.ml5 {
	margin-left: 5px !important;
}
/*マージン左10*/
.ml10 {
	margin-left: 10px !important;
}
/*マージン左20*/
.ml20 {
	margin-left: 20px !important;
}
/*マージン右30*/
.ml30 {
	margin-left: 30px !important;
}
/*マージン右60*/
.ml60 {
	margin-left: 60px !important;
}
/*マージン右auto*/
.mlauto {
	margin-left: auto !important;
}
/*マージン右０*/
.mr0 {
	margin-right: 0 !important;
}
/*マージン右5*/
.mr5 {
	margin-right: 5px !important;
}
/*マージン右10*/
.mr10 {
	margin-right: 10px !important;
}
/*マージン右20*/
.mr20 {
	margin-right: 20px !important;
}
/*マージン右30*/
.mr30 {
	margin-right: 30px !important;
}
/*パディング上40*/
.pt40 {
	padding-top: 40px !important;
}
/*パディング上50*/
.pt50 {
	padding-top: 50px !important;
}
/*パディング10*/
.p10 {
	padding: 10px;
}
/*リスト以外インデント*/
/*1em*/
.indent-1 {
	text-indent: -1em;
	margin-left: 1em;
}
/*1.1em*/
.indent-1-1 {
	text-indent: -1.1em;
	margin-left: 1.1em;
}
/*1.2em*/
.indent-1-2 {
	text-indent: -1.2em;
	margin-left: 1.2em;
}
/*1.3em*/
.indent-1-3 {
	text-indent: -1.3em;
	margin-left: 1.3em;
}
/*1.4em*/
.indent-1-4 {
	text-indent: -1.4em;
	margin-left: 1.4em;
}
/*1.5em*/
.indent-1-5 {
	text-indent: -1.5em;
	margin-left: 1.5em;
}
/*1.6em*/
.indent-1-6 {
	text-indent: -1.6em;
	margin-left: 1.6em;
}
/*1.7em*/
.indent-1-7 {
	text-indent: -1.7em;
	margin-left: 1.7em;
}
/*1.8em*/
.indent-1-8 {
	text-indent: -1.8em;
	margin-left: 1.8em;
}
/*1.9em*/
.indent-1-9 {
	text-indent: -1.9em;
	margin-left: 1.9em;
}
/*2em*/
.indent-2 {
	text-indent: -2em;
	margin-left: 2em;
}
/*2em*/
.indent-2-8 {
	text-indent: -2.7em;
	margin-left: 2.7em;
}
/*3em*/
.indent-5 {
	text-indent: -5em;
	margin-left: 5em;
}
/*リスト用インデント幅*/
/*1em*/
ul.indent-1 li {
	text-indent: -1em;
	padding-left: 1em;
}
/*1.1em*/
ul.indent-1-1 li {
	text-indent: -1.1em;
	padding-left: 1.1em;
}
/*1.2em*/
ul.indent-1-2 li {
	text-indent: -1.2em;
	padding-left: 1.2em;
}
/*1.3em*/
ul.indent-1-3 li {
	text-indent: -1.3em;
	padding-left: 1.3em;
}
/*1.4em*/
ul.indent-1-4 li {
	text-indent: -1.4em;
	padding-left: 1.4em;
}
/*1.5em*/
ul.indent-1-5 li {
	text-indent: -1.5em;
	padding-left: 1.5em;
}
/*1.6em*/
ul.indent-1-6 li {
	text-indent: -1.6em;
	padding-left: 1.6em;
}
/*1.7em*/
ul.indent-1-7 li {
	text-indent: -1.7em;
	padding-left: 1.7em;
}
/*1.8em*/
ul.indent-1-8 li {
	text-indent: -1.8em;
	padding-left: 1.8em;
}
/*1.9em*/
ul.indent-1-9 li {
	text-indent: -1.9em;
	padding-left: 1.9em;
}
/*2em*/
ul.indent-2 li {
	text-indent: -2em;
	padding-left: 2em;
}
/*2.6em*/
ul.indent-2-6 li {
	text-indent: -2.6em;
	padding-left: 2.6em;
}
/*3em*/
ul.indent-3 li {
	text-indent: -3.0em;
	padding-left: 3.0em;
}


/*ライン*/
/*ブロック要素の下にラインがつく*/
.line1,
.li1,
hr{
	border-bottom:solid 1px #999999;
	padding-bottom:10px;
	margin-bottom:10px;
    margin-top: 0;
    border-top: 0;
    opacity: unset;
    color: unset;
}
.line1 hr,
.li1 hr,
.line2 hr,
.li2 hr{
	display: none;
}

.line2,
.li2{
	background-image : linear-gradient(to right, #666666 5px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding-bottom:10px;
	margin-bottom:10px;
	height: 1px;
}
/*テキストアンダーライン*/
.u-line{
	text-decoration:underline;
}


/*テキストボックス*/
textarea.textbox {
	width: 350px;
}
/*テキストボックス*/
input.textbox2 {
	width: 250px;
}
input.textbox3 {
	width: 300px;
}
input.textbox4 {
	width: 200px;
}
/*フォントサイズ*/
.font-s2 {
	font-size: 90%;
	line-height: 1.2em;
}
.font-s {
	font-size: 90%;
	line-height: 1.2em;
}
.font-ss {
	font-size: 60%;
	line-height: 1.5em;
}
.font-l {
	font-size: 115%;
}
.font-xl {
	font-size: 130%;
}
@media screen and (max-width: 768px) {
	.sp-font-mini{
		/*font-size: max(50%, 10px);*/
		font-size: 90%;
		line-height: 1.2em;
	}
}

/*フォントカラー*/
.font-red {
	color: var(--danger-color);
}
.font-blue {
	color: #1F55AC;
}
.font-green {
	color: var(--sub-color03);
}
.font-orange {
	color: #FF6600;
}
.font-darkblue {
	color: var(--main-color);
}
.font-pink {
	color: #F52E2E;
}
.font-gray {
	color: #666666;
}
.font-marker-yellow{
	background: linear-gradient(transparent 60%, var(--sub-color02) 40%);
}

/*ボールド*/
.font-bold {
	font-weight: bold;
}
/*イタリック*/
.font-italic {
	font-style: italic;
}
/*ノーマル*/
.font-normal,
.font-def{
	font-weight: normal!important;
	font-style: normal!important;
}
/*----- テキスト位置 -----*/
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-left {
	text-align: left;
}
.text-middle {
	vertical-align: middle;
}
.text-top {
	vertical-align: top;
}
.text-bottom {
	vertical-align: bottom;
}
/*強調見出し*/
p.midashi {
	font-size: 1.125rem;
    margin-top: 30px !important;
}
p.midashi strong {
	color: var(--main-color);
}
/*単体リンク*/
p.link{
	margin-left: 0;
}
p.link2.fr,p.link2.fl{
	width: 40%;
}

p.link2.fl a{
	background-image: url(../../imgs/top/ic_calendar_before.png);
	background-repeat: no-repeat;
	background-position: left;
	padding-left: 20px;
	margin-left: 10px;
	width: 100%;
	display: block;
	box-sizing: border-box;
	text-align: left;
}

p.link2.fr a{
	background-image: url(../../imgs/top/ic_calendar_next.png);
	background-repeat: no-repeat;
	background-position: right;
	padding-right: 20px;
	margin-left: 10px;
	width: 100%;
	display: block;
	box-sizing: border-box;
	text-align: right;
}

@media screen and (max-width: 671px) { /*スマホ用*/
	p.midashi {
		font-size: 1.1429rem;
        margin-top: 36px !important;
	}
	p.link2.fr,p.link2.fl{
		background-position: 0 0.3em;
		width:100%;
	}
	p.link2.fr a{
		background-position: 0 0.3em;
		padding-left: 20px;
		text-align: left;
	}
}

/* サブバナー
------------------------------------------------------------*/
#bnr-list:before, #bnr-list:after {
	content: "";
	display: table;
}
#bnr-list:after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
#bnr-list {
	zoom: 1;
}

#bnr-list {
	clear: both;
	margin: 20px 0 0 0;
}
#bnr-list a {
	display: block;
	background: url(../../imgs/common/bg_bnr_list.gif) no-repeat 0 #FFF;
	margin: 0 0 10px 0;
	border: 4px solid #FFF;
	text-decoration: none;
}
#bnr-list a:hover {
	background: url(../../imgs/common/bg_bnr_list.gif) no-repeat 0 #2F58AE;
}
#bnr-list a dl {
	margin: 0;
	min-height: 82px;
	padding: 0 95px 0 22px;
}
#bnr-list a dl dt {
	margin: 0;
	font-weight: bold;
	color: #2F58AE;
	padding: 9px 0 1px;
	font-size: 16px;
	line-height:16px;
}
#bnr-list a dl dd {
	margin: 0;
	color: #000;
	font-size: 11px;
	line-height: 13px;
}
#bnr-list a dl dd span {
	display: block;
	float: left;
}
#bnr-list a:hover dt, #bnr-list a:hover dl dd {
	color: #FFF;
}
#bnr-list #bnr1 dl {
	background: url(../../imgs/common/bg_bnr_list1.gif) no-repeat right;
}
#bnr-list #bnr2 dl {
	background: url(../../imgs/common/bg_bnr_list2.gif) no-repeat right;
}
#bnr-list #bnr3 dl {
	background: url(../../imgs/common/bg_bnr_list3.gif) no-repeat right;
}
/* IE7対応
------------------------------------------------------------*/
*+html #bnr-list a dl dd span {
	display: inline;
	float: none;
}
@media screen and (max-width: 990px) { /*タブレット用*/
#bnr-list {
	margin: 20px 0 0 0;
}
#bnr-list a {
	display: block;
	float: left;
	width: 31%;
	min-width: 210px;
	margin: 20px 1% 0 0;/*	min-height:120px;*/
}
#bnr-list #bnr3 {
	margin: 0;
}
}
@media screen and (max-width: 680px) {
#bnr-list {
	margin: 20px 0 0 0;
}
#bnr-list a {
	display: block;
	float: none;
	width: 96%;
	margin: 0 0 10px 0;
	min-height: 82px;
}
}
.topics-mei{
	clear:both;
	margin:15px 0 0;
}
.topics-mei a{
	display:block;
/*	width:160px;
	height:69px;
	text-decoration:none;
background:url(../../imgs/top/bg_mt.png) no-repeat 0 0 #FFF;
	padding:1px 0 0 80px;
}
.topics-mei a:hover{
	background-color:#FFE2E1;
}
.topics-mei a dl{
}
.topics-mei a dl dt{
	color:#ED184E;
	font-weight:bold;
	font-size: 16px;
	line-height:16px;
	margin:10px 0 3px;
}
.topics-mei a dl dd{
	margin:0;
	color:#000;
	font-size: 11px;
	line-height: 13px;*/
}


@media screen and (max-width: 768px) {/*タブレット*/
/*.topics-mei{
}
.topics-mei a{
	display:block;
	width:37%;
padding:10px 0 0 13%;
}*/
}
@media screen and (max-width: 768px) {/*スマホ*/
/*.topics-mei a{
	display:block;
	width:70%;
padding:1px 0 0 30%;
}*/
}

/* フロート解除
------------------------------------------------------------*/
@media screen and (max-width: 671px) { /*スマホ用*/
	.linklist-f li, .linklist-two li, .linklist-three li,.linklist-three-s li, .linklist-four li, .linklist-fs li, .list-f li, .list-two li, .list-three li, .list-four li, .list-fs li, .list-two-s li{
		float: none !important;
		width: 90%;
	}
	.fr, .fl, .fr, .fr, .img-l, .img-r, .harf-r, .harf-l, .three-l, .three-c, .three-r,.table-harf-l,.table-harf-r, .half-r, .half-l, .table-half-l,.table-half-r{
		float: none !important;
		width: 100%;
	}
	.img-l, .img-r{
		margin:0;
	}
	.list-f li {
		white-space: normal;
		padding-right: 0;
	}
	.list-fs li {
		white-space: normal;
		padding-right: 0;
	}
	.linklist-f li {
		white-space: normal;
		padding-right:0;
	}
	.linklist-fs li {
	white-space: normal;
		padding-right: 0;
		width: 90%;
	}
	.three-l img, .three-c img, .three-r img{
		max-width:100%;
	}
}


.img-caption{
	text-align:center;
	font-size:0.875rem;
}
.img-caption img{
	display:block;
	margin:0 auto 5px;
	max-width:100%;
	max-height:fit-content;
}
.img-caption h3 img{
	display:inline;
}

.img-caption figure{
	/*display: inline-flex;*/
	display:inline-table;
    flex-direction: column;
}
.img-caption figcaption{
	background: var(--bg-color02);
	text-align: left;
    padding: 2px 6px;
}
.img-caption img+figcaption{
	caption-side: bottom;
	display:table-caption;
}
@media screen and (max-width: 768px) {
	
	.img-caption figcaption{
		font-size:1rem;
	}
}
/*2016-04-05追加*/
.youtube-box {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin:15px 0;
}
.youtube-box iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.status-on{
  	background: none repeat scroll 0 0 #dafbd9;
  	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  	color: #021f6b;
  	font-size: 80%;
  	padding: 5px 10px;
  	position: absolute;
  	/*right: 10px;
  	top: -1px;*/
    right: 43px;
    top: 50%;
  	min-width: 80px;
  	box-sizing: border-box;
  	text-align: center;
    transform: translateY(-50%);
}
.status-on-detail a{
  	background:none repeat scroll 0 0 #dafbd9;
  	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  	color: #3030BF;
  	font-size: 110%;
  	padding: 5px 10px;
  	position: relative;
  	min-width: 80px;
  	box-sizing: border-box;
  	text-align: center;
  	display: block;
  	font-weight: bold;
  	text-decoration:none;
}


.status-off{
  	background: none repeat scroll 0 0 #909090;
  	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  	color: #ffffff;
  	font-size: 80%;
  	padding: 5px 10px;
  	position: absolute;
  	/*right: 10px;
  	top: -1px;*/
    right: 43px;
    top: 50%;
  	min-width: 80px;
  	box-sizing: border-box;
  	text-align: center;
    transform: translateY(-50%);
}
.status-off-detail{
  	background: none repeat scroll 0 0 #909090;
  	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  	color: #ffffff;
  	font-size: 110%;
  	padding: 5px 10px;
  	position: relative;
  	min-width: 80px;
  	box-sizing: border-box;
  	text-align: center;
  	display: block;
  	font-weight: bold;
}

.status-cancel{
  	background: none repeat scroll 0 0 #d1e1f5;
  	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  	color: #021f6b;
  	font-size: 80%;
  	padding: 5px 10px;
  	position: absolute;
  	position: absolute;
  	/*right: 10px;
  	top: -1px;*/
    right: 43px;
    top: 50%;
  	min-width: 80px;
  	box-sizing: border-box;
  	text-align: center;
    transform: translateY(-50%);
}
.status-cancel-detail a{
  	background: none repeat scroll 0 0 #d1e1f5;
  	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  	color: #021f6b;
  	font-size: 110%;
  	padding: 5px 10px;
  	position: relative;
  	min-width: 80px;
  	box-sizing: border-box;
  	text-align: center;
  	display: block;
  	font-weight: bold;
  	text-decoration:none;
}
.status-cancel-detail-l{
	background:none repeat scroll 0 0 #d1e1f5;
        box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
        color: #021f6b;
        font-size: 110%;
        padding: 5px 10px;
        position: relative;
        min-width: 80px;
        box-sizing: border-box;
        text-align: center;
        display: block;
        font-weight: bold;
        text-decoration:none;
}
.status-on-detail-l{
	background:none repeat scroll 0 0 #dafbd9;
  	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  	color: #08081b;
  	font-size: 110%;
  	padding: 5px 10px;
  	position: relative;
  	min-width: 80px;
  	box-sizing: border-box;
  	text-align: center;
  	display: block;
  	font-weight: bold;
  	text-decoration:none;
}
.status-cancel-detail:hover,.status-on-detail:hover{
  	box-shadow: none;
  	opacity:0.8;

}

.status-pre{
        background: none repeat scroll 0 0 #f7f7f7;
        box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
        color: #333;
        font-size: 80%;
        padding: 5px 10px;
        position: absolute;
	  	/*right: 10px;
	  	top: -1px;*/
	    right: 43px;
	    top: 50%;
        min-width: 80px;
        box-sizing: border-box;
        text-align: center;
    	transform: translateY(-50%);
}
.status-pre-detail{
        background: none repeat scroll 0 0 #f7f7f7;
        box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
        color: #333;
        font-size: 110%;
        padding: 5px 10px;
        position: relative;
        min-width: 80px;
        box-sizing: border-box;
        text-align: center;
        display: block;
        font-weight: bold;
}

.courselist-title{
	position:relative;
    padding-right: 170px !important;
}

@media screen and (max-width: 671px) { /*スマホ用*/
	.courselist-title{
    	padding-right: 1.5em !important;
	}
	.status-pre{
		padding: 3px 10px;
		position: relative;
		display: inline-block;
        transform: unset;
        right: unset;
        margin-left: 1em;
	}
	.status-cancel{
		padding: 3px 10px;
		position: relative;
		display: inline-block;
        transform: unset;
        right: unset;
        margin-left: 1em;
	}
	.status-off{
		padding: 3px 10px;
		position: relative;
		display: inline-block;
        transform: unset;
        right: unset;
        margin-left: 1em;
	}
	.status-on{
		padding: 3px 10px;
		position: relative;
		display: inline-block;
        transform: unset;
        right: unset;
        margin-left: 1em;
	}
}
body .fade-in {
  opacity: 0;
  transition-duration: 800ms;
  transition-property: opacity, transform;
}
body .scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}


/*btn01 */
.btn01,.btn02,.btn03,.btn04{
	display: inline-flex;
	position: relative;
	text-decoration: none !important;
	transition: .3s;
	margin-top: 10px;
}
.btn01::before,.btn02::before,.btn03::before,.btn04::before,
.btn01::after,.btn02::after,.btn03::after,.btn04::after{
	content: "";
	display: block;
	position: absolute;
	transition:.3s;
}

.btn01{
	background: var(--bg-color01);
	height: 40px;
	align-items: center;
	padding-right:34px;
	padding-left: 66px;
	border-radius: 50px;
	color: #333333 !important;
}
.btn01:visited{
	color: #333333 !important;
}
.btn01:hover{
	background: var(--main-color);
	color: #ffffff !important;
}
.btn01::before{
	left: 0;
	background:var(--main-color);
	border-radius: 20px;
	height: 40px;
	width: 40px;
}
.btn01::after{
	left: 14px;
	background:url("../../imgs/common/ic_arrow_white.png") no-repeat;
	background-size: cover;
	width: 13px;
	height: 13px;
	top:50%;
	transform: translateY(-50%);
}
.btn01:hover::before{
	width:50px;
}
.btn01:hover::after{
	left: 20px;
}
@media screen and (max-width: 768px) {

	.btn01{
        height: 41px;
        padding-right: 55px;
        padding-left: 71px;
        border-radius: 40px;
	}
	.btn01:before{
		height: 40px;
		width: 40px;
		border-radius: 40px;
	}
	.btn01:after{
		left: 14px;
		width: 14px;
		height: 14px;
	}
	.btn01:hover::before {
	    width:  50px;
	}
	.btn01:hover::after {
	    left:  20px;
	}
}

/*btn02*/
.btn02{
	border: 1px solid var(--main-color);
	padding: 10px 24px 10px 32px;
	z-index: 1;
}
.btn02:visited{
	color:var(--main-color);
}
.btn02:hover{
	color: #ffffff;
}
.btn02::before{
	left: 16px;
	top: 50%;
	width: 6px;
	height: 6px;
	border: 1px solid var(--sub-color03);
	border-left: unset;
	border-bottom:unset;
	transform: translateY(-50%) rotate(45deg);
}
.btn02:hover::before{
	left: 20px;
	border-color: #ffffff;
}
.btn02::after{
	width:0;
	height: 100%;
	background: transparent;
	transition: .3s ease-in-out;
	top: 0;
	left: 0;
	z-index: -1;
}
.btn02:hover::after{
	width:100%;
	background:var(--main-color);
}
@media screen and (max-width: 768px) {

	.btn02 {
    	padding: 11px 32px 11px 40px;
	}
	.btn02::before {
    	left: 24px;
	}
	.btn02:hover::before{
		left: 28px;
	}
}
/*btn03*/
.btn03{
	border: 1px solid var(--main-color);
	padding: 10px 24px 10px 32px;
	color: #ffffff !important;
	background: var(--main-color);
	z-index: 1;
}
.btn03:visited{
	color: #ffffff;
}
.btn03:hover{
	color: var(--main-color) !important;
}
.btn03::before{
	left: 16px;
	top: 50%;
	width: 6px;
	height: 6px;
	border: 1px solid var(--sub-color01);
	border-left: unset;
	border-bottom:unset;
	transform: translateY(-50%) rotate(45deg);
}
.btn03:hover::before{
	left: 20px;
	border-color: var(--main-color);
}
.btn03::after{
	width:0;
	height: 100%;
	background:transparent;
	transition: .3s ease-in-out;
	top: 0;
	left: 0;
	z-index: -1;
}
.btn03:hover::after{
	width:100%;
	background:#ffffff;
}
@media screen and (max-width: 768px) {

	.btn03 {
    	padding: 11px 32px 11px 40px;
	}
	.btn03::before {
    	left: 24px;
	}
	.btn03:hover::before{
		left: 28px;
	}
}
/*btn04*/
.btn04{
	border: 1px solid #ffffff;
	padding: 10px 24px 10px 32px;
	color: #ffffff !important;
	z-index: 1;
}
.btn04:visited{
	color: #ffffff;
}
.btn04:hover{
	color:var(--main-color) !important;
	border-color: var(--sub-color02);
}
.btn04::before{
	left: 16px;
	top: 50%;
	width: 6px;
	height: 6px;
	border: 1px solid var(--sub-color01);
	border-left: unset;
	border-bottom:unset;
	transform: translateY(-50%) rotate(45deg);
}
.btn04:hover::before{
	left: 20px;
	border-color: var(--main-color);
}
.btn04::after{
	width:0;
	height: 100%;
	background:transparent;
	transition: .3s ease-in-out;
	top: 0;
	left: 0;
	z-index: -1;
}
.btn04:hover::after{
	width:100%;
	background:var(--sub-color02);
}
@media screen and (max-width: 768px) {

	.btn04 {
    	padding: 11px 32px 11px 40px;
	}
	.btn04::before {
    	left: 24px;
	}
	.btn04:hover::before{
		left: 28px;
	}
}
