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

/*** reset ***************************************************/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
	word-break:break-all;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
	font-style:normal;
}
button, input, select, textarea {
	background-color:transparent;
	border-style:none;
}

* {
	-webkit-box-sizing: border-box;
	-mos-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {  display:block; }
ul,
ul li{ list-style:none; }
img{ vertical-align:bottom; border-radius:8px; }

a:link, a:visited { text-decoration:none; }
a:active, a:hover { text-decoration:none; }

body { width:100%; line-height:1; background:#FFF; font-size:1rem; color:#3b3632; font-family:"Noto Sans JP", sans-serif; font-style:normal; letter-spacing:0.1rem; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; color:#3b3632; outline:none; }
section { margin:2rem auto; }
@media screen and (min-width: 768px) {
.sp-only { display: none !important; }
}
@media screen and (max-width: 769px) {
.pc-only { display: none !important; }
}

/**** basic ***************************************************/
#page-top { position:fixed; bottom:3rem; right:2vw; z-index:9999; }
#page-top .pagetop-img { width:120px; height:120px; }

.ft-xs { font-size:0.7rem; }
.ft-ss { font-size:0.8rem; }
.ft-s { font-size:0.95rem; line-height:1.8; }
.ft-m { font-size:1.2rem; line-height:1.8; }
.ft-l { font-size:1.4rem; line-height:2.2; font-weight:700; }

.cont-flex { display:-webkit-flex; display:-ms-flexbox; display:flex; }
.all-flex { display:-webkit-flex; display:-ms-flexbox; display:flex; }
.cont-even { -webkit-justify-content:space-evenly; -ms-flex-pack:justify; justify-content:space-evenly; } 
.cont-between { -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between; } 
.narrow-wrap { width:60%; margin:0 auto 5rem; }

.mb1 { margin-bottom:1rem; }
.mb3 { margin-bottom:3rem; }
.mb5 { margin-bottom:5rem; }
.mb8 { margin-bottom:8rem !important; }

.bg-set-w { width:100%; padding:2rem; background:#FFF; }
.bg-set { width:100%; padding:2rem; background:#F5F3EB; }
.cont-bg-set { background:url(../img/common/cont-bg.jpg) no-repeat; background-size:cover; background-position:center; background-attachment:fixed; padding:2rem 0; }
.sec-heading { font-size:2rem; font-weight:400; text-align:center; line-height:1; margin-bottom:4rem; }
.heading-sub { display:block; font-size:1rem; font-weight:500; line-height:1.8; margin-top:1rem; letter-spacing:0.7rem; }
.sec-heading .tit { width:400px; height:auto; }

.cont-tit { font-size:1.4rem; line-height:2.6; font-weight:700; }
.cont-cet { text-align:center; }

.page-top { position:fixed; bottom:1rem; right:0.5rem; }
.page-top img { width:90px; }

/**** pre ***************************************************/
.pre-area { text-align:center; margin:8rem auto; }

/**** header ***************************************************/
.site-head { width:100%; }
.h-inner { height:225px; }
.h-logo { width:300px; height:225px; margin:2rem auto; }
.h-logo .logo-pic, .f-logo .logo-pic { width:300px; }

/****  ***************************************************/
.btn-check a { display:block; width:80%; margin:1rem auto; padding:1.8rem 1rem; border-radius:10px; border:1px solid #666; }
.btn-check a:hover { background:#9CC; }

.page-preview { width:800px; margin:0 auto; }
.pretext { font-size:1.05rem; line-height:1.5rem; }
.pretext .stg { font-weight:700; }

.pc-preview { width:1500px; margin:0 auto; }
.pc-img { width:1500px; }
.sp-img { width:100%; }

/**** footer ***************************************************/
footer .f-logo { text-align:center; }

@media screen and (max-width: 1024px) {
body { min-width:100%; }
img { width:100%; height:auto; }
.base-wrap { max-width:100% !important; }
}

@media screen and (max-width: 767px) {
body { width:100%; }
.page-preview { width:90%; }
.btn-check a { width:90%; }
.sp-w90 { width:90% !important; margin:0 auto; }
.cont-flex { display:block; }
.narrow-wrap { width:90%; margin:0 auto 5rem; }
}

