*,
*:after,
*:before{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.pc { display: block; }
.sp { display: none; }




/* Global Style
   ========================================================================== */
html{
  height:100%;
}
body{
  text-align: left;
  font-weight: normal;
  color: #444; /* Set Default Content Color */
  background: #ffffff; /* Set Default Body Background Color */
  font-size: 16px; /* Set Default Font Size */
  line-height: 1.8em; /* Set Default Line Height */
  min-width:1000px;
  width:100%;
  height:100%;
  font-family: '游ゴシック', YuGothic,"メイリオ", Meiryo, "UD新ゴNT M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;

}

/* Default Link Style
   ========================================================================== */
a,a:link{
	outline: 0;
	color:#265164;
	text-decoration:none;
	-moz-transition: all 0.4s ease-in;
	-webkit-transition: all 0.4s ease-in;
	-o-transition: all 0.4s ease-in;
	-ms-transition: all 0.4s ease-in;
}
a:hover,a:active{
	text-decoration: underline
}

a img, a:link img {
	-moz-transition: all 0.4s ease-in;
	-webkit-transition: all 0.4s ease-in;
	-o-transition: all 0.4s ease-in;
	-ms-transition: all 0.4s ease-in;
}
a:hover img,a:active img { opacity: 0.6; }


#singlePage .content a{
	color:#007d77;
	text-decoration:underline;
}

#singlePage .content a:hover{
	color:#007d77;
	text-decoration:none;
}

#singlePage .content2 a{
	color:#007d77;
	text-decoration:underline;
	text-align: center
}

#singlePage .content2 a:hover{
	color:#007d77;
	text-decoration:none;
}


#singlePage .content .outline_on{
	margin-left:2px;
	outline: 1px solid rgb(0 0 0 / 50%);
	outline-offset: 0px;
}

.wrapper{
	margin:0 auto;
	width:90%;
	min-width: 1080px;
	overflow:hidden;
	clear:both;
	font-size: 1rem;
}
article{
	margin:0 auto;
	width:90%;
	min-width: 1080px;
	padding:0 0 200px 0;
	position: relative;
    height: auto !important;
    height: 100%;
    min-height: 80%;
}

.topics{
	margin:0 auto;
	width:90%;
	min-width: 800px;
	max-width: 800px;
	position: relative;
}

.topics div{
	margin-top:-60px;
	margin-bottom:40px;
}

.topics div a{
	text-decoration: underline #265164;
}

/* header ----------------------------------------------------------------------- */
header{
	padding:12px 15px 0 15px;
	background:#007d77;
	color:#fff;
	overflow:hidden;
	height:67px;
}
header h1 a:hover img,a:active img { opacity:1; }

header form{float:right;}


header input[type='search']{
	border:none;
	height:30px;
	width:400px;
	border-top-left-radius: 32px;
	border-bottom-left-radius: 32px;
	padding: 6px 10px 5px 28px;
	font-size:14px;
	background:#fff url(../images/search.png) no-repeat;
	background-size:14px 15px;
	background-position:9px 7px;
  -moz-transition: all 0.4s ease-in;
  -webkit-transition: all 0.4s ease-in;
  -o-transition: all 0.4s ease-in;
  -ms-transition: all 0.4s ease-in;
}
header input[type='search']:focus{
	outline:0;
	background:#DDFBFF url(../images/search.png) no-repeat;
	background-size:14px 15px;
	background-position:9px 7px;
  -moz-transition: all 0.4s ease-in;
  -webkit-transition: all 0.4s ease-in;
  -o-transition: all 0.4s ease-in;
  -ms-transition: all 0.4s ease-in;
}



header input[type='submit']{
	height:30px;
	border:none;
	border-top-right-radius: 32px;
	border-bottom-right-radius: 32px;
	padding: 6px 15px 5px 15px;
	font-size:14px;
	cursor:pointer;
	margin-top:10px;
	font-weight:bold;
    color: rgb(68, 68, 68);
}
header input[type='submit']:focus{
	outline: none;
}


#index header {height:181px; margin-bottom:110px;}

#index header menu{
	float:right;
	margin-right:40px;
}
#index header menu a{
	color:#fff;
	text-decoration:none;
	font-size:14px;
	margin-left:20px;
	border-bottom: 2px solid #007d77;
}

#index header menu a:hover{
    border-bottom: 2px solid #fff;
}

#index header div{
	padding:40px 0 0 0;
}

#index header .wrapper{width:1080px;}

#index header form{width:820px; float:left;}

#index header input[type='search']{
	float:left;
	height:50px;
	width:680px;
	padding-left:50px;
	background:#fff url(../images/search.png) no-repeat;
	background-size:20px 21px;
	background-position:21px 14px;
	font-size:18px;
}

#index header input[type='search']:focus{
	outline:0;
	background:#E8FAFF url(../images/search.png) no-repeat;
	background-size:20px 21px;
	background-position:21px 14px;
}
#index header input[type='submit']{
	height:50px;
	border:none;
	margin:0;
	padding: 6px 30px 5px 30px;
	font-size:18px;
	font-weight:bold;
    color: rgb(68, 68, 68);
}
#index header div a{
	color:#007d77;
	background:#fff url(../images/icon_login.png) no-repeat;
	background-size:15px 18px;
	background-position:13px 8px;
	padding:4px 15px 0 40px;
	height:36px;
	border-radius:8px;
	float:right;
	text-align:center;
	display:block;
	text-decoration:none;
	font-weight:bold;
	font-size:17px;
	margin-top: 8px;
	margin-right:8px;
	border:2px solid #007d77;
}
#index header div a:hover{
	box-shadow: 0px 0px 8px 0px rgba(255,255,255,1)
}



header h1{margin:0; padding:0;}
header h1 a{
	float:left;
	font-size:1.5rem; margin:0;
	line-height:0;
	display:flex;
	align-items: flex-end;
	color:#fff;
	text-decoration:none !important;
}
header h1 img{
	height:40px; width: auto;
	display:flex;
}

header h1 span{
    display: flex;
    font-size: 20px;
    padding-left: 5px;
    margin-bottom: 3px;
    padding-bottom: 7px;
}
header h1 span:last-of-type{font-size:20px; padding-bottom: 7px;}
header h1 a span{color:#fff; text-decoration:none;}


/* index blocks ========================================================= */
/* main_topnews.cssをみる*/
#indexBlock{
	display:flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-items: center;
	align-content: center;
	width:800px;
	height:auto;
}
#indexBlock a{
	display:block;
	border:1px solid #DDD;
	width:330px;
	height:240px;
	margin: 5px;
	border-radius:8px;
	text-align:center;
	padding:30px 30px;
	text-decoration:none;
	box-shadow: 0px 1px 2px 0 rgba(0,0,0,0.2);
}

#indexBlock a:hover{
	border:1px solid #007d77;
}

#indexBlock a img{
	display:block;
	margin:0 auto;
	width:45px; height:46px;
	margin-bottom:27px;
}
#indexBlock a:nth-of-type(2) img{width:45px; height:46px;}
#indexBlock a:nth-of-type(3) img{width:45px; height:46px;}
#indexBlock a:nth-of-type(4) img{width:58px; height:46px;}
#indexBlock a:nth-of-type(5) img{width:33px; height:46px;}
#indexBlock a:nth-of-type(6) img{width:54px; height:43px;}

#indexBlock a h2{
	clear:both;
	display:inline-block;
	border:none;
	font-size:22px;
	margin:0 0 24px 0;
	padding:0;
}
#indexBlock a p{
	text-align:left;
	font-size:16px;
	line-height:1.4;
	text-decoration:none;
}



.newsBlock{
	border:1px solid #DDD;
	margin: 0 auto;
	width:900px;
	height:auto;
	border-radius:8px;
	padding:20px 25px;
	text-decoration:none;
	box-shadow: 0px 1px 2px 0 rgba(0,0,0,0.2);
}

.newsBlock h2{
	font-size:22px;
	border-bottom:1px solid #CCC;
	height:auto;
	padding:5px 0 13px 46px;
	margin:0 0 24px 0;
	background: url(../images/icon_news.png) no-repeat;
	background-size:35px 36px;
}

.newsBlock dl{}
.newsBlock dt{float:left; clear:both; width:160px;}
.newsBlock dd{overflow:hidden; margin-bottom:20px;}
.newsBlock p{text-align:right; padding-top:20px;}

.icon{
	background: url(../images/link.png) no-repeat;
	background-size:10px 21px;
	background-position:0 0;
	padding-left:15px;
}

.icon:hover{
	animation-name: anime1;
	animation-duration: 0.5s;
	animation-timing-function: ease;
	animation-iteration-count: 1;
}


@keyframes anime1 {
	0% {background-position:0 0;}
	60% {background-position:7px 0;}
	100% {background-position:0 0;}
}




nav{
	clear:both;
	background: #1b3946;
    border-top: 1px solid rgba(255,255,255,0.4);
	padding:0 5px;
	overflow:hidden;
	text-shadow:-1px -1px 0px rgba(0,0,0,0.55);
}
#developers nav{background: #1B4530;}

nav a, nav a:active, nav a:visited{
	padding:10px;
	color:#fff !important;
	text-decoration:none;
	border-radius:2px;
	font-weight:400;
	display: inline-block;
	position:relative;
	float:left;
	margin-right:10px;
	overflow: hidden;
}

nav a:before{
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: -100%;
  left: 0%;
  background-color: rgb(89,157,186);
}
#developers nav a:before{background-color:#266344;}
nav a:hover{
  color: #ecf0f1;
  z-index:1;
}

nav a:hover:before{
	top: 0;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}





section{clear:both; margin-bottom:60px; overflow:hidden;}

.search{
	text-align:left;
	margin: auto;
	padding:40px 0;
	width:60%;
	font-size:0.8rem;
}
.search input{
	width:100%;
	padding:10px 5px;
	margin-bottom:5px;
	font-size:1rem;
}
.search a{padding-right:15px;}


#introBlock div{
	float:left;
	width:48%;
}
#introBlock div:last-of-type{
	float:right;
}


article h2{
	padding:10px 0 25px 0;
	font-size: 32px;
    line-height: 1.2;
	border-bottom:3px solid #007d77;
	margin-bottom:50px;
}


article h3{
	border-bottom:1px solid #C0C0C0;
	color:#007d77;
	font-size:26px;
	line-height: 1.2;
	font-weight:bold;
	padding:5px 0 15px 0;
	margin-top:10px;
	margin-bottom:20px;
}
article h3, article h3 a{color:#007d77;}
article p+h3{margin-top:50px;}
article h4{
	color:#007d77;
	padding:0;
	font-size:20px;
	font-weight:bold;
	padding:0;
	margin-top:10px;
	margin-bottom:5px;
}
article p+h4{margin-top:25px;}
article h5{
	padding:0;
	font-size:16px;
	font-weight:bold;
	padding:0;
	margin-top:10px;
	margin-bottom:0;
}


#introBlock ul{
	border:1px solid #599DBA;
	background:#fff;
	padding:10px;
	min-height: 141px;
}
#introBlock ul li{list-style:none; line-height:2.5em;}


#function{
	float:left;
	width:65%;
	border: 1px solid #599DBA;
    border-radius: 4px;
}

#list #function{float:none; width:100%;}

#function h2, #purpose h2{margin-bottom:15px;}
#function div{
	float:left;
	clear: both;
	width:48%;
	margin:0 0 10px 5px;
}

#function div h4{
	margin: 5px 0 -5px 5px;
}

#function div:nth-of-type(even){
	float:right;
	clear: none;
	margin:0 5px 10px 0;
}
#function ul, #purpose ul, #indexRight section ul{
	padding:10px;

}
#function ul li, #purpose ul li, #indexRight section ul li{
	line-height: 1.5em;
    padding-bottom: 0.7rem;
    display: list-item;
    list-style: disc;
    margin-left: 1rem;
}


#purpose{
	float:right;
	width:30%;
    clear: none;
	border: 1px solid #599DBA;
    border-radius: 4px;
}

#indexRight{
	float:right;
	width:30%;
    clear: none;
}

#indexRight section{
	width:100%;
    clear: none;
	border: 1px solid #599DBA;
    border-radius: 4px;
	margin-bottom:2rem;
}

/* anq -------------------------------------------------------------------------- */
.fixed {
    position:fixed;
    bottom:100px;
    right:10px;
  	border:  none;
  	overflow-y: hidden; /*縦方向はスクロール不可*/
}
#sidefloat {
	height: 100px;
	width: 110px;
	position:fixed;
	right:0;
	bottom:200px
	}

/* footer ----------------------------------------------------------------------- */
footer{
	clear:both;
	padding:40px 15px;
	background:#F2F2F2;
	text-align:center;
	font-size:0.8rem;
	position: relative;
    bottom: 0;
}

footer menu{
	margin: 0 auto;
	width:760px;
	text-align:center;
	display:flex;
	-webkit-justify-content: space-around;
    justify-content: space-around;
}


footer .wrapper{
	border-top:1px solid #ccc;
	padding:30px 0 0 0;
	font-size:14px;
	margin-top:70px;
}

.gotoTop img{width:32px; height: 32px;}

.gotoTop {
	position: relative;
    z-index: 10;
    right: 5%;
    top: -70px;
    float: right;
    width: 32px;
    height: 32px;
}



/* 階層下 ----------------------------------------------------------------------- */
.breadList{
	background:#F7F7F7;
	height:50px;
	font-size:0.7rem;
	margin:0 0 30px 0;
	padding-top:10px;
}

.breadList span{
	float:left;
	display:block;
	padding-left: 20px;
}
.breadList span:first-of-type{padding-left: 0px;}
.breadList span.sp {display:none;}
.breadList span.pc {display:block;}

.breadList span a{
	padding:0 8px 0 0px;
	float:left;
	display:block;
	position:relative;
}
#developers .breadList span a{background:#9CD6B9;}

.breadList span a:after{
	content: ">";
	position: absolute;
	width: 0px;
	height: 0px;
	margin:0 0 0 10px;
}

.breadList span:last-of-type{padding-left:20px;}





.content table{
	border-collapse: collapse;
	margin-bottom:1.5rem;
}
.content table td, .content table th{
	padding:1rem;
	border:1px solid #ccc;
	text-align:left;
}
.content table th{
	padding:1rem;
	border:1px solid #ccc;
	background:#eee;
	text-align:center;
}
.content table td p, .content table th p{
	margin:0; padding:0;
}

.content table td ul, .content table th ul{
	margin-left: 20px;
}



.content blockquote, .content pre{
	background: #efefef;
    padding: 10px;
    border-left: 10px solid #ccc;
    margin: 0 0 1rem 2rem;
	font-family: monospace, monospace;
    font-size: 1em;
	/* white-space: pre; */
}




pre{overflow-y: scroll;}

blockquote p:last-of-type, code p:last-of-type {
    padding-bottom: 0 !important;
}

/* 検索結果 ----------------------------------------------------------------------- */
.searchResult{margin-bottom:3rem;}
.content .searchResult h3{margin-bottom: 0.2rem;}
.searchResult span {
    background: #DCECF5;
    padding: 2px 15px;
    border-radius: 4px;
    margin-right: 10px;
    margin-bottom: 10px;
    font-size: 0.8rem;
}

.searchResultTitle .tag{
    background: #007d77;
	color:#fff;
    padding: 3px 20px;
    border-radius: 8px;
    font-size: 0.8rem;
	float:right;
	margin:0 0 0px 30px;
	display:inline-block;
	line-height:2;
}

.searchResultFAQ p{
    padding-bottom: 20px;
}

/* ニュースページ　日付 */
.newsPageDate{
    margin-top: -95px;
    margin-bottom: 67px;
    text-align: right;
}

/* common ------------------------------------------- */
.pb1rem{padding-bottom:1rem !important;}


/* カテゴリ一覧系 ------------------------------------------- */
#beginnerTitle{
	background: url(../images/icon_circle_solid.png) no-repeat;
	background-size:45px 46px;
	background-position:6px 0;
	padding-left:75px;
}

#faqTitle{
	background: url(../images/icon_faq.png) no-repeat;
	background-size:45px 46px;
	background-position:6px 0;
	padding-left:75px;
}
#functionTitle{
	background: url(../images/icon_function.png) no-repeat;
	background-size:58px 46px;
	background-position:0 0;
	padding-left:75px;
}
#apiTitle{
	background: url(../images/icon_api.png) no-repeat;
	background-size:38px 52px;
	background-position:12px 0;
	padding-left:75px;
}
#purposeTitle{
	background: url(../images/icon_purpose.png) no-repeat;
	background-size:45px 46px;
	background-position:10px 4px;
	padding-left:75px;
}
#searchTitle{
	background: url(../images/icon_search.png) no-repeat;
	background-size:45px 46px;
	background-position:10px 0;
	padding-left:75px;
}

#newsTitle{
	background: url(../images/icon_news.png) no-repeat;
	background-size:35px 36px;
	background-position:10px 6px;
	padding-left:65px;
}

.introText{margin-bottom:50px;}

.twoBlocks, .threeBlocks{
	clear:both;
	display:flex;
	margin:0 auto;
	width:100%;
	min-width:1080px;
	margin-bottom:70px;
	justify-content: space-between;

}
.twoBlocks div{
	width:46%;
	clear:both;
}
.twoBlocks h3{width:100%;     display: flow-root;}
.twoBlocks div h3{width:100%;}

.twoBlocks div a{
	display:inline;
}
.twoBlocks div .allLink{
	padding-top:40px;
	text-align:right;
}

.twoBlocks div ul{
	list-style:none;
}
.twoBlocks div ul li{
	padding-left:0px;
}
.twoBlocks div ul li:before{
	content:"・";
	display:block;
	float:left;
}
.twoBlocks div li a{
	display:block;
	overflow:hidden;
}

.twoBlocksAPI{
	clear:both;
	display:block;
	margin:0 auto;
	width:100%;
	min-width:1080px;
	margin-bottom:70px;
	justify-content: space-between;

}
.twoBlocksAPI div{
	width:46%;
	float:left;

}
.twoBlocksAPI div:nth-of-type(even){
	width:46%;
	float:right;

}

.newsResult{margin-bottom:20px;}
.newsResult p:first-of-type{float:left; clear:both; width:160px;}
.newsResult p:last-of-type{overflow:hidden;}




/* page navigation plugin ------------------------------------------ */

.wp-pagenavi a:hover, .wp-pagenavi span.current {
    color:#fff;
	background:#007d77;
	border:none;
	border-radius:64px;
	width:50px;
	height:50px;
	display:block;
	float:left;
	text-align:center;
	padding-top:11px;
}

.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
	border:none;
	font-size:20px;
	font-weight:bold;
    border: none;
    padding: 3px 5px;
    margin: 2px;
	width:50px;
	height:50px;
	display:block;
	float:left;
	text-align:center;
	padding-top:11px;
}


/* プラグイン Easy Table of Contents ------------------------------------------- */

div#ez-toc-container{
            margin-top:50px;
            margin-bottom:50px;
}

#ez-toc-container div.ez-toc-title-container {
    margin-bottom: 8px;
}

#ez-toc-container nav, nav a:before{
    background: #ffffff;
}

#ez-toc-container nav a, nav a:active, nav a:visited{
    color:#007d77 !important;
    float:none;
}

#ez-toc-container nav ul li{
    line-height: 0.5;
}
