﻿@charset "utf-8";


html     ,
body     ,
article  ,
section  ,
div      ,
h1       ,
h2       ,
h3       ,
h4       ,
h5       ,
dl       ,
dt       ,
dd       ,
ul       ,
ol       ,
li       ,
p        ,
input    ,
select   ,
textarea {
	margin: 0;
	padding:0;
	font-family:"Noto Serif JP", '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
    font-weight:400;
	color:#4d4d4d;
	font-size:15px;
	font-feature-settings:"palt"1;
	line-height:2;
	letter-spacing:0.1em;
	-webkit-text-size-adjust:100%;
	border:none;
}

.en {font-family:"Dancing Script", cursive;}

html {
	overflow-y:scroll;
	margin-bottom:1px;
	height:100%;}


body {background:#fff;}




img {
	margin:0;
	padding:0;
	vertical-align:bottom;
	line-height:0;
	border:none;
    -webkit-backface-visibility: hidden;}


ul ,
ol {
	list-style:none;}

li {
	list-style-position:outside;}


table {
	border-collapse:collapse;}


th ,
td {
	padding:0;
	text-align:left;
	vertical-align:top;}


a {
	color:#6e6966;
	text-decoration:none;
	transition: .2s;}


a:hover {
	opacity: .6;}


p {
	text-align:justify;
	text-justify:inter-ideograph;}


/* iOSでinput要素にcssが効かないときの対応 */
* {-webkit-appearance: none;}


::selection {
	background:#c8c8c8;}

/* for Firefox */
::-moz-selection {
	background:#c8c8c8;}



@media only screen and (min-width:941px){

    .sp ,
    .navToggle ,
    .SPnav { display:none !important;}
}

@media only screen and (max-width:940px){
    
    .pc ,
    header > nav { display:none !important;}

}





/* -------------------------------------------------- */





/* fadeIn */

.fadeIn {
    transition: all 2000ms;
    opacity: 0;
    visibility: hidden;
    transform: translate(0px, 50px);
}
.fadeInTop {
    opacity: 1;
    visibility: visible;
    transform: translate(0px, 0px);
} 



/* header */

header h1 a[target="_blank"] {
    max-width:110px;
    position:fixed; top:30px; left:30px;
    z-index: 1000;
}
header h1 a[target="_blank"] img {
    max-width:100%;
}

@media only screen and (max-width:940px){
    
    header h1 a[target="_blank"] {
        max-width:80px;
		top:20px;
    }
}



/* footer */

footer {
    width:100%;
    margin:0 auto;
    padding:0 0 80px;
}
footer small {
    width:100%;
    margin:0 auto;
    display:block;
    text-align:center;
}

@media only screen and (max-width:940px){
    
    footer {
        padding:0 0 50px;
    }
}


