@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700;900&display=swap');
@charset "utf-8";

/* --HTML-- */
html {
	overflow-y:scroll;
    overflow-x: hidden;
	height:100%;
	-webkit-overflow-scrolling: touch;
}
html.wf-active {
  visibility: visible;
}

/* --BODY-- */
body {
	margin:0;
	padding:0;
	height:100%;
}

main { display: block }

/* --OTHER TAGS-- */
a img, img { border:0; }
a {}

blockquote, dd, div, dl, dt, h1, h2, h3, h4, h5, h6, li, ol, ul, pre, span, table, caption, p {
	margin:0;
	padding:0;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: 700;	
}
abbr, acronym {
	border:0;
}

address, cite, code, dfn, em, th, var {
	font-style:normal;
	font-weight:normal;
}

code, kbd, pre, samp, tt {
	font-family:monospace;
	line-height:100%;
}

	/* for IE7 */
	*+html code, kbd, pre, samp, tt {
	font-size:108%; 
	}

q:before, q:after { content:''; }

/* --A-- */
a {
	cursor:pointer;
	text-decoration:underline;
}

a:hover,
a:focus { text-decoration:none; }

/*figure*/
figure { margin: 0; padding: 0;}

/* --IMG-- */
img { vertical-align: bottom; max-width: 100%; height: auto; }

/* --FORM-- */
button, fieldset, form, input, label, legend, select, textarea {
	font-family:inherit;
	font-size:100%;
	font-style:inherit;
	font-weight:inherit;
	margin:0;
	padding:0;
	vertical-align:baseline;
}
fieldset {
	border:1px solid #ccc;
	margin-bottom:1em;
	padding:0 1em 1em 1em;
}

legend {
	background:#fff;
	padding:0.3em;
}

input, textarea {
	padding:0;
	margin: 0;
	vertical-align:middle;
}

input[type="checkbox"],input[type="radio"] { vertical-align:-2px !important; margin-right:5px; }
*input[type="checkbox"],*input[type="radio"] { vertical-align:2px !important; }

input[type="submit"],input[type="button"] { padding:0em; margin: 0; cursor: pointer;}

select { padding:0.3em; }

	/* for IE6 */
	* html input { padding:0.1em; }
	* html img { vertical-align:top; }
	
	* html input.checkbox,* html input.radio { vertical-align:-0.3em; }

	/* * html input.submit { line-height:1.2; padding-top:0.2em; } */
	
	* html select { vertical-align:-0.2em; }
	
	/* for IE7 */
	*+html input { padding:0.1em; }
	
	/* *+html input.submit { line-height:1.2; padding-top:0.2em; } */
	
	*+html select { vertical-align:-0.2em; }

	/* for Opera9.27 */
	html:first-child input { padding:0.1em; }
	
	html:first-child input[type="checkbox"],html:first-child input[type="radio"] { vertical-align:middle; }

	/* html:first-child input[type="submit"] { padding:0.3em; } */
	
	html:first-child select { padding:0.2em; }

	/* for Opera9.5 [Safari3] */
	body:first-of-type input { padding:0.1em; }

	body:first-of-type input[type="checkbox"],body:first-of-type input[type="radio"] { vertical-align:-0.3em; }
	
	/* body:first-of-type input[type="submit"] { padding:0.3em 0.3em 0.2em 0.3em; } */

	/* for Safari3 */
	html:not(:only-child:only-child) input { padding:0; vertical-align:baseline; }
	
	html:not(:only-child:only-child) input[type="checkbox"],
	html:not(:only-child:only-child) input[type="radio"] { vertical-align:baseline; }
	
	html:not(:only-child:only-child) select { vertical-align:0.1em; }

input,
textarea {
	border:1px solid #888;
	padding:0.2em 0.4em!important;
	border-radius:2px;
	box-sizing: border-box;
}
form .btnarea {
	text-align:center;
}

/* --LIST-- */
ol, ul {
	text-align:justify;
	text-justify:inter-ideograph;
}
li {
	list-style-type: none;	
}

/* --TABLE-- */
table {
	border-collapse:collapse;
	border-spacing:0;
	font-size:100%;
}
th,td{vertical-align:top;}

/* --HR-- */
hr { display: none; clear:both; } /* 不可視使用 */

/* -------------------------------------------
PC/SP 共通
------------------------------------------- */
article img.aligncenter {
    display: block;
    margin: 0 auto;
}
article .alignright { float: right; margin-left:1em; }
article .alignleft { float: left; margin-right:1em; }

header:after,
section:after,
article:after,
footer:after,
#contents:after,
.inner:after{
	content:"";
	display:block;
	clear:both;
}
* html #container{ display:inline-block; }
*+html #container{ display:inline-block; }

/* .article */
#main article{
}
* html #main article{ display:inline-block; }
*+html #main article{ display:inline-block; }

/* P */
article p { margin-bottom:0.75em; }

/* -------------------------------------------
Module
------------------------------------------- */
/* ------ ClearFix ------ */
.clearfix:after {
	content:"";
	display:block;
	clear:both;
}
* html .clearfix { display:inline-block; }
*+html .clearfix { display:inline-block; }

/* -------------------------------------------
Layout
------------------------------------------- */
body {
	font-size: 16px;
	line-height: 1.4;
	text-align: justify;
	font-weight: nomal;
	color: #333;
	background-size: 100% auto;
	background-attachment: fixed;
	height: 100%;
	font-family: 'M PLUS Rounded 1c', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
}
section {
    margin: 0;
    padding: 0;
}
article {
    margin: 0;
    padding: 0;
}

/* -------------------------------------------
Elements
------------------------------------------- */
/*img*/
img { max-width: 100%;height: auto; }

/*a*/
a {color:#0071BC; text-decoration:none; transition: 0.3s ease-out;}
a:hover {color:#00BA23; text-decoration:none;}
a img { opacity: 1; transition: opacity 0.3s ease-out; }
a:hover img { opacity: 0.75; }

/*figure*/
figure {
	position: relative;
}

/*hedding*/


/* -------------------------------------------
layout
------------------------------------------- */
/*Inner*/
section {
    padding: 3em 0;
    position: relative;
}
article {
    padding: 2em 0;
    position: relative;
}
.inner {
	width: 90%;
	max-width: 980px;
	margin: auto;
}
section:after,
article:after,
ol:after,
ul:after,
div.inner:after,
.cleafix {
	display: block;
	content: '';
	clear: both
}

/* -------------------------------------------
Header
------------------------------------------- */
header#siteheader {
    width: 100%;
    background: url("../images/header-bg.png") repeat-x bottom center #fff;
    background-size: 980px auto;
    padding: 0;
    z-index: 10000;
}
header#siteheader .discription {
    background: #39b54a;
    padding: 0.25em 0;
}
header#siteheader .discription h1 {
    display: none;
    color: #fff;
    font-size: 0.8em;
    font-weight: 500;
    width: 96%;
    max-width: 1280px;
    margin: auto;
}
header#siteheader section.inner {
    width: 90%;
    max-width: 1280px;
    padding: 1.25em 0;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
header#siteheader section.inner h1 {
    width: 200px;
    margin: 0 auto 0.5em;
}
header#siteheader section.inner div.contact {
    width: 100%;
    text-align: center;
}
header#siteheader section.inner div.contact .tel {
    font-size: 0.75em;
    line-height: 1.25;
    text-align: center;
    margin-right: 1.5em;
}
header#siteheader section.inner div.contact .tel .phonenumber a {
    color: #333;
    font-size: 2.75em;
    font-weight: 700;
}
header#siteheader section.inner div.contact .mail p a {
    display: block;
    padding: 0.5em 1em;
    font-size: 1.15em;
    font-weight: 700;
    text-align: center;
    background: #f4d323;
    border-radius: 3px;
    border-bottom: solid 5px #d99833;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    transition: none;
}
header#siteheader section.inner div.contact .mail p a:hover {
    border-bottom: none;
}

/* -------------------------------------------
Main
------------------------------------------- */
main {
    padding: 0 0 0 0;
}

/* -------------------------------------------
Navigatiron
------------------------------------------- */
nav#menu {
    width: 100%;
    background: #f6d500;
    padding: 0.5em 0;
    margin: 0;
}
nav#menu ul {
    width: 90%;
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
nav#menu ul li {
    font-size: 1em;
    margin: 0 auto;
}
nav#menu ul li:nth-last-of-type(1) {
    margin-left: auto;
}
nav#menu ul li a {
    color: #333;
    padding: 0 0.5em;
    transition: 0.3s ease-out;
    font-weight: 700;
    max-width: 8em;
    text-align: center;
    display: block;
}
nav#menu ul li a:hover {
    background: #29abe2;
    color: #fff;
}
.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10001;
	width: 100%;
}

/* -------------------------------------------
Footer
------------------------------------------- */
footer#sitefooter {
    background: #22b573;
    color: #fff;
    padding: 2.5em 0;
    margin: 6em 0 0 0;
    text-align: center;
}
footer#sitefooter p img {
    height: 48px;
    width: auto;
}
footer#sitefooter ul {
    text-align: center;
    margin: 1.5rem 0 1.25rem;
    font-size: 0;
}
footer#sitefooter ul li {
    display: inline-block;
    margin: 0 0em 0 0;
    font-size: 1rem;
}
footer#sitefooter ul li:after {
    content: '｜';
}
footer#sitefooter ul li:nth-last-of-type(1):after {
    content: none;
}
footer#sitefooter ul li a {
    color: #FFF;
    transition: ease-out 0.3s;
}
footer#sitefooter ul li a:hover {
    color: #fbb03b;
}
footer#sitefooter dl {
    padding: 1.25rem 0;
    border-top: solid 1px #FFF;
    border-bottom: solid 1px #FFF;
}
footer#sitefooter p.copyright {
    font-size: 0.85em;
	text-align: center;
	margin: 1.5em 0 0em;
}
footer#sitefooter a {
    color: #fff;
    transition: 0.3s ease-out;
}
footer#sitefooter a:hover {
    color: #ff0;
}

/* -------------------------------------------
Pagetop
------------------------------------------- */
/* トップに戻るボタン */
#page-top {
	position: fixed;
	bottom: 0%;
	right: 2.5%;
	font-size: 0.85em;
	z-index: 9999;
	line-height: 1;
	width: 3em;
	padding: 1em 1em;
    background: #29abe2;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
#page-top i {
    margin: 0;
    font-size: 2em;
    line-height: 1;
}
#page-top a {
	text-decoration: none;
    color: #fff;
	text-align: center;
	display: block;
}
#page-top a:hover {
	text-decoration: none;
}


/* -------------------------------------------
MediaQuery
------------------------------------------- */
/*SmartPhone*/
@media screen and (max-width:480px) {
    body {
        font-size: 4vw;
    }

}
@media screen and (min-width:481px) {
	.pc_img { display:block; }
	.sp_img { display:none; }
}


/*Tablet*/
@media screen and (min-width:481px) and (max-width:960px) {
    /* -------------------------------------------
    Header
    ------------------------------------------- */
    header#siteheader section.inner {
        width: 96%;
        padding: 1.25em 0;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }
    header#siteheader section.inner h1 {
        width: 248px;
        margin: 0 0;
    }
    header#siteheader section.inner div.contact {
        width: auto;
        margin-left: auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    header#siteheader section.inner div.contact .tel {
        font-size: 0.75em;
        line-height: 1.25;
        text-align: center;
        margin-right: 1.5em;
    }
    header#siteheader section.inner div.contact .tel .phonenumber a {
        color: #333;
        font-size: 2.5em;
        font-weight: 700;
    }
    header#siteheader section.inner div.contact .mail p a {
        font-size: 1em;
    }
    /* -------------------------------------------
    Navigatiron
    ------------------------------------------- */
    nav#menu ul {
        width: 98%;
    }
    nav#menu ul li {
        font-size: 0.85em;
        margin: 0 auto;
    }
    nav#menu ul li:nth-of-type(1) {
        display: none;
    }
}
@media screen and (min-width:768px) {
    /* -------------------------------------------
    Header
    ------------------------------------------- */
    header#siteheader .discription h1 {
        display: block;
    }
}

/*DeskTop*/
@media screen and (min-width:961px) {
    /* -------------------------------------------
    Header
    ------------------------------------------- */
    header#siteheader .discription h1 {
        color: #fff;
        font-size: 0.8em;
        font-weight: 500;
        width: 96%;
        max-width: 980px;
        margin: auto;
    }
    header#siteheader section.inner {
        width: 90%;
        padding: 1.25em 0;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }
    header#siteheader section.inner h1 {
        width: 248px;
        margin: 0;
    }
    header#siteheader section.inner div.contact {
        width: auto;
        margin-left: auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    header#siteheader section.inner div.contact .tel {
        font-size: 0.75em;
        line-height: 1.25;
        text-align: center;
        margin-right: 1.5em;
    }
    header#siteheader section.inner div.contact .tel .phonenumber a {
        color: #333;
        font-size: 2.75em;
        font-weight: 700;
    }
    header#siteheader section.inner div.contact .mail p a {
        display: block;
        padding: 0.5em 1em;
        font-size: 1.15em;
        font-weight: 700;
        text-align: center;
        background: #f4d323;
        border-radius: 3px;
        border-bottom: solid 5px #d99833;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px;
        transition: none;
    }
    header#siteheader section.inner div.contact .mail p a:hover {
        border-bottom: none;
    }

    
    
}