@charset "UTF-8";
/* CSS Document */

/* 基本設定
---------------------------------------------- */
html {
  width:100%;
  background:#fff;
  color:#555;
  font-size:62.5%;
  -webkit-tap-highlight-color:rgba(71,129,255,0.5);
  text-rendering:optimizeLegibility;
  -webkit-text-size-adjust:100% 
}
body,div,dl,dt,dd,
ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
input,textarea,p,blockquote,th,td{
  margin:0;
  padding:0;
  border:0;
  font:inherit;
  vertical-align:baseline
}
table{
	border-collapse:collapse;
	border-spacing:0;
}
img{
	border:0 none;
  display: block;
  line-height: 1.0;
  margin:0 auto;
}
ul,ol{
	list-style:none;
}
strong{
	font-weight:normal;
}
em{
	font-style:normal;
}

/* HTML5 */
header, section, footer, aside, nav, article, figure, figcaption{ 
	margin:0;
	padding:0;
	display: block;
}
canvas{
  display:block;
  vertical-align:bottom;
}

/* base */
body{
  font-family:"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-style:oblique;
  letter-spacing:.05em;
  line-height:2.7;
  font-size:17px;
  font-size:1.7rem;
	*font-size:small;
	*font:x-small;
}
h1,h2{
  font-size:20px;
  font-weight:600;
  color:#555;
  letter-spacing:.1em;
}

/* link */
a {
  color:#555;
	text-decoration:none;
  outline:none;
  transition:all 0.2s ease-out 0s;
}
a:hover{
  /*background:#999;*/
  text-decoration:none !important;
}
a img{ background:none !important}
a:hover img{
  opacity:0.8;
  filter:alpha(opacity=80);
  -ms-filter:"alpha( opacity=80 )";
  background:none !important;
  -webkit-transition:all 0.2s ease-out 0s;
  transition:all 0.2s ease-out 0s;
}
h1 a:hover img{
  opacity:0.5;
  filter:alpha(opacity=50);
  -ms-filter:"alpha( opacity=50 )";
}

/* IE8+, Chrome */
input,button {
  outline:0;
}
/* Firefox */
input::-moz-focus-inner,button::-moz-focus-inner{
  border:0;
}

/* float */
.cf:after{
  content:".";
  display:block;
  height:0;
  line-height:0; 
  clear:both;
  visibility:hidden;
}
.cf{zoom:1;}
.fl{float:left;}
.fr{float:right;}
.cb{clear:both;}
.cl{clear:left;}
.cr{clear:right;}
br.pc{display:block;}
br.smp{display:none;}
::selection{background:rgba(71,129,255,0.5);}
::-moz-selection{background:rgba(71,129,255,0.5);}

@media (max-width:640px) {
body{
  width:94%;
  margin:0 3%;
  font-size:14px;
  font-size:1.4rem;
  line-height:1.6;
}
br.pc{display:none;}
br.smp{display:block; height:0;line-height:0;}  
}



/* index
---------------------------------------------- */
.inner01{
  width:980px;
  margin:0 auto;
  padding:120px 0 90px;
  text-align:center;
}
.inner03{
  width:980px;
  margin:0 auto;
  padding:80px 0 20px;
  text-align:center;
}
.inner02{
  width:1080px;
  margin:0 auto;
  padding:30px 0 0;
  text-align:center;
}
@media (max-width:640px) {
.inner01,
.inner03,
.inner02{
  width:100%;
}
.inner01,
.inner03{
  padding:50px 0 0;
}
}
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
header {
  text-align:center;
  width:100%;
}
.fade02,
.fade03,
.fade04{
  opacity:0;
  -webkit-animation: anime 1.2s ease-out;
  animation: anime 1.2s ease-out;
  -webkit-animation-fill-mode:both;
  -ms-animation-fill-mode:both;
  animation-fill-mode:both;
}
.fade02{
  animation-delay: 0.3s;
}
.fade03{
  animation-delay: 0.5s;
}
.fade04{
  animation-delay: 1.0s;
}
@-webkit-keyframes anime {
  0% {
    opacity:0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity:1.0;
    -webkit-transform: translateY(0);
  }
}
@keyframes anime {
  0% {
    opacity:0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity:1.0;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
.opa1{
  opacity:1.0;
}
footer{
  padding-bottom:50px;
  padding-top:100px;
}
footer .inner02 p{
  margin-right:70px;
  text-align:right;
  font-size:15px;
  line-height: 1.6;
}
@media (max-width:640px) {
h1 img{
  width:70px;
  height:auto;
}
.fade02,
.fade03,
.fade04{
  opacity:1.0;
  -webkit-animation: none 0;
  animation: none 0;
}
footer{
  padding-bottom:13px;
}
footer .inner02 p{
  margin-right:1em;
  text-align:right;
}
}
.dl01,
.dl02,
.w{
  width:620px;
  margin:0 auto;
  text-align:left;
}
.dl03{
  margin:0 auto;
  display:inline-block;
  text-align:center;
}
.dl01 dt span,
.dl02 dt span,
.dl03 dt span{
  width:110px;
  display:inline-block;
}
.dl01 dt span span,
.dl02 dt span span,
.dl03 dt span span{
  width:24px !important;
  text-align:center;
}
.dl01 dt{
  width:470px;
  clear:left;
  float:left;
}
.dl01 dd{
  width:150px;
  float:left;
}
.dl02 dt{
  width:390px;
  clear:left;
  float:left;
}
.dl02 dd{
  width:230px;
  float:left;
}
.dl03 dt{
  margin-right:60px;
  float:left;
}
.dl03 dd{
  margin-right:40px;
  float:left;
}
dl a:hover{
  color:#222;
}
dl a:hover dt,
dl a:hover dd{
  text-decoration:underline !important;
}
p.t_right{
  width:390px;
  margin:0 auto;
  text-align:right;
}
p.title{
  color:#333;
  font-size:20px;
}
.img{
  margin:0 auto -10px;
  display:inline-block;
  text-align:right;
  color:#888;
  font-size:14px;
}
.img img{
  display:block;
  box-shadow:0 2px 5px #ccc;
}
.img span{
  display:inline-block;
}
.img span + span{
  margin-left:20px;
}
.mgn_b30{
  margin-bottom:30px;
}
.mgn_b60{
  margin-bottom:60px;
}
@media (max-width:640px) {
.dl01,
.dl02,
.w{
  width:100%;
}
.dl03{
  width:100%;
  text-align:left;
}
.dl01 dt,
.dl02 dt,
.dl03 dt,
.w{
  width:100%;
  padding-top:5px;
  padding-left:1em;
  border-top:solid 1px #ccc;
  box-sizing:border-box;
}
.dl01 dd,
.dl02 dd,
.dl03 dd{
  width:100%;
  padding-bottom:3px;
  padding-right:1em;
  text-align:right;
  box-sizing:border-box;
}
.dl01 dt span,
.dl02 dt span,
.dl03 dt span{
  width:auto;
  margin-right:1em;
  display:block;
}
.dl01 dt span span,
.dl02 dt span span,
.dl03 dt span span{
  margin-right:0;
  display:inline;
}
.img{
  line-height:1.3;
}
.img span + span{
  margin-left:0;
  margin-top:15px;
}
.img img{
  width:100%;
  height:auto;
  display:inline-block;
}
}