﻿@charset "utf-8";



/*リセットCSS
--------------------------------------------------*/

/*Font Awesome
--------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");


/*サイトカラー
--------------------------------------------------*/
:root {
    --base-color: #8a3d00;
    --second-color: #9f7350;
    --third-color: #c19d80;
}




@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;}

.mb0 	{margin-bottom:0;}
.m0	{margin: 0;}
.p0	{padding: 0;}

@media all and (min-width: 769px) {
    .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: 768px) {
    .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;
}

input[type="radio"]:checked + label {
    background-color:#faad76;
    border-radius:6px;
}
input[type="radio"]:checked {
    box-shadow: 0 0 0 3px #faad76;
}

input[type="checkbox"]:checked + label {
    background-color:#faad76;
    border-radius:6px;
}
input[type="checkbox"]:checked {
    box-shadow: 0 0 0 3px #faad76;
}

.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{

}
.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: var(--base-color);
    border: solid 1px var(--base-color);
    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:var(--base-color);
    //border-bottom: solid 1px var(--base-color);
}


/* バナー（トップページ） */
.bnTop {
    margin: 0 0 0.5em 0; padding: 0.5em;
    border: solid 1px #cccccc;
    border-radius: 4px;
    font-size:90%;
}
.bnTop a {
    display:inline-block;
    width:100%;
}
.bnTop i {
    margin-right:0.5em;
}


/* ボタン（トップページ） */
.btnTop {
    margin: 0 0 0.5em 0; padding: 0.5em;
    border: solid 2px #cccccc;
    border-radius: 4px;
    font-size:90%;
    background-color: #ffffff;
    text-align:left;
}
@media all and (min-width: 769px) {
    .btnTop {
    
    }
    .btnTop img {
    }
}
@media all and (max-width: 768px) {
    .btnTop {
    width:100%;
    }
    .btnTop img {
    width:100%;
    }
}


.btnTop a {
    display:inline-block;
    width:100%;
}
.btnTop i {
    margin-right:0.5em;
}
.btnTopImg {
    padding: 0; margin: 0;
    position: relative;
}
.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: 769px) {
}
@media all and (max-width: 768px) {
    .btnTopTitle {
    font-size:150%;
    }
}

.btnTopText {
    line-height: 1.2em;
    margin-top:10px;
}


/* anchor */
a	{color: #2e8b57; 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;
}





/* Header */
@media all and (min-width: 769px) {
    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: 768px) {
    header{
	padding: 0; margin: 0 auto;
	width: 92%; height: 100px;
	content: url("../images/header_m.svg");
    }
}


/* MainMenu */
@media all and (min-width: 769px) {
    #idMenu {
	width:100%;
	margin: 0; padding: 0;
	position: relative;
	background: #8a3d00;
    }
    #nav_toggle{
	display: none;
    }
}

@media all and (max-width: 768px) {
    #idMenu {
	display: none;
	position: fixed;
	top: 54px; left: 0px;
	width:100%; height: auto;
	margin: 0; padding: 0;
	text-align: left;
	z-index: 999;
	background: #8a3d00;
    }

   /* 開閉ボタン*/
    #nav_toggle{
	width: 30px;
	height: 30px;
	position: absolute;
	top: 16px; right: 2%;
	z-index: 100;
	background-color: var(--base-color);
	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: 769px) {
  #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: var(--base-color);
	background: linear-gradient(#9f7350, #8a3d00);

	margin: 0; pdding: 0;
	text-align: center; letter-spacing: 0.2em; line-height: 50px; font-size:90%; letter-spacing: 0;
	width: 150px; height: 50px;
    }
  #idMainMenu a {
	display: block;
	width: 100%; height: 100%;
	border: none;
	font-weight: bold; color: #ffffff;
    }
  #idMainMenu li:hover {
	//background-color: #faad76;
	filter: brightness(1.2);
    }
  #idMainMenu li .menu_selected {
	color: #ffffff;
	background: linear-gradient(#c19d80, #9f7350);
    }
}
@media all and (max-width: 768px) {
  #idMainMenu {
	display: flex;
	display: -webkit-flex;

	-webkit-flex-direction: column;
	flex-direction: column;

	list-style: none;
	margin: 0;
	padding: 0;
    }
  #idMainMenu li {
	background-color: var(--base-color);
	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: var(--base-color);
	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: var(--third-color);
    }
}



/* Navi */
@media all and (min-width: 769px) {
    .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: 768px) {
    .dvNavi {
	display: none;
    }
}



/* Container */
@media all and (min-width: 769px) {
    .clsContainer {
	width: 1080px;
	margin: 0 auto;
	padding: 0;
    }
}
@media all and (max-width: 768px) {
    .clsContainer {
	width: 93%;
	margin: 0 auto;
	padding: 0;
    }
}


/* コンテンツ（左／右列）*/
@media all and (min-width: 769px) {
    .dvLeftTop	{
	width:240px;padding:0px; margin:0px 0px 20px 0px; text-align:left;
 	background-color:#ffffff;
   }
    .dvRightTop	{
	width:800px;padding:0px; margin:0px 0px 20px 0px; text-align:left;
 	background-color:#ffffff;
	min-height:480px;
    }
}
@media all and (max-width: 768px) {
    .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: 769px) {
    .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:850px;
	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: 768px) {
    .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:var(--base-color);
	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: 769px) {
    #idPageTop {
	position: -webkit-sticky;
	position: sticky;
	left: calc(100vw - 3%);
    }
}
@media all and (max-width: 768px) {
    #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:var(--base-color);
    position: absolute;
    top: 0;
    bottom: 5px;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}



/* Footer */
@media all and (min-width: 769px) {
    #idFooter {
	width: 100%;
	margin: 30px 0 0 0;
	height: 80px;
	line-height: 80px;
	padding: 0;
	background-color: var(--base-color);
	text-align: center;
	color: #ffffff; font-weight: normal;
    }
    #idFooter span::before {
	width: 1080px;
	content: '\0a9 KISEN CLINIC All Rights Reserved.';
	margin: auto;
	padding: 0;
    }
}
@media all and (max-width: 768px) {
    #idFooter {
	width: 100%;
	margin: 30px 0 0 0; padding: 0;
	height: 80px;
	line-height: 80px;
	
	background-color: var(--base-color);
	text-align: center;
	color: #ffffff; font-weight: normal;
    }
    #idFooter span::before {
	width: 100%;
	font-size: 10px;
	content: '\0a9 KISEN CLINIC 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: 769px) {
    .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: 768px) {
    .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: 768px) {
    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: 769px) {
    .side-scroll-table {
    }
    .side-scroll-table table {
    }
}
@media all and (max-width: 768px) {
    .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: 150%; font-weight: bold; letter-spacing: 0.1em; color:#ffffff;
    position: relative;
    //background: linear-gradient(90deg, rgb(248, 129, 44), rgb(255, 195, 101));
    background: linear-gradient(90deg, #9f7350, #c19d80);
    //background: var(--base-color);
    line-height: 1.4;
    padding: 0.5em 0.5em 0.5em 1.8em;
}
.clsTopInfo:before {
    font-family: "Font Awesome 5 Free";
    content: "\f14a";
    font-weight: 900;
    position: absolute;
    left : 0.5em; /*左端からのアイコンまでの距離*/
}

.xclsTopInfo {
  font-size: 150%; font-weight: bold; letter-spacing: 0.1em; color:var(--base-color);
  padding: 0.5em 0.5em 0.5em 0.5em;
    --x-gradient: linear-gradient(90deg, #f87b21 0 100%);
    --y-gradient: linear-gradient(#f87b21 0 15px, transparent 0 calc(100% - 15px), #f87b21 calc(100% - 15px));
  background-image:var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
  background-position: top, right, bottom, left;
  position: relative;
}

.clsTopInfo2 {
  border-top: 8px solid #faad76;
  font-size: 150%; font-weight: bold; letter-spacing: 0.1em; color:var(--base-color);
  padding: 0.5em 0 0 0;
  position: relative;
}
.clsTopInfo2::before {
  position: absolute;
  top: -8px;
  left: 0;
  width: 15%; height: 8px;
  content: '';
  background: var(--base-color);
	background: linear-gradient(90deg, #f87b21 0%, #c47da1 100%);
}



/* 見出し */
.clsPageTitle {
  font-size: 150%; font-weight: bold; letter-spacing: 0.1em; color:var(--base-color);
  padding: 0.5em 0.5em 0.5em 0.5em; margin: 10px 0 40px 0;
    --x-gradient: linear-gradient(90deg, var(--base-color) 0 100%);
    --y-gradient: linear-gradient(var(--base-color) 0 15px, transparent 0 calc(100% - 15px), var(--base-color) calc(100% - 15px));
  background-image:var(--x-gradient), var(--y-gradient), var(--x-gradient), var(--y-gradient);
  background-repeat: no-repeat;
  background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
  background-position: top, right, bottom, left;
  position: relative;
}

h1.clsH1 {
  border-top: 8px solid var(--base-color);
  font-size: 150%; font-weight: bold; letter-spacing: 0.1em; color: var(--base-color);
  margin: 0 0 40px 0; padding: 0.5em 0 0 0;
  position: relative;
}
h1.clsH1::before {
}

h1.clsH2 {
    font-size: 150%; font-weight: bold; letter-spacing: 0.1em; color:#ffffff;
    position: relative;
    background: linear-gradient(90deg, rgb(248, 129, 44), rgb(255, 195, 101));
    //background: var(--base-color);
    line-height: 1.4;
    padding: 0.5em 0.5em 0.5em 0.5em;
    margin: 40px 0 10px 0;
}



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 var(--base-color);
    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 var(--base-color);
    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 var(--base-color);
    line-height:1em;
}
h4:first-child {
    margin: 0 0 1em 0;
}
h4 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: 769px) {
    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: 768px) {

    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: #e7e1de;
    }
    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: #faad76;
    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;
}

.dvContact {
    width: calc(100% - 35px);
    padding: 0.2em 0.5em;
    margin: 40px 0 20px 8px;
    background-color: #faad76;		/*背景色*/
    box-shadow: 0 0 0 8px #faad76;	/*背景色外側*/
    border: 2px dashed #ffffff;		/*線*/
    color: #000000;			/*文字色*/
    border-radius: 1px;
}
.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: 769px) {
}
@media all and (max-width: 768px) {
}

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: var(--base-color);
    font-weight: bold;
    border-bottom: dotted 3px var(--base-color);
}
@media all and (max-width: 768px) {
    .clsEmp1 {
    line-height: 160%;
    }
}

.clsEmp2 {
    color: #3261AB;
    font-weight: bold;
    border-bottom: dotted 3px #3261AB;
}
@media all and (max-width: 768px) {
    .clsEmp2 {
    line-height: 160%;
    }
}

.clsEmp3 {
    color: #ff0000;
    font-weight: bold;
    border-bottom: dotted 3px #ff0000;
}
@media all and (max-width: 768px) {
    .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: 769px) {

    .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;
	font-weight:bold; color:var(--base-color);
    }
    .dvTopInfo .top3 {
	margin:0; padding:0;
	font-size:95%; color:#666154;
    }

    .flex-basis4 {
	margin:0; padding:0;
	width:5em;
	text-align: left;
    }
    .flex-basis4:last-child {
	margin:0; padding:0;
	flex: 1;
	text-align: justify;
	
    }


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

    .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: var(--base-color);
	background: #fff4d0;
	transition: 0.3s ease-in-out;
	height:2em;
}
@media all and (min-width: 769px) {
    .btn_17 {
    width:240px;
    }
}
@media all and (max-width: 768px) {
    .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 var(--base-color);
  transition: 0.2s;
}
a.btn_17:hover::before {
  top: 0;
  left: 0;
}
a.btn_17:hover {
	background: var(--base-color);
	color: #fff;
}



@media all and (min-width: 769px) {
   .dvBottom {
	position: absolute;
	bottom: 0;
	background: #ffffff;
    }
}
@media all and (max-width: 768px) {
   .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: 769px) {
    .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: 768px) {
    .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 #faad76;
  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%, #faad76 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 #faad76;
  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:var(--base-color);
}
      

.box-15 {
  margin: 20px auto;
}
.box-15-ttl {
  background-color: #faad76;
  color: #fff;
  padding: 0.5em 20px;
  margin: 0;
  font-size: 20px;
  font-weight: bold;
}
.box-15-txt {
  padding: 10px 20px;
  border: 2px solid #faad76;
}


.box-16 {
  margin: 10px auto;
}
.box-16-ttl {
  background-color: #faad76;
  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 #faad76;
}


.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: 769px) {
    figure.picR {
	float: right;
	margin: 0 0 0 1em;
    }
}
@media all and (max-width: 768px) {
    figure.picR {
	margin: 0; padding: 0;
    }
}

@media all and (min-width: 769px) {
    figure.picL {
	float: left;
	margin: 0 1em 0 0;
    }
}
@media all and (max-width: 768px) {
    figure.picL {
	margin: 0; padding: 0;
    }
}

@media all and (min-width: 769px) {
    figure.picC {
	text-align: center;
    }
}
@media all and (max-width: 768px) {
    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 #faad76;
}

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: #faad76;
    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%, #faad76 100%);
  background-size: 8px 100%, 100% 2.5em;
  line-height: 2.5;
  margin: 0;
}

.clsDoc1 {
    background-color:#A6E39D;
    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:#A6E39D;
	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;
}
