@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 Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
	color:#231815;
	font-size:15px;
    font-weight:500;
	font-feature-settings:"palt"1;
	line-height:2;
	letter-spacing:0.15em;
	-webkit-text-size-adjust:100%;
	border:none;
}

@media only screen and (max-width:640px){
    
    html     ,
    body     ,
    article  ,
    section  ,
    div      ,
    h1       ,
    h2       ,
    h3       ,
    h4       ,
    h5       ,
    dl       ,
    dt       ,
    dd       ,
    ul       ,
    ol       ,
    li       ,
    p        ,
    input    ,
    select   ,
    textarea {
        font-size:14px;
        letter-spacing:0.05em;
    }
}

.en ,
footer small {font-family:"Oswald", sans-serif;}

html {overflow-y:scroll; margin-bottom:1px; height:100%;}
body {background:#fff; overflow-x: hidden;}

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:#f04169; text-decoration:none; transition: .2s;}
a:hover {opacity:.6;}

p {text-align:justify; text-justify:inter-ideograph;}

* {-webkit-appearance: none;}

::selection {background:#c6eaff;}
::-moz-selection {background:#c6eaff;}



@media only screen and (min-width:641px){

    .sp { display:none !important;}
}

@media only screen and (max-width:640px){
    
    .pc { display:none !important;}

}



/* bg */

.bg {
    width: 100%;
    height:100%;
    position:fixed; top:0; left:0;
    background:url("../img/bg-pc.jpg") top center no-repeat;
    background-size:cover;
    z-index:-1;
}

@media only screen and (max-width:640px){
    
    .bg {
        background:url("../img/bg-sp.jpg") top center no-repeat;
        background-size:cover;
    }
}



/* header */

header {
    position:relative;
    z-index:1000;
}
header h1 {
    width: 35px;
    height:100%;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
    position:fixed; top:0; left:2%;
}

@media only screen and (max-width:640px){
    
    header h1 {
        width:20px;
        left:3%;
    }
    
    #index header h1 img {transition: .3s; opacity:0;}
    #index header h1.scroll-class img {opacity:1;}
}



/* SPnav */

#SPnav {
    width:276px;
    margin:20px 0 0 0;
    position:fixed; top:0; right:0;
    z-index:5000;
}
#SPnav-bar {
    width: 45px;
    height:45px;
    position:fixed; top:50px; right:35px;
    cursor:pointer;
}
.bar {
    width:100%;
    height:5px;
    display:block;
    background:#231815;
    border-radius:5px;
    transition: .3s ease;
}
#bar1 {transform:translateY(-4px);}
#bar3 {transform:translateY(4px);}

.nav {transition: .3s ease; display:none;}

ul.nav {padding:30px 0 0;}
ul.nav li {padding:0 0 4px;}
ul.nav li a {
    color:#fff;
    font-size:1.2rem;
    font-weight:700;
    position:relative;
}
ul.nav li a::after {
    content: "";
    width: 0;
    height:3px;
    position:absolute; bottom:-2px; left:0;
    background:#fff544;
    transition: .3s;
}
ul.nav li a:hover {opacity:1;}
ul.nav li a:hover::after {width:100%;}

ul.nav li dl {margin:6px 0;}
ul.nav li dl dt {
    margin:0 0 5px;
    color:#fff;
    font-size:0.9rem;
}
ul.nav li dl dd {
    margin:0 0 0 8px;
    padding:0 0 0 20px;
    display:flex; flex-flow:row wrap; justify-content:flex-start; align-content:flex-start; align-items:flex-start; flex-direction:column;
    border-left:dashed 1px #fff;
}
ul.nav li.mf {margin:10px 0 0;}
ul.nav li.mf a {
	width:200px;
	padding:5px 0;
	display:block;
	color:#231815;
	font-size:1rem;
	text-align:center;
	letter-spacing:0;
	border:solid 2px #fff;
	border-radius:2px;
	background:#fff;
    line-height:1.2;
}
ul.nav li.mf a:hover {color:#fff; background:#231815;}
ul.nav li.mf a:hover::after {display:none;}

.SPnav-bg , #SPnav {position:fixed; top:0; right:0;}
.SPnav-bg {
    width: 0;
    height:0;
    margin:20px;
    background:#231815;
    border-radius:10px 0 10px 10px;
    transition: .3s ease;
    z-index:100;
}

span.menu {
	position:absolute; top:50px; right:34px;
	color:#231815;
	font-size:1.4rem;
	text-align:center;
	letter-spacing:0;
}

.change {display:block;}
.change .bar {background-color:#fff;}

.change #bar1 {transform:translateY(4px) rotateZ(-45deg);}
.change #bar2 {opacity:0;}
.change #bar3 {transform:translateY(-6px) rotateZ(45deg);}

.change-bg {
    width: 300px;
    height:450px;
	z-index:2000;
}

@media only screen and (max-width:640px){
    
    #SPnav {width:260px;}
    #SPnav-bar {top:40px; right:30px;}
    ul.nav {padding:30px 0 0;}
    .SPnav-bg {margin:10px;}
    .change-bg {height:450px;}
    
	span.menu {top:38px; right:30px;}
	
    .spbottom {
        width:100%;
        display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
        position:fixed; bottom:20px; left:0;
    }
    .spbottom > a {margin:0 2px; padding:2px 0; color:#fff; text-align:center; border-radius:5px;}
    .spbottom > a img {max-width:100%;}
}



/* main */

.page2nd main {
    width:70%;
    max-width:1000px;
    margin:0 auto;
    padding:0 0 80px;
}
.page2nd main h2 {
    font-size:2rem;
    font-weight:800;
}
.page2nd main h2 b {
    display:block;
    font-size:3rem;
    line-height:1.2;
}

@media only screen and (max-width:640px){

    .page2nd main {padding:0 0 50px;}
    .page2nd main h2 {font-size:1.2rem;}
    .page2nd main h2 b {font-size:2rem;}
}



/* banner */

@media only screen and (min-width:641px){

	a.banner {
		width:260px;
		position:fixed; bottom:40px; right:2%;
		z-index:100;
		transition: .2s;
	}
	a.banner:hover {opacity:1; right:2.5%;}
}

@media only screen and (max-width:640px){
	
	a.banner {
		display:none;
		transition: .3s;
	}
	a.banner.scroll-class {
		width:180px;
		margin:auto;
		display:block;
		position:fixed; bottom:30px; left:0; right:0;
		z-index:1000;
	}
}



/* article / section */

article {
    width:100%;
    margin: 0;
}
section {
    width:70%;
    max-width:1000px;
    margin:0 auto 100px;
    position:relative;
}
section span[id] {position:absolute; top:-50px; left:0;}

section h3 {
    width:100%;
    margin:0 0 20px;
    font-size:2.5rem;
    line-height:1.5;
}

@media only screen and (max-width:640px){
    
    section h3 {
        font-size:1.8rem;
        line-height:1.5;
    }
}



/* more */

a.more {
    margin:10px 10px 0 0;
    padding:10px 20px;
    display:inline-block;
    color:#fff;
    font-size: 1.1rem;
    font-weight:normal;
    line-height:1.4;
    border-radius:3px;
    background:#0e8453;
}

@media only screen and (max-width:640px){}



/* footer */

footer {
    width:100%;
    margin: 0 auto;
    padding:0 0 50px;
}
footer small {
    width:80%;
    margin:0 auto;
    display:block;
    font-size:1.2rem;
    font-weight:900;
    text-align:center;
    letter-spacing:0.05rem;
}

@media only screen and (max-width:640px){
    
	footer {padding:0 0 150px;}
    footer small {font-size:1rem;}
}


