﻿@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Varela+Round');
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
}





/* body */
body {
    font-family: 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'メイリオ', sans-serif,'Osaka','Arial';
    font-weight:500;
    background-color:#fffff;
    overflow-x: hidden;
    overflow-y: scroll;
}


.top0	{margin-top:0;}
.top03	{margin-top:0.3em;}
.top05	{margin-top:0.5em;}
.top1	{margin-top:1em;}
.top15	{margin-top:1.5em;}
.top2	{margin-top:2em;}
.pbottom0 {margin-bottom:0;}

.cls95 {font-size:95%;}
.cls90 {font-size:90%;}
.cls85 {font-size:85%;}

.mb0 	{margin-bottom:0;}
.m0	{margin: 0;}
.p0	{padding: 0;}

@media all and (min-width: 1081px) {
    .br1 {}
    .br2 {display:none;}
    .br3 {}
    .centerM	{text-align:center;}
    img.imgM{}
    .rightP	{float:right;}
    .clsPC	{}
    .clsMB	{display:none;}
    .clsBottom	{position:absolute; bottom:0;}
    .FooterLink {text-align:center; font-size:90%;}
    .FooterLink a::before {
	content: '｜';
	color:#000000;
    }
    .FooterLink a:last-child::after {
 	content: '｜';
	color:#000000;
    }
    .width100 {}
}
@media all and (max-width: 1080px) {
    .br1 {display:none;}
    .br2 {}
    .br3 {}
    .centerM{text-align:center;}
    img.imgM{max-width:100%;}
    .rightP	{}
    .clsPC	{display:none;}
    .clsMB	{}
    .clsBottom	{}
    .FooterLink {display:none;}
    .width100 {width:100%!important; box-sizing: border-box;}
}





/* form */
input	{font-size: 100%;}
select	{font-size: 100%;}
textarea{font-size: 100%; ime-mode:active;}

input:invalid {
    border: solid 2px red;
}
input.g:invalid {
    border: solid 2px #cc0000;
}

input:disabled + label {
    color:#aaaaaa;
}
textarea:invalid {
    border: solid 2px red;
}


input[type="radio"]:checked + label {
    background-color:#99cfe5;
    border-radius:6px;
}
input[type="radio"]:checked {
    box-shadow: 0 0 0 3px #99cfe5;
}

input[type="checkbox"]:checked + label {
    background-color:#99cfe5;
    border-radius:6px;
}
input[type="checkbox"]:checked {
    box-shadow: 0 0 0 3px #99cfe5;
}

.clsInput {
	font-size:100%; font-weight:bold; 
	letter-spacing:0.2em;
	padding:0.5em;
}

.contact_form_explanation	{color: #DA6272; } 
.input_text	{padding: 0.2em; max-width: 98%!important; ime-mode: active;}
.input_select	{padding: 0.2em; max-width: 98%!important;}

.input_radio	{padding: 0.2em; max-width: 98%!important;}
.dv_radio .input_radio	{margin:  0 0.3em 0 0;}
.dv_radio .input_radio:first-child {margin: 0 0.3em 0 0;}
.dv_radio .input_radio:last-child {margin: 0 0.3em 0 0;}
.dv_radio	{margin: 0; padding: 0;}

.input_checkbox	{padding: 0.2em; max-width: 98%!important;}
.dv_checkbox .input_checkbox	{margin: 0 0.3em 0 1em;}
.dv_checkbox .input_checkbox:first-child {margin: 0 0.3em 0 0;}

.input_tel	{padding: 0.2em; max-width: 98%!important; ime-mode: inactive;}
.algn-r		{text-align: right;}

/* パスワード */
.input-wrap{
}
.toggle-pass{

    margin-left:0.5em;
}
@media all and (max-width: 1080px) {
    .toggle-pass {
	display:block;    
    }
}
.toggle-pass::after {
    font-family: "Font Awesome 5 Free";
    content: "\f14a パスワードを表示";
    font-weight: normal; font-size:90%;
    color: #444444;
    font-style: normal;
}
.toggle-pass2::after {
    font-family: "Font Awesome 5 Free";
    content: "\f14a パスワードを非表示";
    font-weight: normal; font-size:90%;
    margin-right: 0.5em;
    color: #444444;
    font-style: normal;
}

/* 送信ボタン */
.btnSubmit {
    background-color: #3261ab;
    border: solid 1px #3261ab;
    border-radius: 4px;
    margin: 0; padding: 1em 0.8em 1em 0.8em;
    line-height:1em;
    color: #ffffff; font-weight: bold;
    cursor: pointer;
}
.btnSubmit:hover {
    opacity: 0.7;
}


/*  診療時間のご案内 */
.clsMembersTop {
    background-color: #fff4d0;
    border-radius: 4px;
    margin: 0 0 30px 0; padding: 3em 0.8em 1em 0.8em;
    line-height:1em;
    font-size:90%;
    position: relative;
}
.clsMembers {
    background-color: #fff4d0;
    border-radius: 4px;
    margin: 20px 0 0 0; padding: 1em 0.8em 1em 0.8em;
    line-height:1em;
    font-size:90%;
}
.clsMembersTitle {
    position: absolute;
    top: 0; left:0; 
    width: 100%; box-sizing: border-box;
    color: #ffffff; font-weight: bold;
    margin: 0 0 20px 0; padding:0.5em;
    font-size:150%;
    background-color:#3261ab;
    //border-bottom: solid 1px #3261ab;
}


/* ボタン（トップページ） */
.btnTop {
    margin: 0 0 0.5em 0; padding: 0.5em;
    border: solid 2px #cccccc;
    border-radius: 4px;
    font-size:100%; line-height:1.5em;
    background-color: #ffffff;
    text-align:left;
}
@media all and (min-width: 1081px) {
    .btnTop {
    width:500px;
    }
}
@media all and (max-width: 1080px) {
    .btnTop {
    width:100%;
    }

}


.btnTopTitle {
    position: absolute;
    bottom: 0; left: 0;
    background-color: #f9f9f9;
    opacity: 0.8;
    color: #000000;
    height:2em; width:100%;
    line-height: 2em; font-weight: bold;
    padding: 0.2em 0 0.2em 0.5em; margin: 0 0 1.2em 0;
}
@media all and (min-width: 1081px) {
}
@media all and (max-width: 1080px) {
    .btnTopTitle {
    font-size:150%;
    }
}

.btnTopText {
    line-height: 1.5em;
    margin-top:10px;
}


/* anchor */
a	{color: #6FD5CF; text-decoration: none;}
a:hover	{opacity: 0.7;}
a.none	{border: none; text-decoration :none;}
a.ablock{display: block; width: 100%; height: 100%;}
a.ablock:hover	{opacity: 0.7;}

a.a1::before{
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 700;
    margin-right: 0.5em;
    border: none;
    text-decoration: none;
}

a.a2:after {
    font-family: "Font Awesome 5 Free";
    content: "\f054";
    font-weight: 700;
    margin-left: 0.5em;
    border:none; text-decoration:none;
    font-size: 70%;
}

a.a3:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0a9";
    font-weight: 700;
    margin-right: 0.5em;
    border:none; text-decoration:none;
    font-size: 70%;
    color: #a2446c;
}
.clsLink
{
    color: #a2446c;
}

a.aPDF::after {
    font-family: "Font Awesome 5 Free";
    content: "\f1c1";
    font-weight: 700;
    margin-left: 0.5em;
    color: #a2446c;
}
a.aPDF2::after {
    font-family: "Font Awesome 5 Free";
    content: "\f1c1";
    font-weight: 700;
    margin-left: 0.5em;
    color: #b0c4de;
}

a.aEx::after {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    font-weight: 700;
    margin-left: 0.5em;
}

a.aDoc::after {
    font-family: "Font Awesome 5 Free";
    content: "\f1c2";
    font-weight: 700;
    margin-left: 0.5em;
    color: #185abd;
}
a.aZip::after {
    font-family: "Font Awesome 5 Free";
    content: "\f1c6";
    font-weight: 700;
    margin-left: 0.5em;
    color: #ffd700;
}
a.aExcel::after {
    font-family: "Font Awesome 5 Free";
    content: "\f1c3";
    font-weight: 700;
    margin-left: 0.5em;
    color: #006400;
}
a.aMail::after {
    font-family: "Font Awesome 5 Free";
    content: "\f0e0";
    font-weight: 700;
    margin-left: 0.5em;
    color: #6FD5CF;
}




/* Header */
@media all and (min-width: 1081px) {
    header{
	width: 1080px; height: 90px;
	padding: 0; margin: 0 auto;
	background: url(../images/header.png) no-repeat; border: none;
	position: relative;
    }
}
@media all and (max-width: 1080px) {
    header{
	padding: 0; margin: 0 auto;
	width: 92%; height: 100px;
	content: url("../images/header_m.svg");
    }
}


/* MainMenu */
@media all and (min-width: 1081px) {
    #idMenu {
	width:100%;
	margin: 0; padding: 0;
	position: relative;
	background-color: #3261ab;
	font-size:120%;
    }
    #nav_toggle{
	display: none;
    }
}

@media all and (max-width: 1080px) {
    #idMenu {
	display: none;
	position: fixed;
	top: 54px; left: 0px;
	width:100%; height: auto;
	margin: 0; padding: 0;
	text-align: left;
	z-index: 999;
	background-color: #3261ab;
    }

   /* 開閉ボタン*/
    #nav_toggle{
	width: 30px;
	height: 30px;
	position: absolute;
	top: 16px; right: 2%;
	z-index: 100;
	background-color: #3261ab;
	cursor: pointer;
	float:right;
	padding: 6px 6px 4px 6px; margin: 0;
    }

    #nav_toggle div {
	position: relative;
	padding: 0; margin: 0;
    }

    #nav_toggle span{
	display: block;
	height: 3px;
	background: #ffffff;
	position: absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
	text-align:center;
    }

    #nav_toggle span:nth-child(1){top:4px;}
    #nav_toggle span:nth-child(2){top:12px;}
    #nav_toggle span:nth-child(3){top:20px;}

    /*開閉ボタンopen時*/
    .open #nav_toggle span:nth-child(1) {
	top: 12px;
	-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: 12px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
    }
}



@media all and (min-width: 1081px) {
  #idMainMenu {

	width: 1080px;
	height: 50px;
	list-style: none;
	margin: 0 auto; padding: 0;
	display: flex;
	display: -webkit-flex;

	justify-content: flex-start;	 /*行末から配置。左揃え。*/
	align-items: flex-start;	 /* 親要素の開始位置から配置。上揃え。*/

    }
  #idMainMenu li {
	background-color: #3261ab;
	margin: 0; pdding: 0;
	text-align: center; letter-spacing: 0.2em; line-height: 50px; font-size:90%; letter-spacing: 0;
	width: 216px; height: 50px;
    }
  #idMainMenu a {
	display: block;
	width: 100%; height: 100%;
	border: none;
	font-weight: bold; color: #ffffff;
    }
  #idMainMenu li:hover {
	background-color: #99cfe5;
    }
  #idMainMenu li .menu_selected {
	color: #ffffff;
	background-color: #99cfe5;
    }
}
@media all and (max-width: 1080px) {
  #idMainMenu {
	display: flex;
	display: -webkit-flex;

	-webkit-flex-direction: column;
	flex-direction: column;

	list-style: none;
	margin: 0;
	padding: 0;
    }
  #idMainMenu li {
	background-color: #3261ab;
	margin: 0; 
	padding: 0.5em 0 0.5em 0.5em;
	text-align: left;
	width: auto;
	border-bottom: solid 1px #ffffff;
    }
  #idMainMenu li:last-child {
	background-color: #3261ab;
	margin: 0; 
	padding: 0.5em 0 0.5em 0.5em;
	text-align: left;
	width: auto;
	border-bottom: solid 1px #ffffff;
    }
  #idMainMenu a {
	display: block;
	width: 100%;
	height: 100%;
	color: #ffffff;
	border: none;
    }
  #idMainMenu li:hover {
	background-color: #99cfe5;
    }
}



/* Navi */
@media all and (min-width: 1081px) {
    .dvNavi {
	width: 100%; height: 30px;
	margin: 0 auto;	padding: 0;
	text-align: right; font-size: 70%;
	line-height: 30px;
    }
    .dvNavi ul {
	list-style: none outside none;

    }
    .dvNavi li {
	display: inline-block;
	color: #78796b;
    }
    .dvNavi li:not(:last-child)::after {
	content: ' > ';
    }

    .dvNavi li a {
	color: #78796b;
    }
}
@media all and (max-width: 1080px) {
    .dvNavi {
	display: none;
    }
}



/* Container */
@media all and (min-width: 1081px) {
    .clsContainer {
	width: 1080px;
	margin: 0 auto;
	padding: 0;
    }
}
@media all and (max-width: 1080px) {
    .clsContainer {
	width: 93%;
	margin: 0 auto;
	padding: 0;
    }
}


/* コンテンツ（左／右列）*/
@media all and (min-width: 1081px) {
    .dvLeftTop	{
	width:740px; padding:0px; margin:0px 0px 0px 0px; text-align:left;  min-height:520px;
 	background-color:#ffffff;
   }
    .dvRightTop	{
	width:300px;padding:0px; margin:0px 0px 20px 0px; text-align:left;
 	background-color:#ffffff;
    }
}
@media all and (max-width: 1080px) {
    .dvLeftTop	{
	width:95%;padding:0; margin:auto; text-align:left;
	order: 2;
    }
    .dvRightTop	{
	width:95%;padding:1em 0 0 0; margin:auto; text-align:left;
	order: 1;
    }
}



/* Article */
article {
    display: -webkit-flex;
    display: flex;

    flex-wrap: wrap;

    -webkit-justify-content: space-between;
    justify-content: space-between;

    margin: 0;
    padding: 0;
}



/* Contents */
@media all and (min-width: 1081px) {
    .contenttop {
	margin: 0 0 0 0;
	padding: 0;
	width:100%;
	text-align:left;
	background-color:#fffff;
	line-height:1.6em;
    }
    .content {
	margin: 0 0 0 0;
	padding: 0;
	width:100%;
	min-height:500px;
	text-align:left;
	background-color:#fffff;
	line-height:1.5em;
	text-align: justify;
    }
    #idSide {
	margin: 0;
	padding: 0 10px 0 0;
	width: 200px;
	min-height: 500px;
	text-align: left;
	background-color: #ffffff;
	border-right: dashed 1px #ffffff;
    } 
    #idSide ul {
	width:100%;
	list-style: none outside none;
	margin:0 auto; padding:0;
	position:relative;
	background-color: #ffffff;
    } 
    #idSide ul > li{
	width:100%;
	position:relative;
	display: inline-block;
	line-height:1em;
	margin:0 1em 0 0; padding:0.8em 0 0.8em 0;
	border-top: solid 1px #dddddd;
    }
    #idSide ul > li:last-child {
	border-bottom: solid 1px #dddddd;
    }
    .list_selected {
	font-weight:bold;
    }
    .list_selected a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f0d9";
    font-weight: 700;
    margin-left: 0.5em;
    border:none; text-decoration:none;
}


}
@media all and (max-width: 1080px) {
    .contenttop {
	margin: 0px 0 0 0;
	padding: 0;
	width:100%;
	text-align:left;
	background-color:#fffff;
	line-height:1.5em;
    }
    .content {
	margin: 20px 0 0 0;
	padding: 0;
	width:100%;
	text-align:left;
	background-color:#fffff;
	line-height:1.3em;
	text-align: justify;
	text-justify: inter-ideograph;
    }

   #idSide {
	margin: 0 0 20px 0;
	padding: 0;
	width: 100%;
	background-color: #ffffff;
    } 
    #idSide ul {
	width:100%;
	list-style: none outside none;
	margin:0 auto; padding:0;
	position:relative;
	background-color: #ffffff;
    } 
    #idSide ul > li{
	width:100%;
	position:relative;
	display: inline-block;
	line-height:1em;
	margin:0 1em 0 0; padding:0.5em 0 0.5em 0;
	border-top: solid 1px #dddddd;
    }
    #idSide ul > li:last-child {
	border-bottom: solid 1px #dddddd;
    }
    .list_selected {
	font-weight:bold;
    }
    .list_selected a:after {
    font-family: "Font Awesome 5 Free";
    content: "\f0d9";
    font-weight: 700;
    margin-left: 0.5em;
    border:none; text-decoration:none;
    }

    #idSide:before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 700;
	content: '\f410';
	font-size: 140%;
	background-color: #ffffff;
	color:#d0466f;
	right:0;
	cursor: pointer;
    } 

}







/* PageTop */
#idPageTop {
    width: 50px;
    height: 50px;
    right: 0;
    bottom: 0;
    opacity: 1;
    cursor: pointer;
    padding:0; margin:0;
}

@media all and (min-width: 1081px) {
    #idPageTop {
	position: -webkit-sticky;
	position: sticky;
	left: calc(100vw - 3%);
    }
}
@media all and (max-width: 1080px) {
    #idPageTop {
	position: -webkit-sticky;
	position: sticky;
	left: calc(100vw - 3%);
    }
}

#idPageTop span {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
    border: none;
}
#idPageTop span::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 700;
    content: '\f151';
    font-size: 50px;
    width: 50px;
    height: 50px;
    color:#3261ab;
    position: absolute;
    top: 0;
    bottom: 5px;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}



/* Footer */
@media all and (min-width: 1081px) {
    #idFooter {
	width: 100%;
	margin: 30px 0 0 0;
	height: 80px;
	line-height: 80px;
	padding: 0;
	background-color: #3261ab;
	text-align: center;
	color: #ffffff; font-weight: normal;
    }
    #idFooter span::before {
	width: 1080px;
	content: '\0a9 Center for the Promotion of Preventative Medicine All Rights Reserved.';
	margin: auto;
	padding: 0;
    }
}
@media all and (max-width: 1080px) {
    #idFooter {
	width: 100%;
	margin: 30px 0 0 0; padding: 0;
	height: 80px;
	line-height: 80px;
	
	background-color: #3261ab;
	text-align: center;
	color: #ffffff; font-weight: normal;
    }
    #idFooter span::before {
	width: 100%;
	font-size: 10px;
	content: '\0a9 Center for the Promotion of Preventative Medicine All Rights Reserved.';
	margin: auto;
	padding: 0;
    }
}




.dplnone {display:none;}



.cssgrid2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  grid-auto-rows: 340px
  grid-gap: 0 0.8em;
  padding: 0em;
  margin: 0 0 0 0;
}

.cssgrid2 > div {
  border: dashed 2px #ffc3c3;
  overflow: auto;
  min-width: 0;
  margin:10px 0 10px 0;
}


@media all and (min-width: 1081px) {
    .dvUpdate {
	width: 600px;
	margin: 0; padding: 0;
    }
    .dvInfo {
	width: 420px;
	margin: 0; padding: 0;
    }
    .dvInfo2 {
	margin-left:70px;
	font-size:90%;
    }
    .dvInfo3 {
	margin-left:10px;
    }

    .dvTopButtons {
	width: 240px;
	margin:0; padding:0.5em;
	border: solid 1px #fdf4e3;
	color:#55554b; font-size:90%; 
	background-color:#ffffff;
	text-align:left;
    }
    .dvTopButtons:hover {
	opacity: 0.7;
    }
    .clsTopButtonDate{
	text-align:right; color:#ff679a; font-size:80%; font-weight:bold;
    }
    .clsTopButtonText{
	text-align:left; color:#ff679a; font-size:110%; line-height:1.3em; font-weight:bold;
    }

    .dvTopButtons2 {
	margin:0 0 10px 0; padding:0.5em;
	border: solid 1px #fdf4e3;
	color:#55554b; font-size:90%; 
	background-color:#ffffff;
	text-align:left;
    }

    .dvTopButtons3 {
	width: 180px;
	padding: 0 0 0 0.5em;
    	margin: 0;
	color: #ffeaea;
	background: #ffeaea;
	border: solid 1px #ffc3c3;
	border-radius: 8px;
	transition: 0.5s;
    }
    .dvTopButtons3:hover {
	color: #ffffff;
	background: #d0466f;
    }
    .dvTopButtons3:hover a {
	color: #ffffff;
    }
    .dvTopButtons3 a {
	color:#d0466f; font-weight: bold;;
    }


    .clsTopButtonsNormal {
	font-size:90%;
    }

    .mobile_button {
	display:none;
    }
    .mobile_button_Home {
	display:none;
    }

}
@media all and (max-width: 1080px) {
    .dvUpdate {
	width: 100%;
	margin: 0 auto;	padding: 0;
	border: solid 1px #fdf4e3;
    }
    .dvInfo {
	width: 100%;
	margin: 20px 0 0 0; padding: 0;
	border: solid 1px #fdf4e3;
    }
    .dvInfo2 {
	font-size:90%;
	margin-top:0.5em;
    }
    .dvInfo3 {
	margin-top:1em;
    }

    .dvBanner {
	width: 100%;
	margin: 30px 0 0 0; padding: 0;
	border: solid 1px #fdf4e3;
    }

    .dvTopButtons {
	max-width: 100%;
	margin:0; padding:0.5em;
	border: solid 1px #fdf4e3;
	color:#55554b; font-size:90%; 
	background-color:#ffffff;
	text-align:left;
    }
    .dvTopButtons:hover {
	opacity: 0.7;
    }
    .clsTopButtonDate{
	text-align:right; color:#ff679a; font-size:80%; font-weight:bold;
    }
    .clsTopButtonText{
	text-align:left; color:#ff679a; font-size:110%; line-height:1.3em; font-weight:bold;
    }

    .dvTopButtons2 {
	margin:0 0 10px 0; padding:0.5em;
	border: solid 1px #fdf4e3;
	color:#55554b; font-size:90%; 
	background-color:#ffffff;
	text-align:left;
    }

    .dvTopButtons3 {
	width: 100%;
	padding: 0 0 0 0.5em;
    	margin: 0;
	color: #ffeaea;
	background: #ffeaea;
	border: solid 1px #ffc3c3;
	border-radius: 8px;
	transition: 0.5s;
    }
    .dvTopButtons3:hover {
	color: #ffffff;
	background: #d0466f;
    }
    .dvTopButtons3:hover a {
	color: #ffffff;
    }
    .dvTopButtons3 a {
	color:#d0466f; font-weight: bold;;
    }

    .clsTopButtonsNormal {
	font-size:90%;
    }

    .mobile_button {
	margin:0 0 20px 0; padding:0;
    }
    .mobile_button {
	content: url("../images/mobile_button.svg");
	cursor:pointer;
    }
    .mobile_button_Home {
	margin:0 0 20px 0; padding:0;
    }
    .mobile_button_Home {
	content: url("../images/mobile_button.svg");
	cursor:pointer;
    }

}


.box15 {
    padding: 0.2em 0.5em;
    margin: 2em 0;
    color: #565656;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 10px #ffeaea;
    border: dashed 2px #ffc3c3;
    border-radius: 8px;
}
.box15 p {
    margin: 0; 
    padding: 0;
}



/* Table */
table {
    margin-top: 20px;
    margin-bottom: 20px;
    border: solid 1px #aaaaaa;
    border-collapse: collapse;
}

table th,
table td {
    padding: 0.5em;
    transition: 0.2s;
    border: solid 1px #aaaaaa;
}

table th {
    font-weight: bold;
    background-color: #f9f9f9;
}

tbody:hover td {
    color: #77735a;
}

tbody:hover tr:hover td {
}



@media all and (max-width: 1080px) {
    table {
	border:none;
	max-width:100% !important;
    }
    th.res {
	display:block;
	background:#f9f9f9; font-weight:bold;
	width:100% !important;
	border:none;
	padding-left:0; padding-right:0;
    }
     td.res {
	display:block;
	width:100% !important;
	border:none;
	padding:0; margin:0.5em 0 1em 0;
    }
}


@media all and (min-width: 1081px) {
    .side-scroll-table {
    }
    .side-scroll-table table {
    }
}
@media all and (max-width: 1080px) {
    .side-scroll-table {
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	overflow: auto;
	overflow-x: auto;
	overflow-y: hidden;
    }
    .side-scroll-table table {
	width:100%;
    }
}



.ttl_background2 {
  font-weight: bold;
  padding: 0.5em 1em;
  background-color: #e1eef5;
  position: relative;
}
.ttl_background2::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  border-width: 0 20px 20px 0;
  border-style: solid;
  border-color: #4c9ac0 #fff #4c9ac0;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}

.ttl_background3 {
  font-weight: bold;
  padding: 0.5em 1em;
  background-color: #4c9ac0;
  color: #fff;
  overflow: hidden;
  position: relative;
}
.ttl_background3::after {
  content: '';
  background-color: #fff;
  opacity: 0.3;
  transform: rotate(-65deg);
  position: absolute;
  bottom: -250px;
  right: -250px;
  width: 300px;
  height: 500px;
}
          


/* TopInfo */
.clsTopInfo {
    font-size: 140%; font-weight: bold; letter-spacing: 0.1em; color:#ffffff;
    position: relative;
    background: linear-gradient(90deg, rgb(72, 149, 197), rgb(111, 180, 224));
    //background: #3261ab;
    line-height: 1.2;
    padding: 0.5em 0.5em 0.5em 1.8em;
}
.clsTopInfo:before {
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    font-weight: 900;
    position: absolute;
    left : 0.5em; /*左端からのアイコンまでの距離*/
}

.clsTopInfo2 {
    font-size: 140%; font-weight: bold; letter-spacing: 0.1em; color:#ffffff;
    position: relative;
    background: linear-gradient(90deg, rgb(46, 87, 137), rgb(111, 180, 224));
    //background: #3261ab;
    line-height: 1.2;
    padding: 0.5em 0.5em 0.5em 1.8em;
}
.clsTopInfo2:before {
    font-family: "Font Awesome 5 Free";
    content: "\f058";
    font-weight: 900;
    position: absolute;
    left : 0.5em; /*左端からのアイコンまでの距離*/
}


.clsTopInfo3 {
  border-top: 8px solid #99cfe5;
  font-size: 150%; font-weight: bold; letter-spacing: 0.1em; color:#3261ab;
  padding: 0.5em 0 0 0;
  position: relative;
}
.clsTopInfo3::before {
  position: absolute;
  top: -8px;
  left: 0;
  width: 15%; height: 8px;
  content: '';
  background: #3261ab;
	background: linear-gradient(90deg, #f87b21 0%, #c47da1 100%);
}


/* 見出し */
.clsPageTitle {
}

h1 {
	height:1em;
	color:#ffffff; font-size:120%; line-height:1em; font-weight:bold; text-align:left; letter-spacing:0.1em; 
	margin:20px 0px 20px 0px; padding:0.5em 1em; 
	background-color:#99cfe5; border-radius:4px;
	border:none;
}



h2	{
    margin: 2em 0 1em 0; padding: 0.5em 0 0 0;
    text-align:left; color:#000000; font-size:150%; font-weight:bold;
    border-top: solid 4px #3261ab;
    line-height:1em;
}
h2:first-child {
    margin: 0 0 1em 0;
}



h3	{
    margin: 2em 0 1em 0; padding: 0.5em 0 0 0;
    text-align:left; color:#000000; font-size:140%; font-weight:bold;
    border-top: solid 2px #3261ab;
    line-height:1em;
}
h3:first-child {
    margin: 0 0 1em 0;
}



h4	{
    margin: 2em 0 1em 0; padding: 0.5em 0 0 0;
    text-align:left; color:#000000; font-size:120%; font-weight:bold;
    border-top: solid 1px #3261ab;
    line-height:1em;
}
h4:first-child {
    margin: 0 0 1em 0;
}
h4 span {
    display: inline-block;
}

h4.h4b	{
    margin: 2em 0 1em 0; padding: 0.5em 0 0 0;
    text-align:left; color:#000000; font-size:120%; font-weight:bold;
    border-top: dotted 1px #3261ab;
    line-height:1em;
}
h4.h4b:first-child {
    margin: 0 0 1em 0;
}
h4.h4b span {
    display: inline-block;
}




/* UL OL */
ul li {
    margin:0 0 0.5em 0em;
    padding:0;
}
ul li:last-child {
    margin-bottom:0;
}

ol li {
    margin:0 0 0.5em 0em;
    padding:0px;
}
ol li:last-child {
    margin-bottom:0;
}

ul.notice li 	{
	list-style:none; margin:0 0 0 -1.5em; text-indent:-1.3em; padding-left:1.0em;
} 
ul.notice > li{
	margin:0 0 0.0em 0;
	padding:0;
	}
ul.notice > li:last-child {
	margin:0;
	padding:0;
}



@media all and (min-width: 1081px) {
    ul.ulRes	{
	justify-content:center;
	list-style: none outside none;
	margin:0px auto; padding:0px;
	position:relative;
    }
    ul.ulRes > li{
	position:relative;
	display: inline-block;
	vertical-align:top;
	margin:0px 1em 0 0;
	padding:0px;
    }
    ul.ulRes > li:last-child {
	margin:0px;
	padding:0px;
    }
    ul.ulRes:after	{content:""; display:block; clear: both; margin:0px; padding:0px;}

    ul.ulBn	{
        justify-content:center;
        list-style: none outside none;
        margin:0 auto; padding:0;
    }
    ul.ulBn > li{
        vertical-align:top;
        margin:0 0 0.5em 0;
        padding:0;
        display: inline-block;
    }
    ul.ulBn > li:last-child {
        margin:0;
        padding:0;
        display: inline-block;
    }
    ul.ulBn a:hover {
        opacity: 0.7;
    }
    ul.ulBn:after    {content:""; display:block; clear: both; margin:0; padding:0;}
    ul.ulBn span    {display: none;}
    ul.ulBn img    {display: visible;}
}
@media all and (max-width: 1080px) {

    ul.ulRes {
	justify-content:center;
	list-style: none outside none;
	margin:0px auto; padding:0px;
	position:relative;
    }
    ul.ulRes > li{
	position:relative;
	display: block;
	vertical-align:top;
	margin:0px 0 0.5em 0;
	 padding:0px;
	width:100% !important;
    }
    ul.ulRes > li:last-child {
	margin:0px;
	padding:0px;
	width:100% !important;
    }
    ul.ulRes > li img{
	max-width:100% !important;
    }
    ul.ulRes:after    {content:""; display:block; clear: both; margin:0px; padding:0px;}

    ul.ulBn    {
        justify-content:center;
        list-style: none outside none;
        max-width:100% !important;
        margin:0 auto; padding:0;
    }
    ul.ulBn > li{
        vertical-align:top;
        border-right: solid 1px #cccccc;
        border-left: solid 1px #cccccc;
        border-bottom: solid 1px #cccccc;
        margin:0 0 0 0;
        padding:0.5em;
        background-color: #ffffff;
    }
    ul.ulBn > li:first-child {
        border-top: solid 1px #cccccc;
        border-right: solid 1px #cccccc;
        border-bottom: solid 1px #cccccc;
        border-left: solid 1px #cccccc;
        margin:0 0 0 0;
        padding:0.5em;
    }
    ul.ulBn > li:last-child {
        border-right: solid 1px #cccccc;
        border-bottom: solid 1px #cccccc;
        border-left: solid 1px #cccccc;
        margin:0 0 0 0;
        padding:0.5em;
    }
    ul.ulBn:after    {content:""; display:block; clear: both; margin:0; padding:0;}
    ul.ulBn span    {display: visible;}
    ul.ulBn img    {display: none;}
    ul.ulBn iframe    {display: none;}
}





/* div */
.dvAbout
 {
    margin: 0 0 1em 0;
    padding: 0.5em;
    border:dashed 2px #3261AB;
    border-radius: 6px;
}

.dv1
 {
    margin: 0 0 1em 0;
    padding: 0.5em;
    background-color: #99cfe5;
    border-radius: 6px;
}

.dv2
 {
    margin: 0 0 1em 0;
    padding: 0.5em;
    background-color: #FCEDAA;
    border-radius: 6px;
}

.dv3
 {
    margin: 0 0 1em 0;
    padding: 0.5em;
    background-color: #ffc6c6;
    border-radius: 6px;
}

.dv4
 {
    margin: 0 0 1em 0;
    padding: 0.5em;
    background-color: #ffc3c3;
    border-radius: 6px;
}

.dvMsg {
    width: calc(100% - 35px);
    padding: 0.2em 0.5em;
    margin: 10px 0 20px 8px;
    background-color: #ffeaea;		/*背景色*/
    box-shadow: 0 0 0 8px #ffeaea;	/*背景色外側*/
    border: 2px dashed #ffc3c3;		/*線*/
    color: #000000;			/*文字色*/
}
.dvMsg p {
    padding: 0;
}


.dvSubPage3	{
    background-color:#eeede7;
    padding:0.5em; margin-top:5px;margin-bottom:20px;
}
.dvSubPage3 a{
    border-bottom:none;
    color: #000000;
}


.dvContact {
  margin: 20px auto;
}
.dvContact-ttl {
  background-color: #4895C5;
  color: #fff;
  padding: 0.5em 20px;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
}
.dvContact-txt {
  padding: 10px 20px;
  border: 2px solid #4895C5;
}




.dv3 p {
    padding: 0;
}


.dvMemo {
    background-color:#ffff99; 
    color:#ff4500; 
    border: double 3px #ffd700; 
    padding: 8px; margin: 1em 0 1em 0;
}




div.dvSubPage {
    margin: 0em 0 1em 0; padding: 0.5em; 
    background-color:#FCEDAA; 
    border: solid 1px #ffffff
    border-radius: 6px;
}
@media all and (min-width: 1081px) {
}
@media all and (max-width: 1080px) {
}

div.dvSubPage2 {
    margin: 0em 0 1em 0; padding: 0.5em; 
    background-color:#fefaf1;
    border: solid 1px #FCEDAA;
    border-radius: 6px;
}

.dvDL {
    margin: 1em 0 1em 0; padding: 0.5em; 
    border: solid 2px #a29790;
    border-radius: 6px;
}

.dvLink
 {
    margin: 1em 0 1em 0; padding: 0.5em; 
    border: solid 1px #a29790;
    border-radius: 6px;
}



/* span */
.clsEmp1 {
    color: #3261ab;
    font-weight: bold;
    border-bottom: dotted 3px #3261ab;
}
@media all and (max-width: 1080px) {
    .clsEmp1 {
    line-height: 160%;
    }
}

.clsEmp2 {
    color: #3261AB;
    font-weight: bold;
    border-bottom: dotted 3px #3261AB;
}
@media all and (max-width: 1080px) {
    .clsEmp2 {
    line-height: 160%;
    }
}

.clsEmp3 {
    color: #ff0000;
    font-weight: bold;
    border-bottom: dotted 3px #ff0000;
}
@media all and (max-width: 1080px) {
    .clsEmp3 {
    line-height: 160%;
    }
}

.clsRed {color:#cc0000;}

.clsMk1 {
    background-color: #eaedf8;
}

.spnInline span {
    display: inline-block;
}

.clsDate{
	font-size:80%; color:#aaaaaa;
}
.clsDetail{
	font-size:95%; color:#666154
}

.clsHissu{
	font-size:80%;
	color:#ffffff;
	background-color:#f08080;
	padding:0.2em; margin-left:0.8em;
	border-radius:4px;
}

.imgShadow {
	box-shadow: 8px 8px 0 #eee6a0;
}




/* FLEX-BOX */
@media all and (min-width: 1081px) {

    .f-containerL {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
    }
    .f-containerL > div {
	margin-right: 1em;
    }
    .f-containerL > div:last-child {
	margin-right: 0em;
    }

    .flex-containerSB {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
    }

    .flex-containerSA {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
    }

    .dvTopInfo {
	margin:0 0 1em 0; padding:0 0 0.5em 0;
	line-height:1.2em;
	border-bottom: dotted 1px #bbbbbb;
    }
    .dvTopInfo > p:first-child {
	margin:0 0 0.5em 0; padding:0;
    }
    .dvTopInfo .top2 {
	margin:0 0 0.3em 0; padding:0;
    }
    .dvTopInfo .top3 {
	margin:0; padding:0;
	font-size:95%; color:#666154;
    }

    .flex-basis5 {
	margin:0; padding:0;
	width:5em;
	text-align: left;
    }
    .flex-basis5:last-child {
	margin:0; padding:0;
	flex: 1;
	text-align: justify;	
    }

    .flex-basis10 {
	margin:0; padding:0;
	width:10em;
	text-align: left;
    }
    .flex-basis10:last-child {
	margin:0; padding:0;
	flex: 1;
	text-align: justify;	
    }

    .flex-basis30p {
	margin:0; padding:0;
	width:30%;
	text-align: left;
    }
    .flex-basis30plast-child {
	margin:0; padding:0;
	flex: 1;
	text-align: justify;	
    }


}
@media all and (max-width: 1080px) {

    .f-containerL{
    }
    .f-containerL > div {
	margin-bottom: 1em;
    }
    .f-containerL > div:last-child {
	margin-bottom: 0em;
    }

    .flex-containerSB {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	text-align:left;
    }
    .flex-containerSB > div {
	width:100% !important;
    }
    .flex-containerSB > div:last-child {
	width:100% !important;
    }

    .flex-containerSA {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	text-align:center;
    }
    .flex-containerSA > div {
	margin:0 0 1em 0; padding:0;
	width:100% !important;
    }
    .flex-containerSA > div:last-child {
	margin:0; padding:0;
	width:100% !important;
    }

    .dvTopInfo {
	margin:0 0 1em 0; padding:0;
	line-height:1.2em;
    }
    .dvTopInfo > p:first-child {
	margin:0 0 0.5em 0; padding:0;
    }
    .dvTopInfo .top2 {
	margin:0 0 0.3em 0; padding:0;
	font-size:95%; color:#666154;
    }
    .dvTopInfo .top3 {
	margin:0; padding:0;
	font-size:95%; color:#666154;
    }

    .flex-basis4 {
		margin:0; padding:0;
		font-weight:bold;
    }
    .flex-basis4:last-child {
		margin:0 0 0.5em 0; padding:0;
		font-weight:normal;
    }
}


.clsTitleBold {
	padding: 0.2em 0 0.2em 0.5em; margin: 0 0 0.5em 0em;
	font-weight: bold; font-size: 120%; line-height:1.5em;
	border-bottom: solid 1px #503410;
}
.clsTitleBold::before {
    font-family: "Font Awesome 5 Free";
    content: "\f14a";
    font-weight: 700;
    border: none;
    text-decoration: none;
    padding-right:0.5em;
}

.clsTitleBold2 {
	padding: 0.2em 0 0.2em 0.5em; margin: 0 0 0.5em 0em;
	font-weight: bold; font-size: 120%; line-height:1.5em;
	border-bottom: solid 1px #503410;
}
.clsTitleBold2::before {
    font-family: "Font Awesome 5 Free";
    content: "\f00c";
    font-weight: 700;
    border: none;
    text-decoration: none;
    padding-right:0.5em;
}





p q {
	
	/*--quotes指定--*/
	quotes: "「" "」";
}


p q:before {

	/*--open-quote指定--*/
	content: open-quote; 
	color: #febe3e; 
	font-weight: bold;
}


p q:after {

	/*--close-quote指定--*/
	content: close-quote; 
	color: #febe3e; 
	font-weight: bold;
}



.clsToggle{
    cursor:pointer;
    margin-top:1em;
}
.clsToggleNext{
    display:none;
}
.clsToggleNext2{
}




.clsIcoCareer {
	font-size:80%; text-align:center; font-weight: bold;
	color:#ffffff;
	background-color:#f08080;
	padding:0.2em 0.5em; margin:0 0 0 0.5em;
	border-radius:4px;
}
.clsIcoCareer::before{
    content: "募集";
    border: none;
    text-decoration: none;
}

.clsIcoMembers {
	font-size:85%; text-align:center; font-weight: bold;
	color:#ffffff;
	background-color:#ff7f50;
	padding:0.2em 0.5em; margin:0 0 0 0.5em;
	border-radius:4px;
}
.clsIcoMembers::before{
    content: "会員ページ";
    border: none;
    text-decoration: none;
}

.clsIcoMeeting {
	font-size:85%; text-align:center; font-weight: bold;
	color:#ffffff;
	background-color:#8a2be2;
	padding:0.2em 0.5em; margin:0 0 0 0.5em;
	border-radius:4px;
}
.clsIcoMeeting::before{
    content: "学術集会・講演会";
    border: none;
    text-decoration: none;
}



a.btn_17 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	position: relative;
    	margin: 0 0 0.5em 5px; padding: 0.5em;
	font-weight: bold;
	color: #f87b21;
	background: #fff4d0;
	transition: 0.3s ease-in-out;
	height:2em;
}
@media all and (min-width: 1081px) {
    .btn_17 {
    width:240px;
    }
}
@media all and (max-width: 1080px) {
    .btn_17 {
    width:97%;
    }
}

a.btn_17::before {
  content: '';
  position: absolute;
  top: -5px;
  left: -5px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 2px solid #f87b21;
  transition: 0.2s;
}
a.btn_17:hover::before {
  top: 0;
  left: 0;
}
a.btn_17:hover {
	background: #f87b21;
	color: #fff;
}



@media all and (min-width: 1081px) {
   .dvBottom {
	position: absolute;
	bottom: 0;
	background: #ffffff;
    }
}
@media all and (max-width: 1080px) {
   .dvBottom {
	margin: 20px 0 0 0;
	background: #ffffff;
    }
}



/*タブ切り替え全体のスタイル*/
.tabs {
    margin-top: 50px;
    padding-bottom: 20px;
    width: 100%;
    margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
border-bottom: 3px solid #ffc365;
}
.tab_item:hover {
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    padding: 20px 0 20px 0;
    clear: both;
    overflow: hidden;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
    background-color: #ffc365;
    color: #ffffff;
}

/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#patients:checked ~ #patients_content,
#medical:checked ~ #medical_content,
#career:checked ~ #career_content 
{
    display: block;
}

.tab_content_description {
    background-color:#ffffff;
}

.c-txtsp {
    border: solid 1px #aaaaaa;
}


@media all and (min-width: 1081px) {
    .tab_item {
	width: calc(100%/4);
	height: 40px;
	//border-bottom: 3px solid #ffc365;
	background-color: #ffffff;
	line-height: 40px;
	text-align: center; font-size:120%; color: #565656; font-weight: bold;
	display: block;
	float: left;
	transition: all 0.2s ease;
	cursor:pointer;
	margin:0; padding:0;
    }
    .tab_item:hover {
	opacity: 0.6;
    }
}
@media all and (max-width: 1080px) {
    .tab_item {
	width: 100%; height: 40px;
	border-bottom: 3px solid #ffc365;
	background-color: #ffffff;
	line-height: 40px;
	text-align: left; font-size: 120%; color: #565656; font-weight: bold;
	display: block;
	transition: all 0.2s ease;
	cursor:pointer;
	padding-left: 0.5em;
    }
    .tab_item:hover {
	opacity: 0.75;
    }
    .tab_item:before {
	content: '▼';
	font-size:60%;
	margin-right: .2em;
	display:inline-block;
	transform:rotate(-90deg);
    }
    .tabs input:checked + .tab_item:before {
	transform:rotate(0);
    }
}

.ancAll:hover	{cursor:pointer;}
.ancShinryo:hover	{cursor:pointer;}

.ico_info {
    opacity:0.4;
}





.box-01 {
  margin: 20px auto;
  padding: 20px;
  border: 3px solid #99cfe5;
  position: relative;
  border-radius: 4px;
}
.box-01 p {
  background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #99cfe5 100%);
  background-size: 8px 100%, 100% 2.5em;
  line-height: 2.5;
  margin: 0;
  font-size:120%;
}


.box-13 {
  margin: 30px auto;
  padding: 1em;
  border: 2px dashed #99cfe5;
  position: relative;
}
.box-13-ttl {
  position: absolute;
  top: -15px;
  left: 20px;
  background-color: #ffffff;
  padding: 0 0.5em;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
  color:#3261ab;
}
      

.box-15 {
  margin: 20px auto;
}
.box-15-ttl {
  background-color: #99cfe5;
  color: #fff;
  padding: 0.5em 20px;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
}
.box-15-txt {
  padding: 10px 20px;
  border: 2px solid #99cfe5;
}


.box-16 {
  margin: 10px auto;
}
.box-16-ttl {
  background-color: #99cfe5;
  color: #fff;
  padding: 0.5em 20px;
  width: fit-content;
  border-radius: 10px 10px 0 0;
  margin: 0;
  font-size: 17px;
  font-weight: bold;
}
.box-16-ttl a {
  color:#ffffff;
}
.box-16-txt {
  padding: 10px 20px;
  border: 2px solid #99cfe5;
}


.background_btn01 {
  display: inline-block;
  width: auto;
  max-width: 100%; /* ボタン幅 */
  position: relative;
  background: #DA5019; /* 背景色 */
  border: 2px solid #DA5019;
  padding: 0.5em 1em 0.5em 2em;
  font-weight: bold;
  color: #fff; /* 文字色 */
  text-decoration: none;
  text-align: center;
  transition-duration: 0.3s;
  border-radius: 4px;
  clear: both;
}
.background_btn01:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff; /* 矢印の色 */
  border-right: 2px solid #fff; /* 矢印の色 */
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0.5em;
  margin-top: -6px;
}
.background_btn01 a{
  color:#ffffff;
}



.dvCaption {
    position: relative;
    padding: 0;
}
.imgCaption {
    position: absolute;
    left: 0; bottom: 0.4em;
    background-color: rgba(0,0,0,.5);
    color: #ffffff; font-size:90%;
    margin: 0; padding: 0.2em 0.5em;
}


figure {
    position: relative;
    margin: 0 auto; padding: 0;
}
figure img {
    max-width:100%;
}
@media all and (min-width: 1081px) {
    figure.picR {
	float: right;
	margin: 0 0 0 1em;
    }
}
@media all and (max-width: 1080px) {
    figure.picR {
	margin: 0; padding: 0;
    }
}

@media all and (min-width: 1081px) {
    figure.picL {
	float: left;
	margin: 0 1em 0 0;
    }
}
@media all and (max-width: 1080px) {
    figure.picL {
	margin: 0; padding: 0;
    }
}

@media all and (min-width: 1081px) {
    figure.picC {
	text-align: center;
    }
}
@media all and (max-width: 1080px) {
    figure.picC {
	text-align: center;
    }
}
figcaption.imgCaption {
    position: absolute;
    left: 0; bottom: 0.4em;
    background-color: rgba(0,0,0,.5);
    color: #ffffff; font-size:90%;
    margin: 0; padding: 0.2em 0.5em;
}



blockquote.quo1 {
    width:100%;
    position: relative;
    padding: 0px 10px 5px 40px;
    margin: 0 0 1.5em 0;
    box-sizing: border-box;
    color: #464646;
    background: #fff4db;
    border-top: solid 3px #99cfe5;
}

blockquote.quo1:before{
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 30px;
    text-align: center;
    content: "\f10d";
    font-family: FontAwesome;
    color: #FFF;
    font-size: 18px;
    line-height: 30px;
    background: #99cfe5;
    font-weight: 900;
}

blockquote.quo1 p {
    position: relative;
    padding: 0;
    margin: 10px 0;
    z-index: 3;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}




.dvMessage {
  margin: 1em 0 1em 0;
  padding: 0px;
  position: relative;
}
.dvMessage p {
  background-image: linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff 0%, #fff 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #99cfe5 100%);
  background-size: 8px 100%, 100% 2.5em;
  line-height: 2.5;
  margin: 0;
}

.clsTitileBook {
    background-color:#6FD5CF;
    border-radius:6px;
    margin: 0em 0 0 0;
    padding:0.5em;
    width:auto;
    color:#ffffff; font-weight:bold; font-size:110%;
    position: relative;
}
.clsTitileBook::after {
    font-family: "Font Awesome 5 Free";
    content: "\f02d";
    font-weight: 700; font-size:180%;
    right: 0.5em; top:28%; 
    position: absolute;
    opacity:0.7;
}


.clsDoc1 {
    background-color:#6FD5CF;
    border-radius:6px;
    margin: 0em 0 0 0;
    padding:0.5em;
    width:auto;
    color:#ffffff; font-weight:bold; font-size:110%;
    display:inline-block;
}


.clsJoukin {
	font-size:80%;
	color:#ffffff;
	background-color:#23AC0E;
	padding:0.2em; margin-left:0.8em;
	border-radius:4px;
}
.clsHiJoukin {
	font-size:80%;
	color:#ffffff;
	background-color:#6FD5CF;
	padding:0.2em; margin-left:0.8em;
	border-radius:4px;
}



.question1 {
    position: relative;
    color: #DA5019;
    font-weight:bold; font-size:120%;
    line-height:2em;
    border-top: 1px dotted #DA5019;
    padding-top:0.5em;
}
.question1::before {
    content: attr(data-number);
    display: inline-block;
    margin-right: 1em;
    background-color:#DA5019;
    border-radius:4px;
    color: #ffffff;
    font-size: 120%; text-align:center;
    width:2em;
}

.answer1 {
  margin: 0.5em 0 1.5em 0; padding:0 0 0.5em 0;
  border-bottom: 1px dotted #ffffff;
}






.heading-8 {
    font-size:100%;
    position: relative;
    padding: .5em .7em;
    border-radius: 50px 0 0 50px;
    background-color: #6FD5CF;
    color: #fff;
}

.heading-8::before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 13px;
    border-radius: 50%;
    background: #fff;
}




.heading-15 {
    display: inline-block;
    position: relative;
    padding: .5em 1em;
    border-right: 27px solid #6FD5CF;
    background-color: #f5f5f5;
    color: #333333;
}

.heading-15::before {
    position: absolute;
    bottom: 2px;
    right: -20px;
    z-index: -1;
    transform: rotate(5deg);
    width: 100%;
    height: 50%;
    background-color: #d0d0d0;
    content: "";
    filter: blur(4px);
}



.clsMemberP {
    display:inline-block;
    width:10em;
}

.clsDone {
    color:#f58134; font-weight:bold;
}

.clsGrid {
    display: grid;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-columns: 1fr;   
}


.clsNew{
	font-size:80%; text-align:center;
	color:#ffffff;
	background-color:#ffa500;
	padding:0.2em 0.2em 0.2em 0.3em; margin-left:0.8em;
	border-radius:4px;
}



/* タイトル */
@media all and (min-width: 769px) {
    .dvTitle {
	height:2em;
	color:#ffffff; font-size:130%; line-height:2em; font-weight:bold; text-align:left; letter-spacing:0.1em; 
	margin:20px 0px 20px 0px; padding:0.3em 1em; 
	background-color:#99cfe5; border-radius:4px;
	border:none;
	}
}
@media all and (max-width: 768px) {
   .dvTitle {
	color:#ffffff; font-size:120%; line-height:150%; font-weight:bold; text-align:left; letter-spacing:0.2em; 
	margin:20px 0px 20px 0px; padding:0.3em; 
	background-color:#99cfe5; 
	border:none;
	}
}


/* お知らせタイトル */

.topTitle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1rem 0 1rem 0; 
    font-size: 110%;
    position: relative;
    font-weight:bold;
    border-bottom: 3px solid #eeeeee;	/*枠線の幅*/
    letter-spacing: 0.1em;
}

/*h2アクセントライン*/
.topTitle .uline {
    display: inline-block;position: relative;
    padding: 0.5rem 0 0.5rem 0;
    bottom: -3px;				/*枠線の幅*/
    border-bottom: 3px solid #3261ab;	/*アクセントライン*/
}

/* ページタイトル */
div.dvPageTitle	{}



