@charset "UTF-8";

/*================================================
 *  共通
 ================================================*/

/*html,body {
  overflow-x: hidden;
}*/

html{
  scroll-behavior: smooth;
	font-size: 62.5%;
}

body { margin: 0;
}

.container-fluid {
margin-right: auto;
margin-left: auto;
max-width: 740px;
}

.img-responsive {
	display:block;
	max-width:100%;
	height:auto
}

.center-block {
	display:block;
	margin-right:auto;
	margin-left:auto
}

a.overwhite:hover img {
    cursor:pointer;
    filter: alpha(opacity=85);        /* ie lt 8 */
    -ms-filter: "alpha(opacity=85)";  /* ie 8 */
    -moz-opacity:0.85;                 /* FF lt 1.5, Netscape */
    -khtml-opacity: 0.85;              /* Safari 1.x */
    opacity:0.85;
    zoom:1;
}

table{border-spacing:0;border-collapse:collapse}

td,th{padding:0}

p {
	line-height: 1.7;
	font-size: 1.6rem;
	padding: 0 0 14px 0;
	margin: 0 0 0 0;
}

@media screen and (max-width:767.98px) {
	
html{
	font-size: 50%;
}
	
p {
	font-size: 14px;
}
	
}


html,
body {
  height: 100%;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}
 
/*================================================
 *  フェードイン
 ================================================*/

body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

/*================================================
 *  フォント
 ================================================*/
/* 一般的な書き方（Android 4.4以降対応） */

@font-face {
  font-family: "NotoSansJP-Regular01";
  font-style: normal;
  font-weight: 400;
  src: url("../../../fonts/NotoSansJP-Regular01.woff") format('woff');
  font-display: swap;
}

@font-face {
  font-family: "NotoSansJP-Regular02";
  font-style: normal;
  font-weight: 400;
  src: url("../../../fonts/NotoSansJP-Regular02.woff") format('woff');
  font-display: swap;
}

@font-face {
  font-family: "NotoSerifJP-SemiBold01";
	font-style: normal;
  font-weight: 700;
  src: url("../../../fonts/NotoSerifJP-SemiBold01.woff") format('woff');
  font-display: swap;
}

@font-face {
  font-family: "NotoSerifJP-SemiBold02";
  font-style: normal;
  font-weight: 700;
  src: url("../../../fonts/NotoSerifJP-SemiBold02.woff") format('woff');
  font-display: swap;
}

body {
  font-family: "NotoSansJP-Regular01", "NotoSansJP-Regular02" ;
	font-weight: 400;
}

/*================================================
 *  #title 
 ================================================*/

#title {
	padding: 10px 0 20px 0;
	background-color: #d4e7f9;
}

h1 {font-family: "NotoSerifJP-SemiBold01" , "NotoSerifJP-SemiBold02";
font-size: 24px;
color: #002a51;
line-height: 1.4;
margin: 10px 0 0 0;}

h1 small{
font-size: 18px;}

@media screen and (max-width:767.98px) {
	
#title {
	padding: 20px 0 20px 0;
}

	
h1 {
	font-size: 18px;
	text-align: left;
	}
	
}

/*================================================
 *  #abstract 
 ================================================*/

#abstract {
	padding: 40px 0 40px 0;
}

#abstract h2 {
	margin: 30px 0 16px 0;
	font-size: 22px;
	font-family: "NotoSerifJP-SemiBold01" , "NotoSerifJP-SemiBold02";
	border-left: 4px solid #7db4e6;
	padding-left: 5px;
	line-height: 1;
	color: #002a51;
}

#abstract img {
	border-radius: 10px;
	margin-bottom: 20px;
}

#abstract p.name {
	text-align: right;
	font-family: "NotoSerifJP-SemiBold01" ,  "NotoSerifJP-SemiBold02";
	line-height: 1.5;
}

@media screen and (max-width:767.98px) {
	
#abstract h2 {
	font-size: 16px;
	border-left: 3px solid #7db4e6;
	}
	
}

@media print, screen and (min-width: 768px) {
	
#abstract img.float-right {
	float: right;
	margin-left: 20px;
}

#abstract img.float-left {
	float: left;
	margin-right: 20px;
}
	
}

/*================================================
 *  footer
 ================================================*/
 
footer {
	padding: 20px 0 20px 0;
	 background-color: #000;
	text-align: center;
	clear:both;
}
footer p.copyright {
	color:#FFFFFF;
	font-weight: normal;
	margin: 0 0 0 0;
	font-size:1.0rem;
}

@media screen and (max-width:767.98px) {
	
footer {
	padding: 12px 0 20px 0;
	}
	
footer p.copyright {
	margin-top: 5px;
}
	
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767.98px) {

img.pconly {
	display:none;
}
.pconly {
	display:none;
}

}

/*================================================
 *  スマートフォン以外向けデザイン
 ================================================*/
@media print, screen and (min-width: 768px) {
	
img.sponly {
	display:none;
}
.sponly {
	display:none;
}

}
