@charset "utf-8";

@font-face {
	font-family: "futura";
	src: url(../assets/fonts/FtraBk_.eot?) format('eot');
	src: url(../assets/fonts/FtraBk_.woff) format('woff'),
		url(../assets/fonts/FtraBk_.ttf)  format('truetype');
}



/* ------------------------------
 *  Basic Property
 * ------------------------------ */



/* Font Color ----- */

.navy { color: #004095 !important; }
.red { color: #df1c24 !important; }
.green { color: #0ba3aa !important; }
.pink { color: #c51c67 !important; }
.lime { color: #39a94a !important; }
.gray { color: #d8d8d8 !important; }



/* Font Style ----- */

.futura { font-family: "futura"; }



/* HR ----- */

hr.navy { border-top-color: #004095; }
hr.green { border-top-color: #0ba3aa; }
hr.lime { border-top-color: #39a94a; }

strong.inline-block,
strong.block { margin-bottom: 7px; }




/* ------------------------------
 *  General Property
 * ------------------------------ */

body {
	height: 100%;
	background-image: url(../img/common/tartan.png);
}

.bg-blue { background-color: #e3fbff;}
.bg-gray { background-color: #d8d8d8; }
.bg-lightgray { background-color: #f8f8f8; }
.bg-yellow { background-color: #fff6dd; }
.bg-pink { background-color: #ffe9ef; }
.bg-lime { background-color: #f5fff0; }
.bg-green { background-color: #e7f6f7; }


.tombow {
	position: relative;
	display: block;
	width: 100%;
	max-width: 410px;
	margin: 0 auto;
}

.tombow > .remove {
	padding-top: 11.707317%;
	background-image: url(../img/common/header_logo.svg);
}


audio, canvas, progress, video { vertical-align: top; }
video { -webkit-touch-callout: none; }


/* ------------------------------
 *  Header Property
 * ------------------------------ */

.navbar-default {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	/*background-image: url(../img/common/gingham_blue.png) !important;
	padding-top: 50px;
	margin-top: -50px;*/
	background-image: url(../img/common/header_tartan.png) !important;
	background-position:bottom;
	background-size: 26px auto;
	background-repeat:repeat-x;
	padding-bottom: 12px;
	margin-bottom: -76px;
	transition: 0.1s;
	z-index: 999;
}

#top {
	display: inline-block;
    padding: 0;
    line-height: 66px;
    position: relative;
    z-index:99;
}
#top img {
	position: relative;
    width: auto;
    height: 50px;
}


.navbar-default h1 {
	color: #fff !important;
	font-size: 0.875em;
	line-height: 39px;
}

#header-sns {
	float: right;
	padding: 0 5% 0 0;
	/*background-color: #fff;
	padding: 5px 0;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	*/
}

#header-sub {
	float: right;
	background-color: #fff;
	padding: 5px 0;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

#header-sns ul,
#header-sub ul {
	position: relative;
	display: block;
	list-style: none;
	line-height: 1em;
	letter-spacing: -.40em;
	vertical-align: middle;
	white-space: nowrap;
	padding: 0;
	margin: 0;
}

#header-sub ul li {
	position: relative;
	display: inline-block;
	line-height: 1em;
	letter-spacing: normal;
	vertical-align: middle;
	padding: 0 5px;
}
#header-sns ul li {
	position: relative;
	display: inline-block;
	line-height: 1em;
	letter-spacing: normal;
	vertical-align: middle;
	padding: 0;
}

#header-sub ul li + li {
	border-left: solid 1px #406696;
}

#header-sub ul li a {
	position: relative;
	display: block;
	padding: 2px 5px;
}
#header-sns ul li a {
	position: relative;
	display: block;
	padding: 2px 5px;
	border-radius:4px;
}
#header-sns ul li a:hover {
	background-color: #fff;
}

#header-sub ul li a span { width: 30px; height: 20px; background-size: auto 100%; }
#header-sub ul li:first-child a span { background-image: url(../img/svg/mail_navy.svg); }
#header-sub ul li:last-child a span { background-image: url(../img/svg/loope_navy.svg); }

#header-sns ul li a span { width: 30px; height: 24px; background-size: auto 100%; 
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transition: 0.3s;}
#header-sns ul li:first-child a span { background-image: url(../img/svg/icon_facebook_white.svg); }
#header-sns ul li:last-child a span { background-image: url(../img/svg/icon_instagram_white.svg); }
#header-sns ul li:first-child a:hover span { background-image: url(../img/svg/icon_facebook_navy.svg); }
#header-sns ul li:last-child a:hover span { background-image: url(../img/svg/icon_instagram_navy.svg); }

.menuTitleHead > div {
	font-family: 'Georgia', serif;
	font-weight:bold;
	font-size:2.1875em;
	text-align:center;
	color:#002E60;
}
.menuTitleHead > div > span {
	display:block;
	font-family: initial;
	font-weight:bold;
	font-size:16px;
	/*margin-top:0.5em;*/
	opacity:0.7;
}

.navbar-nav {
	position: relative;
	float: none;
	display: block;
	/*border-left: solid 1px #406696;*/
	/*border-right: solid 1px #406696;*/
	letter-spacing: -.40em;
	vertical-align: middle;
	line-height: 1em;
	padding: 0;
	margin: 0 -1px;
}

.navbar-nav li {
	position: static;
	float: none;
	display: inline-block;
	/*width: 20%;*/
	line-height: 1em;
	letter-spacing: normal;
	/*border-right: solid 1px #406696;*/
	/*border-left: solid 1px #406696;*/
	vertical-align: middle;
}
.home_logo .navbar-nav li {
	width: 100%
}
.navbar-default {
	background-color:rgba(255,255,255,0.8);
}

.navbar-default .navbar-nav > li > a {
	position: relative;
	display: block;
	color: #406696 !important;
	font-weight: bold;
	line-height: 66px;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	text-align: center;
	text-shadow: none;
	height: 66px;
	padding: 0;
	vertical-align: middle;
	cursor:pointer;
}


.navbar-default .navbar-nav > li > a > span {
	position: relative;
	display: inline-block;
	padding: 0 0.5em;
}
.navbar-default .navbar-nav > li > a:before {
	content:"";
	display:inline-block;
	vertical-align:middle;
	margin-left:-1px;
	width:0;
	height:0;
	padding:0.5em 0;
	border-left:solid 1px #406696;
	height:2em;
}
@media only screen and (min-width: 862px){
	.navbar-default .navbar-nav > li > a:before {
		height:1em;
	}
}
.navbar-default .navbar-nav > li > a#school:before,
.navbar-default .navbar-nav > li > a#soudan:before,
.navbar-default .navbar-nav > li > a#search:before {
	display:none;
}
@media only screen and (max-width: 767px){
	.navbar-default .navbar-nav > li > a > span {
		font-size:1.125em;
	}
	.navbar-default .navbar-nav > li > a:before {
		display:none;
	}
	.navbar-default .navbar-nav > li > a#soudan:before {
		content:"";
		display:inline-block;
		width:1.5em;
		height: 0;
   		line-height: 0;
  		margin-right:0.25em;
  		padding: 0.75em 0;
		background: url(../img/common/header_soudan.svg) center no-repeat;
    	background-size: 100% auto;
    	border-left:none;
    	vertical-align:middle;
	}
	.navbar-default .navbar-nav > li > a#search {
		padding: 0 15px 15px 30px;
	}
	.navbar-default .navbar-nav > li > a#search:before {
		content:"";
		display:inline-block;
		width:1.5em;
		height: 0;
   		line-height: 0;
  		margin-right:0.25em;
  		padding: 0.75em 0;
		background: url(../img/common/header_search.svg) center no-repeat;
    	background-size: 100% auto;
    	border-left:none;
    	vertical-align:middle;
	}
}




/* ------------------------------
 *  Footer Property
 * ------------------------------ */

footer {
	position: relative;
	/*border-top: solid 1px #406696;*/
}
#footerslickslidtitle {
	text-align:center;
	color:#002E60;
	font-size:1.875em;
	font-weight:bold;
	padding-top:4%;
}
#footerslickslid-wrapper {
	background-color: #DEE3E8;
}
.slick-slide a {
	display:block;
	margin:0 8px;
	outline:none;
}
.slick-slide a:hover {
	opacity:0.8;
}
.slick-slide img {
	width:100%;
	height:auto;
}
.slick-dots li {
    width: 30px!important;
    height: 5px!important;
    margin: 0 4px!important;
}
.slick-dots li button:before {
	content:""!important;
	font-size: 0px!important;
    line-height: 0px!important;
    top: 8px!important;
    width: 30px!important;
    height: 5px!important;
    background:#0C4995!important;
    opacity:0.2!important;
}
.slick-dots li.slick-active button:before {
    background:#0C4995!important;
    opacity:1.0!important;
}

#footer-contents {
	background-color: #fff;
}
#company-link .shopblock a {
	box-shadow:0 0 4px 0 rgba(0,0,0,0.2);
	background:#fff;
	color:#0c4995;
	text-decoration:none;
	padding:0;
    margin: 16px 0 0;
	display:table;
	width:100%;
}
#company-link .shopblock a:hover {
	color:#fff;
	background:#0c4995;
}
#company-link .shopblock a>div {
	display:table-row;
}
#company-link .shopblock a>div>div {
	display:table-cell;
	padding: 24px;
	vertical-align:middle;
}
#company-link .shopblock a>div>div.iconarea {
	text-align:center;
	width: 88px;
}
#company-link .shopblock a>div>div.labelarea {
	text-align:left;
	padding-left:0;
}
svg {
	vertical-align:middle;
}
.copyright-str {
	color:#000000;
	opacity:0.8;
}
.closeButtonWrapper {
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	text-align: center;
	padding:24px 0;
}
.closemenu-btn {
	background:#0C4995;
	border-color:#0C4995;
	margin-left:auto;
	margin-right:auto;
}
.closemenu-btn span {
	display:inline-block;
	width:1em;
	height:1em;
	line-height:0;
	vertical-align:middle;
	position:relative;
	margin-right:0.25em;
	margin-left:-0.5em;
}
.closemenu-btn span:before {
	content:"";
	display:block;
	width:100%;
	height:1px;
	background-color:#fff;
	position: absolute;
    top: 50%;
    left:0;
    transform: rotate(-45deg);
}
.closemenu-btn span:after {
	content:"";
	display:block;
	width:100%;
	height:1px;
	background-color:#fff;
	position: absolute;
    top: 50%;
    left:0;
    transform: rotate(45deg);
}
.sitemap-btn {
	background:#0C4995;
	border-color:#0C4995;
}

/*---------------------------------------------------------*/
/*サイトマップ*/
/*---------------------------------------------------------*/
#conv-other-sitemap > ul {
	text-align: justify;
    text-align-last: justify;
}
#conv-other-sitemap a {
	color:#000000;
}

#other-group .top-title,
.verticalsitemap .top-title {
	font-size:18px;
	font-weight:bold;
	color:#000;
	padding:0.5em;
	border-bottom:solid 1px;
	margin:0 0 4%;
}
.verticalsitemap .top-title a {
	color:inherit;
	text-decoration:none;
}
.verticalsitemap .top-group {
	padding:4% 0;
}
.verticalsitemap .sub-title>* {
	display:block;
	font-weight:bold;
	background:#DEE3E8;
	color:#002E60;
	padding:2% 4%;
	text-align:center;
}
.verticalsitemap .sub-title a {
	color:#002E60;
	text-decoration:none;
}
.verticalsitemap .sub-title>a:hover {
	opacity:0.8;
}
.verticalsitemap .sub-group {
	padding:4% 0;
}
.verticalsitemap .middle-title {
	font-weight:bold;
	color:#000;
	padding:2% 0;
}
.verticalsitemap .middle-title a {
	color:inherit;
	text-decoration:none;
}
.verticalsitemap .middle-title>* {
	border-left:solid 4px #002E60;
	padding-left:0.5em;
	display:block;
}
.verticalsitemap .middle-title a:hover {
	text-decoration: underline;
}
.verticalsitemap .top-group {
	padding:2%;
}
.verticalsitemap .top-group ul {
	display:block;
	padding:0 0 0 1em;
}
.verticalsitemap .top-group li {
	display:block;
	font-size:13px;
	line-heught:1;
}
.verticalsitemap .top-group li a {
	display:block;
	padding:0;
	margin:2% 0;
	color:#000;
}
.verticalsitemap .top-group li a:hover {
	text-decoration: underline;
}
/*---------------------------------------------------------*/
.sitemapoutline .container.pt-md-2 {
	padding:0 !important;
	margin:auto !important;
}
.sitemapoutline .container.pt-md-2>.container-xs-inner {
	padding:0 !important;
	margin:0 !important;
}
.sitemapoutline .container.pt-md-2>.container-xs-inner>.row {
	padding:0 !important;
	margin:0 !important;
}
.sitemapoutline .container.pt-md-2>.container-xs-inner>.row>#under-sitemap {
	padding:0 !important;
	margin:0 !important;
}
.sitemapoutline .container.pt-md-2>.container-xs-inner>.row>#under-sitemap>.row {
	padding:0 !important;
	margin:0 !important;
}
.sitemapoutline>#contents-body>.container:last-child {
	display:none;
}
@media only screen and (max-width: 640px) {
	.verticalsitemap>div {
		padding:0 !important;
		margin:0 0 5% !important;
	}
	.verticalsitemap .top-title {
		padding:0 !important;
		margin:0 0 -2% !important;	
		border-top:solid 1px #aaa;
		border-bottom:none;
	}
	.verticalsitemap .top-title a {
		display:block;
		padding:1em 2em !important;
		color:#000;
		text-decoration:none;
		font-weight:bold;
		font-size:18px;
		position:relative;
	}
	.verticalsitemap .top-group + .top-title{
		margin-top: 5% !important;
	}
	.verticalsitemap .sub-title + .sub-title {
		margin-top:2%;
	}
	.verticalsitemap .sub-title a.acc-btn {
		position:relative;
	}
	.verticalsitemap .sub-title a.acc-btn:after {
		content:"";
		display:block;
		position:absolute;
		height:18px;
		width:18px;
		right:1em;
		top:50%;
		margin-top:-9px;
		background:url("/img/common/sitemap_arrowup.svg") center center no-repeat;
	}
	.verticalsitemap .sub-title a.acc-btn.collapsed:after {
		background:url("/img/common/sitemap_arrowdown.svg") center center no-repeat;
	}
	.verticalsitemap .sub-group {
		padding:0 5% !important;
		margin:0;
		height:0;
		overflow-y:hidden;
	}
	.verticalsitemap .sub-group + .sub-title {
		padding-top:2%;
	}
	.verticalsitemap .middle-title {
		margin-top:2%;
	}
	.verticalsitemap .middle-title a {
		display:block;
	}
}

#other-sitemap {
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #EFF2F4;
}

#other-sitemap ul {
	position: relative;
	display: block;
	list-style: none;
	letter-spacing: 1.5em;
	line-height: 1em;
	text-align: center;
	vertical-align: middle;
	margin: 0;
}

#other-sitemap ul li {
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	line-height: 1em;
	vertical-align: middle;
}

#other-sitemap ul li:first-child .policy-mark {
	width: 36px;
	height: 36px;
	background-image: url(../img/common/privacy.png);
	border-radius: 4px;
}
#other-sitemap ul li.sns_facebook a {
	width: 50px;
	height: 50px;
	background: url(../img/svg/icon_facebook_white.svg) center center no-repeat;
	background-size:80%;
	border-radius: 4px;
	margin-left:32px;
}
#other-sitemap ul li.sns_instagram a {
	width: 50px;
	height: 50px;
	background: url(../img/svg/icon_instagram_white.svg) center center no-repeat;
	background-size:80%;
	border-radius: 4px;
}

#other-sitemap ul li a {
	position: relative;
	display: inline-block;
	line-height: 1em;
	vertical-align: middle;
	padding: 15px 15px 15px 24px;
}

#other-sitemap ul li:first-child a:before,
#other-sitemap ul li.sns_facebook a:before,
#other-sitemap ul li.sns_instagram a:before {
    display:none;
}

#conv-copyright {
	background-color: #EFF2F4;
}
#snsLinks {
	text-align:center;
	padding: 64px 0;
}
#snsLinks a {
	margin:0 8px;
}

@media screen and (min-width: 991px) {
#snsLinks {
	padding: 88px 0;
}
}

#footer-logo {
	position: relative;
	width: 220px;
	margin: 0 auto;
}

#footer-logo a {
	padding-top: 15.4195011%;
	background-image: url(../img/common/tombow_logo.png);
}

.footer-banner {
	position: relative;
	background-color: #fff;
}
.footer-banner > a {
	position: relative;
	display: block;
	height: 60px;
	line-height: 60px;
	text-align: center;
	text-decoration: none !important;
}
/*#footer-banner-contact { background-color: #ffaa65; }*/
#footer-banner-contact { background-color: #ff8da9; }
/*#footer-banner-shopsearch { background-color: #eaa2b4; }*/
#footer-banner-shopsearch { background-color: #f9801d; }
#footer-banner-search { background-color: #def0ff; border: solid 1px #406696; }
#footer-banner-facebook { background-color: #3b5998; }
#footer-banner-campus { background: url(../img/banners/campus_bg.png) #ffffd7 top center repeat-x; border: solid 1px #1275b5; }

.footer-banner > a > span {
	position: relative;
	display: inline-block;
	line-height: 1.2em;
	vertical-align: middle;
}
#footer-banner-contact > span { padding-left: 30px; }
#footer-banner-shopsearch > span { padding-left: 30px; }
#footer-banner-search > span { padding-left: 31px; color:#406696 !important; }
#footer-banner-facebook > span { padding-left: 38px; }
#footer-banner-campus > span {
	background: url(../img/banners/bnr_campus.png) center no-repeat;
	background-size: auto 100%;
	height: 60px;
}

.footer-banner > a:not(#footer-banner-tartan) > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	content: "";
}
#footer-banner-contact > span:before { width: 26px; height: 26px; background-image: url(../img/svg/mail_white.svg); }
#footer-banner-shopsearch > span:before { width: 26px; height: 30px; background-image: url(../img/svg/loope_white.svg); }
#footer-banner-search > span:before { width: 27px; height: 26px; background-image: url(../img/svg/company.svg); }
#footer-banner-facebook > span:before { width: 34px; height: 34px; background-image: url(../img/svg/fb_white.svg); }

.common-footer,
.common-footer-banners { margin-top: 0% !important; }

.common-footer ul,
.common-footer-banners ul {
	position: relative;
	display: block;
	list-style: none;
	letter-spacing: -.40em;
	text-align: center;
	margin-left: -7px;
	margin-right: -7px;
}
.common-footer ul li,
.common-footer-banners ul li {
	position: relative;
	display: inline-block;
	width: 25%;
	letter-spacing: normal;
	padding-left: 7px;
	padding-right: 7px;
	margin-bottom:3% !important;
}
.common-footer ul.snslist li {
	position: relative;
	display: inline-block;
	width: 50%;
	letter-spacing: normal;
	padding-left: 7px;
	padding-right: 7px;
	margin-bottom:3% !important;
}
.common-footer ul li a,
.common-footer-banners ul li a {
	position: relative;
	display: block;
	width: 100%;
	background-color: #fff;
	border: solid 1px #ccc;
}
.bannerlink {
	display: block;
	width: 100%;
	border: solid 1px #ccc;
	background-color: #fff;
}

.common-footer ul li a img,
.common-footer-banners ul li a img {
	width: auto;
	height: auto;
	max-width: 100%;
}




/* ------------------------------
 *  Layout Property
 * ------------------------------ */

section#outline {
	display: block;
	position: relative;
	overflow: hidden;
	padding: 76px 0 0;
	margin: 0px;
	_zoom: 1;
	width:100%;
}

#contents-body {
}

#firstview-wrap {
	background-color: rgba(0,0,0,0.25);
	/*border-bottom: solid 1px #406696;*/
}
#firstview-wrap > .container > .row { text-align: center; }

#firstview {
	position: relative;
	overflow: hidden;
}

#firstview .firstview-inner {
	position: relative;
	display: block;
	width: 100%;
}

#firstview .firstview-inner .remove {
	padding-top: 40.7692307%;
}

p.notes { margin-top: 2%; margin-bottom: 2%; line-height: 1.8em; }

#pannav {
	font-size: 0.875em;
	background-color: #fff;
	padding-top: 10px;
	padding-bottom: 10px;
}

#pannav ul {
	position: relative;
	display: block;
	width: 100%;
	list-style: none;
	letter-spacing: -.40em;
	padding: 0;
	margin: 0;
	vertical-align: middle;
}

#pannav ul li {
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
}

#pannav ul li + li:before {
	display: inline-block;
	width: 7px;
	height: 11px;
	vertical-align: middle;
	background: url(../img/svg/arrow_3_sp.svg) center no-repeat;
	background-size: cover;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	margin: 0 7px;
	content: "";
}


.row.ptit { margin-left: -7px; margin-right: -7px; }
.row.ptit > *[class*='col-'] { padding-left: 7px; padding-right: 7px; }

.block-box {
	position: relative;
	margin-top: 3%;
	margin-bottom: 3%;
}

.inner-box { padding: 30px; }
.out-border { border: solid 1px #bebebe; }
.block-label,
.border-label {
	/*background: url(../img/common/gingham_blue.png) center;*/
	background-color: #2261c7;
	padding-top: 3px;
	padding-bottom: 3px;
	margin-bottom: 30px;
}
	.block-label.bg-green{ background-color: #2261c7;/*background-image: url(../img/common/gingham_green.png);*/ }
	.border-label.green { background-image: url(../img/common/gingham_green.png); }
	.block-label.bg-lime,
	.border-label.lime { background-image: url(../img/common/gingham_lime.png); }
	.block-label { font-size: 1.125em; }


.item-box > strong,
.item-box > .row > * > strong { display: block; margin-bottom: 7px; }


.block-label > * {
	position: relative;
	display: block;
	line-height: 1em;
	padding: 10px 15px;
	border-top: solid 1px rgba(255,255,255,0.75);
	border-bottom: solid 1px rgba(255,255,255,0.75);
}

.icon-label {
	position: relative;
	display: block;
	padding-left: 36px;
	margin-bottom: 7px;
}
.icon-label:before {
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	width: 30px;
	height: 30px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	content: "";
}
.icon-label.pencil:before { background-image: url(../img/svg/pencil.svg); }
.icon-label.loope:before { background-image: url(../img/svg/loope.svg); }

*[class*='on-icon-'] {
	position: relative;
	display: inline-block;
	padding-left: 50px;
}
*[class*='on-icon-']:before {
	position: absolute;
	overflow: hidden;
	display: block;
	top: 50%;
	left: 0;
	width: 45px;
	height: 45px;
	background-color: #fff;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 36px;
	border: solid 2px #406696;
	border-radius: 50%;
	-webkit-transform: translateY(-65%);
	-moz-transform: translateY(-65%);
	transform: translateY(-65%);
	content: "";
}
.on-icon--school:before { background-image: url(../img/svg/school.svg); }
.on-icon--oneself:before { background-image: url(../img/svg/oneself.svg); }
.on-icon--company:before { background-image: url(../img/svg/company.svg); }

.border-label {
	padding-top: 0;
	padding-left: 10px;
	padding-bottom: 3px;
	background-position: top left;
	margin-bottom: 2%;
}
.border-label > * {
	display: block;
	padding: 3px 10px 10px;
	background-color: #fff;
}

.thumbnail-anchor {
	position: relative;
	display: block;
	color: #fff !important;
	text-align: center;
	text-decoration: none !important;
	background-color: #fff;
}

.thumbnail-anchor.banner-wrap {
	background-image: url(../img/common/gingham_blue.png);
	padding: 5px;
}

a.thumbnail-anchor:not(.no-thumb):after,
.thumbnail-anchor.border:before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	content: "";
}
.thumbnail-anchor.border:before {
	border: solid 1px #406696;
}
.thumbnail-anchor.green.border:before {
	border: solid 1px #0ba3aa;
}
.thumbnail-anchor.lime.border:before {
	border: solid 1px #39a94a;
}
.thumbnail-anchor .thumbnail-label {
	display: block;
	padding: 14px 7px;
	background-color: #406696;
}

.thumbnail-anchor.green .thumbnail-label{
	background-color: #0ba3aa;
}

.thumbnail-anchor.lime .thumbnail-label{
	background-color: #39a94a;
}

.thumbnail-anchor.gray .thumbnail-label{
	background-color: #d8d8d8;
}

.thumbnail-anchor .thumbnail-label.mini { padding-top: 5px; padding-bottom: 5px; }
.thumbnail-anchor .thumbnail-label strong {
	position: relative;
	display: block;
}
.thumbnail-anchor .thumbnail-label strong:after {
	position: absolute;
	display: block;
	top: 50%;
	right: 0;
	width: 12px;
	height: 12px;
	background: url(../img/svg/arrow_1.svg) 100% 50% no-repeat;
	background-size: auto 100%;
	margin-top: -6px;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transition: 0.3s;
	content: "";
}
.thumbnail-label-dummy {
	display: block;
	padding: 14px 7px;
	margin-bottom: 20px;
}
.thumbnail-label-dummy strong {
	position: relative;
	display: block;
}

.banner > a { position: relative; display: block; background-color: #fff; }
.banner > a > img { width: auto; height: auto; max-width: 100%;display: block; }

.auto-slider-wrap {
	position: relative;
	width: 100%;
	padding-left: 30px;
	padding-right: 30px;
}
.auto-slider-inner {
	position: relative;
	overflow: hidden;
	width: 100%;
}
.auto-slider {
	position: relative;
	overflow: hidden;
	margin-left: -7px;
	margin-right: -7px;
}

.auto-slider ul {
	position: relative;
	display: block;
	white-space: nowrap;
	letter-spacing: -.40em;
	text-align: left;
	margin-bottom: 0;
}
.auto-slider ul li {
	position: relative;
	display: inline-block;
	width: 20%;
	padding-left: 7px;
	padding-right: 7px;
	letter-spacing: normal;
}
.auto-slider ul li a {
	position: relative;
	display: block;
	width: 100%;
}
.auto-slider ul li a img {
	position: relative;
	width: auto;
	height: auto;
	max-width: 100%;
}

.auto-slider-arrow {
	position: absolute;
	overflow: hidden;
	top: 50%;
	display: block;
	width: 30px;
	height: 30px;
	border: solid 2px #406696;
	border-radius: 50%;
	background: url(../img/svg/arrow_2.svg) #fff 100% 50% no-repeat;
	background-size: cover;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transition: 0.3s;
}

.auto-slider-arrow:not(.untouch){
	cursor: pointer;
}
.auto-slider-arrow.untouch {
	filter: alpha(opacity=25);
	-moz-opacity: 0.25;
	opacity: 0.25;
}

.auto-slider-arrow[rel='prev']{
	left: -10px;
	-webkit-transform: translateY(-50%) rotate(180deg);
	-moz-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

.auto-slider-arrow[rel='next']{
	right: -10px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}

.auto-slider ul.sp {
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}

table.common {
	position: relative;
	width: 100%;
	border-top: solid 1px #333;
	border-left: solid 1px #333;
	border-collapse: separate;
	margin: 0;
	padding: 0;
}

table.common tr > * {
	padding: 10px;
	border-right: solid 1px #333;
	border-bottom: solid 1px #333;
}

table.common tr > th {
	font-weight: normal;
	background-color: #e4e4e4;
}

.table-block {
	position: relative;
	display: table;
	table-layout: fixed;
	width: 100%;
	border-top: solid 1px #333;
	border-left: solid 1px #333;
	margin: 0;
	padding: 0;
}

.table-block > dl {
	position: relative;
	display: table-row;
	margin: 0;
}

.table-block > dl > * {
	position: relative;
	display: table-cell;
	border-right: solid 1px #333;
	border-bottom: solid 1px #333;
	padding: 15px;
}

a.bt-gmap {
	display: inline-block;
	color: #fff !important;
	font-size: 0.75em;
	font-weight: bold;
	text-decoration: none !important;
	background-color: #406696;
	border-radius: 4px;
	padding: 5px 10px;
}

.sub-menu-label {
	display: inline-block;
	color: #406696;
	padding: 10px;
	border-top: solid 1px #406696;
	border-bottom: solid 1px #406696;
	margin-bottom: 15px;
}
	.sub-menu-label.green {
		border-color: #0ba3aa;
	}
	.sub-menu-label.lime {
		border-color: #39a94a;
	}

.sub-menu {
	margin-left: -1px;
	margin-right: -1px;
}
.sub-menu > * {
	padding: 1px !important;
}


ul.faq-list {
	position: relative;
	display: block;
	width: 100%;
	list-style: none;
	padding: 0;
	margin-top: 3% 0 0;
}
ul.faq-list li {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 2%;
	padding-bottom: 2%;
}
ul.faq-list li + li {
	border-top: dotted 1px #406696;
}

ul.faq-list.faq-green li + li { border-top-color: #0ba3aa; }

ul.faq-list li .faq-item {
	position: relative;
	min-height: 56px;
	line-height: 56px;
	padding-left: 66px;
}
ul.faq-list li .faq-item:before {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 56px;
	height: 56px;
	background: url(../img/svg/faq.svg) #406696 left center no-repeat;
	-webkit-background-size: auto 100%;
	-moz-background-size: auto 100%;
	-ms-background-size: auto 100%;
	-o-background-size: auto 100%;
	background-size: auto 100%;
	content: "";
}

@media all and (-ms-high-contrast:none) {
	ul.faq-list li .faq-q:before { background-image: url(../img/svg/faq_q.svg); }
	ul.faq-list li .faq-a:before { background-image: url(../img/svg/faq_a.svg); }
}

	ul.faq-list.faq-green li .faq-q:before {
		background-color: #0ba3aa;
	}

ul.faq-list li .faq-a { margin-top: 15px; }
ul.faq-list li .faq-a:before {
	background-color: #e9851e;
	background-position: right center;
}

ul.faq-list li .faq-item > * {
	display: inline-block;
	line-height: 1.6em;
	vertical-align: middle;
}
ul.faq-list li .faq-q > * { cursor: pointer; }
ul.faq-list li .faq-q > *:hover { text-decoration: underline; }
ul.faq-list li .faq-q.active > * {
	color: #406696;
	font-weight: bold;
	text-decoration: none !important;
}
	ul.faq-list.faq-green li .faq-q.active > * { color: #0ba3aa; }

.faq-a-wrap {
	overflow: hidden;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	transition: 0.5s;
}

ul.faq-list li .faq-q:not(.active) + .faq-a-wrap {
	height: 0 !important;
}

.download {
	position: relative;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #fff;
}

.download > * {
	position: relative;
	display: block;
	padding-top: 15px;
	padding-bottom: 15px;
	border-top: solid 2px #df1c24;
	border-bottom: solid 2px #df1c24;
}

.download > * > * {
	position: relative;
	display: inline-block;
}

.download.pdf > * > * {
	padding-left: 5px;
	padding-right: 50px;
}

.download.pdf > * > *:after {
	position: absolute;
	display: block;
	top: 50%;
	right: 0;
	width: 36px;
	height: 36px;
	background: url(../img/svg/pdf.svg) center no-repeat;
	background-size: cover;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	content: "";
}

.lightcase-open body { overflow: auto; }

#lightcase-info { position: relative; }

#lightcase-info #lightcase-title,
#lightcase-info #lightcase-caption,
#lightcase-info #lightcase-caption2,
#lightcase-info #lightcase-caption3 { color: #fff; }

#lightcase-info #lightcase-title { font-size: 1.285em; }
#lightcase-info #lightcase-caption2 { color: #ffec66; font-size: 1.285em; font-weight: bold; }
#lightcase-info #lightcase-caption3 {
	border-top: dotted 1px rgba(255,255,255,0.5);
	margin-top: 5px;
	padding-top: 5px;
}

.navbar-inner li a .shop_icon {
	width:26px;
	height:22px;
	vertical-align:middle;
	margin-left:-26px;
	padding-right:4px;
}


@media all and (-ms-high-contrast:none) {
	.auto-slider-arrow { background-image: url(../img/svg/arrow_2_sp.svg); }
	.thumbnail-anchor .thumbnail-label strong:after { background-image: url(../img/svg/arrow_1_sp.svg); }
}


/* ------------------------------
 *  Media Query Property
 * ------------------------------ */

/* Flexible ----- */
@media only screen and (min-width: 768px) {
	
	#company-link {
		box-shadow:0 -2px 2px 0 rgba(0,0,0,0.1);
		margin-top:100px;
	}
	#company-link .shopblock {
		margin-top:-100px;
	}
	#company-link .shopblock a {
		text-align:center;
		margin:8px;
		line-height:1.6;
		padding:40px 0;
		display:block;
		width:auto;
	}
	#company-link .shopblock a>div {
		display:block;
	}
	#company-link .shopblock a>div>div {
		display:block;
		padding:0;
	}
	#company-link .shopblock a>div>div.iconarea {
		min-height:40px;
		margin-bottom:8px;
		width:auto;
	}
	#company-link .shopblock a>div>div.labelarea {
		text-align:center;
	}

	.navbar-default > .container > .row > .col-md-6 { padding-top: 5px; }
	.navbar-default .navbar-nav > li > a#soudan {
		display: inline-block;
		background: url(../img/common/header_soudan.svg) center no-repeat;
		background-size: 95% auto;
		margin-left:0.5em;
	}
	.navbar-default .navbar-nav > li > a#search {
		display: inline-block;
		background: url(../img/common/header_search.svg) center no-repeat;
		background-size: 95% auto;
		margin-left:0.5em;
	}
	.navbar-default .navbar-nav > li > a#soudan > span,
	.navbar-default .navbar-nav > li > a#search > span {
		display: inline-block;
		overflow: hidden;
		width: 100%;
		height: 28px;
		font-size: 0.5em;
		text-align: left;
		text-indent: -9999px;
		vertical-align: middle;
		padding-left: 0;
	}
	.navbar-default .navbar-nav > li > a#soudan > span,
	.navbar-default .navbar-nav > li > a#search > span {
		width: 20px;
	}

	/*.navbar-default .navbar-nav > li > a:hover { background-color: #def0ff; }*/
	/*.navbar-default .navbar-nav > li.current > a,
	.navbar-default .navbar-nav > li > a.active { background-color: #def0ff !important; }*/
	.navbar-default .navbar-nav > li.current > a#top { background-color: inherit !important; }

	.navbar-inner-wrap {
		position: absolute;
		overflow: hidden;
		left: 0;
		width: 100%;
		-webkit-transition: 0.5s;
		-moz-transition: 0.5s;
		transition: 0.5s;
	}
	.navbar-default .navbar-nav > li > a:not(.active) + .navbar-inner-wrap { height: 0 !important; }
	.navbar-inner-wrap.late {
		-webkit-transition-delay: 0.5s;
		-moz-transition-delay: 0.5s;
		transition-delay: 0.5s;
	}

	.navbar-inner-wrap:before {
		position: absolute;
		top: 5px;
		left: 50%;
		display: block;
		width: 30px;
		height: 16px;
		border-top:solid 0 #fff;
		border-left:solid 15px transparent;
		border-right:solid 15px transparent;
		border-bottom:solid 16px #fff;
		margin-left: -15px;
		-webkit-transition: 0.5s;
		-moz-transition: 0.5s;
		transition: 0.5s;
		content: "";
		z-index: 100;
	}
	.navbar-inner-wrap:after {
		position: absolute;
		top: 5px;
		left: 50%;
		display: block;
		width: 30px;
		height: 16px;
		border-top:solid 0 #fff;
		border-left:solid 15px transparent;
		border-right:solid 15px transparent;
		border-bottom:solid 16px #fff;
		margin-left: -15px;
		-webkit-transition: 0.5s;
		-moz-transition: 0.5s;
		transition: 0.5s;
		content: "";
		z-index: 0;
		filter: drop-shadow(0 0 5px rgba(0,0,0,0.16));
	}
	/*
	.navbar-default .navbar-nav > li > a:not(.active) + .navbar-inner-wrap:before { top: -16px !important; }
	.navbar-inner-wrap.late:before {
		-webkit-transition-delay: 0.5s;
		-moz-transition-delay: 0.5s;
		transition-delay: 0.5s;
	}
	*/
	
	.navbar-inner-wrap {
		/*overflow:visible;*/
		margin-top: -25px;
	}

	.navbar-inner {
		position: relative;
		background-color: rgba(255,255,255,1.0);
		padding: 25px 15px 25px 45px;
		margin:20px 5px 5px;
		box-shadow:0 0 6px 0 rgba(0,0,0,0.16);
		z-index:1;
		min-height:196px;
	}
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner {
		padding: 25px 15px 25px 15px;
	}
	.tableWapper {
		display:table;
		width:100%;
		min-height:146px;
	}
	.tableWapper > * {
		display: table-cell;
		vertical-align:middle;
		position:relative;
	}
	.tableWapper > .subnenuTitle {
		font-family: 'Georgia', serif;
		font-weight: bold;
		font-size:2.1875em;
		line-height:0;
		width:200px;
		text-align:center;
		color:rgba(255,255,255,0.7);
		background-repeat:no-repeat;
		background-size:cover;
		background-position:center;
		text-decoration:none;
	}
	.tableWapper > .subnenuTitle:before {
		content:"";
		display:block;
		width:100%;
		height:100%;
		position:absolute;
		top:0;
		left:0;
		background:#002E60;
		opacity:0.3;
		transition:opacity 0.2s linear 0s;
	}
	.tableWapper > .subnenuTitle:hover:before {
		opacity:0.1;
	}
	#school + .navbar-inner-wrap .tableWapper > .subnenuTitle {
		background-image:url("../img/common/pct_school.png");
	}
	#normal + .navbar-inner-wrap .tableWapper > .subnenuTitle {
		background-image:url("../img/common/pct_individual.png");
	}
	#company + .navbar-inner-wrap .tableWapper > .subnenuTitle {
		background-image:url("../img/common/pct_tombow.png");
	}
	#recruit + .navbar-inner-wrap .tableWapper > .subnenuTitle {
		background-image:url("../img/common/pct_recruit.png");
	}
	#shop_search + .navbar-inner-wrap .tableWapper > .subnenuTitle {
		background-image:url("../img/common/pct_shop.png");
	}
	.tableWapper > .subnenuTitle div {
	    position: relative;
	}
	.navbar-inner ul {
		position: relative;
		display: table-cell;
		letter-spacing: -.40em;
		vertical-align: top;
		line-height: 1em;
		padding: 0;
		text-align:left;
		padding:0 0 0 30px;
	}
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner ul {
		padding:0 0 0 0;
	}

	.navbar-inner li {
		width: 50%;
		border: none;
		padding: 0 10px;
	}
	.navbar-default .navbar-nav > li > a#normal + .navbar-inner-wrap > .navbar-inner li,
	.navbar-default .navbar-nav > li > a#recruit + .navbar-inner-wrap > .navbar-inner li {
		width: 33%;
	}
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex1,
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex2,
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex3 {
		width: 100%;
	}
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner li.wflex1,
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner li.wflex2,
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner li.wflex3 {
		width: 50%;
	}
	.navbar-inner li a {
		position: relative;
		display: block;
		color: #002E60;
		vertical-align: middle;
		font-weight: bold;
		line-height: 30px;
		text-align: left;
		text-decoration: none !important;
	}
	.navbar-inner li a .shop_icon {
		width:45px;
		height:45px;
		vertical-align:middle;
		margin-left:8px;
		padding:0;
	}
	.navbar-inner li a span {
		position: relative;
		display: inline-block;
		/*width: 100%;*/
		vertical-align: middle;
		line-height: 1.4em;
		padding: 27px 15px;
	}
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li a {
		border: solid 1px #DEE3E8;
	}
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li a span {
		padding: 10px 10px;
	}
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner li a span {
		padding: 19px 0 19px 8px;
	}
	
	.navbar-inner > .navbar-inner-close {
		position: absolute;
		top: 50%;
		right: 20px;
		display: block;
		width: 20px;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		transform: translateY(-50%);
		cursor: pointer;
	}
	.navbar-inner > .navbar-inner-close > span {
		padding-top: 100%;
		background-image: url(../img/svg/close.svg);
	}
	
	section#outline {
		width: 100%;
		min-height: 100%;
		height: auto !important;
		height: 100%;
		padding-top: 78px;
	}

	ul.faq-list li .faq-a:after {
		position: absolute;
		display: block;
		top: -15px;
		left: 28px;
		width: 0;
		height: 15px;
		border-left: solid 1px #333;
		content: "";
	}

	.item-box {
		border-left: solid 4px #406696;
		padding-left: 15px;
	}
	#other-sitemap ul li { display: inline-block !important; }
    #other-sitemap ul li.sns_facebook,
    #other-sitemap ul li.sns_instagram { display: none !important; }

	.inline-block-line {
		letter-spacing: -.40em;
		vertical-align: middle;
	}

	.inline-block-line > * {
		letter-spacing: normal;
	}

	.inline-block-line > [class*='col-'] {
		float: none;
		display: inline-block;
		vertical-align: middle;
	}
}
@media only screen and (min-width: 800px) {
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex1,
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex2 {
		width: 50%;
	}
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex3 {
		width: 50%;
		margin-top: 1.5em;
	}
}
@media only screen and (min-width: 920px) {
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner li.wflex1 {
		width: 27%;
	}
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner li.wflex2 {
		width: 36%;
	}
	.navbar-default .navbar-nav > li > a#shop_online + .navbar-inner-wrap > .navbar-inner li.wflex3 {
		width: 36%;
		margin-top: 0;
	}
}
@media only screen and (min-width: 1200px) {
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex1,
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex2,
	.navbar-default .navbar-nav > li > a#shop_search + .navbar-inner-wrap > .navbar-inner li.wflex3 {
		width: 33%;
		margin-top: 0;
	}
}
/*
@media all and (min-width: 768px) and (-ms-high-contrast:none) {
	.navbar-inner li a span:after { background-image: url(../img/svg/arrow_1_sp.svg); }
}
*/
@media only screen and (min-width: 768px) {
	#top {
		display: block;
	    padding: 0;
	    line-height: 66px;
	    position: absolute;
	    width:22.5%;
	}
	#top img {
		position: relative;
	    width: 100%;
	   	max-width: 260px;
	    height: auto;
	}
}
@media only screen and (min-width: 860px) {
	#top {
	    width:18%;
	}
}
@media only screen and (min-width: 920px) {
	#top {
	    width:22.5%;
	}
}
@media only screen and (min-width: 992px) {
	#top {
	    width:20%;
	}
}
@media only screen and (min-width: 1200px) {
	#top {
	    width:22.5%;
	}
}

@media only screen and (min-width: 992px) {
	a {
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		transition: 0.3s;
	}
	.navbar-default .navbar-nav > li > a > span {
		padding:0 1em;
	}
	.navbar-default .navbar-nav > li > a#soudan > span,
	.navbar-default .navbar-nav > li > a#search > span {
		width: 28px;
	}
	#header-sub ul li a:hover { background-color: #ffe999; }
	.navbar-inner li a:hover { color:#fff; background-color: #002E60; }
	.navbar-inner li a:hover span:after { background-position: 0 50%; }
	.navbar-inner > .navbar-inner-close:hover {
		filter: alpha(opacity=50);
		-moz-opacity: 0.5;
		opacity: 0.5;
	}
	
	.navbar-default .navbar-nav > li > a#soudan,
	.navbar-default .navbar-nav > li > a#search {
		margin-left:0.5em;
	}
	
	.block-label { font-size: 1.285em; }

	a.thumbnail-anchor:not(.no-thumb):after {
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		transition: 0.3s;
		border: solid 1px transparent;
	}
	a.thumbnail-anchor:not(.no-thumb):not(:hover):after {
		filter: alpha(opacity=0);
		-moz-opacity: 0;
		opacity: 0;
		-webkit-transform: scale(1.1,1.1);
		-moz-transform: scale(1.1,1.1);
		transform: scale(1.1,1.1);
	}
	a.thumbnail-anchor:not(.no-thumb):hover:after {
		border-color: #62a1d6;
		border-width: 5px;
	}
	a.thumbnail-anchor.green:not(.no-thumb):hover:after {
		border-color: #85d1d4;
	}
	a.thumbnail-anchor.lime:not(.no-thumb):hover:after {
		border-color: #9cd4a4;
	}
	a.thumbnail-anchor .thumbnail-label {
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		transition: 0.3s;
	}
	a.thumbnail-anchor:hover .thumbnail-label { background-color: #62a1d6; }
	a.thumbnail-anchor.green:hover .thumbnail-label { background-color: #85d1d4; }
	a.thumbnail-anchor.lime:hover .thumbnail-label { background-color: #9cd4a4; }
	a.thumbnail-anchor:hover .thumbnail-label strong:after { background-position: 0% 50%; }

	.banner > a > img,
	.auto-slider ul li a img,
	.common-footer ul li a img,
	.common-footer-banners ul li a img {
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		transition: 0.3s;
	}

	.banner > a:hover > img,
	.auto-slider ul li a:hover img,
	.footer-banner > a:hover,
	.common-footer ul li a:hover img,
	.common-footer-banners ul li a:hover img {
		filter: alpha(opacity=50);
		-moz-opacity: 0.5;
		opacity: 0.5;
	}

	.auto-slider-arrow:not(.untouch):hover { background-color: #def0ff; }
	a.bt-gmap:hover { color: #406696 !important; background-color: #def0ff; }


	.download > * {
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		transition: 0.3s;
	}

	.download:hover > * {
		filter: alpha(opacity=50);
		-moz-opacity: 0.5;
		opacity: 0.5;
	}


	#footer-banner-search > span { font-size: 0.85em !important; }
    #footer-banner-campus > span {
        background-size: auto 75%;
    }
}

@media only screen and (min-width: 1200px) {

	section#outline { padding-top: 78px; }

	.navbar-inner li a {
		font-size: 1em;
		line-height: 40px;
		/*min-height: 70px;*/
	}
}

@media only screen and (max-width: 1199px) {
	.navbar-default { font-size: 0.875em; }
	.navbar-default .navbar-nav > li > a { height: 66px; line-height: 66px; }
	.navbar-default .navbar-nav > li > a > span:before {
		width: 24px;
		height: 21px;
		margin-top: -10.5px;
	}
	
	#footer-contents { font-size: 0.875em; }
	#other-sitemap ul { letter-spacing: 0; }
}

@media only screen and (max-width: 991px) {

	.navbar-default > .container-fluid > .row > .container {
		width: 100%;
		max-width: none !important;
	}
	
	.thumbnail-label.mini.font--2 { font-size: 1em; }
	
	.auto-slider ul li { width: 25%; }

	.common-footer ul li,
	.common-footer-banners ul li {
		width: 25%;
		margin-bottom: 15px;
	}
	.common-footer ul.snslist li {
		width: 50%;
		margin-bottom: 15px;
	}

	.thumbnail-anchor .thumbnail-label strong:after {
		background-image: url(../img/svg/arrow_1_sp.svg);
		background-size: cover;
	}

	.auto-slider-arrow {
		background-image: url(../img/svg/arrow_2_sp.svg);
		background-size: cover;
	}
	#other-sitemap ul li a { padding: 7px 15px 7px 20px; }
}

@media only screen and (max-width: 1199px) and (min-width: 768px) {
	/*
	.navbar-nav li.current {
		border-right: solid 1px #406696;
	}
	.navbar-nav li.current + li { border-left: none; }
	*/

	#footer-banner-facebook { font-size: 0.875em !important; }
	#footer-banner-facebook > span { padding-left: 26px; }
	#footer-banner-facebook > span:before { width: 24px; height: 24px; }
	#other-sitemap ul li:first-child { margin-right: 15px; }
}

@media only screen and (max-width: 991px) and (min-width: 768px) {

	.footer-banner > a { font-size: 0.75em; }
	#footer-banner-contact > span { padding-left: 24px; }
	#footer-banner-contact > span:before { width: 20px; height: 20px; }

	#footer-banner-shopsearch > span { padding-left: 24px; }
	#footer-banner-shopsearch > span:before { width: 20px; height: 23px; }
	
	#footer-banner-search > span { padding-left: 25px; }
	#footer-banner-search > span:before { width: 24px; height: 23px; }
	#other-sitemap ul li { display: block; float: left; }
}

.schoollist { margin-bottom: 25px; margin-left: 1em; letter-spacing: 1px; line-height: 1.6em;}
.schoollist li { list-style: none; margin-bottom: 5px; }
.schoollist li span { display: inline-block; width: 200px;}


@media only screen and (max-width: 767px) {

	#header-logo {
		position: relative;
		width: 100%;
		height: 50px;
		max-width: 240px;
	}
	.navbar-default { font-size: 1em; }
	.navbar-default h1 {
		/*
		position: absolute;
		overflow: hidden;
		top: 50%;
		left: 0;
		width: 100%;
		height: 0;
		line-height: 0;
		font-size: 0.5em;
		text-align: left;
		text-indent: -9999px;
		padding-top: 15.4195011%;
		background: url(../img/common/tombow_logo_white.png) center no-repeat;
		background-size: cover;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		transform: translateY(-50%);
		cursor: pointer;
		*/
		font-size: 0.5em;
		cursor: pointer;
    	width: 250px;
	}
	#header-sub {
		background-color: transparent;
		padding-top: 9px;
		padding-bottom: 0;
	}
	#header-sub ul li {
		padding-left: 0;
		padding-right: 7px;
		border: none !important;
	}
	#header-sub ul li a {
		background-color: rgba(255,255,255,0.75);
		padding: 6px;
		border-radius: 4px;
	}
	#header-sub ul li a:focus, #header-sub ul li a:hover { background-color: #fff; }
	/*.navbar-default .navbar-toggle { border-color: rgba(255,255,255,0.75); }
	.navbar-default .navbar-toggle .icon-bar { background-color: rgba(255,255,255,0.6); }
	.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover { background-color: rgba(0, 64, 149, 0.75); }
	.navbar-default .navbar-toggle:focus .icon-bar, .navbar-default .navbar-toggle:hover .icon-bar { background-color: #fff; }*/
	
	.navbar-toggle {
		border:none;
		margin:0;
		padding: 18px 16px 14px;
		font-size: 12px;
		color:#0C4995;
		line-height:0;
		position: absolute;
	    right: 0;
	    top: 0;
	}
	.navbar-toggle:before {
		content:"MENU";
		padding-bottom: 8px;
    	display: block;
	}
	.navbar-toggle .icon-bar {
		width:100%;
		margin-top:6px;
	}
	.navbar-toggle .icon-bar+.icon-bar {
		margin-top:6px;
	}
	.navbar-default .navbar-toggle .icon-bar {
		background-color:#0C4995;
	}
	.navbar-default .navbar-toggle:focus, .navbar-default .navbar-toggle:hover {
		background-color: transparent;
	}

	.navbar-default > .container-fluid { background-color: transparent; border: none; }

	.navbar-collapse {
		overflow: hidden !important;
		padding: 0;
		max-height: none !important;
	}
	
	.navbar-collapse:not(.in) {
	}

	.navbar-collapse .row {
		position: relative;
		overflow: hidden;
		top: 0;
		bottom: 0;
		margin: 0;
		padding: 10px;
		background:#fff;
		position: absolute;
	    width: 100%;
	    height: 100%;
	    padding: 0;
	}
	
	.navbar-nav {
		position: relative;
		overflow: hidden;
		overflow-y: auto;
		height: 100%;
		background-color: rgba(255,255,255,0.8);
		margin: 0;
		position: absolute;
		top:120px;
		left:0;
		width:100%;
		bottom:98px;
		height:auto!important;
	}
	
	.navbar-nav li {
		display: block;
		width: 100%;
		/*border-right: none;*/
		border-left: none;
		padding-left: 2%;
	}
	/*.navbar-nav li + li { border-top: solid 1px #406696; }*/
	
	.navbar-default .navbar-nav > li > a {
		height: auto;
		line-height: 1em;
		text-align: left;
		padding: 15px 15px 15px 30px;
	}
	.navbar-default .navbar-nav > li > a > span {
		padding: 0;
	}
	
	.navbar-inner-wrap { height: auto !important; padding: 0 15px 15px; }
	
	.navbar-inner li {
		padding: 7px 7px 15px 54px;
		/*border-top: dashed 1px #406696 !important;*/
	}
	.navbar-default .navbar-collapse, .navbar-default .navbar-form {
		width: 106%;
		margin-left: -3%;
    	margin-right: -3%;
    	z-index: 99999;
	    position: fixed;
	    top: 0;
	    left: 0;
	    width: 100%!important;
	    height:100%!important;
	    margin: 0!important;
	    opacity:0;
	    transition:opacity 0.3s linear 0s;
	}
	.navbar-default .navbar-collapse.in {
	    opacity:1.0;
	}

	.copyright-str span { display: none !important; }


	#firstview .firstview-inner .remove {
		padding-top: 56.25%;
	}

	.inner-box { padding: 5%; }
	.block-label { margin-bottom: 5%; }

	.auto-slider { margin-left: -3px; margin-right: -3px; }
	.auto-slider ul li { width: 50%; padding-left: 3px; padding-right: 3px; }
	
	.common-footer,
	.common-footer-banners { margin-top: 0% !important; }
	.common-footer .block-label h3,
	.common-footer-banners .block-label h3 { text-align: center !important; font-size: 0.875em; }
    
    .common-footer ul,
	.common-footer-banners ul { margin-left: -3px; margin-right: -3px; }
	.common-footer ul li,
	.common-footer-banners ul li {
		width: 50%;
		padding-left: 3px;
		padding-right: 3px;
		margin-bottom: 7px;
	}
	.common-footer ul.snslist li {
		width: 100%;
		padding-left: 3px;
		padding-right: 3px;
		margin-bottom: 7px;
	}

	.table-block { display: block; border-top: solid 1px #333; border-left: none; }
	.table-block > dl { display: block; border-left: solid 1px #333; border-right: solid 1px #333; border-bottom: solid 1px #333; }
	.table-block > dl > * { display: block; border: none; }
	.table-block > dl > dt { background-color: #f6f6f6; }
	.table-block > dl > dd + dd { padding-top: 0; }

	ul.faq-list li {
		padding-top: 4%;
		padding-bottom: 4%;
	}
	
	ul.faq-list li .faq-item { min-height: 30px; line-height: 30px; padding-left: 40px; }
	ul.faq-list li .faq-item:before { width: 30px; height: 30px; }

	.icon-label { padding-left: 30px; }
	.icon-label:before { width: 24px; height: 24px; }

	table.common:not(.exclude),
	table.common:not(.exclude) > *,
	table.common:not(.exclude) > * > tr,
	table.common:not(.exclude) > * > tr > * {
		display: block;
		width: 100%;
	}
	
	.min75 { width: 75%; }
	.min50 { width: 50%; }
	
	#lightcase-title { font-size: 1em !important; background-color: rgba(0,0,0,0.5) !important; }
	

	.schoollist li { list-style: none; margin-bottom: 10px; }
	.schoollist li span { display: block; width: 100%; }


}

@media print {
	
	body { background: none !important; }

	.navbar-default {
		position: relative;
		top: auto;
		left: auto;
		display: block !important;
		padding-top: 0;
		margin-top: 0;
		z-index: 0;
	}

	.navbar-default > .container > .row > .col-sm-6:not(.col-md-6) { float: none; width: 100%; }
	.navbar-default > .container > .row > .col-md-6 { display: none; }

	#header-logo { position: relative; width: 100%; height: auto; max-width: none !important; padding-top: 10px; padding-bottom: 10px; }
	.navbar-default h1 {
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 30px;
		line-height: 30px;
		color: #fff !important;
		text-align: right;
		background: url(../img/common/tombow_logo_white.png) left center no-repeat;
		background-size: auto 100%;
	}

	#header-sub { display: none !important; }
	#footer-contents { display: none !important; }
	
	.inner-box { padding: 0 !important; }
}

/* トップに戻るボタン */
.top_btn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1000;
	width: 60px;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	transition: 0.5s;
	background:url(/img/common/topbt_hov.png) center center no-repeat;
	background-size:100% auto;
}
.top_btn:not(.active) {
	bottom: -100px;
}
.top_btn img {
	-webkit-transition:opacity 0.2s linear 0s;
	transition:opacity 0.2s linear 0s;
	width:100%;
	height:auto;
}
.top_btn:hover img {
    opacity:0;
}
@media screen and (max-width: 991px) {
	.top_btn {
		width: 60px;
	}
}
@media screen and (max-width: 767px) {
	.top_btn {
		width: 40px;
		bottom: 30px;
		right: 10px;
	}
}

/* ------------------------------
 *  Dissolve Button
 * ------------------------------ */
.social-btn-dissolve {
    width: 50px;
    height: 50px;
    text-align: center;
    color: #fff;
    line-height: 50px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
}
.social-btn-dissolve span {
    position: relative;
    display: block;
    background:#fff;
    border-radius:50%;
    line-height: 0;
}
.social-btn-dissolve span img {
	vertical-align:middle;
}

.social-btn-dissolve:hover {
    color: #fff;
}

.social-btn-dissolve:hover:before {
    opacity: 0;
    -webkit-transform: scale(1.35);
    transform: scale(1.35);
    -webkit-transition: all 0.5s linear;
    transition: all 0.5s linear;
}

.social-btn-dissolve:before {
    background: inherit;
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.75;
    border-radius: 50%;
    -webkit-transition: none;
    transition: none;
    z-index:0;
}

.social-btn-dissolve.twitter {
    background: #4cc4f2;
}

.social-btn-dissolve.facebook {
    background: #3b5998;
}

.visible-sm-only {
	display:none;
}
@media screen and (min-width:700px) and (max-width: 860px) {
	.visible-sm-only {
		display:initial;
	}
	.twoline-sm-only {
		line-height: 1.2;
	    padding-top: 18px;
	    padding-bottom: 18px;
	    vertical-align: middle;
	}
}