@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,400,700&subset=japanese');
@import url('https://use.fontawesome.com/releases/v5.6.4/css/all.css');
html {
	margin: 0;
	padding: 0;
	}

body {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	color: #333;
    font-family: 'Noto Serif JP', Georgia, "Times New Roman", Times, serif;
	text-decoration: none;

}
/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:after {
	content: "";
	display: table;
	clear: both;
}
#contents{
	display:none;
}
.loading {
	width:100%;
	margin: 0 auto;
}
.loading img{
	width:100vw;
	height: 100vh;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
a {
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
a:link, a:visited {
	color: #000;
	text-decoration: none;
}
a:hover, a:active {
	color: #999;
	text-decoration: underline;
}
a {outline:none;}
a img {outline:none;}
label {outline:none;}
img {
	border: none;
}
li{
	list-style-type: none;
}
button{
    background:none;
    cursor:pointer;
	border-style: none;
	margin-right: 5px;
	margin-left: 5px;
	outline: none;
}
button:hover{
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;	
}
a img {
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
outline:none;
}
a img:hover{
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;	
}
button img{
	outline:none;
}
h1 {
	font-weight: 400;
	font-size: 21px;
}
.br-sw {
	display: inline;
}
/*----- main -----*/

#container {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
#container01, #container02, #container03, #container04, #container05, #container06, #container07, #container08, #container09, #container10{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
.text-v {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.text-jp {
	letter-spacing: 1px;
	font-size: 1em;
	line-height: 1.8em;
}
.text-en {
	letter-spacing: 1px;
	font-size: 1.1em;
}
.text-en-s {
	letter-spacing: 1px;
	font-size: 1em;
}
.sdgs-title {
	font-size: 2em;
}
.sdgs-title-sub {
	font-size: 1.5em;
}
.sdgs-img-all {
	width: 30%!important;
	float: left;
	margin-right: 2%;
}
.sdgs-icon-area {
	
	width: 100%;
	float: left;
	margin-top: 15px;
}
.sdgs-img-icon {
	width: 15%!important;
	float: left;
	margin-right: 2%;
	margin-top: 15px;
}
.sdgs-text-all {
	width: 95%;
	float: left;
	margin-top: 30px;
}
.sdgs-text-70 {
	width: 80%;
	float: left;
	margin-top: 15px;
	font-size: .9em;

}
.sdgs-img {
	width: 30%!important;
	float: left;
	margin-right: 2%;
}
.sdgs-text {
	width: 65%;
	float: left;
}
.sdgs-text-s {
	font-size: .9em;
}
.sdgs-japan-area {
	float: left;
	width: 100%;
	margin-bottom: 50px;
}
.sdgs-japan-area-left {
	float: left;
	width: 40%;
}
.sdgs-japan-area-left img{
	width: 300px!important;
}
.sdgs-japan-area-right {
	float: left;
	width: 60%;
	font-size: .8em;
	padding-top: 45px;
}
/*----- news -----*/

#news-contents{
	float: left;
	width: 100%;
	max-width: 960px;
	padding: 5px;
}
#news-area{
	width: 45%;
	text-align: left;
	float: left;
	padding-bottom: 10px;

	padding-top: 10px;
	padding-right: 25px;
}

.date-header{

	font-size: 10px;
	margin-top: 0px;
	margin-bottom: 0px;

}
.cat-header{

	font-size: 10px;


}
.title-news{
	font-size: 11px;
	margin-top: 5px;
	margin-bottom: 5px;
	text-decoration: none;

}

.title-news a, .title-news a:visited{
	text-decoration: none;
}
.title-news a:hover, .title-news a:active{
	text-decoration: underline;
}

/*----- fade -----*/
.fade-up {
  transition: opacity 0.7s;
  -moz-transition: opacity 0.7s;
  -webkit-transition: opacity 0.7s;
  -o-transition: opacity 0.7s;
  transition: transform 0.7s;
  -moz-transition: transform 0.7s;
  -webkit-transition: transform 0.7s;
  -o-transition: transform 0.7s;
}
/*----- page-top -----*/
#page-top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 15px;
  bottom: 50px;
  background: #000;
  opacity: 0.7;
  border-radius:2px;
}
#page-top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page-top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
content: '\f0d8';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


/* icon */
.icon-area{
	width: 26%;
	margin-left: 0;
	margin-top: 20vh;
	padding-left: 24%;
	float: left;
}
.icon-area img{
	width: 70%;
	
}
ul.icon-area li {
	margin-bottom: 15px;
	float: left;
	width: 50%;
}
/* button */
.shop-btn {
  cursor: pointer;
  background: #252525;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border: 1px solid #999;
  color: #eee;
  font-size: .9em;
  padding: 5px 20px 5px 20px;
  text-decoration: none;
  letter-spacing: 1px;
  white-space: nowrap;
}

.shop-btn:hover {
  background: -webkit-linear-gradient(top, #585858 0%, #404040 100%) #656565;
  background: -moz-linear-gradient(top, #585858 0%, #404040 100%) #656565;
  background: -ms-linear-gradient(top, #585858 0%, #404040 100%) #656565;
  background: -o-linear-gradient(top, #585858 0%, #404040 100%) #656565;
  background: linear-gradient(to bottom, #585858 0%, #404040 100%) #656565;
  text-decoration: none;
  color: #fff;
  border: 1px solid #cccccc;
}
/*----- footer -----*/
#footer {

	top: 100px;
	left: 0;
	width: 100%;
	height: 25px;
	z-index: 3;
	color: #898989;
	text-align: center;
	padding-top: 15px;
	letter-spacing: 1px;
	position: relative;
	float: left;
	font-size: 11px;
}
/* margin */
.mar_r_1p { margin-right: 1%; }
.mar_b_1p { margin-bottom: 1%; }
.mar_b_2p { margin-bottom: 2%; }
.mar_auto { margin: 0 auto; }
.mar_0 { margin: 0; }
.mar_t_0 { margin-top: 0; }
.mar_r_0 { margin-right: 0; }
.mar_b_0 { margin-bottom: 0; }
.mar_l_0 { margin-left: 0; }
.mar_5 { margin: 5px; }
.mar_t_5 { margin-top: 5px; }
.mar_r_5 { margin-right: 5px; }
.mar_b_5 { margin-bottom: 5px; }
.mar_l_5 { margin-left: 5px; }
.mar_t_10 { margin-top: 10px; }
.mar_r_10 { margin-right: 10px; }
.mar_b_10 { margin-bottom: 10px; }
.mar_l_10 { margin-left: 10px; }
.mar_t_15 { margin-top: 15px; }
.mar_t_20 { margin-top: 20px; }
.mar_r_20 { margin-right: 20px; }
.mar_b_20 { margin-bottom: 20px; }
.mar_b_15 { margin-bottom: 15px; }
.mar_l_20 { margin-left: 20px; }
.mar_t_30 { margin-top: 30px; }
.mar_r_30 { margin-right: 30px; }
.mar_b_25 { margin-bottom: 25px; }
.mar_b_30 { margin-bottom: 30px; }
.mar_l_30 { margin-left: 30px; }
.mar_t_45 { margin-top: 45px; }
.mar_t_50 { margin-top: 50px; }
.mar_r_50 { margin-right: 50px; }
.mar_b_45 { margin-bottom: 45px; }
.mar_b_50 { margin-bottom: 50px; }
.mar_l_50 { margin-left: 50px; }
.mar_b_100 { margin-bottom: 100px; }
.mar_t_100 { margin-top: 100px; }
.mar_t_200 { margin-top: 200px; }
.mar_t_20_5 { margin-top: 20px; }
/* padding */
.pad_v_10 { padding: 10px 0; }
.pad_v_20 { padding: 20px 0; }
.pad_v_30 { padding: 30px 0; }
.pad_0 { padding: 0; }
.pad_t_0 { padding-top: 0; }
.pad_r_0 { padding-right: 0; }
.pad_b_0 { padding-bottom: 0; }
.pad_l_0 { padding-left: 0; }
.pad_5 { padding: 5px; }
.pad_t_5 { padding-top: 5px; }
.pad_r_5 { padding-right: 5px; }
.pad_b_5 { padding-bottom: 5px; }
.pad_l_5 { padding-left: 5px; }
.pad_10 { padding: 10px; }
.pad_t_10 { padding-top: 10px; }
.pad_r_10 { padding-right: 10px; }
.pad_b_10 { padding-bottom: 10px; }
.pad_l_10 { padding-left: 10px; }
.pad_20 { padding: 20px; }
.pad_t_20 { padding-top: 20px; }
.pad_r_20 { padding-right: 20px; }
.pad_b_20 { padding-bottom: 20px; }
.pad_l_20 { padding-left: 20px; }
.pad_30 { padding: 30px}
.pad_t_30 { padding-top: 30px; }
.pad_r_30 { padding-right: 30px; }
.pad_b_30 { padding-bottom: 30px; }
.pad_l_30 { padding-left: 30px; }
.pad_t_50 { padding-top: 50px; }
.pad_t_70 { padding-top: 70px; }
.pad_t_80 { padding-top: 80px; }
.pad_lr_2 { 
	padding-left: 2%;
	padding-right: 2%;
}
.pad_lr_10 { 
	padding-left: 10%;
	padding-right: 10%;
}

.text-centre{
	text-align: center;
}
.text-left{
	text-align: left;
}
.text-right{
	text-align: right;
}
.top-text-jp-v {
	line-height: 2em;
	letter-spacing: 2px;
		min-height: 550px;
}
.text-jp-v {
	line-height: 2em;
	letter-spacing: 1px;
	font-size: 12.5px;
	height: 660px;
}
.title-en {
	font-size: 36px;
	letter-spacing: 5px;
	margin: 0;
}
.title-sub-en {
	font-size: 11px;
	letter-spacing: 1px;
	margin: 0;
}
.title-link:hover {
	text-decoration: none;
}
.title-en-top {
	font-size: 32px;
	letter-spacing: 2px;
	margin: 0;
}
.title-sub-en-top {
	font-size: 11px;
	letter-spacing: 1px;
	margin: 10px 0 0;
	line-height: 18px;
}
.br-sh {
	display: none;
}
@media screen and (max-width: 960px) {
	.text-right{
		padding-right: 15px;
	}
	.text-left{
		padding-left: 15px;
	}

}
@media screen and (max-width: 768px) {
	.icon-area{
	padding-left: 13%;
	}
	.sdgs-img-icon {
	width: 25%!important;
	float: left;
	margin-right: 2%;
	margin-top: 15px;
	}
	.sdgs-text-70 {
	width: 65%;
	float: left;
	margin-top: 5px;
	}	
	.sdgs-japan-area-left {
	width: 35%;
	}
	.sdgs-japan-area-left img{
	width: 250px!important;
	}
	.sdgs-japan-area-right {
	width: 65%;
	font-size: .8em;
	padding-top: 45px;
	}
}
@media screen and (max-width: 650px) {
	h1 {
		font-size: 18px;
	}
	.text-jp-v {
		height: 560px;
	}
	.top-text-jp-v {
		min-height: 400px;
	}
	.br-sw {
		display: none;
	}
	.br-sh {
		display: block;
	}
	.sdgs-title {
	font-size: 1.6em;
	}
	.sdgs-title-sub {
	font-size: 1.4em;
	}
	.sdgs-img-all {
	width: 100%!important;
	margin-right: 0;
	margin-bottom: 15px;
	}
	.sdgs-text-all {
		margin-top: 15px;
	}
	.sdgs-img {
	width: 100%!important;
	float: left;
	margin-bottom: 15px;
	}
	.sdgs-text {
	width: 100%;
	float: right;
	}
	.sdgs-japan-area-left {
	width: 100%;
	text-align: center;
	}
	.sdgs-japan-area-right {
	width: 100%;
	font-size: .7em;
	padding-top: 0;
	text-align: center;
	}
}
@media screen and (max-width: 460px) {
	.text-right{
		padding-right: 10px;
	}
	.text-left{
		padding-left: 10px;
	}
	.icon-area{
		margin-top: 10vh;
	}
	.icon-area img {
		width: 80%;
	}
}