@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

@font-face {
font-family:'Apis';
src:url('../fonts/Apis-Medium.ttf') format('truetype');
}

@font-face {
font-family:'Apis-Black';
src:url('../fonts/Apis-Black.ttf') format('truetype');
}

/** structure **/
html{
	font-size: 62.5%;
	font-family: 'Apis', 'Noto Sans JP', sans-serif ;
	font-weight: 300;
	color: #333;
	background: #fff;
	font-weight:400;
}
body{
	font-size:1.5rem;
	line-height: 1.5;
}
#wapper{
	width: 100%;
}
#container{
}
#contents{
	background: #fff;
}
#contents .article{
	margin:0 3% 40px 3%;
	width: 94%;
}
#contents .article a{
	-webkit-transition: all .3s;
	transition: all .3s;
}
#contents .article a:hover{
	opacity:0.75;
}
header{
	width: 100%;
	clear: both;
	padding: 10px;
	position: relative;
}
header p.logo{
	width: 125px;
}
header p.btn a{
	position: absolute;
	top: 10px;
	right: 5%;
	background: #001965;
	border-radius: 30px;
	box-shadow: 2px 2px 4px #DDD;
	color: #FFF;
	display: inline-block;
	text-align: center;
	width: 160px;
	padding: 8px 5px 8px 15px;
	-webkit-transition: all .3s;
	transition: all .3s;
	z-index: 9999;
}
header p.btn a:hover{
	box-shadow: 3px 5px #2EA7E0;
}
header p.btn a::before{
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
}
nav{
	background: #FFF;
	border-top:solid 1px #2EA7E0;
	border-bottom:solid 1px #2EA7E0;
	display: block;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index:999;
	box-shadow: 0 0 12px 5px rgba(0, 0, 0, .1);
	transform: translateX(100vw);
	opacity: 0;
	transition: all .3s linear;
	z-index: 9999;
}
nav#nav.is-active{
  transform: translateX(0);
  opacity: 100;
}
#navMenu{
	position: fixed;
	right: 20px;
	bottom: 20px;
	font-size: 1.2rem;
	background:#001965;
	color: #FFF;
	width: 60px;
	height: 60px;
	border-radius: 50%;
  text-align:center;
  line-height: 50px;
 	border: solid 1px #FFF;
 	box-shadow: 2px 2px 4px #333;
 	z-index: 999;
	cursor: pointer;
}
nav ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
}
nav ul li{
	text-align: center;
	width: 25%;
	border-left: solid 1px #2EA7E0;
}
nav ul li:nth-child(4n){
	border-right: solid 1px #2EA7E0;
}
nav ul li.nav00,nav ul li.nav01,nav ul li.nav02,nav ul li.nav03{
	border-bottom: solid 1px #2EA7E0;
}
nav ul li.navClose{
	background: #c2e9f8;
	text-align: center;
	vertical-align: middle;
	display: flex;
  justify-content: center;
  align-items: center;
}
nav ul li.navClose span{
	font-size: 1.2rem;
	line-height: 1.5;
	cursor: pointer;
	color:#001965;
}
nav ul li a{
	border-bottom: 5px solid #FFF;
	display:inline-block;
	padding: 4px 0;
	width: 100%;
	height: 100%;
	-webkit-transition: all .3s;
	transition: all .3s;
	line-height: 1;
}
nav ul li a:hover{
	border-bottom: 5px solid #2EA7E0;
}
#home nav ul li.nav00 a,
#events nav ul li.nav01 a,
#aozora nav ul li.nav02 a,
#quiz nav ul li.nav03 a,
#documents nav ul li.nav04 a,
#ranking nav ul li.nav05 a,
#photo nav ul li.nav06 a{
	border-bottom: 5px solid #2EA7E0;
}
nav ul li a img{
width: 45px;
height: 45px;	
}
nav ul li.nav00 a img{
	width: 50px;
}
nav ul li span{
	color: #001965;
	display: block;
	font-size: 1rem;
	line-height: 1;
}
nav ul li.nav06 span{
	letter-spacing: -1.5px;
}
.breadcrumbList{
	border-bottom: 1px solid #2EA7E0;
	padding: 10px;
	font-size: 1.4rem;
	margin: 0 0 20px 0;
}
.breadcrumbList p{
	margin:0 3%;
	width: 94%;
}
.breadcrumbList a{
	text-decoration:underline;
	color: #2EA7E0;
}
.breadcrumbList a:hover{
	opacity:0.75;
}
.breadcrumbList span.now{
	color: #001965;
}
.IDnum{
	border-top: solid 1px #001965;
	color: #001965;
	font-size: 1.1rem;
	padding: 10px 0;
}
.IDnum p{
	width: 90%;
	max-width: 980px;
	margin: 0 auto;
}
footer{
	background:#001965;
	color: #FFF;
}
footer .article{
	margin:0 3%;
	padding: 20px 0 90px 0;
	width: 94%;
}
footer .article a{
	-webkit-transition: all .3s;
	transition: all .3s;
}
footer .article a:hover{
	opacity:0.75;
}
footer .article ul.footerNav{
	margin: 0 0 20px 0;
}
footer .article p.copyright{
	font-size:1.2rem;
	line-height: 1.4;
	text-align: center;
}
footer .article .bannerArea .Marukun{
	text-align: center;
	width: 70px;
	margin: 0 auto 10px;
}
footer .article .bannerArea .Novo{
	text-align: center;
	width: 95px;
	margin: 0 auto 10px;
}
footer .article .bannerArea ul{
	display: flex;
	justify-content:center;
	flex-wrap: wrap;
}
footer .article .bannerArea ul li{
	margin: 0 5px 10px;
}
footer .article .bannerArea ul li.bannerJds,
footer .article .bannerArea ul li.bannerTomonokai,
footer .article .bannerArea ul li.bannerbannerNovonordisk,
footer .article .bannerArea ul li.bannerGakkai{width: 47%;}
.clearfix:after{
	content: "";
	clear: both;
	display: block;
}
.pc{
	display: none;
}
.sp{
	display: block;
}

/** common **/
#contents h1{
	background: #C2E9F8;
	background-image:linear-gradient(-90deg, #b3e5f2 50%, transparent 50%),
	linear-gradient(#b3e5f2 50%, transparent 50%);
	background-size: 2px 2px;
	color:#001965 ;
	font-size: 2.0rem;
	font-weight: 700;
	margin: 0;
	padding: 10px 0;
	text-align: center;
}
#contents h1 img{
	width: 70px;
	height: 70px;
}
#contents .bg_Y{
	background: #fbf551;
	padding: 30px 0;
	background-image:
	repeating-linear-gradient(-45deg,#fffaa1, #fffaa1 1px,transparent 0, transparent 8px);
}
#contents .bg_B{
	background: #C2E9F8;
	padding: 30px 0;
}
#contents .bg_G{
	background: #F2F2F2;
	padding: 30px 0;
}
#contents h2{
	color:#001965 ;
	font-size: 1.8rem;
	font-weight: 700;
	margin: 0 0 20px 0;
}
#contents .article p,#contents .article ul,#contents .article li{
	margin: 0 0 10px 0;
}
#contents .article ul{
	padding-left: 2rem;
	list-style-type: disc;
}
#contents .article ul.attention li {
	list-style-type: none;
	text-indent:-2rem;
}
#contents .article ul.attention li:before {
	display: inline;
	content: "※ ";
}
#contents .article ol{
	padding-left: 2rem;
	list-style-type: decimal;
}
#contents .article dl.dlData{
	border-bottom: solid 1px #CCC;
	margin-bottom: 10px;
	padding-bottom: 10px;
}
#contents .article dl.dlData dt{
	color: #001965;
}
#contents .article dl.dlData dd{
	display: inline-block;
}
#contents .article a{
	text-decoration: underline;
	color:#2EA7E0;
}
#contents .article .txt_C{
	text-align: center;
}
#contents .article .txt_blue{
	color: #2EA7E0;
}
#contents .article .txt_navy{
	color: #001965;
}
#contents .article .txt_red{
	color: #C00;
}
#contents p.txt_attention{
	border: solid 2px #E02525;
	color: #E02525;
	padding: 5px 10px;
	text-align: center;
}

/** image **/
#contents .article .img_c{
	width: 70%;
	max-width:480px;
	margin: 0 auto 10px auto;
}
/** btn **/
#contents .article .btn{
	text-align: center;
	font-size:1.8rem;
	margin: 20px 0;
}
#contents .article .btn a{
	box-shadow: 2px 2px 4px #DDD;
}
#contents .article .btn a,
#contents .article .btn span{
	border-radius: 30px;
	color: #FFF;
	display: inline-block;
	width: 90%;
	max-width: 400px;
	text-align: center;
	text-decoration: none;
	padding: 10px 0;
	position: relative;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#contents .article ul.btn{
	padding-left: 0rem;
	list-style-type: none;
	display: flex;
	justify-content: center;
}
#contents .article ul.btn li{
	width: 600px;
}
#contents .article .btn a.navy{
	background:#001965;
}
#contents .article .btn a.navy:hover{
	box-shadow: 3px 5px #2EA7E0;
}
#contents .article .btn a.blue{
	background:#2EA7E0;
}
#contents .article .btn a.green{
	background:#8cb822;
}
#contents .article .btn a.blue:hover{
	box-shadow: 3px 5px #001965;
}
#contents .article .btn a.green:hover{
	box-shadow: 3px 5px #298a46;
}
#contents .article .btn span{
	background: #CCC;
}
#contents .article .btn a::after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 13px;    /* 左側の長さ */
	height: 13px;   /* 右側の長さ */
	border-top: 1px solid #FFF;     /* 左側の太さと色 */
	border-right: 1px solid #FFF;   /* 右側の太さと色 */
	transform: rotate(45deg);    /* 向き */
}
#contents .article .btn.smallBtn{
	font-size:1.6rem ;
	margin-top:20px;
}
#contents .article .btn.smallBtn a{
	border-radius: 30px;
	max-width: 240px;
	padding: 5px 0;
}
#contents .article .btn.smallBtn a::after {
	right: 15px;
	width: 9px;    /* 左側の長さ */
	height: 9px;   /* 右側の長さ */
}
#contents .borderArea{
	border-radius: 10px;
	background: #FFF;
	border: solid 4px #2EA7E0;
	padding: 10px;
	margin: 0 0 20px 0;
}
#contents .borderArea.kado{
	padding: 40px 15px 15px 15px;
	position: relative;
}
#contents .borderArea.kado span.state{
	background: #2EA7E0;
	color: #FFF;
	padding: 3px 10px;
	position: absolute;
	top: 0;
	left: 0;
}	
/** form **/
#contents form dl{
	margin: 0 0 10px 0;
	padding: 10px;
align-items: center;
}
#contents form dl:nth-child(even){
	background: #EDFAFF;
}
#contents form span.txt_red{
	font-size: 1.4rem;
	line-height: 1.6;
	color: #E02525;
	margin-left:1rem;
}
#contents form span.txt_memo{
	font-size: 1.4rem;
	line-height: 1.6;
}
#contents form input,#contents form textarea{
	background: #FFF;
	border: solid 1px #AAA;
	border-radius: 4px;
	width: 28rem;
	padding: 8px;
	font-size: 1.8rem;
}
#contents form input:hover,
#contents form textarea:hover{
	border: solid 1px #2EA7E0;
}
#contents form ::placeholder {
	color: #CCC;
}
#contents form .radio-button-group {
	margin: 0 20px 0 0;
	display: flex;
	font-size: 1.8rem;
}
#contents form .radio-button-group .radio-button {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}
#contents form .radio-button-group .radio-button + label {
	padding: 10px;
	cursor: pointer;
	border: 1px solid #CCC;
	margin-right: -2px;
	background-color: #FFF;
	display: block;
	text-align: center;
}
#contents form .radio-button-group .item:first-of-type .radio-button + label{
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}
#contents form .radio-button-group .item:last-of-type .radio-button + label {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
#contents form .radio-button-group .radio-button:checked + label {
	background-color: #1ba0ff;
	color: #FFF;
}
#contents form .checknox-wrap {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 10px;
  cursor: pointer;
  user-select: none;
}
#contents .checknox-wrap input {
  display: none;
}
#contents .checknox-wrap .checkmark {
  background: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  height: 24px;
  width: 24px;
  border: 2px solid #999;
  box-sizing: border-box;
  border-radius: 4px;
}
#contents form .checknox-wrap .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 5px;
  top: 0px;
  width: 8px;
  height: 15px;
  border: 2px solid #FFF;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
#contents form .checknox-wrap input:checked + .checkmark {
  background-color: #2EA7E0;
  border: 2px solid #2EA7E0;
}
#contents form .checknox-wrap input:checked + .checkmark:after {
  display: block;
}
#contents form .checklistArea{
	margin: 30px 0;
	padding: 20px;
	background: #F2F2F2;
}
#contents form .cp_ipselect {
  overflow: hidden;
  width: 240px;
  margin: 2rem auto;
  text-align: center;
}
#contents form .cp_ipselect select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  font-size: 1.8rem;
}
#contents form .cp_ipselect select::-ms-expand {
    display: none;
}
#contents form .cp_ipselect.cp_sl01 {
  position: relative;
  border-radius: 2px;
  border: 1px solid #AAA;
  border-radius: 30px;
  background: #ffffff;
  margin: 0;
}
#contents form .cp_ipselect.cp_sl01::before {
  position: absolute;
  top: 2rem;
  right: 1.6rem;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #2EA7E0;
  pointer-events: none;
}
#contents form .cp_ipselect.cp_sl01 select {
  padding: 8px 38px 8px 8px;
}
#contents form .button{
	display: flex;
	justify-content: center;
}
#contents form .button button{
	background: #2EA7E0;
	text-align: center;
	font-size:1.8rem;
	margin: 0 10px 20px 10px;
	border-radius: 30px;
	color: #FFF;
	width: 90%;
	max-width: 400px;
	text-align: center;
	text-decoration: none;
	padding: 10px 0;
	position: relative;
	-webkit-transition: all .3s;
	transition: all .3s;
	cursor: pointer;
}
#contents form .button button::before{
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	width: 13px;    /* 左側の長さ */
	height: 13px;   /* 右側の長さ */
	border-top: 1px solid #FFF;     /* 左側の太さと色 */
	border-right: 1px solid #FFF;   /* 右側の太さと色 */
	transform: rotate(45deg);    /* 向き */
}
#contents form .button button:hover{
	box-shadow: 3px 5px #001965;
	opacity:0.75;
}
#contents form .button button:disabled,
#contents form .button button:hover:disabled{
	background: #CCC;
	color: #666;
	box-shadow: none;
	opacity:1;
}
#contents .appliDL{
	margin: 50px auto 0 auto;
}
#contents .appliDL .article{
	background: #C2E9F8;
	border-radius: 20px;
	padding: 0 20px 20px 20px;
  position: relative;
}
#contents .article ul.appli{
	display: flex;
	justify-content: center;
	list-style-type: none;
	gap: 10px;
	width: 320px;
	margin: 0 auto;
}
#contents .appliDL .article::before{
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -20px;
	border:20px solid transparent;
	border-top: 20px solid #C2E9F8;
}
#contents .appliDL .sotoderu{
	position: relative;
	width: 65%;
	max-width: 320px;
	top: -20px;
	left: 0;
	right: 0;
	margin: auto;
}
#contents .appliDL h2{
	font-size: 1.75rem;
}
#contents .appliDL .img_icon{
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 10px;
}
#contents .appliDL .QR{
	width: 100px;
	margin: 0 auto;
}
.footerDeco{
	margin: 50px auto 0;
	line-height: 0;
	width: 75%;
	max-width: 420px;
}

/***　Tab 640px以上　***/
@media (min-width: 640px){
	#contents .article{
		margin:0 5% 40px 5%;
		width: 90%;
	}
	#contents h2{
		text-align: center;
		font-size: 2.4rem;
	}
	#contents form input,#contents form textarea{
		width: 50rem;
	}
	#contents .article dl.dlData{
		display:flex;
		justify-content:flex-start;
	}
	#contents .article dl.dlData dt{
		width: 16rem;
		margin: 0 10px 0 0;
	}
	#contents .article dl.dlData dd{
		display: inline-block;
	}
	#navMenu{
		display: none;
	}
	nav {
		box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1);
		transform: translateX(0);
		opacity: 100;
	}	
	nav ul li{
		text-align: center;
		width: 14.28%;
	}
	nav ul li:nth-child(4n){
		border-right: none;
	}
	nav ul li.navClose{
		display: none;
	}
	nav ul li.nav01,nav ul li.nav02,nav ul li.nav03{
		border-bottom: none;
	}
	nav ul li span{
		font-size: 1.2rem;
		line-height: 1.4;
	}
	nav ul li a img{
		width: 50px;
		height: 50px;	
	}
	footer .article ul.footerNav{
		display: flex;
		justify-content: flex-start;
	}
	footer .article ul.footerNav li{
		margin: 0 20px 0 0;
	}
	footer .article .bannerArea ul li.bannerJds,
	footer .article .bannerArea ul li.bannerTomonokai,
	footer .article .bannerArea ul li.bannerbannerNovonordisk,
	footer .article .bannerArea ul li.bannerGakkai{width: 23%;}
	.footerDeco{
		margin: 50px auto 0;
		line-height: 0;
		width: 55%;
		max-width: 420px;
	}
	#contents .appliDL{
		margin: 100px auto 0 auto;
	}
	#contents .appliDL .article{
		padding: 0 40px 20px 40px;
	}
	#contents .appliDL h2{
		text-align: left;
		font-size: 1.8rem;
	}
	#contents .appliDL .inner{
		display: flex;
		justify-content: space-between;
	}
	#contents .appliDL .img_icon{
		display: block;
		margin: 0 20px 0 0;
	}
	#contents .appliDL ul{
		float: right;
	}
	#contents .appliDL .QR{
		width: 100px;
		margin: 0 auto;
	}
}
/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#contents h1{
		font-size: 2.4rem;
	}
	#contents h1 img{
		width: 80px;
		height: 80px;
	}
	#contents h2{
		font-size: 2.4rem;
	}
	#contents .article{
		margin:0 auto 40px auto;
		width: 960px;
		background: #;
	}
	header p.logo{
		width: 140px;
	height: auto;
	margin: 0 auto;
	}
	nav{
		position: relative;
		width: 100%;
		display: flex;
		justify-content: center;
	}
	nav ul{
		width: 960px;
	}
	nav ul li{
		text-align: center;
		width: 16.65%;
	}
	nav ul li.nav00{
		display: none;
	}
	nav ul li.nav01{
		border-left: solid 1px #2EA7E0 ;
	}
	nav ul li.nav06{
		border-right: solid 1px #2EA7E0 ;
	}
	footer .article{
		margin:0 auto;
		padding: 20px 0;
		width: 960px;
	}
	footer .article .bannerArea ul li.bannerMarukun{width: 45px;}
	footer .article .bannerArea ul li.bannerJds,
	footer .article .bannerArea ul li.bannerTomonokai,
	footer .article .bannerArea ul li.bannerbannerNovonordisk,
	footer .article .bannerArea ul li.bannerGakkai{width: 190px;}
	footer .article .bannerArea ul li.bannerNovo{width: 65px;}
	nav ul li span{
		font-size: 1.4rem;
		line-height: 1.6;
		letter-spacing: normal;
	}
	nav ul li a img{
		width: 60px;
		height: 60px;	
	}
	.breadcrumbList p{
		margin:0 auto;
		width: 960px;
	}
	#contents form dl{
		display: flex;
		justify-content: flex-start;
	}
	#contents form dl dt{
		min-width: 200px;
		margin-right: 30px;
	}
	#contents form dl dt{
		width: 240px;
	}
	#contents form input,#contents form textarea{
		width: 50rem;
	}
	.pc{
		display: block;
	}
	.sp{
		display: none;
	}
}

/**   各コンテンツごと   **/

/** HOME　ホーム **/
#home header p.logo{
	margin:10px;
	width: 32%;
	z-index: 999;
}
#home .mainImg{
	margin: -40px 0 0 0;
}
#home .mainImg p.img_main{
	margin: 0 auto;
	width: 90%;
}
#home .mainImg .appliArea{
	width: 320px;
	margin: 0 auto;
}
#home .mainImg .appliArea ul{
	display: flex;
	justify-content: center;
	margin: 0 auto 10px auto;
	gap: 10px;
}
#home #contents .banner{
	width: 90%;
	max-width:640px;
	margin: 20px auto;
}
#home #contents .banner:hover{
	opacity: 0.75;
}
#home #contents #whatsNew{
	background: #C2E9F8;
	margin: 40px auto;
	padding: 20px;
	border-radius: 10px;
}
#home #contents #whatsNew h1{
	background: none;
	margin: 0 0 10px 0;
}
#home #contents #whatsNew .infoArea{
	margin: 0 0 20px 0;
}
#home #contents #whatsNew dl{
	border-bottom: solid 1px #FFF;
}
#home #contents #whatsNew dl a{
	color: #333;
	text-decoration: none;
}
#home #contents #whatsNew dl a:hover{
	color: #2EA7E0;
}
#home #contents .about{
	margin: 0 auto 30px auto;
}
#home #contents .about .article{
	background: #FFF;
	padding: 20px;
	border-radius: 10px;
}
#home #contents .appliExplain .article p{
	text-align: left;
}
#home #contents .appliExplain .article p.btn{
	text-align: center;
}
#home #contents .appliExplain .article .img{
	width: 55%;
	max-width: 300px;
	margin: 0 auto 10px auto;
}
#contents .about h2,
#home #contents .appliExplain h2{
	font-size: 2.4rem;
	text-align: center;
}
/***　Tab 640px以上　***/
@media (min-width: 640px){
	#home header p.logo{
		width:35%;
		z-index: 999;
	}
	#home .mainImg{
		margin-top: -60px;
	}
	#home .mainImg p.img_main{
		margin: 0 auto;
		width: 75%;
	}
	#home .mainImg .appliArea{
		width: 420px;
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#home .mainImg{
		width: 1080px;
		height: 500px;
		margin: 0 auto 30px auto;
		position: relative;
	}
	#home .mainImg p.logo{
		position: absolute;
		top: 10px;
		left: 0px;
		width: 420px;
	}
	#home .mainImg p.img_main{
		position: absolute;
		top: 20px;
		right: 0;
		width: 680px;
		height: auto;
	}
	#home .mainImg .appliArea{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 420px;
	}
	#home #contents .about h2,
	#home #contents .appliExplain h2{
		font-size: 3.2rem;
	}
	#home #contents .about .article{
		padding: 30px;
		border-radius: 10px;
	}
	#home #contents .appliExplain .article .img{
		float: left;
		margin: 0 20px 0 0;
	}
}

/** events 開催概要 **/
#events #contents .article h2{
	text-align: left;
}
#events #contents .article.note .strong{
	font-weight: 700;
	font-size: 1.8rem;
	color:#001965;
}
#events #contents .article .borderArea{
	background: #FFF;
	padding: 15px 15px 15px;
}
#events #contents .article .borderArea h3{
	color: #001965;
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 15px 0;
}
#events #contents .article .borderArea h3 span{
	color: #2EA7E0;
	margin: 0 0 5px 0;
	padding: 3px 10px;
	font-size: 1.4rem;
	border: solid 2px #2EA7E0;
	line-height: 3;
}
#events #contents .article .borderArea h4{
	font-size: 2.1rem;
	font-weight: bold;
	margin: 0 0 15px 0;
}
#events #contents .article .borderArea h4 span{
	font-size: 1.6rem;
}
#events #contents .article .borderArea dl{
	margin: 0 0 20px 0;
}
#events #contents .article .borderArea dl dt{
	background:#001965;
	color: #FFF;
	font-size: 1.4rem;
	width: 100%;
	max-height: 30px;
	padding: 4px 10px;
	text-align: left;
	vertical-align: middle;
	margin: 0 10px 3px 0 ;
	display: block;
}
#events #contents .article .borderArea dl dd{
	font-size: 2.0rem;
}
#events #contents .article .borderArea dl dd span{
	font-size: 1.6rem;
}
#events #contents .article .borderArea dl dt.dtLong{
	max-height: initial;
	max-height: auto;
}
#events #contents .article.pastInfo{
	padding: 0 0 30px;
}
#events #contents .article.pastInfo  dl dt{
	color: #2EA7E0;
	font-weight: bold;
}
#events #contents .article .attentionArea{
	margin: 40px 0 0 0;
	padding:15px 15px 0 15px;
	border: solid 3px #C00;
	background: #FFF;
}
#events #contents .article .attentionArea h5{
	font-size: 120%;
	color: #C00;
	padding: 0 0 5px 0;
	margin: 0 0 10px 0;
	border-bottom: solid 1px #C00;
}
#events #contents .article .attentionArea p.img{
	width: 70%;
	margin: 0 auto 20px auto;
}
#events #contents .appliExplain .article{
	margin:60px auto 0 auto;
}
#events #contents .appliExplain .article p{
	text-align: left;
}
#events #contents .appliExplain .article p.btn{
	text-align: center;
}
#events #contents .appliExplain .article .img{
	width: 55%;
	max-width: 300px;
	margin: 0 auto 10px auto;
}
#events #contents .appliExplain h2{
	font-size: 2.4rem;
	text-align: center;
}
#events #contents .appliExplain .appFunArea p img{
	max-width: 60%;
	margin: 0 20%;
}

/***　Tab 640px以上　***/
@media (min-width: 640px){
	#events #contents .article .borderArea h3 span{
		margin: 0 8px 0 0;
	}
	#events #contents .article .borderArea h4{
		font-size: 2.4rem;
		margin: 0 0 20px 0;
		padding: 0 0 15px 0;
		border-bottom:dotted 1px #666;
	}
	#events #contents .article .borderArea h4 span{
		font-size: 1.8rem;
	}
	#events #contents .article .borderArea dl{
		display: flex;
		justify-content: flex-start;
		margin: 0 0 20px 0;
	}
	#events #contents .article .borderArea dl dt{
		width: 150px;
		text-align: center;
		margin: 0 10px 0 0;
	}
	#events #contents .article .borderArea dl dt.dtLong{
		width: 300px;
	}
	#events #contents .article .attentionArea h5{
		text-align: center;
		font-size: 125%;
	}
	#events #contents .article .attentionArea .howto{
		display: flex;
	}
	#events #contents .article .attentionArea .howto div{
		display: flex;
		flex-direction: column;
		margin: 0 10px 10px 10px;
	}
	#events #contents .article .attentionArea .howto div p.text{
		flex-grow: 1;
	}
	#events #contents .article .attentionArea .howto div p.img{
		width: 80%;
	}	
	#events #contents .appliExplain .appFunArea{
		display: flex;
		justify-content: center;
		margin: 0;
	}
	#events #contents .appliExplain .appFunArea .img{
		max-width: 80%;
		margin: 0 10%;
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#events #contents .article.note{
		text-align: center;
	}
	#events #contents .appliExplain h2{
		font-size: 3.2rem;
	}
	#events #contents .appliExplain .article .img{
		float: left;
		margin: 0 20px 0 0;
	}
}

/** aozora 青空教室 **/
#aozora #contents .article.note .strong{
	font-weight: bold;
	font-size: 1.8rem;
	color:#001965;
}
#aozora #contents .bg_Y{
	margin: 0 0 30px 0;
	padding: 20px 0 10px 0;
}
#aozora #contents .article h3{
	color: #2EA7E0;
}
#aozora #contents .article .movieArea{
	background: #FFF;
	border: 1px solid #F2F2F2;
	box-shadow: 2px 2px 4px #DDD;
	padding: 20px;
	width: 100%;
	margin: 0 auto 30px auto;
	position: relative;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#aozora #contents .article .movieArea a{
	text-decoration: none;
	color: #333;
}
#aozora #contents .article .movieArea a:hover{
	background: #EDFAFF;
}
#aozora #contents .article .movieArea .name{
	font-weight: 700;
	font-size: 2.0rem;
	color: #001965;
	margin: 0 0 10px;
}
#aozora #contents .article .movieArea .img{
	width: 80%;
	height: auto;
	margin: 0 auto;
	position: relative;
}
#aozora #contents .article .movieArea .img span{
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	width: 20%;
	height: auto;
}
#aozora #contents .article .movieArea .img image{
	display: block;
}
#aozora #contents .article .movieParts{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
#aozora #contents .article .movieIcon{
	width:48%;
	margin:0 1% 10px 1%;
	display: flex;
	flex-direction: column;
}
#aozora #contents .article .movieIcon h3{
	flex-grow: 1;
	font-size: 1.3rem;
}
#aozora #contents .article .movieIcon .img{
	position: relative;

}
#aozora #contents .article .movieIcon .img span{
	position: absolute;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20%;
	height: auto;
}
#aozora #contents .article .movieIcon .img image{
	display: block;
}
/***　Tab 640px以上　***/
@media (min-width: 640px){
	#aozora #contents .article .movieArea{
		vertical-align: top;
		margin: 0 0 30px 0;
	}
	#aozora #contents .article .movieArea:nth-of-type(2n){
		margin: 0 0 30px;
	}
	#aozora #contents .article .movieIcon{
		width:32.3%;
		margin:0 0.5% 10px 0.5%;
	}
}
/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#aozora #contents .article.note{
		text-align: center;
	}
	#aozora #contents .article .movieArea{
		padding: 10px;
	}

	#aozora #contents .article .movieArea .img{
		width: 450px;
		height: auto;
		float: left;
		margin: 0 20px 0 0;
	}
}

/** quiz クイズ **/
#quiz #contents .article .strong{
	font-weight: bold;
	font-size: 1.8rem;
	color:#001965;
}
#quiz #contents .article p.img_Marukun{
	width: 50%;
	margin: 0 auto 20px ;
}
#quiz #contents .article .boxArea{
	display:flex;
	justify-content: left;
	flex-wrap: wrap;
}
#quiz #contents .article h2{
	margin: 0 0 10px 0;
	text-align: center;
	line-height: 1.5;
}
#quiz #contents .article .img_icon{
	width: 100px;
	height: auto;
	margin: 0 auto 10px auto;
}
#quiz #contents .article .boxArea .box{
	background: #FFF;
	border-radius: 10px;
	border: solid 3px #2EA7E0;
	box-shadow: 2px 2px 4px #efd200;
	text-align: center;
	margin: 0 4% 20px 0;
	padding: 10px 10px 0 10px;
	width: 48%;
  position: relative;
 	-webkit-transition: all .3s;
	transition: all .3s;
}
#quiz #contents .article .boxArea .box:nth-child(2n){
	margin: 0 0 20px 0;
}
#quiz #contents .article .boxArea .box a{
	display: block;
	text-decoration: none;
}
#quiz #contents .article .boxArea .box:hover{
	background: #EDFAFF;
	box-shadow: 3px 5px #2EA7E0;
}
#quiz #contents .article .boxArea .box .img{
	width: 45%;
	margin: 5px auto 0;
}
#quiz #contents .article .boxArea .box .cat{
	font-size: 1.4rem;
}
#quiz #contents .article .boxArea .box .num,
#quiz #contents .article .boxArea .box .title{
	font-weight: 700;
	color: #001965;
}
#quiz #contents .article .boxArea .box .title{
	font-size: 1.8rem;
}
#quiz #contents .article h3.question{
	font-size: 1.8rem;
	font-weight: 700;
	color:#001965;
}
#quiz #contents .article ul.answer{
	display: flex;
	justify-content: center;
	padding-left: 0;
}
#quiz #contents .article ul.answer li{
	list-style-type: none;
	text-align: center;
	width: 140px;
	height: 140px;
	font-size: 1.2rem;
	background: none;
}
#quiz #contents .article ul.answer li a{
	color: #FFF;
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 50%;
	position: relative;
}
#quiz #contents .article ul.answer li.maru a{
	background: #e63867;
	margin: 10px 10px 10px 0;
}
#quiz #contents .article ul.answer li.maru a:hover{
	background: #FFF;
	color: #e63867;
	box-shadow: 2px 4px 0 6px #e63867;
}
#quiz #contents .article ul.answer li.batu a{
	background: #2ea7e0;
	margin: 10px 0 10px 10px;
}
#quiz #contents .article ul.answer li.batu a:hover{
	background: #FFF;
	color: #2ea7e0;
	box-shadow: 2px 4px 0 6px #2ea7e0;
}
#quiz #contents .article ul.answer li span{
	font-size: 6.0rem;
	line-height: 1;
}
#quiz #contents .article ul.answer li .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
#quiz #contents .article .img_C{
	text-align: center;
	margin: 0 auto 20px;
}
#quiz #contents .article .img_R{
	float: right;
	width: 180px;
}
#quiz #contents .article .pointArea{
	border: solid 5px #f39800;
	margin: 0 0 40px 0;
}
#quiz #contents .article .pointArea h3{
	background: #f39800;
	color: #FFF;
	font-size: 1.8rem;
	padding: 0 10px 5px 10px;
}
#quiz #contents .article .pointArea p{
	margin: 20px;
}
#quiz #contents .article .pointArea{
	border: solid 5px #f39800;
	border-radius: 10px;
	margin: 0 0 40px 0;
}
#quiz #contents .article .thinkArea{
	border: solid 5px #8cb822;
	border-radius: 10px;
	margin: 0 0 40px 0;
}
#quiz #contents .article .thinkArea h3{
	background: #8cb822;
	color: #FFF;
	font-size: 1.8rem;
	padding: 0 10px 5px 10px;
}
#quiz #contents .article .thinkArea p,
#quiz #contents .article .thinkArea ul{
	margin: 20px;
}

/***　Tab 640px以上　***/
@media (min-width: 640px){
	#quiz #contents .article .boxArea .box,
	#quiz #contents .article .boxArea .box:nth-child(2n){
		margin: 0 3% 20px 0;
		width: 31.3%;
	}
	#quiz #contents .article .boxArea .box:nth-child(3n){
		margin: 0 0 20px 0;
	}
	#quiz #contents .article .boxArea .box::before{
		content: "";
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		width: 11px;    /* 左側の長さ */
		height: 11px;   /* 右側の長さ */
		border-top: 1px solid #2EA7E0;   /* 左側の太さと色 */
		border-right: 1px solid #2EA7E0; /* 右側の太さと色 */
		transform: rotate(45deg);    /* 向き */
	}
	#quiz #contents .article h3.question{
		text-align: center;
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#quiz #contents .article .img_icon{
		width: 150px;
	}
	#quiz #contents .article.explain{
		display: flex;
		justify-content: space-between;
		align-items:center;
		text-align: center;
	}
	#quiz #contents .article.explain p img{
		width: 160px;
	}
	#quiz #contents .article .boxArea .box,
	#quiz #contents .article .boxArea .box:nth-child(2n),
	#quiz #contents .article .boxArea .box:nth-child(3n){
		margin: 0 1.2% 20px 0;
		width: 19%;
	}
	#quiz #contents .article .boxArea .box:nth-child(5n){
		margin: 0 0 30px 0;
	}
	#quiz #contents .article ul.answer li{
		margin: 20px;
		text-indent: ;
		width: 200px;
		height: 200px;
		font-size: 1.4rem;
	}
	#quiz #contents .article ul.answer li.maru a{
		margin: 10px 20px 10px 0;
	}
	#quiz #contents .article ul.answer li.batu a{
		background: #2ea7e0;
		margin: 10px 0 10px 20px;
	}
	#quiz #contents .article ul.answer li span{
		font-size: 7.2rem;
	}
}

/** documents 糖尿病関連資料 **/
#documents #contents .article.note .strong{
	font-weight: 700;
	font-size: 1.8rem;
	color:#001965;
}
#documents #contents .article a{
	text-decoration: none;
	color: #333;
}
#documents #contents .article .linkArea .link{
	margin: 0 auto 10px auto;
	width: 80%;
}
/***　Tab 640px以上　***/
@media (min-width: 640px){
	#documents #contents .article .linkArea{
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	#documents #contents .article .linkArea .link{
		width: calc(33.3% - 40px);
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#documents #contents .article.note{
		text-align: center;
	}
}


/** ranking 走行ランキング **/
#ranking #contents .article.note .strong{
	font-weight: 700;
	font-size: 1.8rem;
	color:#001965;
}
#ranking #contents .article dl.dlRanking{
	border-top: solid 1px #CCC;
	padding: 10px 20px;
}
#ranking #contents .article dl.dlRanking:nth-child(even){
	background: #EDFAFF;
}
#ranking #contents .article dl.dlRanking:last-child{
	border-bottom: solid 1px #CCC;
}
#ranking #contents .article dl.dlRanking dt{
	color: #001965;
	font-weight: 700;
	margin:0 10px 0 0;
}
#ranking #contents .article dl.dlRanking dd{
	display: inline-block;
	margin:0 10px 0 0;
	width: 20%;
}
#ranking #contents .article dl.dlRanking dd:last-child{
	margin:0;
}

/*tab*/
#ranking #contents .tab {
	display: flex;
	flex-wrap: wrap;
	max-width: 980px;
	margin: 0 auto 30px;
	background: #FFF;
	border: 1px solid #CCC;
}
/*inputを非表示にする*/
#ranking #contents .input {
	position: absolute;
	opacity: 0;
}
/*tabボタン部分*/
#ranking #contents .tab-label {
	width: 100%;
	padding: 20px 50px 20px 30px;
	background: #F2F2F2;
	border-bottom: solid 1px #FFF;
	cursor: pointer;
	color: #999;
	margin-bottom: 0;
	transition: background 0.1s, color 0.1s;
	position: relative;
}
#ranking #contents .tab-label::after{
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 13px;    /* 左側の長さ */
	height: 13px;   /* 右側の長さ */
	border-top: 1px solid #AAA;     /* 左側の太さと色 */
	border-right: 1px solid #AAA;   /* 右側の太さと色 */
	transform: rotate(135deg);    /* 向き */
}
#ranking #contents .tab-label:hover {
	background: #C2E9F8;
}
#ranking #contents .tab-label:active {
	background: #CCC;
}
#ranking #contents .input:checked + .tab-label {
	background: #2EA7E0;
	color: #FFF;
}
#ranking #contents .input:checked + .tab-label::after{
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 13px;    /* 左側の長さ */
	height: 13px;   /* 右側の長さ */
	border-top: 1px solid #FFF;     /* 左側の太さと色 */
	border-right: 1px solid #FFF;   /* 右側の太さと色 */
	transform: rotate(135deg);    /* 向き */
}
/*tabの本文エリア*/
#ranking #contents .tab-panel {
	display: none;
	padding: 20px 30px;
	background: #fff;
}
#ranking #contents .input:checked + .tab-label + .tab-panel {
	display: block;
}

#ranking #contents ul.selectBtn{
	display: flex;
	justify-content: center;
	margin: 0 0 20px 0;
}
#ranking #contents .cp_ipselect {
  overflow: hidden;
  width: 240px;
  text-align: center;
}
#ranking #contents .cp_ipselect select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
#ranking #contents .cp_ipselect select::-ms-expand {
    display: none;
}
#ranking #contents .cp_ipselect.cp_sl01 {
  position: relative;
  border-radius: 2px;
  border: 1px solid #AAA;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  background: #ffffff;
	height: 42px;
}
#ranking #contents .cp_ipselect.cp_sl01::before {
  position: absolute;
  top: 2rem;
  right: 1.6rem;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #2EA7E0;
  pointer-events: none;
}
#ranking #contents .cp_ipselect.cp_sl01 select {
  padding: 8px 38px 8px 8px;
}
#ranking #contents .checklistArea{
	margin: 30px 0;
	padding: 20px;
	background: #F2F2F2;
}
#ranking #contents .button button{
	color: #FFF;
	width: 100px;
	height: auto;
	padding: 9px 5px;
	text-align: center;
	background: #2EA7E0;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	border: solid 1px #2EA7E0;
	border-left:none;
}
#ranking #contents .button button:hover{
	cursor: pointer;
}

#ranking #contents ul.selectBtn{
	display: flex;
	justify-content: center;
	margin: 0 0 20px 0;
}
#ranking #contents .cp_ipselect {
  overflow: hidden;
  width: 100%;
  min-width: 200px;
  text-align: center;
}
#ranking #contents .cp_ipselect select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
#ranking #contents .cp_ipselect select::-ms-expand {
    display: none;
}
#ranking #contents .cp_ipselect.cp_sl01 {
  position: relative;
  border-radius: 2px;
  border: 1px solid #AAA;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  background: #ffffff;
	height: 42px;
}
#ranking #contents .cp_ipselect.cp_sl01::before {
  position: absolute;
  top: 2rem;
  right: 1.6rem;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #2EA7E0;
  pointer-events: none;
}
#ranking #contents .cp_ipselect.cp_sl01 select {
  padding: 8px 38px 8px 8px;
}
#ranking #contents .checklistArea{
	margin: 30px 0;
	padding: 20px;
	background: #F2F2F2;
}
#ranking #contents .button button{
	color: #FFF;
	width: 100px;
	height: auto;
	padding: 9px 5px;
	text-align: center;
	background: #2EA7E0;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	border: solid 1px #2EA7E0;
	border-left:none;
}
#ranking #contents .button button:hover{
	cursor: pointer;
}
/***　Tab 640px以上　***/
@media (min-width: 640px){
	#ranking #contents .article dl.dlRanking{
		display: flex;
		justify-content: space-between;
		padding: 20px;
	}
	#ranking #contents .tab-label {
		 width: calc(100%/3);
		border-right: solid 1px #FFF;
		border-bottom: none;
	}
	#ranking #contents .tab-panel {
		order: 99;
	}
	#ranking #contents .tab_right {
		border-right:none;
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#ranking #contents .article.note{
		text-align: center;
	}
	#ranking #contents .article dl.dlRanking{
		font-size: 1.6rem;
		line-height: 1.8;
	}
}

/** photo フォトギャラリー **/
#photo #contents .article.note .strong{
	font-weight: 700;
	font-size: 1.8rem;
	color:#001965;
}
#photo #contents .article .photoArea{
		border: 1px solid #F2F2F2;
		box-shadow: 2px 2px 4px #DDD;
		padding: 10px;
		width: 100%;
		margin: 0 auto 30px auto;
}
#photo #contents ul.selectBtn{
	display: flex;
	justify-content: center;
	margin: 0 0 20px 0;
}
#photo #contents .cp_ipselect {
  overflow: hidden;
  width: 100%;
  min-width: 200px;
  text-align: center;
}
#photo #contents .cp_ipselect select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
#photo #contents .cp_ipselect select::-ms-expand {
    display: none;
}
#photo #contents .cp_ipselect.cp_sl01 {
  position: relative;
  border-radius: 2px;
  border: 1px solid #AAA;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  background: #ffffff;
	height: 42px;
}
#photo #contents .cp_ipselect.cp_sl01::before {
  position: absolute;
  top: 2rem;
  right: 1.6rem;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #2EA7E0;
  pointer-events: none;
}
#photo #contents .cp_ipselect.cp_sl01 select {
  padding: 8px 38px 8px 8px;
}
#photo #contents .checklistArea{
	margin: 30px 0;
	padding: 20px;
	background: #F2F2F2;
}
#photo #contents .button button{
	color: #FFF;
	width: 100px;
	height: auto;
	padding: 9px 5px;
	text-align: center;
	background: #2EA7E0;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	border: solid 1px #2EA7E0;
	border-left:none;
}
#photo #contents .button button:hover{
	cursor: pointer;
}
#photo #contents .selectArea{
	font-size: 1.4rem;
}
#photo #contents .pagenation ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 20px 0;
	padding: 10px 0;
  background:#F2F2F2;
}
#photo #contents .pagenation ul li{
	margin: 5px 2px;
}
#photo #contents .pagenation ul li a{
	background: #FFF;
	display: block;
	border: solid 1px #CCC;
	padding: 5px 10px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#photo #contents .pagenation ul li a:hover{
	background: #2EA7E0;
	border: solid 1px #2EA7E0;
	color: #FFF;
}
#photo #contents .pagenation ul li span{
	display: block;
	background: #2EA7E0;
	border: solid 1px #2EA7E0;
	color: #FFF;
	padding: 5px 10px;
}
#photo #contents .tab {
	display: flex;
	flex-wrap: wrap;
	max-width: 980px;
	margin: 0 auto 30px;
	background: #FFF;
	border: 1px solid #CCC;
}
/*inputを非表示にする*/
#photo #contents .input {
	position: absolute;
	opacity: 0;
}
/*tabボタン部分*/
#photo #contents .tab-label {
	width: 100%;
	padding: 20px 50px 20px 30px;
	background: #F2F2F2;
	border-bottom: solid 1px #FFF;
	cursor: pointer;
	color: #999;
	margin-bottom: 0;
	transition: background 0.1s, color 0.1s;
	position: relative;
}
#photo #contents .tab-label::after{
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 13px;    /* 左側の長さ */
	height: 13px;   /* 右側の長さ */
	border-top: 1px solid #AAA;     /* 左側の太さと色 */
	border-right: 1px solid #AAA;   /* 右側の太さと色 */
	transform: rotate(135deg);    /* 向き */
}
#photo #contents .tab-label:hover {
	background: #C2E9F8;
}
#photo #contents .tab-label:active {
	background: #CCC;
}
#photo #contents .input:checked + .tab-label {
	background: #2EA7E0;
	color: #FFF;
}
#photo #contents .input:checked + .tab-label::after{
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 13px;    /* 左側の長さ */
	height: 13px;   /* 右側の長さ */
	border-top: 1px solid #FFF;     /* 左側の太さと色 */
	border-right: 1px solid #FFF;   /* 右側の太さと色 */
	transform: rotate(135deg);    /* 向き */
}
/*tabの本文エリア*/
#photo #contents .tab-panel {
	display: none;
	padding: 20px 30px;
	background: #fff;
}
#photo #contents .input:checked + .tab-label + .tab-panel {
	display: block;
}
/***　Tab 640px以上　***/
@media (min-width: 640px){
	#photo #contents .article .photoArea{
		display: inline-block;
		vertical-align: top;
		width: 48%;
		margin: 0 2% 30px 0;
	}
	#photo #contents .article .photoArea:nth-of-type(2n){
		margin: 0 0 30px;
	}
	#photo #contents .tab-label {
		width: calc(100%/3);
		border-right: solid 1px #FFF;
		border-bottom: none;
	}
	#photo #contents .tab-panel {
		order: 99;
	}
	#photo #contents .tab_right {
		border-right:none;
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#photo #contents .article.note{
		text-align: center;
	}
	#photo #contents .article .photoArea{
		width: 290px;
		margin: 0 10px 30px 0;
	}
	#photo #contents .article .photoArea:nth-of-type(2n){
		margin: 0 10px 30px 0;
	}
	#photo #contents .article .photoArea:nth-of-type(3n){
		margin: 0 0 30px 0;
	}
}
/** register　登録 **/
/***　Tab 640px以上　***/
#register #contents{
}
@media (min-width: 640px){
}
/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#register #contents .article .note{
			text-align: center;
		}
}

/** login　ログイン **/
#login .formArea{
	border: solid 1px #CCC;
	padding: 20px;
	max-width: 800px;
}
#login form dl{
	padding: 0 0 10px 0;
}
#login form dl:nth-child(even){
	background: #FFF;
}
#login .formArea dl dt{
	font-weight: 700;
	font-size: 1.8rem;
	color: #001965;
}
#login .formArea dl dd input{
	padding: 5px 10px;
}

/***　Tab 640px以上　***/
@media (min-width: 640px){
	#login .formArea dl dd input{
		width:320px;
		padding: 5px 10px;
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#login .formArea dl dd input{
		width:400px;
		padding: 5px 10px;
	}
}

/** mypage　マイページ **/
#mypage #contents .borderArticle{
	border: solid 1px #CCC;
	padding: 20px;
}
#mypage #contents .borderArticle h2{
	text-align: left;
}
#mypage #contents .walkRecord{
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
#mypage #contents .walkRecord div{
	width: 50%;
	border: solid 1px #CCC;
	padding: 20px;
	text-align: center;
}
#mypage #contents .walkRecord div h2,
#mypage #contents .walkRecord div p{
	font-size: 2.4rem;
	font-weight: bold;
}
#mypage #contents .walkRecord div p span{
	font-size: 1.6rem;
}
#mypage #contents .article.nameArea p{
	font-size: 1.8rem;	
}
#mypage #contents .article.nameArea p span{
	font-weight: bold;
	color:#001965;;
}
#mypage #contents .article .pagenation ul{
	display: flex;
	justify-content: center;
	margin: 20px 0;
	padding: 0;
	list-style: none;
}
#mypage #contents .article .pagenation ul li{
	margin: 0px 5px;
}
#mypage #contents .article .pagenation ul li a{
	text-decoration: none;
	color: #333;
	background: #FFF;
	display: block;
	border: solid 1px #CCC;
	padding: 5px 10px;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#mypage #contents .article .pagenation ul li a:hover{
	background: #2EA7E0;
	border: solid 1px #2EA7E0;
	color: #FFF;
}
#mypage #contents .article .pagenation ul li span{
	display: block;
	background: #2EA7E0;
	border: solid 1px #2EA7E0;
	color: #FFF;
	padding: 5px 10px;
}
#mypage #contents .article .editBtn a{
	display: block;
	background: #2EA7E0;
	border-radius: 5px;
	color: #FFF;
	text-decoration: none;
	font-size: 1.6rem;
	padding: 5px 10px 5px 30px;
	position: relative;
}
#mypage #contents .article .editBtn a::before{
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: rotate(45deg);
 }
#mypage #contents .article .diaryArea{
	border-bottom: solid 1px #CCC;
	padding: 10px 0 0 0;
}
#mypage #contents .article .diaryArea .editBtn{
  display: flex;
  justify-content: flex-end;
}
#mypage #contents .article .switchBtn .allBtn,
#mypage #contents .article .switchBtn .selectBtn{
	color: #333;
	background: #FFF;
	border: solid 1px #999;
	border-radius: 5px;
	padding:5px 10px;
	cursor: pointer;
	margin: 0 0 20px 0;
}
#mypage #contents .article .switchBtn .allBtn{
	margin-right:5px;
}
#mypage #contents .article .switchBtn .allBtn.now,
#mypage #contents .article .switchBtn .selectBtn.now{
	background: #999;
	color: #FFF;
	border: solid 1px #999;
}
#mypage #contents .article .photoArea{
		border: 1px solid #F2F2F2;
		box-shadow: 2px 2px 4px #DDD;
		padding: 10px 10px 50px 10px;
		width: 100%;
		margin: 0 auto 30px auto;
		position: relative;
}
#mypage #contents .article .photoArea .date{
	margin: 0 0 10px 0;
	font-weight: bold;
}
#mypage #contents .article .photoArea	.icon{
	background:#C00;
	font-weight: normal;
	font-size: 1.2rem;
	margin-right: 5px;
	color: #FFF;
	padding: 2px 5px;
}
#mypage #contents .article .photoArea .editBtn a{
	position: absolute;
	bottom:0;
	right: 10px;
}
#mypage #contents .article .scroll-table{
	overflow: auto;
	white-space: nowrap;
}
#mypage #contents .article .scroll-table table{
	width: 100%;
	border: solid 1px #CCC;
}
#mypage #contents .article .scroll-table table thead{
	background: #C2E9F8;
}
#mypage #contents .article .scroll-table table th,
#mypage #contents .article .scroll-table table td{
	padding: 10px;
	border-bottom: solid 1px #CCC;
}
#mypage #contents .article .scroll-table table tr:nth-child(even) td{  
	background:#F2F2F2;
}
#mypage #contents .logout a{	
	display: block;
	width: 200px;
	text-decoration: none;
	text-align: center;
	color: #FFF;
	background: #2EA7E0;
	padding:10px;
	border-radius: 30px;
}
#mypage #contents .logout a:hover{
	background: #fbf551;
	color:#2EA7E0;
}

@media (min-width: 640px){
	#mypage #contents .article .photoArea{
		display: inline-block;
		vertical-align: top;
		width: 48%;
		margin: 0 2% 30px 0;
	}
	#mypage #contents .article .photoArea:nth-of-type(2n){
		margin: 0 0 30px;
	}
	#mypage #contents .tab-label {
		width: auto;
	border-right: solid 1px #FFF;
	border-bottom: none;
	}
	#mypage #contents .tab-panel {
		order: 99;
	}
	#mypage #contents .nameArea{
		display: flex;
		justify-content: space-between;
	}
}

/***　PC 1080px以上　***/
@media (min-width: 1080px){
	#mypage #contents .article.note{
		text-align: center;
	}
	#mypage #contents .article .photoArea{
		width: 290px;
		margin: 0 10px 30px 0;
	}
	#mypage #contents.article .photoArea:nth-of-type(2n){
		margin: 0 10px 30px 0;
	}
	#mypage #contents .article .photoArea:nth-of-type(3n){
		margin: 0 0 30px 0;
	}
}
