/* Document */
/* ----------------------------------------- */
/* トップページ                                */
/* ----------------------------------------- */

#topImage {
    z-index: -1;
    padding-top:180px;
}
.slides img {
    height:auto !important;
}
main {
    padding-top:0;    
}
main article h2 {
    font-size:2.1em;
    color:#000;
    letter-spacing: 1px;
}

#bn_ann {
	position: absolute;
	top: 18vh;
    right: 4vw;
    z-index: 5;
    width:155px;
    height:70px;
    background: url("../img/assets/bn_nairankai.png") 0 0 no-repeat;
}

/* 二段組のレイアウト */
#TopRayout {
    width:100%;
    margin:0 auto;
    padding:0 30px;
    display: grid;
  	grid-template-columns: minmax(550px, 40%) minmax(650px, 60%);
  	grid-template-rows: auto auto;
    grid-gap: .8em .5em; 
}
#TopRayout section.side-l,
#TopRayout section.side-r {
    margin:0;
    padding:0;
}
#TopRayout table {
    margin:0 0 0 10px;
}
#TopRayout th {
    min-width:75px;
    letter-spacing:0;
    font-weight:normal;
}
#TopRayout td {
    letter-spacing:0;
}
/* イントロダクション */
#introduction {
	position:absolute;
	top: 180px;
	left: 600px;
	width:460px;
	height:210px;
	z-index: 10;
}
#introduction p {
	padding:20px 28px;
	text-align:center;
    color: #fff;
    font-size: 1.1em;
    font-weight: normal;
    /*text-shadow: 2px 2px 1px #000,
    -2px 2px 1px #000,
    2px -2px 1px #000,
    -2px -2px 1px #000;*/
    text-shadow: 
        black 1px 1px 1px, black -1px -1px 1px,
        black -1px 1px 1px, black 1px -1px 1px,
        black 0px 1px 1px, black  0-1px 1px,
        black -1px 0 1px, black 1px 0 1px;
}
#introduction em {
	font-size:1.4em;
    font-style:normal;
	line-height:2.4em;
    color:#f7d777;
}

/* about flex style */
.about-flex {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center;
    -webkit-align-items: center;
    /*height:53vh;*/
    height:auto;
    /*grid-template-columns: minmax(300px, 70%) minmax(300px, 30%);*/
}
.about-flex .sideA,
.about-flex .sideB {
    flex: 1 1;
    padding: 0 6px;
}
.about-flex .sideA {
    -webkit-flex-grow: 2;
    flex-grow: 2;
    flex-basis: 10%;
}
.about-flex .sideB {  
}
.about-flex h3 {
    text-align:left;
    padding-left:0;
}
.about-flex h4 {
    text-align:left;
}
.about-flex table .item {
}
.about-flex table td {
    vertical-align: top;
    padding:2px 5px;
}

/* ドクターイラスト */
.img_doctor {
    width:80%;
}

/* 外来診療日程テーブル */
.shinryo-sch {
    width:70%;
    margin:0 auto !important;
}
.shinryo-sch .t0 {
    width:11em;
    white-space: nowrap;
}

/* 募集要項テーブル */
table.application {
    width:98%;
    margin:6px 0 8px 5px;
	border-collapse: collapse;
}
.application caption {
    padding:4px;
    text-align: center;
    background:#ed6c01;
    color:#fff;
    letter-spacing: 0.3em;
    font-size:1.1em;
    font-family: 'Open Sans', sans-serif;  
}
.application th, .application td {
    padding:10px 6px 10px 12px;
    vertical-align:middle;
    line-height:1.45;
    border-bottom:1px solid #9c9c9c;
    border-bottom:1px solid #000;
    font-size:1.0em;
    font-family: 'Open Sans', sans-serif;  
}
.application th {
    width:15%;
    font-weight:normal;
    vertical-align: top;
    white-space:nowrap;
    background: #fdecd1;
}
.application th span.opt {
    font-size: 86%;
    padding: 0 10px 3px 0;
}
.application td {
    width:auto;
    padding-left:10px;
    padding-right:10px;
    text-align:left;
    background:#fff;
}
/*
.application td span:before {
    padding:0 3px;
    content:"\0a5";
}
*/
.application th.subcont {
    padding:8px 5px;
    background:#fff;
    border-left:none;
    border-right:none;
}
.application thead th {
    width:auto;
    padding:8px 2px;
    text-align: center;
}
tbody.th_w40 th {
    width:40%;
    /*min-width: 100px;*/
}
.recruit_t_spc {
    padding-left:10.65em;    
}

#report-link {
    position: absolute;
    top:75%;
    left:49%;
    width:400px;
    transform: translateX(-49%);
    -webkit-transform: translateX(-49%);
    -ms-transform: translateX(-49%);
    z-index: 10;
}
.links a {
    display:inline-block;
    width:100%;
    height:auto;
    padding:6px 12px;
    margin:0;
    text-decoration:none;
    text-align: center;
    line-height:1.3;
    letter-spacing:2px;
    font-size:2.4em;
    font-weight:bold;
    color:#e4007f;
    background:#FCEEEE;
    border:2px solid #e4007f;
    box-shadow: 0 2px 3px rgba(0, 0, 0, .6);
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}
.links a:hover {
    color:#fff;
    background:#e4007f;
}

.AcMenu {
    width:85%;
    margin:0 auto;
}
.top_footer_spc {
    height:120px;
}

.cont-head-img {
    width: 100vw;
    min-width: 1200px;
}

.cont-imgArea {
	position:relative;
	height:40vh;
    overflow:hidden;
}
.cont-img {
    position: absolute;
    width:100vm;
	height:40vm;
    top:0;
    left:0;
}

.rellax {
	height:100vh;
}
.rellax img {
    width:100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

.parallax {
	position:relative;
	height:40vh !important;
	overflow:hidden;
}
.background {
	position:absolute;
	background-repeat:no-repeat;
	background-size:cover;
    vertical-align: bottom;
}

/* features */
.features {
    margin-top:2em;
    grid-gap: .8em 2em;
}
.features h3 {
    font-size:1.2em;
    font-family: "M PLUS 1p";
    letter-spacing: 0;
    margin:0;
    padding:0 0 0.5em 0;
    text-align: center;
}
.features p {
    margin:0;
    padding:0.3em 0.8em;
}
.features a:hover img {
    filter:alpha(opacity=85);
	opacity:0.85; white-space:nowrap;
}

/* service */
.service {
    display: flex;
    flex-direction: row;
    margin:0 0.5em 1em 0;
}
.service.reverse {
    flex-direction: row-reverse;
}
.service h3 {
    font-size:1.15em;
    font-family: "M PLUS 1p";
    letter-spacing: 0;
    margin:0;
    padding:0 0 0.5em 0;
    text-align: center;
}
.service p {
    margin:0;
    padding:0.3em 0.8em;
}
.service .sv-contents {
    width:70%;
    margin:0 0.5em;
}
.service .sv-contents h4 {
    margin:0;
}
.service .sv-contents p {
    margin:1em 0;
}
.service .sv-image {
    margin:0 0.5em;
    text-align: center;
}
.service img {
    max-width: 100%;
    height: auto;
}

/* ----------------------------------------- */
/*  ニュース表示		                     */
/* ----------------------------------------- */
#news {	
	height:auto;
    padding-bottom:2em;
}
#news h2 { 
    color:#fff;
    font-size:1.4em;
    /*background: #014099;*/
    background: #196fb0;
    margin:5px 0;
    padding:5px 5px 5px 15px;
    border:none;
}
#news ul {
	margin:0;
	padding:0;
}

#news li {
	width:auto;
	list-style-type:none;
	margin:0 0 5px 0;
	padding:5px 5px 5px 5px;
	line-height:1.5;
	border-bottom:1px solid #727171;
}
#news li a { color:#03F; }
#news li a:hover { color:#F33; }

#news .topic_new_class {
    display:inline-block;
    padding:2px 3px;
    margin-right:1em;
    color:#fff;
    background:#e40079;
}
.topic_date {
    font-size:.9em;
    color:brown;
}
