@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: "Kiwi Maru", serif, YakuHanMP, '游明朝', YuMincho, 'Hiragino Mincho ProN W3', 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'Noto Serif JP', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', serif;
	color: #222;
	font-size: 14px;
	font-feature-settings: "palt"1;
	line-height: 2;
	letter-spacing:0;
	-webkit-text-size-adjust:100%;
	border:none;
}

html {
	overflow-y:scroll;
	margin-bottom:1px;
	height:100%;}

body {background:#f0f0f0;}

img {
	max-width:100%;
	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:#222;
	text-decoration:none;
	transition: .2s;}

a:hover {opacity: .6;}

p {
	text-align:justify;
	text-justify:inter-ideograph;}

* {-webkit-appearance: none;}/* iOSでinput要素にcssが効かないときの対応 */
::selection {background:#c8c8c8;}
::-moz-selection {background:#c8c8c8;}/* for Firefox */

@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;}

}



/* -------------------------------------------------- */



/* header */

header {
    width: 100%;
    margin: 0;
    padding:0;
    position:relative;
}
header > a[target="_blank"] {
    max-width:100px;
    position:fixed; top:30px; left:40px;
    z-index: 1000;
}

header h1 img {
	margin:0 auto;
	position:absolute; top:0; left:0; right:0;
	z-index:1000;
}

@media only screen and (max-width:640px){
    
    header {
        height:auto;
        padding: 0 !important;
        display:flex; flex-flow:row wrap; justify-content:flex-start; align-content:flex-start; align-items:flex-start;
    }
    header > a[target="_blank"] {
        max-width:60px;
        top:20px; left:20px;
    }
    header h1 img {top:12%;}
}



/* footer */

footer {
    width:100%;
    margin:0 auto;
    padding:100px 0 50px;
}
footer small {
    width:100%;
    display:block;
    color: #b4965f;
    text-align: center;
}

@media only screen and (max-width:640px){
    
    footer {padding:50px 0;}
}


