@charset "UTF-8";

/* -----------------------------------------------------------
CSS Information

 File name:			style.css
 Author:				 keiichi ebina
 Style Info:		 各要素のスタイル
----------------------------------------------------------- */

/* { border: 1px solid; } */

/*----------------------------------------------------
	body
----------------------------------------------------*/

html {
	background: url(/index/images/bg/color_bar.png) repeat-x 0 -2px;
}


body {
	width: 100%;
	margin: 0 auto;
	padding: 0px;
	text-align: left;
	font-size: small;
/*	background: url(/index/images/body.jpg) no-repeat 0 0; */
	background-color: #fff;
}

#wrapper {
    position: relative;
		padding-bottom: 0;
}

#pagebody {
padding-bottom: 100px;
}

/*----------------------------------------------------
	header
----------------------------------------------------*/

header {
	display: block;
	margin: 30px auto;
	padding: 4px 0 0 0;
	width: 1000px;
	height: 120px;
	background: #fff;
/*	border: 1px solid #000;  */
}

header h1 {
	display: block;
	float: left;
	margin: 10px 0 0 0;
	padding: 0;
	width: 400px;
	height: 90px;
/*	border: 1px solid #f00; */
}
header h1 a {
	display: block;
	margin: 0;
	padding: 0;
	width: 400px;
	height: 90px;
	text-indent: -9999px;
	background: url(/index/images/logo.png?201309) no-repeat 0 0;
}

#header #header_additional {
		padding-top: 0px;
}

@media (max-width: 480px) {
	#header #header_additional {
	right: 55px;
	padding-top: 0px;
	}
}

/* nav
----------------------------------------------------*/

ul#navi {
	display: block;
	float: right;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 450px;
/*	border: 1px solid #f00; */
}
ul#navi li {
	display: inline;
	float: left;
	margin: 0 4px 0 0;
	padding: 0;
	width: 106px;
	height: 106px;
	text-indent: -9999px;
	list-style: none;
/*	border: 1px solid #ccc; */
}
ul#navi li a {
	display: block;
	width: 106px;
	height: 106px;
}

li#mat a {
	background: url(/index/images/nav_all.png) no-repeat 0 0;
}
li#cnf a {
	background: url(/index/images/nav_all.png) no-repeat -110px 0;
}
li#now a {
	background: url(/index/images/nav_all.png) no-repeat -220px 0;
}
li#spt a {
	background: url(/index/images/nav_all.png) no-repeat -330px 0;
}
li#mov a {
	background: url(/index/images/nav_all.png) no-repeat -440px 0;
	margin: 0;
}


/*----------------------------------------------------
	section
----------------------------------------------------*/
#wrapper {
	width: 100%;
}
/*;
#container {
	margin-top: 30px;
	margin: 10px auto;
	width: 1000px;
} 
*/

.greeting {
	position: relative;
	width: 100%;
	height: auto;

	background: repeating-linear-gradient(-45deg, #fef4f4, #fef4f4 14px,#ffefef 14px, #ffefef 20px);
	
	line-height: 2em;
	color: #ee8992;	
	font-weight: 700;
	padding: 1.5em 1.5em 1.5em 1.5em;
	border: 3px solid #ffefef;
	margin: 2em auto;
}

.greeting h2 {
	font-size:2rem!important;
	font-weight: 700;
}


@media (max-width: 480px) {
.greeting h2 {
	font-size:1.5rem!important;
}
.greeting {
	padding: 1em 1em 1em 1em;
}
}


.cntnt {
	margin: 2em auto 3em auto;
}
.cntnt h4 {
	font-size: 1.2rem;
	letter-spacing: 0!important;
}


.cp_ribbon02 {
    height: 130px;
    left: -6px;
    overflow: hidden;
    position: absolute;
    top: -6px;
}


.cp_ribbon02 .cp_ribbon {
    background-color: #FF9800;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    color: #ffffff;
    font-size: 1em;
    left: -38px;
    letter-spacing: 0.5px;
    line-height: 1.2em;
    padding: 6px 0;
    position: relative;
    text-align: center;
    top: 12px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 153px;
}


/* -------------------------------------------------- *
 * パネルにラベル
 * -------------------------------------------------- */
.cp_ribbon02 {
	height: 85px;
	left: -6px;
	overflow: hidden;
	position: absolute;
	top: -6px;
	/*width: 204px;*/
}


.cp_ribbon02 .cp_ribbon {
	background-color: #FF9800;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	color: #ffffff;
	font-size: 1em;
	left: -38px;
	letter-spacing: 0.5px;
	line-height: 1.2em;
	padding: 6px 0;
	position: relative;
	text-align: center;
	top: 12px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 153px;
}


.cp_ribbon02 .cp_ribbon::before,
.cp_ribbon02 .cp_ribbon::after {
	bottom: -5px;
	border-width: 5px 5px 0 5px;
	border-style: solid;
	border-color: #EF6C00 transparent transparent transparent;
	content: '';
	position: absolute;
}


.cp_ribbon02 .cp_ribbon::before {
	left: 8px;
}


.cp_ribbon02 .cp_ribbon::after {
	right: 24px;
}







#gakusei_m.banner_m .cp_ribbon02 div {
	border-bottom: 0px solid #ffffff;
}


@media (min-width: 768px) {
	#gakusei_m.banner_m .cp_ribbon02 div {
		border-bottom: none;
		border-left: 0px solid #ffffff;
	}
}


@media (max-width: 768px) {
	.cp_ribbon02 .cp_ribbon {
		font-size: 0.9em;
		left: -35px;
		top: 7px;
		width: 133px;
	}
	

}





.red {
	color: #f00!important;
}


#uc {
	padding-bottom: 10px;
	margin-bottom: 1em!important;
}
.mt50 {
	margin-top: 10px!important;
}



.clearfix::after {
   content: "";
   display: block;
   clear: both;
}






#slide, #material {
	margin: 0 auto;
	width: 1000px;
}

section {
	margin: 10px 0;
}
section#material {
	width: 1000px;
}
section#material .in {
	margin: 20px auto 10px auto;
	padding: 20px 0;
	width: 1000px;	
}
section#briefing {
	margin: 20px auto 10px auto;
	width: 100%;
	background-color: #f4f4f4;
}
section#briefing .in {
	margin: 20px auto 10px auto;
	padding: 20px 0;
	width: 1000px;
}

section#whatsnew {
	margin: 20px auto 10px auto;
	width: 100%;
	background-color: #fff;
}
section#whatsnew .in {
	margin: 20px auto 10px auto;
	padding: 20px 0;
	width: 1000px;
}
section#supportcenter {
	margin: 20px auto 10px auto;
	width: 100%;
	background-color: #edcdcd;
}
section#supportcenter .in {
	margin: 20px auto 10px auto;
	padding: 20px 0;
	width: 1000px;
}
section#movie {
	margin: 20px auto 30px auto;
	width: 100%;
	background-color: #fff;
}
section#movie .in {
	margin: 20px auto 10px auto;
	padding: 20px 0;
	width: 1000px;
}
.supportcenter {
	margin: 20px auto 10px auto;
	width: 100%;
	background-color: #edcdcd;
}
.supportcenter .in {
	margin: 20px auto 10px auto;
	padding: 20px;
}

.half_l {
	float: left;
	margin: 0px 5px 0 0;
	width: 493px;
/*	border: 1px solid; */
}
.half_r {
	float: right;
	margin: 0px 0 0 0;
	width: 495px;
/*	border: 1px solid; */
}
	

.col_l {
	margin: 0 0.5em 0 0
}
.col_r {
	margin: 0 0 0 0.5em;
}

.dl {
	float: right;
	margin: 0 0 0.5em 0;
	width: 250px;
	text-align: right;
}


/*	section h2 headline */


/*section#content h2#h_esys {
	background: url(/index/images/h2/e-sys.png) no-repeat 0 0;
}*/


/*	headline */


h2#guardian {
	margin: 0 0 10px 0;
	padding: 0;
	width: 100%;
  height: 0;
  padding-top: calc(300 / 1000 * 90%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	text-indent: -9999px;
	background: url(/index/images/headline/h2_guardian.jpg) center center / cover no-repeat;
}
h2#mat {
	margin: 0 0 10px 0;
	padding: 0;
	width: 100%;
  height: 0;
  padding-top: calc(300 / 1000 * 90%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	text-indent: -9999px;
	background: url(/index/images/headline/h2_mat.jpg) center center / cover no-repeat;
}
h2#schedule {
	margin: 10px 0;
	padding: 0;
	width: 100%;
  height: 0;
  padding-top: calc(300 / 1000 * 90%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	text-indent: -9999px;
	background: url(/index/images/headline/h2_schedule.jpg) center center / cover no-repeat;
}
h2#whats {
	margin: 10px 0;
	padding: 0;
	width: 100%;
  height: auto;
	text-indent: -9999px;
	background: url(/index/images/headline/h2_whatsnew.jpg) no-repeat 0 0;
}
h2#sc {
	margin: 10px 0;
	padding: 0;
	width: 100%;
  height: 0;
  padding-top: calc(300 / 1000 * 90%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	text-indent: -9999px;
	background: url(/index/images/headline/h2_sc.jpg) center center / cover no-repeat;
}
h2#mov {
	margin: 10px 0;
	padding: 0;
width: 100%;
  height: 0;
  padding-top: calc(300 / 1000 * 90%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	text-indent: -9999px;
	background: url(/index/images/headline/h2_mov.jpg) center center / cover no-repeat;
}

h3 {
	display: block;
	margin: 0.5em 0;
	padding: 10px 5px 5px 0.5em;
	width: 100%;
  height: auto;
	line-height: 2em;
	color: #fff;
	font-size: 22px;
	background: url(/index/images/headline/bg_h3.png) no-repeat 0 0;
}
h3.long {
	display: block;
	margin: 0.5em 0;
	padding: 10px 5px 5px 0.5em;
	width: 100%;
  height: auto;
	line-height: 2em;
	color: #fff;
	font-size: 22px;
	background: url(/index/images/headline/bg_h3_l.png) no-repeat 0 0;
}

@media (max-width: 480px) {
h3 {
	display: block;
	margin: 0.5em 0;
	padding: 10px 5px 0 0.5em;
	width: 100%;
  height: auto;
	line-height: 2em;
	color: #fff;
	font-size: 16px;
	background: url(/index/images/headline/bg_h3.png) no-repeat 0 0;
}
h3.long {
	display: block;
	margin: 0.5em 0;
	padding: 10px 5px 0 0.5em;
	width: 100%;
  height: auto;
	line-height: 2em;
	color: #fff;
	font-size: 16px;
	background: url(/index/images/headline/bg_h3_l.png) no-repeat 0 0;
}

}

h3#mat_howto {
	display: block;
	margin: 0.5em 0;
	padding: 0;
width: 100%;
  height: 0;
  padding-top: calc(300 / 1000 * 90%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
	text-indent: -9999px;
	background: url(/index/images/headline/bg_h3_mat.jpg) center center / cover no-repeat;
}


h4 {
	display: block;
	margin: 0.5em 0;
	padding: 0;
	color: #009be5;
	font-size: 140%;
}


/*	color */
.blue { color: #009be5; }




/*	article
----------------------------------------------------*/

article {
	display: block;
	margin: 10px 0 0 0;
	padding: 0;
	width: 720px;
/*	border: 1px solid #ccc; */
}

/*	box use masonry
----------------------------------------------------*/
.box {
	float: left;
	margin: 5px;
	padding: 5px 10px;
/*	font-size: 11px; */
	line-height: 1.4em;
	background: #eaeaea;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

/*	box color */
.b_blue {	background: #dbe6f5; }
.b_pink {	background: #ffe2f8; }


/*	box sizes */
.col1 { width: 690px; }		/* 1colums */
.col2 { width: 330px; }		/* 2colums */
.col3 { width: 210px; }		/* 3colums */
.col4 { width: 150px; }		/* 4colums */

.col1 img { max-width: 690px; }		/* 1colums */
.col2 img { max-width: 330px; }		/* 2colums */
.col3 img { max-width: 210px; }		/* 3colums */
.col4 img { max-width: 150px; }		/* 4colums */

/* others */
.col5 { width: 80px; }
.col6 { width: 180px; }
.col7 { width: 280px; }
.col8 { width: 380px; }
.col9 { width: 480px; }

.col5 img { max-width: 80px; }
.col6 img { max-width: 180px; }
.col7 img { max-width: 280px; }
.col8 img { max-width: 380px; }
.col9 img { max-width: 480px; }


.box h3 {
	margin: 0;
	padding: 5px 0;
	font-size: 16px;
	color: #333;
}
.box h3.notitle {
	text-indent: -9999px;
	font-size: 1px;
	line-height: 1px;	
}
.box h3 img {
	margin: 3px 0 0 2px;
	padding: 2px;
	width: 200px;
	background-color: #fff;
	border: 1px solid #ccc;
}

.box p {
	margin-top: 0em;
}

.caption {
	margin: 0 0 2px 0;
	padding: 0;
	font-size: 90%;
	text-align: center!important;
}



section ul {
	margin-left: 20px;
}

#content ul.chosen-results {
    padding-left: 4px;
		margin: 0 4px 4px 0;
}
#content ul.chosen-results > li {
    padding-left: 6px;
}

section figure {
	display: block;
	padding: 10px;
	text-align: center;
	background: #EFEFEF;
}

/*----------------------------------------------------
	lists
----------------------------------------------------*/
ol {
	margin-left: 2em;
}
ol li, ul li {
	margin: 0.5em 0;
}

dl {
	margin: 0.5em 0 0.5em 1em;
	font-weight: normal;
}
dt, dd {
	margin: 0.5em 0;
}
dt {
}
dd {
	margin-left: 0.5em;
}

dl.price dt {
	color: #dc143c;
}
dl.price dd {
	font-size: 120%;
	font-weight: bold;
	color: #dc143c;
}
dl.price dd.care {
	margin-left: 0.7em;
	font-size: 90%;
	font-weight: normal;
	color: #0077b0;
}

dl.spec {
	float: left;
	margin: 10px 10px 5px 0;
	padding: 0 0.6em 0 0;
	width: 220px;
	border-right: 1px solid #aaa;
}
dl.spec dt {
	margin: 0 0 0.5em 0;
	font-size: 120%;
	font-weight: bold;
	color: #0077b0;
}
dl.spec dd.per {
	font-size: 120%;
	font-weight: bold;
}
dl.spec dd.price, .price {
	font-size: 120%;
	font-weight: bold;
	color: #dc143c;
}

dl.store dt {
	font-weight: bold;
}

.img_r {
	float: right;
	margin:0;
	padding: 1em 10px 0 0;
	width: 190px;
	text-align: center;
}



/*----------------------------------------------------
	footer
----------------------------------------------------*/

footer {
	clear: both;
	display: block;
	margin: 10px 0 0 0;
	padding: 10px 0 10px 0;
	width: 100%;
	min-height: 70px;
	height: 70px;
	background: #333;
}

@media (max-width: 480px) {
	footer {
	position: absolute;
	bottom: 78px;
}
#content.full {
    margin-bottom: 150px;

}
#page-top a {
    bottom: 120px;
}
}


footer .col_l3 {
	float: left;
	width: 30%;
	font-size: 11px;
}

footer ul li {
	list-style: none;
}


.footer{
    position:fixed;
    z-index:100;
    width:100%;
    bottom:0px;
    border-top:#222 solid 1px;
}
 
.footer .button{
    position:fixed;
    right:0px;
    bottom:0px;
    width:50px;
    text-align:center;
    padding:10px;
    background:#333;
    color:#eee;
    font-weight:bold;
    cursor:pointer;
}
 
.footer .button:hover{
    background:#eee;
     color:#666;
}
 
.footer .content{
    text-align:center;
    background:#666;
    padding:10px 50px 10px 10px;
}
 
.footer .content a{
    color:#FFF;
    margin:0 5px 0 5px;
}

footer p.sosu {
	margin: 10px 0 0 0;
	padding: 0;
	font-size: 11px;
	text-align: center;
	color: #fff;
}





/* TABLES
---------------------------------------------------- */

table {
	margin: 6px auto;
	padding: 1px 0 0 0;
	width: 98%;
	font-size: 11px;
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px double #dcdcdc;
	border-right: 1px solid #ccc;
	background: #fff;
}

table th, table td {
	margin: 0;
	padding: 4px;
	border-top: 1px solid #dcdcdc;
	vertical-align: middle;
	text-align: left;
	border-left: 1px solid #ccc;
}
table *.top {
	border-top: 3px double #dcdcdc;
}
table th {
	white-space: nowrap;
	text-align: center;
	background-color: #fae2e2;
}
table *.day {
	padding-left: 0.8em;
	width: 3em;
	text-align: right;
}
table *.wday {
	width: 3em;
	text-align: center;
}
table *.line {
	border-bottom: 3px double #dcdcdc;
}

table *.c {
	text-align: center;
}
table *.l {
	text-align: left;
}
table *.r {
	text-align: right;
}

.sat {
	color: #2174d9;
}
.sun {
	color: #ff0000;
}

/* TEXT
---------------------------------------------------- */
.fw_nor { font-weight: normal; }

sub { font-size: 70%; }


hr {
	margin: 0 auto 15px auto;
	width: 92%;
	border: 0px;
	border-top: 1px solid #dcdcdc;
}

h3.store { color: #009be5; }

#social {
	margin: 0 0 0 0;
	padding: 0;
	width: 500px;
/*	border: 1px solid; */
}
div.snbtn {
	float: left;
	margin: 0 5px 0 0;
/*	border: 1px solid #f00; */
}

#page-top {
	position: fixed;
	bottom: 40px;
	right: 20px;
	font-size: 77%;
	
}
#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 80px;
    padding: 20px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	position: absolute;
    bottom: 60px;
    right: 0px;
		opacity: 0.8;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}

@media (max-width: 480px) {
#page-top a {
    bottom: 120px;
}
}


/** 08. top_button
 **************************************************************** **/

.top_button ul {
	display: -webkit-box;
	display: -moz-box;
	display: flexbox;
	display: flex;
	margin: 0;
	padding: 10px 0 5px;
	list-style: none;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.top_button a, .top_button a:link, .top_button a:visited {
	text-decoration: none;
}
.top_button a:hover{
	transition: all .2s ease;
	-webkit-transition: all .2s ease;
}
.top_button li {
	display: inline-block;
	text-decoration: none;
	color: #000000;
	padding: 5px 3px;
	text-align: center;
	font-weight: 100;
	width: 25%;
	-webkit-box-flex: initial;
	-moz-box-flex: initial;
	-ms-flex: initial;
	flex: initial;
}
@media screen and (min-width: 481px){
	.top_button ul {
		display: none;
	}
}
@media screen and (max-width: 991px){
	.top_button li {
		width: 33.33%;
	}
}
@media screen and (max-width: 768px){
	.top_button li {
		width: 50%;
	}
}
@media screen and (max-width: 480px){
	.top_button li {
/* 		width: 14.2%; */
		width: 23%;	/* overwrite */
/* 		border: 1px solid; */
	}
}
.top_button li a {
	position: relative;
	display: block;
	text-align: center;
	border: 3px solid #AE3249;
	padding:2px 5px 12px 5px;
	margin: 0 5px;
	box-sizing: border-box;
	font-weight: 600;
	text-transform: uppercase;
	-webkit-tap-highlight-color: transparent;
	transition: 0s ease-out;
	color: #232323;
}
.top_button li a:after {
	font-family: 'Font Awesome 5 Free';
	content: "\f054";
	color: #AE3249;
	font-weight: 600;
	font-size: 1.2em;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -12px;
}
.top_button li a:hover {
	background-color: rgba(174,50,73,0.20);
	border: 3px solid #AE3249;
}
.top_button li a .document_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url("/index/images/icon2/01_document.svg");
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a .team_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url(/index/images/icon2/02_team.svg);
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a .presen_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url(/index/images/icon2/03_presen.svg);
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a .memo_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url(/index/images/icon2/04_memo.svg);
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a .goal_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url(/index/images/icon2/05_goal.svg);
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a .house_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url(/index/images/icon2/06_house.svg);
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a .pc_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url(/index/images/icon2/07_pc.svg);
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a .cart_icon:before {
	position:relative;
	top: 8px;
	right: 3px;
	content: url(/index/images/icon2/08_cart.svg);
	display: inline-block;
	width: 30px;
	height: 30px;
}
.top_button li a:hover:before{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top_button li a:active:before{
	top: 7px;
	reft: -7px;
	width: 100%;
	height: 100%;
	z-index: -1;
}

@media (max-width: 480px) {
	.top_button ul{
		position: fixed;
		width: 100%;
		bottom:0px;
		padding: 0px 0 5px;
		z-index: 1000;
		background-color: rgba(255,255,255,0.80);
		box-shadow: 0 1px 6px 0 rgb(32 33 36 / 28%);
	}
	.top_button li {
		margin: 3px auto;
	}
	.top_button li a {
		position: relative;
		border: 0px solid #232323;
		padding:0;
		margin: auto;
		box-sizing: border-box;
		font-weight: 600;
		text-transform: uppercase;
		text-decoration: none;
		color: #232323;
		text-align: center;
		line-height: 1.2;
		font-size: 9px;
		z-index: 1001;
	}
	.top_button li a:after {
		display: none;
	}
	.top_button li a:hover {
		background-color: rgba(250,110,89,0.0);
		border: 0px solid #AE3249;
	}
	.top_button li a .document_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url(/index/images/icon2/01_document.svg);
		display: block;
		width: 30px;
		height: 30px;
	}
	.top_button li a .team_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url(/index/images/icon2/02_team.svg);
		display: block;
		width: 30px;
		height: 30px;
	}
	.top_button li a .presen_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url(/index/images/icon2/03_presen.svg);
		display: block;
		width: 30px;
		height: 30px;
	}
	.top_button li a .memo_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url(/index/images/icon2/04_memo.svg);
		display: block;
		width: 30px;
		height: 30px;
	}
	.top_button li a .goal_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url(/index/images/icon2/05_goal.svg);
		display: block;
		width: 30px;
		height: 30px;
	}
	.top_button li a .house_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url(/index/images/icon2/06_house.svg);
		display: block;
		width: 30px;
		height: 30px;
	}
	.top_button li a .pc_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url(/index/images/icon2/07_pc.svg);
		display: block;
		width: 30px;
		height: 30px;
	}
	.top_button li a .cart_icon:before {
		position:relative;
		margin: 0 auto 3px;
		top: 0px;
		right: 0px;
		content: url("/index/images/icon2/08_cart.svg");
		display: block;
		width: 30px;
		height: 30px;
	}
}

/* ----------------------------------------
 * 調整
 * ---------------------------------------- */
#content .row.cntnt.content_link .caption h4 {
	font-size: 1.1em;
}
.row.cntnt.content_link .thumbnail .caption {
	padding: 0px;
}

.row.cntnt.content_link .thumbnail .caption p {
	margin: 0.5em 0 0.5em 0;
}

@media (max-width: 768px) {
	#content .row.cntnt.content_link .caption h4 {
		font-size: 1.2em;
	}
}
@media (max-width: 380px) {
	#content .row.cntnt.content_link .caption h4 {
		font-size: 0.95em;
	}
	.row.cntnt.content_link .thumbnail .caption p {
		font-size: 0.9em;
}
}




/* フッター（全ページに表示）*/
.footer {
	position: relative;
	clear: both;
	font-size: 0.95em;
	border-top: #222 solid 0px;
	height: auto;
	margin: 0;
	padding: 0;
	background-color: #e0e4eb;
}

@media all and (max-width: 768px) {
.footer {
    bottom: 80px;
}
}

footer {
	position: absolute;
	background: #fff;
	bottom: 80px;
}

.dfont {
	font-family: "Quicksand","Helvetica", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

.footer p {
	line-height: 1.55;
}

.footer p a {
	text-decoration: underline;
}

.footer p a:hover {
	opacity: 0.7;
}

#footer-menu {
	padding: 20px 10px 10px;
	text-align: center;
}

#footer-menu a {
	color: #fff;
	text-decoration: none;
}

.footer-menu__btn {
	font-size: 20px;
	transition: 0.3s ease-in-out;
}

.footer-menu__btn:hover {
	opacity: 0.7;
}

#footer-menu nav,
.footer-links {
	display: inline-block;
}

.privacy-policy-link {
	padding-left: 0;
}

.copyright {
	margin: 5px 0 0;
	font-size: 13.5px;
	opacity: 0.7;
}

@media (max-width: 320px) {
	.copyright {
		font-size: 12px;
	}
}

#footer-menu {
	background-color: rgba(255, 255, 255, 0.8)!important;
	box-shadow: none;
}

#footer-menu a, .copyright {
		color: #e63d8c!important;
}

#footer-menu {
	background-color: rgba(255, 255, 255, 0.8)!important;
	box-shadow: none;
}



/*記事下部のシェアボタン*/




.sns-btn__title {
display: inline-block;
position: relative;
padding: 0 25px;
color: #cccfd7;
font-size: 22px;
font-weight: bold;
line-height: 1;
letter-spacing: 1px;
}

.sns-btn__title:before,
.sns-btn__title:after {
display: inline-block;
position: absolute;
top: 50%;
width: 20px;
height: 3px;
border-radius: 3px;
background-color: #d8dae1;
content: "";
}



.sns-btn__title:before {
left: 0;
-webkit-transform: rotate(50deg);
transform: rotate(50deg);
}



.sns-btn__title:after {
right: 0;
-webkit-transform: rotate(-50deg);
transform: rotate(-50deg);
}



.share_txt {
font-weight: bold;
white-space: nowrap;
}

/*
* シェアボタン
*/
.sns-btn {
margin: 0 auto;
text-align: center;
}



.sns-btn__item {
display: inline-block;
position: relative;
width: 17%;
	margin: 0 0.5%;
}



.sns-btn__item a {
display: inline-block;
border-radius: 10px;
font-size: 12px;
text-align: center;
vertical-align: middle;
transition: 0.3s ease-in-out;
}

.sns-btn__item a:hover {
opacity: 0.6;
box-shadow: none;
}


.sns-btn__item a:hover {
opacity: 0.6;
box-shadow: none;
}

.sns-btn__item i {
display: block;
width: auto;
height: 32px;
font-size: 32px;
line-height: 32px;
}

.sns-btn__item img {
display: block;
height: 32px;
width: 32px;
padding: 1px;
}



.tw a {
  color: #3ab4ff;
}
.fb a {
  color: #3b8df7;
}
.pkt a {
  color: #ff7b7b;
}
.hatebu a {
  color: #45b5f7;
}
.line a {
  color: #59d869;
}

.fa-hatebu:before {
position: relative;
top: -0.1em;
font-family: "Quicksand", "Arial", sans-serif;
font-size: 1.11em;
font-weight: bold;
line-height: 32px;
content: "B!";
white-space: nowrap;
}

/*記事上部の円形FAB形式シェアボタン*/
#fab {
display: none;
}

.fab-btn {
display: block;
position: relative;
margin: -25px 15px 0 auto;
width: 140px;
z-index: 2;
outline: none;
cursor: pointer;
border-radius: 33px;
font-size: 19px;
text-align: center;
letter-spacing: 1px;
background-color: #fff;
box-shadow: 0 5px 18px -2px rgba(0, 0, 0, 0.15);
transition: 0.3s ease-in-out;
transition-delay: 0.1s;
animation: animScale 3.5s ease-out;
}

.fab-btn,
.fab-btn i {
height: 50px;
line-height: 50px;
}

.fab-btn i:after {
content: "SHARE";
padding-left: 10px;
font-family: "Quicksand", "Avenir", "Arial";
font-weight: 500;
color: #555;
}

.fab-btn:hover {
box-shadow: 0 12px 45px -9px rgba(0, 0, 0, 0.23);
}

#fab:checked ~ .fab-btn {
background: #f0f0f0;
opacity: 0;
-webkit-transform: translate(-150px, -150px) scale3d(4, 5, 1);
transform: translate(-150px, -150px) scale3d(4, 5, 1);
}

.nothumb .fab-btn {
margin: -35px 15px 0 auto;
}

.nothumb .fab-btn {
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

@media only screen and (max-width: 400px) {
.nothumb .fab-btn {
margin: 15px;
width: auto;
animation: none;
}

.nothumb .fab-btn,
.nothumb .fab-btn i {
animation: none;
}
}

#fab:checked ~ .fab-btn i {
display: none;
}

#fab__contents {
display: none;
position: fixed;
z-index: 9999;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 10px;
background: #eaedf2;
}

#fab:checked ~ #fab__contents {
display: block;
animation: coverIn 0.7s ease 0s 1 normal;
}

@keyframes coverIn {
0% {
opacity: 0;
}
50% {
opacity: 0;
}

100% {
opacity: 1;
}
}

.fab__contents-main {
position: absolute;
top: 50%;
left: 0;
width: 100%;
padding: 20px 0;
background: #e9edf2;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}

.fab__contents_title {
margin: 0;
font-size: 30px;
text-align: center;
}

.fab__contents_img {
overflow: hidden;
position: relative;
width: 300px;
height: 145px;
margin: 10px auto;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: cover;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
color: #fff;
font-weight: bold;
}



#fab:checked ~ #fab__contents .close {
display: inline-block;
}

.close span:hover {
transform: rotate(45deg) scale(1.1);
}

.fab__close-cover {
display: none;
position: fixed;
z-index: 9999;
top: 0;
left: 0;
padding: 10px;
background: rgba(0, 0, 0, 0.35);
opacity: 0;
}

/*END FABシェアボタン*/

/*記事上下シェアボタン（カスタマイザーで別デザインを選んだ場合）*/

#entry footer aside {
position: relative;
}





dl, ol, ul {
margin: 1em 0;
}

/*余白*/
.single .insidesp,
.page .insidesp {
padding: 0;
}

/*
* 記事フッター 769px~
*/
.footer-contents {
padding: 0 25px;
}

.footer-meta {
padding: 10px 0;
text-align: right;
}



.page .footer-contents {
margin-bottom: 2em;
}


/*========= 481px〜のデバイスの場合 =========*/
@media only screen and (min-width: 481px) {

  /*
 * 記事フッター481px~
 */
  .sns-btn__item {
    width: 14%;
    max-width: 86px;
    margin: 0;
  }
}


/* page2top
---------------------------------------------------- */
#page2top{
    line-height: 40px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    position:fixed;
    bottom:40px;
    right:0px;
    z-index: 999999;
    display:none;
}
#page2top a {
	background: #25CBF5;
	text-decoration: none;
	color: #fff;
    width:40px;
    height: 40px;
	line-height: 0;
	padding: 0.4em 0;
	text-align: center;
	display: block;
	font-weight: normal !important;
	border-radius: 0em;
	filter:alpha(opacity=50);
	opacity:0.5;
	-moz-opacity: 0.5;
    transition: all 0.3s;
}
#page2top a:hover{
    text-decoration:none;
    opacity: 1;
    color:#fff;
	background: #25CBF5;
}
p#page2top{
    margin: 0 0 0px;
}
@media all and (max-width: 768px) {
#page2top{
    bottom:80px;
}
.footer {
    bottom: 80px;
}
}




#uc input, #uc button, #uc select, #uc textarea {
width: 100%;
}



/** 06. module 追加
 **************************************************************** **/
.flexslider .container, .full-height .container, .module-header .container, .module-slides .container {
    position: relative;
    z-index: 2;
    top: 0px;
}

@media all and (max-width: 768px) {
.flexslider .container, .full-height .container, .module-header .container, .module-slides .container {
    position: relative;
    z-index: 2;
    top: 0px;
}
}


.module_inner {
	padding:20px 20px;
	margin: 10px 0;
}

@media screen and (max-width: 767px){
	.module_inner {
		padding:10px 20px;
	}
}
/* 枠のradius指定 */
.module2.r5 {
	border-radius: 5px;
}
.module2.r6 {
	border-radius: 6px;
}
.module2.r7 {
	border-radius: 7px;
}
.module2.r8 {
	border-radius: 8px;
}
.module2.r9 {
	border-radius: 9px;
}
.module2.r10 {
	border-radius: 10px;
}

.slides_btn .module-blue {
	background: rgba(225,240,250,0.80);
}

.slides_btn .module-pink {
	background-color: rgba(250,230,238,0.80);
}

.slides_btn .module-blue:hover,.slides_btn .module-blue:active {
	background: rgba(112,168,206,0.80);
}

.slides_btn .module-pink:hover,.slides_btn .module-pink:active {
	background-color: rgba(241,151,186,0.80);
}

.slides_btn .module-blue:hover .tbcinergothic ,.slides_btn .module-pink:hover .pink   {
		color: #fff;
}

.slides_btn .label {
	font-family: tbcinergothic-std,"游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}



/* =========================================
SNSまとめページ
========================================= */

.sns-university-list {
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px 20px;
}

/* 見出し */
.sns-heading {
  text-align: center;
  margin-bottom: 50px;
}

.sns-heading h2 {
  font-size: 34px;
  font-weight: bold;
  color: #222;
  margin-bottom: 15px;
  line-height: 1.4;
}

.sns-heading p {
  font-size: 16px;
  color: #666;
  line-height: 1.9;
}

/* カードグリッド */
.sns-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}

.sns-card {
  width: calc(50% - 13px);
}

/* カード */
.sns-card {
width: calc(50% - 13px);
  background: #fff;
  border-radius: 18px;
  box-shadow:
    0 4px 15px rgba(0,0,0,0.06);
  transition: 0.3s;
  overflow: hidden;
  border: 1px solid #eee;
}



/* カード内 */
.sns-card-body {
  padding: 35px 30px;
}

/* 大学名 */
.sns-card h3 {
background:none;
  font-size: 24px;
  color: #222;
  margin-bottom: 18px;
  line-height: 1.5;
}

/* 説明 */
.sns-card-text {
  font-size: 15px;
  color: #666;
  line-height: 1.9;
  margin-bottom: 28px;
}

/* LINEボタン */
.sns-line-btn {
  display: inline-block;
  width: 100%;
  text-align: center;
  background: #06C755;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  padding: 16px;
  border-radius: 12px;
  transition: 0.3s;
  box-sizing: border-box;
}

.sns-line-btn:hover {
  background: #00b44c;
  transform: scale(1.02);
	color: #fff;
}
a.sns-line-btn:active,a.sns-line-btn:visited {
	color: #fff;
}

/* 準備中カード */
.sns-card-disabled {
  opacity: 0.7;
  background: #fafafa;
}

.sns-coming-soon {
  display: inline-block;
  width: 100%;
  text-align: center;
  background: #ccc;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  padding: 16px;
  border-radius: 12px;
  box-sizing: border-box;
}

/* =========================================
SP対応
========================================= */

@media screen and (max-width: 768px) {

  .sns-university-list {
    padding: 40px 15px;
  }

  .sns-heading {
    margin-bottom: 35px;
  }

  .sns-heading h2 {
    font-size: 26px;
  }

  .sns-heading p {
    font-size: 14px;
    line-height: 1.8;
  }

.sns-card {
    width: 100%;
  }

  .sns-card-body {
    padding: 25px 20px;
  }

  .sns-card h3 {
		background:none;
    font-size: 21px;
    margin-bottom: 14px;
  }

  .sns-card-text {
    font-size: 14px;
    margin-bottom: 22px;
  }

  .sns-line-btn,
  .sns-coming-soon {
    font-size: 15px;
    padding: 14px;
  }

}


/* =========================================
LINE誘導バナー
========================================= */

.newlife-line-banner {
  display: block;
  text-decoration: none;
  margin: 40px auto;
  max-width: 1100px;
  overflow: hidden;
  border-radius: 24px;
  position: relative;
  background:
    linear-gradient(135deg, #06C755 0%, #00b84d 100%);
  box-shadow:
    0 10px 30px rgba(6,199,85,0.25);
  transition: 0.3s;
}

/* 背景装飾 */
.newlife-line-banner::before,
.newlife-line-banner::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
}

.newlife-line-banner::before {
  width: 240px;
  height: 240px;
  top: -80px;
  right: -60px;
}

.newlife-line-banner::after {
  width: 180px;
  height: 180px;
  bottom: -70px;
  left: -50px;
}

/* hover */
.newlife-line-banner:hover {
  transform: translateY(-4px);
  box-shadow:
    0 18px 40px rgba(6,199,85,0.35);
}

/* 中身 */
.newlife-line-banner__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 45px 50px;
}

/* 左 */
.newlife-line-banner__text {
  color: #fff;
}

/* ラベル */
.newlife-line-banner__label {
  display: inline-block;
  background: #fff;
  color: #06C755;
  font-size: 14px;
  font-weight: bold;
  padding: 7px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
}

/* タイトル */
.newlife-line-banner h4 {
  font-size: 38px;
  line-height: 1.4;
  font-weight: bold;
  margin: 0 0 16px;
  color: #fff;
}

/* 説明 */
.newlife-line-banner p {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: rgba(255,255,255,0.92);
}

/* 右のLINE風アイコン */
.newlife-line-banner__icon {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: #fff;
  color: #06C755;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  font-weight: bold;
  flex-shrink: 0;
  box-shadow:
    0 8px 20px rgba(0,0,0,0.12);
}

/* PCだけ改行 */
.sp-only {
  display: none;
}

/* =========================================
SP
========================================= */

@media screen and (max-width: 768px) {

  .newlife-line-banner {
    margin: 25px 15px;
    border-radius: 18px;
  }

  .newlife-line-banner__inner {
    flex-direction: column;
    text-align: center;
    padding: 35px 25px;
  }

  .newlife-line-banner__label {
    font-size: 12px;
    margin-bottom: 14px;
  }

  .newlife-line-banner h4 {
    font-size: 28px;
  }

  .newlife-line-banner p {
    font-size: 14px;
  }

  .newlife-line-banner__icon {
    width: 95px;
    height: 95px;
    font-size: 24px;
  }

  .sp-only {
    display: inline;
  }

}
