@charset "utf-8";

/*======================================

	Component CSS
	Copyright (c) 2019-, PROACTIVE Inc. All rights reserved.

=======================================*/

@media screen and (min-width:769px) {
	html {
		font-size: 14px;
	}
	body {
		min-width: 1120px;
	}
}
@media screen and (max-width:768px) {
	html {
		font-size: 12px;
	}
}

html, body {
	display: flex;
	flex-direction: column;
}

body {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Arial, Helvetica, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif ;
	line-height: 2;
	color: #333;
	-webkit-text-size-adjust: 100%;
    min-height: 100vh;
}

/**--------------------------------------
	01. BASIC_STRUCTURE
---------------------------------------**/
a {
	color: #007ac4;
	text-decoration: underline;
	word-break: break-all;
}

a:hover {
	color: #999;
}

@media screen and (min-width:769px) {
	.br--pc::before {
		content: "\A" ;
		white-space: pre ;
	}
    :target {
        scroll-margin-top: 162px;
    }
}

@media screen and (max-width: 599px) {
	.br--sp::before {
		content: "\A" ;
		white-space: pre ;
	}
}

.bk {
	display: inline-block;
}

/*-- To top --*/
#pageTop {
	display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
}

#pageTop a {
  display: block;
  z-index: 999;
  width: 44px;
  height: 44px;
	-webkit-border-radius: 10%;
	border-radius: 10%;
	background-color: #aaa;
  text-decoration: none;
	position: relative;
}

#pageTop a span {
	position: absolute;
	top: 18px;
	left: 14px;
	width: 13px;
	height: 13px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*----- 01-01. HEADER -----**/
#top-head {
	width: 100%;
	position: relative;
	line-height: 1;
	z-index: 10;
}

#top-head a,
#top-head a:hover {
	text-decoration: none;
}

#top-head .titile img {
	margin-top: 4px;
}

#h-nav ul li a,
#h-nav ul li a:hover,
#h-nav ul li label {
	color: #fff;
}

#h-nav ul li a,
#h-nav ul li label {
	display: block;
	width: auto;
	text-align: center;
}

#h-nav ul li input.m-login__c,
#h-nav ul li input.w-search__c {
	display: none;
}

.h-nav__mem-login label,
.h-nav__mem-login a {
	background-color: #d1495b;
}

#h-nav ul li.h-nav__mem-login label::before {
	content: '▼ ';
}

#h-nav ul li.h-nav__mem-login .m-login__link {
	height: 0;
	overflow: hidden;
	opacity: 0;
}

#h-nav ul li.h-nav__mem-login .m-login__c:checked + .m-login__link {
	height: auto;
	opacity: 1;
}

#h-nav ul li.h-nav__mem-login .m-login__link > a {
	border-top: 1px solid #fff;
	background-color: #da6d7c;
}

.h-nav__m a { background-color: #2274a5; }
.h-nav__s a { background-color: #259bd6; }
.h-nav__p a { background-color: #04a54c; }
.h-nav__l a { background-color: #064896; }

.h-nav__m a:hover,
.h-nav__s a:hover,
.h-nav__p a:hover,
.h-nav__l a:hover,
.h-nav__mem-login a:hover {
	opacity: .7;
}

#h-nav ul li.h-nav__search,
#h-nav ul li.h-nav__search button {
	background-color: #bbb;
	color: #fff;
}

#h-nav ul li.h-nav__search .w-search__box input {
	width: 16rem;
	height: 2rem;
}
#h-nav ul li.h-nav__search .w-search__box button {
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid #bbb;
}
#top-img img {
    vertical-align: bottom;
}

@media screen and (min-width: 769px) {
	#top-head:not(.top) {
		height: 146px;
	}
	
	#top-head .titile {
		position: fixed;
		z-index: 100;
	}
	
	#top-head #h-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 76px;
	}

	#top-head:not(.top)  #h-nav {
		background-color: #fff;
	}

	#h-nav > div  > ul {
		float: right;
	}
	
	#h-nav ul li  {
		float: left;
	}
	
	#h-nav ul li a,
	#h-nav ul li label {
		padding: .75rem;
	}
	
	#h-nav ul li.h-nav__mem-login {
		margin-right: 12px;
	}
	
	#h-nav ul li.h-nav__mem-login label,
	#h-nav ul li.h-nav__mem-login a {
		width: 14rem;
		cursor: pointer;
	}
	
	#h-nav ul li.h-nav__mem-login .m-login__link {
		transition: .5s;
	}

	#h-nav ul li.h-nav__mem-login .m-login__c:checked + .m-login__link {
		z-index: 10;
		position: absolute;
	}
	
	#h-nav ul li.h-nav__search {
		margin-left: 12px;
		width: 2.5rem;
		position: relative;
	}
	
	#h-nav ul li.h-nav__search .w-search__box {
		height: 0;
		overflow: hidden;
		opacity: 0;
	}
	
	#h-nav ul li.h-nav__search .w-search__c:checked + .w-search__box {
		height: auto;
		opacity: 1;
		z-index: 10;
		position: absolute;
		top: 2.5rem;
		right: 0;
		width: 19rem;
		padding: 1.5rem;
		background-color: #eee;
	}
}

@media screen and (max-width: 768px) {
	#top-head {
		height: 50px;
	}
	
	#top-head .title {
		position: absolute;
		left: 8px;
	}
	
	#top-head .titile img {
		width: auto;
		height: 42px;
	}
	
	#top-head #h-nav,
	#top-head #h-nav .inner {
		width: 100%;
	}
	
	#h-nav ul li a,
	#h-nav ul li label {
		padding: 1rem;
	}

	#h-nav ul li.h-nav__mem-login .m-login__link {
		width: 100%;
		transition: .8s;
	}

	#h-nav ul li.h-nav__search {
		padding: 1.5rem;
	}
	
	#h-nav ul li.h-nav__search label {
		display: none;
	}
	
	#h-nav ul li.h-nav__search .w-search__box input {
		margin-left: calc((100vw - 22rem)/2);
	}
}

/*----- 01-02. GROVAL NAVI -----**/
#global-nav {
}

#global-nav ul li a {
	display: block;
	line-height: 1;
}

#global-nav > ul > li > a,
.sub-menu__item a {
	color: #444;
}

#global-nav > ul > li > a > span {
	background-image: url("../img/icon_g-nav.svg");
	background-repeat: no-repeat;
}

#global-nav > ul > li > a > span.icon--m9 {
    background-image: url("../img/icon_g-nav_m9.svg");
    /*background-repeat: no-repeat;*/
}

.nav-sec {
	cursor: pointer;
}

.sub-menu {
	display: none;
}

.sub-menu ul li a,
.sub-menu__sec {
	display: block;
	white-space: nowrap;
	padding: 1em;
}

.sub-menu__column > ul > li > a,
.sub-menu__sec {
	color: #fff;
}

.sub-menu__item ul > li > a {
	background-color: #fff;
}

.sub-menu__item ul > li:not(:last-child) > a {
	border-bottom: 1px dotted #ccc;
}

@media screen and (min-width: 769px) {
	#global-nav {
		position: fixed;
		top: 76px;
		width: 100%;
		height: 70px;
		background-color: #fff;
	}
	
	.top #global-nav {
		position: absolute;
		top: 530px;
	}
	
	.top #global-nav.is-fixed {
		position: fixed;
		top: 76px;
	}
	
	.top #global-nav.is-fixed,
	.top #global-nav.is-fixed + #h-nav {
		background-color: #fff;
	}
	
	#global-nav > ul {
		position: relative;
	}
	
	#global-nav > ul > li {
		float: left;
	}
	
	#global-nav.nav-m > ul > li { /*width: 140px;*/ width: 124px; }
	#global-nav.nav-s > ul > li { width: 160px;	}
	#global-nav.nav-p > ul > li:first-child {	width: 185px;	}
	#global-nav.nav-p > ul > li:not(:first-child) {	width: 187px;	}
	
	#global-nav > ul > li > a {
		height: 60px;
		padding-top: 10px;
		text-align: center;
	}
	
	#global-nav > ul > li > a > span {
		margin: 0 auto;
		display: block;
		width: 28px;
		height: 28px;
		margin-bottom: 8px;
		background-size: 224px 84px;
	}
	
	#global-nav > ul > li > a > span.icon--m1 { background-position: 0 0; }
	#global-nav > ul > li > a > span.icon--m2 { background-position: -28px 0; }
	#global-nav > ul > li > a > span.icon--m3 { background-position: -56px 0; }
	#global-nav > ul > li > a > span.icon--m4 { background-position: -84px 0; }
	#global-nav > ul > li > a > span.icon--m5 { background-position: -112px 0; }
	#global-nav > ul > li > a > span.icon--m6 { background-position: -140px 0; }
	#global-nav > ul > li > a > span.icon--m7 { background-position: -168px 0; }
	#global-nav > ul > li > a > span.icon--m8 { background-position: -196px 0; }
    #global-nav > ul > li > a > span.icon--m9 { background-size: 28px 28px; }

	#global-nav > ul > li > a > span.icon--s1 { background-position: 0 -28px; }
	#global-nav > ul > li > a > span.icon--s2 { background-position: -28px -28px; }
	#global-nav > ul > li > a > span.icon--s3 { background-position: -56px -28px; }
	#global-nav > ul > li > a > span.icon--s4 { background-position: -84px -28px; }
	#global-nav > ul > li > a > span.icon--s5 { background-position: -112px -28px; }
	#global-nav > ul > li > a > span.icon--s6 { background-position: -140px -28px; }
	#global-nav > ul > li > a > span.icon--s7 { background-position: -168px -28px; }

	#global-nav > ul > li > a > span.icon--p1 { background-position: 0 -56px; }
	#global-nav > ul > li > a > span.icon--p2 { background-position: -28px -56px; }
	#global-nav > ul > li > a > span.icon--p3 { background-position: -56px -56px; }
	#global-nav > ul > li > a > span.icon--p4 { background-position: -84px -56px; }
	#global-nav > ul > li > a > span.icon--p5 { background-position: -112px -56px; }
	#global-nav > ul > li > a > span.icon--p6 { background-position: -140px -56px; }

	.sub-menu {
		position: absolute;
		top: 70px;
		left: 0;
		z-index: 1000;
		width: 100%;
		max-height: calc(100vh - 160px);
		overflow-y: auto;
	}
	
	.sub-menu .sub-menu__column {
		float: left;
		width: 24rem;
		margin-left: 2rem;
		padding: 1.5rem 0 1rem 0;
	}
	
	.sub-menu .sub-menu__column.nav-title {
		width: 22rem;
		margin-left: 0;
		padding: 2rem;
		font-size: 1.5rem;
		color: #fff;
	}
	
	.sub-menu__column > ul > li {
		position: relative;
		margin-bottom: .75rem;
	}

	.sub-menu ul li a,
	.sub-menu__sec {
		white-space: nowrap;
	}
	
	/*.sub-menu__column > ul > li > a::after {
		position: absolute;
		right: 1rem;
		content: '>';
	}*/
	.sub-menu ul li a:hover {
		opacity: .75;
	}
	
	.sub-menu__item ul > li > a {
		font-size: 13px;
	}
    
    /* ↓追加  */
    .sub-menu ul li a::after {
    	content: "　 ";
    }
    .sub-menu ul li .sub-menu__sec::after {
    	content: "＋ ";
        position: absolute;
		right: 1rem;
    }
    .sub-menu ul li .sub-menu__sec.open::after {
    	content: "－ ";
    }
    
    #global-nav > ul > li > a.nav-sec.open {
    	color: #444;
    }
   
    .sub-menu ul li .sub-menu__sec.open {
    	color: #fff;
    }
    
    .sub-menu__society .sub-menu__item {
    	display: none;
    }
    
    .sub-menu__item ul > li > a::after {
    	content: "　　";
    }
    
    #global-nav > ul > li.new-batch {
        position: relative;
    }
    #global-nav > ul > li.new-batch::after {
        position: absolute;
        right: 1.75rem;
        top: 1rem;
        font-size: .7rem;
    }
    /* ↑追加  */
}

/*-- Toggle Button --*/
#nav-toggle {
  display: none;
  position: absolute;
  top: 0;
	right: 0;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div {
  position: relative;
	top: 13px;
	left: 10px;
	width: 30px;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 10px;
}
#nav-toggle span:nth-child(3) {
  top: 20px;
}

@media screen and (max-width: 768px) {
	#nav-toggle {
		position: fixed;
	}
	
	#nav-menu {
		margin: 0;
		position: fixed;
    /* 開いてないときは画面外に配置 */
		top: 51px;
		left: 100vw;
    width: 100vw;
		max-height: calc(100% - 56px);
		overflow-y: auto;
    -webkit-transition: .65s ease-in-out;
    -moz-transition: .65s ease-in-out;
    transition: .65s ease-in-out;
		z-index: 1000;
	}
	
	#global-nav > .inner {
		width: 100%;
	}
	
  #global-nav ul {
    position: static;
    right: 0;
    bottom: 0;
  }
	
  #global-nav > ul > li {
		position: static;
		border-bottom: 1px solid #fff;
  }

  #global-nav > ul > li > a {
		width: 100%;
    padding: .75rem 0;
		text-align: left;
		vertical-align: middle;
  }
	
	#global-nav > ul > li > a > span {
		display: inline-block;
		width: 21px;
		height: 21px;
		vertical-align: middle;
		margin: 0 .75rem;
		background-size: 168px 63px;
	}

	#global-nav > ul > li > a > span.icon--m1 { background-position: 0 0; }
	#global-nav > ul > li > a > span.icon--m2 { background-position: -21px 0; }
	#global-nav > ul > li > a > span.icon--m3 { background-position: -42px 0; }
	#global-nav > ul > li > a > span.icon--m4 { background-position: -63px 0; }
	#global-nav > ul > li > a > span.icon--m5 { background-position: -84px 0; }
	#global-nav > ul > li > a > span.icon--m6 { background-position: -105px 0; }
	#global-nav > ul > li > a > span.icon--m7 { background-position: -126px 0; }
	#global-nav > ul > li > a > span.icon--m8 { background-position: -147px 0; }
    #global-nav > ul > li > a > span.icon--m9 { background-size: 21px 21px; }
	
	#global-nav > ul > li > a > span.icon--s1 { background-position: 0 -21px; }
	#global-nav > ul > li > a > span.icon--s2 { background-position: -21px -21px; }
	#global-nav > ul > li > a > span.icon--s3 { background-position: -42px -21px; }
	#global-nav > ul > li > a > span.icon--s4 { background-position: -63px -21px; }
	#global-nav > ul > li > a > span.icon--s5 { background-position: -84px -21px; }
	#global-nav > ul > li > a > span.icon--s6 { background-position: -105px -21px; }
	#global-nav > ul > li > a > span.icon--s7 { background-position: -126px -21px; }
	
	#global-nav > ul > li > a > span.icon--p1 { background-position: 0 -42px; }
	#global-nav > ul > li > a > span.icon--p2 { background-position: -21px -42px; }
	#global-nav > ul > li > a > span.icon--p3 { background-position: -42px -42px; }
	#global-nav > ul > li > a > span.icon--p4 { background-position: -63px -42px; }
	#global-nav > ul > li > a > span.icon--p5 { background-position: -84px -42px; }
	#global-nav > ul > li > a > span.icon--p6 { background-position: -105px -42px; }
	
	#global-nav > ul > li > a.nav-sec::after {
		position: absolute;
		right: 1rem;
		content: "＋";
	}
	
	#global-nav > ul > li > a.nav-sec.open::after {
		position: absolute;
		right: 1rem;
		content: "－";
	}
    
    /* ↓追加  */
    #global-nav > ul > li.new-batch {
        position: relative;
    }
    #global-nav > ul > li.new-batch::after {
        position: absolute;
        left: 10rem;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        font-size: .7rem;
        margin: 0 0 .2rem;
    }
    /* ↑追加  */
	
	.sub-menu ul li a,
	.sub-menu__sec {
		/*font-size: .9rem;*/
		border-bottom: 1px solid #fff;
	}
	
	.sub-menu ul li a::before {
		content: "　 ";
	}
	.sub-menu ul li .sub-menu__sec::before {
		content: "＋ ";
	}
	.sub-menu ul li .sub-menu__sec.open::before {
		content: "－ ";
	}
	
	#global-nav > ul > li > a.nav-sec.open,
	.sub-menu ul li .sub-menu__sec.open {
		color: #444;
	}
	
	.sub-menu__item {
		display: none;
	}
	
	.sub-menu__item ul > li > a::before {
		content: "　　";
	}
	
	.sub-menu__column.nav-title {
		display: none;
	}
	
  #nav-toggle {
    display: block;
  }
	/* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
	 /* #nav スライドアニメーション */
  .open #nav-menu {
    -moz-transform: translateX(-100vw);
    -webkit-transform: translateX(-100vw);
    transform: translateX(-100vw);
	}
}

/* #nav-toggle open --> Background */
.scroll-prev {
	position: fixed;
	z-index: -1;
	width: 100%;
	height: 100%;
}

/*----- 01-03. FOOTER -----**/
footer {
	margin-top: 6rem;
}

footer > div.inner {
	padding: 1.5rem 0;
}

footer > div a {
	text-decoration: none;
}

.footer-link ul li {
	float: left;
}

.footer-link ul li:not(:last-child)::after {
	content: ' ｜';
	margin-right: .5em;
}

.footer-btn {
	line-height: 1;
}

.footer-btn ul li {
	margin-bottom: 1rem;
}

.footer-btn ul li a {
	display: block;
	color: #fff;
}

.info--office dt {
	float: left;
}

.info--office dd {
	padding-left: 56px;
}

.copy {
	color: #fff;
}

@media screen and (min-width: 769px) {
	footer > div.inner {
		width: 1064px;
		margin: 0 auto;
	}

	.footer-link {
		float: left;
		width: 532px;
	}
	
	.footer-btn {
		float: right;
		width: 454px;
	}
	
	.footer-btn div {
		float: left;
	}

	.footer-btn div:nth-of-type(1) {
		width: 196px;
		margin-right: 34px;
	}
	.footer-btn div:nth-of-type(2) {
		width: 224px;
	}
	
	.footer-btn ul li a {
		padding: .75rem;
	}
	
	.copy {
		padding: 1rem 0;
	}
}

@media screen and (max-width: 768px) {
	.footer-link {
		margin-bottom: 2rem;
	}
	
	.footer-btn {
		margin-bottom: 5rem;
	}
	
	.footer-btn ul li a {
		padding: 1rem;
	}
	
	.footer-btn .h-nav__mem-login {
		margin: 2rem 0 1.5rem 0;
	}
	
	.info--office dt {
		padding-top: 1.5rem;
	}
	
	.copy {
		padding: .5rem 0;
	}
}

/**--------------------------------------
	02. CONTENTS
---------------------------------------**/

main {
	/*margin: 0;
	display: block;*/
    flex: 1 0 auto;
}

article {
}

#top-head:not(.top) + main > article {
	margin-top: 2rem;
}
	
.inner {
	margin: 0 auto;
}

section {
	margin: 2rem auto 3rem auto;
}


@media screen and (min-width: 769px) {
	#top-head:not(.top) + main > article .inner {
		min-height: calc(100vh - 41rem);
	}
	
	.inner {
		width: 1120px;
	}
	
	#breadcrumbs {
		padding: .5rem 0 2rem 0;
		font-size: .85rem;
	}

	#breadcrumbs ol li {
		float: left;
		margin-right: .5em;
	}

	#breadcrumbs ol li:not(:first-child)::before {
		content: '> ';
	}
}

@media screen and (max-width: 768px) {
	article {
		/*min-height: calc(100vh - 20rem);*/
	}
	
	.inner {
		width: calc(100vw - 2rem);
	}
	
	#breadcrumbs {
		display: none;
	}
}

/* Title */
.title--sec1 {
	font-size: 1.5rem;
	margin-bottom: 3rem;
	text-align: center;
}

.title--sec2 {
	font-size: 1.25rem;
	padding: .5rem 1rem;
	margin-bottom: 1.5rem;
}

.title--sec3 {
	font-size: 1.1rem;
	margin-bottom: 1.5rem;
	padding: .2rem .5rem 0 .5rem;
}

.title--sec4 {
	font-size: 1rem;
	margin-bottom: 1.2rem;
	padding: 0 .2rem;
	font-weight: bold;
}
.title--sec5 {
	font-size: 1rem;
	padding: .2rem .5rem .1rem .5rem;
	font-weight: bold;
}

@media screen and (min-width: 769px) {
	.title--sec1 {
		font-size: 2.25rem;
	}

	.title--sec2 {
		font-size: 1.5rem;
	}

	.title--sec3 {
		font-size: 1.2rem;
	}
	
	.title--sec4 {
		font-size: 1.1rem;
	}

	.title--sec5 {
		font-size: 1.1rem;
	}
}

/*-- File Link icon mini --*/

.pdf-icon::after {
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background: url(../img/icon_pdf.svg) no-repeat ;
	background-size: contain;
	vertical-align: middle;
	margin-left: .5rem;
}
.doc-icon::after {
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background: #fff url(../img/icon_doc.svg) no-repeat ;
	background-size: contain;
	vertical-align: middle;
	margin-left: .5rem;
}
.xls-icon::after {
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background: #fff url(../img/icon_xls.svg) no-repeat ;
	background-size: contain;
	vertical-align: middle;
	margin-left: .5rem;
}
.ppt-icon::after {
	content: "";
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background: #fff url(../img/icon_ppt.svg) no-repeat ;
	background-size: contain;
	vertical-align: middle;
	margin-left: .5rem;
}

/**--------------------------------------
	03. PARTS
---------------------------------------**/
.img-responsive {
	max-width:100%;
	height:auto;
}

.box {
	padding: .5em 1em;
}

.box-S {
	padding: 0 .5em;
}

.box-inline {
	display: inline-block;
}

.box-c--gry {
	border: 1px solid #ccc;
}

.box-c--d-gry {
	border: 1px solid #888;
}

.box-c--red {
	border: 1px solid #d1495B;
}

.box-c--blu {
	border: 2px solid #2B88F6;
}

img.mail  {
	vertical-align: middle;
	width: auto;
}

@media screen and (min-width:769px) {
	img.mail  {
		height: 15px;
	}
}
@media screen and (max-width:768px) {
	img.mail  {
		height: 13px;
	}
}

/*----- 03-01. LIST -----**/

.name-list--2 li {
	float: left;
	width: 100%;
}

.name-list--3 li {
	float: left;
	width: 100%;
}

.name-list--4 li {
	float: left;
	width: 100%;
}

.name-list--5 li {
	float: left;
	width: 100%;
}

.name-list--6 li {
	float: left;
	width: 100%;
}
@media screen and (min-width: 769px) {
	.name-list--2 li {
		float: left;
		width: 50%;
	}

	.name-list--3 li {
		float: left;
		width: 33.33333%;
	}

	.name-list--4 li {
		float: left;
		width: 25%;
	}

	.name-list--5 li {
		float: left;
		width: 20%;
	}

	.name-list--6 li {
		float: left;
		width: 16.66666%;
	}
}

@media screen and (min-width: 769px) {

/*西暦日付用*/
	.date-info dt {
		float: left;
		padding: .5rem 0;
	}
	
	.date-info dd {
		padding: .5rem 0 0 9rem;
	}

	.date-info dt {
		clear: left;
		width: 9rem;
	}
/*日付のみ用*/
	.dating-info dt {
		float: left;
		padding: .5rem 0;
        text-align: center;
	}
	
	.dating-info dd {
		padding: .5rem 0 0 4rem;
	}

	.dating-info dt {
		clear: left;
		width: 4rem;
	}
}

/*----- 03-02. TABLE -----**/
.tbl-v--mid tr th,
.tbl-v--mid tr td {
	vertical-align: middle;
}

.tbl-bdr tr th,
.tbl-bdr tr td {
	border: 1px solid #ccc;
}

@media screen and (min-width: 769px) {
	.table-date {
		width: 3.5em;
		max-width: 5em;
	}
}

.nowrap {
    white-space: nowrap;
}
.area-over {
	width:  100%;
    overflow-x: auto;
	padding: .5em 0 1.5em 0;
}
.area-over::-webkit-scrollbar {
    height: 6px;
  }
.area-over::-webkit-scrollbar-thumb{
	background: #999;
	border-radius: 5px;
}
.area-over::-webkit-scrollbar-track-piece {
	background: #efefef;
}
caption {
	text-align: left;
	margin-bottom: .5rem;
}
@media only screen and (max-width:768px) {
    .tbl-bdr {
        border-top: 1px solid #ccc
    }
    .tbl-bdr tr th,
    .tbl-bdr tr td {
        border-top: none;
    }
    .tbl-RWD tr th,
    .tbl-RWD tr td {
		width: 100%;
		display: block;
        box-sizing: border-box;
    }
    .tbl-RWD > tr > th {
        border-bottom: none;
    }
    .area-over > table tr td,
    #area-over-tbl tr td {
        white-space: nowrap
    }
}
.tbl-holding {
	margin-bottom: 2rem;
}
.tbl-holding th {
	text-align: center;
}
.tbl-holding td {
	word-break: break-all;
}

/*----- 03-03. TEXT -----**/
.ft-s--S {
	font-size: .95rem;
}

.ft-s--SS {
	font-size: .9rem;
}

.ft-s--SSS {
	font-size: .8rem;
}

.ft-s--L {
	font-size: 1.15rem;
}

.ft-s--LL {
	font-size: 1.2rem;
}
/*Text-カラー*/
.ft-c--R {
    color: #D1495B;
}
.ft-c--G {
    color: #5ab4bd;
}
.ft-c--B {
	color: #333;
}

/*----- 03-04. BUTTON -----**/

.btn {
	margin: 1rem auto;
	display: inline-block;
	padding: 1rem 4rem;
	border: 2px solid ;
	border-radius: 4px;
	font-size: 1.1rem;
	line-height: 1.4;
	text-decoration: none;
}

.btn:hover {
/*	background-color: #fff;
	color: #0082A3;
*/	text-decoration: none;
}

/*もっと見る*/
.btn--show {
	position: relative;
	margin-bottom: 30px;
}

.btn--show:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	height: 1px;
	width: 100%;
	z-index: 1;
}

.btn--show span {
	margin: 1.5rem auto 0 auto;
	display: block;
	width: 240px;
	padding: .5em 0;
	text-align: center;
	cursor: pointer;
	position: relative;
	transition: .3s;
	z-index: 2;
}

/*----- 03-05. Other -----**/

/*-- NEWバッチ --*/
.new-batch::after {
	content: 'new';
	font-size: .8rem;
	padding: .1rem .2rem .2rem .2rem;
    margin-top: -.2rem;
	margin-left: .5rem;
	border-radius: 20%;
	text-decoration: none;
}

/*-- 工事中バッチ --*/
.construction-batch::after {
	content: '工事中';
	font-size: .8rem;
	padding: .1rem .2rem .2rem .2rem;
    margin-top: -.2rem;
	margin-left: .5rem;
	border-radius: 10%;
	text-decoration: none;
}

/*-- Top --*/
.top--box {
    padding: .5rem .5rem 1rem;
    margin: 0 0rem 2rem 0;
    border: 1px solid #ccc;
    text-decoration: none;
    box-sizing: border-box
}
.top--box-emp {
    padding: .5rem .5rem 1rem;
    margin: 0 0rem 2rem 0;
    text-decoration: none;
    box-sizing: border-box
}
.top--box p {
    color: #333;
}

.top--box:hover {
    background-color: #EFEFEF;
    color: #333;
}
@media screen and (max-width: 768px) {
    .top--box,
    .top--box-emp {
        flex-basis: calc(50vw - 2rem);
    }
}
@media screen and (min-width: 769px) {
    .top--box,
    .top--box-emp{
        flex-basis: calc(25% - 2rem);
    }
    .top--box:nth-child(4) {
        margin-right: 0;
    }
    .top--box:nth-child(8) {
        margin-right: 0;
    }
    .top--box:nth-child(12) {
        margin-right: 0;
    }
}

/* Slider */
.swiper-container {
	width: 100%;
}

.swiper-slide {
	background: #fff;
}

.swiper-slide picture {
	margin-bottom: 0;
}

@media screen and (min-width: 769px) {
	.swiper-container {
		margin: 0 auto;
		max-width: 1280px;
	}

	.swiper-slide {
		text-align: center;

		/* Center slide text vertically */
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;
	}
}

@media screen and (max-width: 768px) {
	.swiper-container {
		margin: 0;
	}
	
	.swiper-slide picture img {
		width: 100%;
	}
	
	.swiper-button-next,
	.swiper-button-prev {
		display: none;
	}
}

/*-- 認定専門医一覧 --*/
.dr-list table th:nth-of-type(1),
.dr-list table td:nth-of-type(1) {
  width: 6rem;
}

@media screen and (min-width: 600px) {
  .dr-list table thead {
    display: block;
  }
	
  .dr-list table tbody {
    display: block;
    overflow-y: scroll;
    height: 24rem;
  }
	
	.dr-list table th:nth-of-type(2),
	.dr-list table td:nth-of-type(2) {
		width: 12rem;
	}
	
  .dr-list table th:nth-of-type(3),
  .dr-list table td:nth-of-type(3) {
    width: 24em;
  }
}

@media screen and (max-width: 599px) {
	.dr-list table {
		min-width: 100%;
	}
}

@media screen and (max-width: 599px) {
  .none-sp {
    display: none;
  }
}

/*-- サイトマップ --*/
.sitemap .flex--space-between div {
	width: 100%;
}

@media screen and (min-width: 769px) {
	.sitemap .flex--space-between div {
		width: 24%;
	}
}

.sitemap dl dt,
.sitemap dl dd {
	text-align: left;
	padding: .5rem;
}

.sitemap dl dt {
	margin: .75rem 0 0;
}

.sitemap dl dd {
	margin: .25rem 0 0;
}

.sitemap dl dt,
.sitemap dl dt a {
	color: #fff;
	text-decoration: none;
}

.sitemap dl dt a {
	position: relative;
	display: block;
	width: 100%;
}
.sitemap dl dt a::after {
		position: absolute;
		right: 0;
		content: '>';
}

.sitemap section li::before {
	content: '-- ';
}

.sitemap .flex-col-2 {
	margin-bottom: 0;
}

.sitemap .flex-col-2 li {
	margin: .5rem .5rem 0 .5rem;
}

.sitemap #medical li a .bk {
    text-decoration: underline;
    margin-left: 1.5rem;
}

.sitemap #medical li {
    text-indent: -1.5rem;
    margin-left: 1.5rem;
}

@media screen and (max-width: 768px) {
	.sitemap dt.ft-s--S {
		font-size: 1rem;
	}
}

#medical dl dt,
#medical dl dt a {
  background-color: #6a91c0;
}

#student dl dt,
#student dl dt a {
  background-color: #51afde;
}

#public dl dt,
#public dl dt a {
  background-color: #36b770;
}
