@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

html { font-size: 62.5%;}
body{
	background: #f1f1f5;
	font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
	color: #333;
	font-size: 16px;
	line-height: 1.4;
	-webkit-text-size-adjust: none;
}
@media (max-width: 519px) {
	body{ font-size: 15px;}
}

*{ box-sizing: border-box;}
.clearfix:after{
	visibility: hidden;
	display: block;
	content: ".";
	height: 0;
	clear: both;
}
* html .clearfix{ height: 1%;}
.clearfix{ display: block;}

p{ margin-bottom: 10px;}
p:last-child{ margin-bottom: 0;}
a{
	color: #333;
	text-decoration:none;
}
a:hover{ color: #555; text-decoration: none;}
a:active, a:focus { outline: none;}
a:hover img{ opacity: 0.9;}

img{
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
hr{
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 2.0rem;
}

.bg01{ background: #fff;}
.bg02{ background: #F3F3EB;}
.bg03{ background: #ffe2b7;}

.white{ color: #fff!important;}
.red{ color: #e50012!important;}
.b{ font-weight: bold;}
.bdrT{ border-top: 1px solid #ccc;}
.bdrB{ border-bottom: 1px solid #ccc;}


/* margin padding
---------------------------------- */
.m0{ margin: 0!important;}
.m10-b{ margin-bottom: 10px!important;}
.m20-b{ margin-bottom: 20px!important;}
.m30-b{ margin-bottom: 30px!important;}
.m40-b{ margin-bottom: 40px!important;}
.m50-b{ margin-bottom: 50px!important;}
.m60-b{ margin-bottom: 60px!important;}
.m70-b{ margin-bottom: 70px!important;}
.m80-b{ margin-bottom: 80px!important;}
.m90-b{ margin-bottom: 90px!important;}
.m100-b{ margin-bottom: 100px!important;}
@media (max-width: 519px) {
	.m40-b{ margin-bottom: 30px!important;}
	.m50-b{ margin-bottom: 30px!important;}
	.m60-b{ margin-bottom: 40px!important;}
	.m70-b{ margin-bottom: 40px!important;}
	.m80-b{ margin-bottom: 50px!important;}
	.m90-b{ margin-bottom: 50px!important;}
	.m100-b{ margin-bottom: 60px!important;}
}
.m10-t{ margin-top: 10px!important;}
.m20-t{ margin-top: 20px!important;}
.m30-t{ margin-top: 30px!important;}
.m40-t{ margin-top: 40px!important;}
.m50-t{ margin-top: 50px!important;}
.m60-t{ margin-top: 60px!important;}
.m70-t{ margin-top: 70px!important;}
.m80-t{ margin-top: 80px!important;}
.m90-t{ margin-top: 90px!important;}
.m100-t{ margin-top: 100px!important;}
@media (max-width: 519px) {
	.m40-t{ margin-top: 30px!important;}
	.m50-t{ margin-top: 30px!important;}
	.m60-t{ margin-top: 40px!important;}
	.m70-t{ margin-top: 40px!important;}
	.m80-t{ margin-top: 50px!important;}
	.m90-t{ margin-top: 50px!important;}
	.m100-t{ margin-top: 60px!important;}
}

.fsize14{ font-size: 14px;}
@media (max-width: 425px) {
    .fsize14{ font-size: 12px;}
}

.moreLink{}
.moreLink a{
	display: block;
	width: 240px;
	margin: 0 auto;
	padding: 12px 0;
	border: 2px solid #e50012;
	border-radius: 100px;
	background: #e50012;
	font-size: 14px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	transition: all 0.4s ease;
	outline: none;
}
.moreLink a:hover{
	background: #fff;
	color: #e50012;
}

/* header
---------------------------------- */
.topBar{ width: 100%;}
.topBar .In{
    position: relative;
    z-index: 2;
}
.topBar a{ display: inline-block;}
.topBar a img{
    transition: all 0.4s ease;
}
.topBar .In a{}
.topBar .In a h1{}
header{
	height: 80px;
	padding: 20px;
	background: #fff;
}
header a img{
	width: auto;
	height: 40px;
}
header a h1{
    font-size: 14px;
    color: #333;
}
header a h1 span{
	position: absolute;
	top: -12px;
	left: 78px;
	display: block;
}
@media (max-width: 767px) {
	header{ height: auto;}
    header a img{ height: 30px;}
	header a h1 span{ left: 60px;}
}
@media (max-width: 519px) {
	header{ padding: 10px;}
	header a h1 span{ position: static;}
	header a img{ height: 26px;}
}
@media (max-width: 375px) {
	header a img{ height: 20px;}
}


/* ---- menu ---- */
.menuBox{ margin: 0 0 40px;}
.menuBox ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0;
}
.menuBox li{ width: 32.5%;}
.menuBox li a{
	display: block;
	border-radius: 8px;
	padding: 15px 5px;
	background: #888;
	font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    font-style: normal;
	font-size: 18px;
	text-align: center;
	color: #fff;
}
.menuBox li.on a{ background: #2d558b;}
.menuBox li a:hover{ background: #274b7b;}
@media (max-width: 767px) {
	.menuBox li a{
		font-size: 16px;
		line-height: 1.2;
	}
	.menuBox li a span{ display: block;}
	.menuBox li.twoLines a{ padding: 5px;}
}
@media (max-width: 519px) {
	.menuBox{ margin: 0 0 20px;}
	.menuBox li a{
		border-radius: 6px;
		padding: 13px 5px;
		font-size: 14px;
	}
}
@media (max-width: 320px) {
	.menuBox ul{ display: block;}
	.menuBox li{ width: 100%;}
	.menuBox li:not(:last-child){ margin: 0 0 5px;}
	.menuBox li a,
	.menuBox li.twoLines a{ padding: 10px 5px;}
	.menuBox li a span{ display: inline;}
}


/* ---- page title ---- */
.headTtlebox{
	background: #e50012;
	margin: 0 0 30px;
	padding: 29px 20px 25px;
}
.headTtleboxIn{
	max-width: 1000px;
	margin: 0 auto;
}
.headTtleboxIn h1{
	padding: 0;
	font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 30px;
	line-height: 1.2;
	word-break: break-all;
	color: #fff;
}
@media (max-width: 1024px) {
	.headTtleboxIn h1{ font-size: 26px;}
}
@media (max-width: 767px) {
	.headTtlebox{ padding: 20px;}
	.headTtleboxIn h1{ font-size: 20px;}
}
@media (max-width: 519px) {
	.headTtlebox{ padding: 15px;}
}




/* menu ※削除予定
---------------------------------- */
.drawer-navbar{
    padding: 20px;
    transition: all 0.4s ease;
}
/*.drawer-navbar.fixed.top{ position: fixed;}*/
.drawer-navbar.fixed{
    top: 0;
    height: 80px;
    background: rgba( 255,255,255,0.6);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}
.drawer-navbar.fixed .drawer-menu-item{
    font-size: 16px;
    line-height: 60px;
}
.drawer-navbar.fixed .drawer-menu-item:hover{
    background-color: #e50012;
    color: #fff;
}
.drawer-navbar .drawer-menu-item span img{
	vertical-align: top;
	width: auto;
	height: 40px;
	padding: 20px 0 0 0;
}

.drawer-navbar.fixed li.reserve .drawer-menu-item{
    background-size: 14px auto;
    padding: 0 20px 0 40px;
}

.drawer-navbar .drawer-menu-item{
	margin: 0 5px;
	padding: 0 15px;
	border-radius: 10px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 18px;
    /*color: #ccc;*/
    text-shadow: 0 0 2px #fff;
    transition: all 0.4s ease;
}
.drawer-navbar .drawer-menu-item span{ pointer-events: none;}
.drawer-navbar li.reserve .drawer-menu-item:hover{ background-color: #11261f;}

.drawer-navbar .drawer-menu li{ text-align: center;}
.drawer-menu-item:hover{
	text-decoration: none;
    text-shadow: none;
    color: #fff;
}
.drawer-navbar .drawer-menu li.spOnly{ display: none;}

@media (max-width: 1440px) {
    .drawer-navbar .drawer-menu-item{ padding: 0 10px;}
}
@media (max-width: 1024px) {
	.drawer-navbar .drawer-menu li ul li{ width: 100%;}
}
@media (max-width: 768px) {
    .drawer-navbar{ padding: 10px;}
	.drawer-navbar.fixed{ height: 64px;}
    .drawer-navbar.fixed{ -webkit-backdrop-filter: none;}
    .drawer-navbar.fixed{ backdrop-filter: none;}
}
@media (max-width: 767px) {
    .drawer-navbar .drawer-menu-item span{ pointer-events: auto;}
	.drawer-navbar .drawer-menu li{
        width: 100%;
        margin: 0;
    }
	.drawer-navbar .drawer-menu-item,
	.drawer-navbar.fixed .drawer-menu-item{
        width: 100%;
        padding: 0;
        line-height: 1.4;
		text-align: left;
        text-shadow: none;
        color: #232a34;
	}
    .drawer-navbar .drawer-menu-item span,
    .drawer-navbar.fixed .drawer-menu-item span{
        display: block;
        padding: 10px 15px;
    }
    .drawer-navbar li.reserve .drawer-menu-item,
    .drawer-navbar.fixed li.reserve .drawer-menu-item{
        padding: 0;
        background-size: 15px auto;
        background-position: 10px center;
    }
    .drawer-navbar li.reserve .drawer-menu-item span,
    .drawer-navbar.fixed li.reserve .drawer-menu-item span{
        display: block;
        padding: 10px 15px 10px 35px;
    }
	.drawer-navbar .drawer-menu li.spOnly{ display: block;}
	.drawer-navbar .drawer-menu li{ border-bottom: 1px solid #ddd;}
	.drawer-menu-item:hover{ background: #efefef;}
	.drawer-navbar .drawer-menu li ul li{
		border-top: 1px solid #ddd;
		border-bottom: none;
	}
	.drawer-navbar .drawer-menu-item span img{
		padding: 0;
		height: auto;
	}
}
@media (max-width: 519px) {
	body.toppage .drawer-navbar.fixed{
		position: absolute;
		background: none;
	}
	.drawer-navbar.fixed{ background: none;}
}


/* ---- ハンバーガーメニュー時 ---- */
.drawer-nav.hamburgerMenu .drawer-menu-item{
	padding: 10px 15px;
	text-align: left;
	color: #333;
	font-size: 14px;
}
.drawer-nav.hamburgerMenu .drawer-menu-item:hover{ background: #efefef;}
.drawer-nav.hamburgerMenu .drawer-menu li{ border-bottom: 1px solid #ddd;}
/*
.sticky-menu{
	position: sticky;
	top: 0;
	transition: .5s;
}
@media (max-width: 767px) {
    .sticky-menu{ position: static;}
}*/


/* pageTop
---------------------------------- */
.pagetop{
    display: none;
    position: fixed;
    bottom: 20px;
    right: 10px;
    z-index: 9999;
}
.pagetop a{
    display: block;
    opacity: 0.6;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    position: relative;
	background: url("../images/arrow-w-up.png") no-repeat center 10px #232a34;
	background-size: 10px auto;
    text-align: center;
    color: #fff;
    font-size: 10px;
    text-decoration: none;
}
.pagetop a span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	padding: 10px 0 0 0;
}
.pagetop a:hover{ opacity: 1.0;}
@media (max-width: 519px) {
}


/* ---- common contents ---- */
.topBox{
    max-width: 1000px;
    margin: 0 auto;
    padding: 90px 0;
}
.topBox.w1200{ max-width: 1200px;}
.topBox.mini{ padding: 40px 0;}
.topBox.noneP{ padding: 0;}
@media (max-width: 1000px) {
    .topBox{ margin: 0 10px;}
    .topBox.w1200{ margin: 0 10px;}
}
@media (max-width: 1024px) {
    .topBox{ padding: 60px 0;}
}
@media (max-width: 519px) {
    .topBox{ padding: 30px 0;}
}

.mainTtl{
    margin: 0 0 50px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
    font-size: 40px;
	text-align: center;
	color: #e50012;
}
.mainTtl.mini{ font-size: 36px;}
.mainTtl.lll{ text-align: left;}
.subTtl{
    width: 200px;
    background: #b5dbe7;
    border-radius: 100px;
    margin: 0 auto 10px;
    padding: 7px 10px 5px;
    font-size: 15px;
    text-align: center;
}
@media (max-width: 1200px) {
    .mainTtl.lll{ text-align: center;}
}
@media (max-width: 1024px) {
	.mainTtl,
	.mainTtl.mini{ font-size: 30px;}
}
@media (max-width: 768px) {
    .mainTtl{
        margin: 0 0 40px;
        font-size: 24px;
    }
}
@media (max-width: 519px) {
    .mainTtl,
    .mainTtl.mini{
        margin: 0 0 20px;
        font-size: 18px;
    }
    .subTtl{
        width: 180px;
        font-size: 13px;
    }
}
@media (max-width: 375px) {
}

.waku01{
	margin: 0 0 40px;
	padding: 40px;
	background: #f1f1f5;
	border-radius: 20px;
}
.waku02{
	margin: 0 0 40px;
	padding: 25px;
	background: #fff;
    border: 1px solid #ccc;
	border-radius: 10px;
}
@media (max-width: 1024px) {
    .waku01,
    .waku02{ padding: 20px;}
}
@media (max-width: 519px) {
    .waku01,
    .waku02{
        margin: 0 0 20px;
        padding: 18px;
    }
}


.commonBox{
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}
.commL{
    width: 50%;
    padding: 40px;
}
.commL h3{
    margin: 0 0 40px;
    font-size: 20px;
    font-weight: bold;
}
.commL p{
    font-size: 18px;
    line-height: 1.6;
}
.commL p:not(:last-child){ margin: 0 0 20px;}
.commR{ width: 50%;}
@media (max-width: 1440px) {
    .commL{ padding: 0 30px;}
}
@media (max-width: 1024px) {
    .commL h3{ margin: 0 0 30px;}
    .commL p{ font-size: 16px;}
}
@media (max-width: 768px) {
    .commL{ padding: 0 20px;}
}
@media (max-width: 767px) {
    .commonBox{ display: block;}
    .commL{
        width: 100%;
        margin: 0 auto 30px;
        padding: 0;
    }
    .commR{
        width: 100%;
        margin: 0 auto;
    }
    .commR img{ width: 100%;}
}
@media (max-width: 519px) {
    .commL{ margin: 0 auto 20px;}
    .commL h3{
        margin: 0 0 20px;
        font-size: 16px;
    }
    .commL p{ font-size: 15px;}
}


/* ---- message ---- */
.topMessage p{
	font-size: 20px;
	font-weight: bold;
}
@media (max-width: 1024px) {
	.topMessage p{ font-size: 18px;}
}
@media (max-width: 519px) {
	.topMessage p{ font-size: 15px;}
}


/* ---- point ---- */
.pointImgBox{
	margin: 0 0 40px;
}
.pointImgBox ul{
	display: flex;
	justify-content: space-between;
	font-size: 0;
}
.pointImgBox li{
	width: 32%;
	min-height: 160px;
	border: 2px solid #e50012;
	border-radius: 5px;
	padding: 25px 0 0;
	text-align: center;
}
.pointImgBox li img{
	width: 80px;
	margin: 0 0 10px;
}
.pointImgBox li p{
	font-size: 14px;
	font-weight: bold;
}
.pointTxt h3{
	background: url("../images/icon/icon-check01.png") no-repeat left center;
	background-size: 25px auto;
	padding-left: 30px;
}
.pointTxt p:not(:last-child){ margin: 0 0 30px;}
.pointTxt span{
	font-size: 20px;
	font-weight: bold;
}
@media (max-width: 768px) {
	.pointTxt h3{
		background-size: 20px auto;
		padding-left: 25px;
	}
}
@media (max-width: 519px) {
	.pointImgBox li{ min-height: 140px;}
	.pointImgBox li img{ width: 60px;}
	.pointImgBox li p{ font-size: 12px;}
	.pointTxt span{ font-size: 18px;}
	.pointTxt p:not(:last-child){ margin: 0 0 20px;}
}
@media (max-width: 375px) {
	.pointImgBox ul{ display: block;}
	.pointImgBox li{
		width: 100%;
		min-height: auto;
		padding: 10px;
	}
	.pointImgBox li:not(:last-child){ margin: 0 0 10px;}
	.pointTxt span{ font-size: 16px;}
}
@media (max-width: 320px) {
}




/* ---- store information ---- */
.accessBox{
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}
.accessL{ width: 500px;}
.accessL img{ border-radius: 20px;}
.accessR{ width: calc( 100% - 530px );}
.accessR p{
    margin: 0 0 30px;
    font-size: 18px;
    line-height: 1.4;
}
.accessR p span{
    display: inline-block;
    width: 100px;
}
.acminiBox{}
.acminiBox dl{
	display: flex;
	align-items: first baseline;
    padding: 0 0 15px;
}
.acminiBox dt{
    width: 120px;
	background: #fff;
	padding: 7px 10px 5px;
	border-radius: 50px;
    font-size: 16px;
    font-weight: bold;
    vertical-align: top;
    color: #555;
	text-align: center;
}
.acminiBox dd{
	width: calc( 100% - 120px );
	padding: 0 0 0 20px;
    font-size: 16px;
}
.accessR a{ text-decoration: underline;}
@media (max-width: 1024px) {
    .accessR p{ font-size: 16px;}
	.acminiBox dt{
		width: 100px;
		font-size: 14px;
	}
	.acminiBox dd{
		margin: 0 0 0 10px;
		font-size: 16px;
	}
}
@media (max-width: 1023px) {
	.accessL{ width: 400px;}
	.accessR{ width: calc( 100% - 430px );}
	.acminiBox dl{ padding: 0 0 20px;}
	.acminiBox dt{}
	.acminiBox dd{ margin: 0;}
}
@media (max-width: 768px) {
    .accessBox{
        display: block;
        margin: 0 auto;
        max-width: 600px;
    }
    .accessL{
        width: 100%;
        margin: 0 auto 30px;
        text-align: center;
    }
    .accessL img{ width: 100%;}
    .accessR{
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }
    .accessR p{
        margin: 0 0 20px;
        font-size: 14px;
    }
}
@media (max-width: 519px) {
    .accessL{ margin: 0 auto 20px;}
    .acminiBox dl{ padding: 0 0 10px;}
    .acminiBox dt{
        font-size: 14px;
    }
    .acminiBox dd{
        font-size: 14px;
    }
}
@media (max-width: 320px) {
	.acminiBox dl{
		display: block;
		padding: 0 0 20px;
	}
	.acminiBox dt{ margin: 0 0 5px;}
	.acminiBox dd{
		width: 100%;
		padding: 0;
	}
}


/* ---- MAP ---- */
.mapBox{
	width: 100%;
	margin: 30px 0 0;
}
.mapBox iframe{
    width: 100%;
    height: 400px;
    vertical-align: bottom;
	border-radius: 20px;
}
@media (max-width: 519px) {
	.mapBox iframe{ height: 300px;}
}


/* ---- go to form ---- */
.telBox{ position: relative;}
.telBox p{}
.telBox a.telAct{
	display: block;
    width: 340px;
	margin: 0 auto 10px;
	padding: 0 0 0 40px;
	transition: all 0.4s ease;
	background: url("../images/icon/icon-tel.png") no-repeat left center;
	background-size: 26px auto;
    font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
    font-size: 40px;
    color: #e50012;
}
.telinBox{
	margin: 40px 0 0;
	text-align: center;
}
@media (max-width: 519px) {
    .telBox span.time{ font-size: 12px;}
}
@media (max-width: 425px) {
    .telBox a.telAct{
        width: 230px;
        padding: 0 0 0 25px;
        background-size: 20px auto;
        font-size: 26px;
    }
}

.goForm{ margin: 30px 0 0;}
.goForm a{
	position: relative;
    display: block;
    transition: all 0.4s ease;
	max-width: 500px;
	border: 2px solid #e50012;
    background: #e50012;
    margin: 0 auto;
    padding: 20px 10px;
    border-radius: 100px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
    font-size: 30px;
    color: #fff;
    text-align: center;
}
.goForm a:hover{
	background: #fff;
	color: #e50012;
}
.goForm a .sub{
	display: block;
	margin-top: 5px;
	font-size: 15px;
	font-weight: normal;
}
@media (max-width: 768px) {
    .goForm a{
        max-width: 400px;
        font-size: 20px;
    }
}
@media (max-width: 519px) {
    .goForm{ margin: 25px 0 0;}
    .goForm a{ padding: 10px;}
	.goForm a .sub{ font-size: 13px;}
}
@media (max-width: 425px) {
}


/* ---- news & contact ---- */
.pageBox{}

.newsBox{}

.whiteBoard{}
.whiteBoard  + .whiteBoard{ margin: 40px 0 0;}

.qkanBox{}

.chunk01.qkanBox h3{
	margin: 0 0 20px;
	padding: 5px;
	font-size: 40px;
	text-align: center;
	background: #00a6e9;
	color: #fff;
}
@media (max-width: 1024px) {
	.chunk01.qkanBox h3{ font-size: 30px;}
}
@media (max-width: 768px) {
	.chunk01.qkanBox h3{ font-size: 24px;}
}
@media (max-width: 519px) {
	.chunk01.qkanBox h3{ font-size: 18px;}
}

.qkanDay{}
.qkanDay ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 15px 0;
}
.qkanDay li{
	width: 15%;
	background: #fff;
	border: 5px solid #2d558b;
	border-radius: 6px;
	padding: 10px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
    font-size: 50px;
	line-height: 1.2;
	text-align: center;
	color: #2d558b;
}
.qkanDay li:nth-child(even){
	border: 5px solid #e97106;
	color: #e97106;
}
.qkanDay li p{
	margin: 0;
	font-weight: 500;
	font-size: 20px;
}
.qkanDay li span{
	display: block;
	padding: 2px 0;
	background: #2d558b;
	border-radius: 20px;
	font-size: 12px;
	color: #fff;
}
.qkanDay li:nth-child(even) span{
	background: #e97106;
}
@media (max-width: 1024px) {
}
@media (max-width: 768px) {
	.qkanDay li{ font-size: 40px;}
}
@media (max-width: 767px) {
	.qkanDay li{ width: 18%;}
	.qkanDay ul::after{
		content: '';
		width: 59%;
	}
}
@media (max-width: 519px) {
	.qkanDay ul{ gap: 10px 0;}
	.qkanDay li{ width: 23%;}
}
@media (max-width: 425px) {
	.qkanDay ul{ gap: 5px 0;}
	.qkanDay li{
		width: 32.5%;
		font-size: 30px;
	}
	.qkanDay li p{ font-size: 16px;}
}

.contactBox{ text-align: center;}
.contactBox p{ margin: 0 0 30px;}
@media (max-width: 519px) {
	.contactBox p{
		margin: 0 0 20px;
		text-align: left;
	}
}





/* 404
---------------------------------- */
.topBox.notfound404{}
.topBox .notfound404 h2{
	margin: 0 0 20px;
	padding: 10px;
	background: #efefef;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}
@media (max-width: 768px) {
	.topBox .notfound404 h2{ font-size: 24px;}
}
@media (max-width: 519px) {
	.topBox .notfound404 h2{
		font-size: 20px;
		text-align: left;
	}
}
@media (max-width: 425px) {
	.topBox .notfound404 h2{ font-size: 16px;}
}


/* footer
---------------------------------- */
.contBox{
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 0;
}
@media (max-width: 1200px) {
    .contBox{ margin: 0 10px;}
}
@media (max-width: 519px) {
    .contBox{ padding: 40px 0;}
}


footer{ background: #232a34;}
footer .contBox{
	display: flex;
	justify-content: space-between;
	padding: 40px 0;
}
.footAddress{}
.footAddress img{
	display: inline-block;
	max-width: 100%;
	width: 250px;
	height: auto;
	margin: 0 0 20px;
}
.footAddress p{
	font-size: 13px;
	color: #fff;
}
.footAddress p a{ color: #fff;}
.footLinkBox{
	display: flex;
	justify-content: flex-end;
}
.footLink{ min-width: 140px;}
.footLink ul{ font-size: 0;}
.footLink li{ line-height: 2.4;}
.footLink li a{
    font-size: 12px;
    color: #fff;
}
footer small{
	display: block;
	padding: 8px 0;
	text-align: center;
    font-size: 10px;
    color: #ddd;
}
@media (max-width: 680px) {
	footer .contBox{ display: block;}
	.footAddress{ margin: 0 0 20px;}
	.footLinkBox{ display: block;}
    .footLink li{
		float: left;
        margin: 0 1% 2%;
        width: 48%;
    }
    .footLink li a{
        display: block;
        border: 1px solid #ccc;
        border-radius: 4px;
        padding: 4px;
        text-align: center;
    }
}
@media (max-width: 425px) {
	.footAddress img{}
}
@media (max-width: 375px) {
	/*.footAddress img{ height: 20px;}*/
	.footLink li a{ font-size: 11px;}
}


/* sp btn
---------------------------------- */
.sticky-btn{
	position: sticky;
	bottom: 0;
	transition: .5s;
}
#spFooterbox{
	display: none;
	width: 100%;
	padding: 0 1%;
	z-index: 999;
	background: rgba(000, 000, 000, 0.5);
}
#spFooterbox a{
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	line-height: 40px;
}
#spFooterbox .spF-l,
#spFooterbox .spF-r{
	width: 50%;
	margin: 0;
}
#spFooterbox .spF-l a{
	display: block;
	height: 40px;
	margin: 10px 2%;
	padding: 0 0 0 20px;
	background-image: url("../images/icon/icon-mail_white.png");
	background-repeat: no-repeat;
	background-position: 25px center;
	background-size: 18px auto;
    background-color: #e50012;
	border-radius: 4px;
	text-align: center;
}
#spFooterbox .spF-r a{
	display: block;
	height: 40px;
	margin: 10px 1%;
	padding: 0 0 0 20px;
	background-image: url("../images/icon/sp-phone.png");
	background-repeat: no-repeat;
	background-position: 35px center;
	background-size: 12px auto;
    background-color: #e50012;
	border-radius: 4px;
	text-align: center;
}
@media (max-width: 519px){
	#spFooterbox{ display: flex;}
}
@media (max-width: 375px){
    #spFooterbox a{ font-size: 15px;}
    #spFooterbox .spF-l a{ background-position: 15px center;}
    #spFooterbox .spF-r a{ background-position: 20px center;}
}

#spFooterbox.sticky-btn.two .spF-l,
#spFooterbox.sticky-btn.two .spF-r{
	width: 33.3%;
	margin: 0;
}
#spFooterbox.sticky-btn.two a{
    font-size: 13px;
}
#spFooterbox.sticky-btn.two .spF-l a{
	display: block;
	height: 40px;
	margin: 10px 2%;
	padding: 0 0 0 10px;
	background-image: url("../images/icon/icon-mail_white.png");
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 14px auto;
	border-radius: 4px;
	text-align: center;
}
#spFooterbox.sticky-btn.two .spF-r a{
	display: block;
	height: 40px;
	margin: 10px 1%;
	padding: 0;
	background-image: url("../images/icon/sp-phone.png");
	background-repeat: no-repeat;
	background-position: 10px center;
	background-size: 10px auto;
	border-radius: 4px;
	text-align: center;
}
@media (max-width: 415px){
    #spFooterbox.sticky-btn.two a{ font-size: 11px;}
}
@media (max-width: 375px){
    #spFooterbox.sticky-btn.two .spF-l a{
        background-position: 5px center;
        background-size: 12px auto;
    }
    #spFooterbox.sticky-btn.two .spF-r a{
        background-position: 7px center;
    }
}


/* ---- php form ---- */
table.tableForm {
	width: 100%;
	border: 1px solid #ccc;
	margin: 0 0 20px;
}
.tableForm th{
	padding: 20px 10px;
	width: 200px;
	border-bottom: 1px solid #ccc;
	background: #fafafa;
    vertical-align: top;
	color: #555;
	font-size: 14px;
}
.tableForm th span{
	display: block;
	width: 40px;
	border: 1px solid #ff0000;
    background: #fff;
	padding: 3px 1px;
	margin: 2px 0 0;
	color: #ff0000;
	font-size: 11px;
	line-height: 1.0;
	text-align: center;
}
.tableForm td{
	padding: 20px 15px;
	border-bottom: 1px solid #ccc;
	background: #fff;
	vertical-align: middle;
	color: #555;
	font-size: 14px;
}
.tableForm td p{ margin: 0;}
.tableForm td p.caution{
    margin-top: 5px;
	font-size: 12px;
    line-height: 1.1;
}
.tableForm tr:last-child th{ border-bottom: none;}
.tableForm tr:last-child td{ border-bottom: none;}

input[type="text"],
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea, select{
	-webkit-appearance: none;
}
input[type="text"],
input[type="email"],
input[type="password"],
select,
textarea{
    padding: 5px;
	border: 1px solid #ccc;
	border-radius: 3px;
    box-sizing: border-box;
}
select{
    background: url("../images/icon/arrowD.png") no-repeat right 8px center;
    background-size: 10px auto;
    padding: 5px 30px 5px 5px;
}
textarea{ width: 100%;}

.sendbtnBox{ text-align: center;}
input[type="button"].sendBtn,
input[type="reset"].sendBtn,
input[type="submit"].sendBtn{
    cursor: pointer;
	color: #333!important;
	font-size: 13px;
	text-decoration: none;
	padding: 10px 20px;
	margin: 0 5px;
	border: 1px solid #ccc;
	background: #fff;
	border-radius: 3px;
	display: inline-block;
    box-sizing: border-box;
}
.sendBtn.go{ border: solid 1px #ff0000;}
.sendBtn:hover { background: #efefef;}

.tableForm td input.inpText01{ width: 300px;}
.tableForm td input.inpText02{ width: 100%;}
.tableForm td input.inpText03{ width: 80px;}
.tableForm td input.inpText04{ width: 80px;}
.tableForm td .inpTextbox{
	width: 100%;
	padding: 5px;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.tableForm td label{
	margin: 0 10px 0 0;
	display: inline-block;
}
.tableForm td dl{ margin: 0 0 10px 0;}
.tableForm td dt{
	width: 90px;
	float: left;
	padding: 4px 0 0 0;
}
.tableForm td dd{ margin-left: 90px;}

.policyBox{
	color: #555;
	padding: 10px;
    font-size: 12px;
	text-align: center;
	background: #fafafa;
	margin: 0 auto 30px;
	border: 1px solid #e9e9e9;
}
.policyBox a{ text-decoration: underline;}
@media (max-width: 768px) {
    .tableForm td dt{
		float: none;
		width: 100%;
		padding: 0;
	}
	.tableForm td dd{ margin: 0;}
}
@media (max-width: 640px) {
	.tableForm th{
        display: block;
		width: 100%;
		position: relative;
        padding: 10px 50px 10px 10px;
	}
	.tableForm th br{ display: none;}
	.tableForm th span{
		position: absolute;
		top: 10px;
		right: 10px;
		margin: 0;
		padding: 3px 1px 2px;
		width: 36px;
		font-size: 10px;
	}
	.tableForm td{
        display: block;
		width: 100%;
		padding: 10px;
	}
	.tableForm td input.inpText01{ width: 100%;}
	.tableForm td label{
		margin: 0 0 5px 0;
		display: block;
	}
    .tableForm tr:last-child th{ border-bottom: 1px solid #e9e9e9;}
}
@media (max-width: 375px) {
    .tableForm td .YY{
        display: block;
        margin: 0 0 5px 0;
    }
	.tableForm td input.inpText03{ width: 80%;}
    .tableForm td .MM{ margin-right: 10px;}
    .tableForm td .MM select,
    .tableForm td .DD select{ width: 35%;}
	.tableForm td input.inpText04{ width: 70px;}
}

/* ---- error ---- */
.errorTxt,
.checkTxt{
    margin: 0 0 40px;
	background: #f6f6ed;
    padding: 20px;
}
p.error_messe{
	margin: 0 auto 10px;
	padding: 10px;
	border: 1px solid #ff0000;
	border-radius: 4px;
	text-align: center;
    background: url("../images/icon/error.png") no-repeat 10px center;
    background-size: 20px auto;
	color: #ff0000;
}
@media (max-width: 519px) {
    .errorTxt,
    .checkTxt{
		margin: 0 0 30px;
        padding: 10px;
    }
    p.error_messe{
		padding: 8px 10px 8px 35px;
		text-align: left;
	}
}

/* ---- thanks ---- */
.formDonebox{
	margin: 0 auto 30px;
    padding: 50px 40px 40px;
}
.formDonebox h3{
    margin: 0 0 40px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #e72f5a;
    text-align: center;
    font-size: 30px;
}
.done{
	padding: 40px;
	border: 2px solid #e72f5a;
	border-radius: 20px;
}
.done p{
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
}
@media (max-width: 519px) {
    .formDonebox{ padding: 40px 20px;}
    .formDonebox h3{
        font-size: 24px;
        margin: 0 0 30px;
    }
    .done{ padding: 20px;}
}
@media (max-width: 425px) {
    .formDonebox{ padding: 20px 15px 15px;}
    .formDonebox h3{
        margin: 0 0 20px;
        font-size: 18px;
    }
    .done p{ font-size: 15px;}
}


.formBoxIn{
    max-width: 700px;
    margin: 0 auto;
}
@media (max-width: 700px) {
}



.pageMain{
	background: #fff;
	max-width: 1000px;
	padding: 40px;
	border-radius: 20px;
}
@media (max-width: 1200px) {
}
@media (max-width: 519px) {
	.pageMain{
		padding: 40px 10px;
	}
}


.pageMain.basic{}
.pageMain.basic h3{
    background: #232a34;
    margin: 0 0 30px;
	padding: 15px 15px 12px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}
.pageMain.basic h4{
    background: #444;
    margin: 0 0 30px;
    padding: 15px 15px 12px;
    color: #fff;
}
.pageMain.basic h5{
    background: #efefef;
    margin: 0 0 20px;
    padding: 15px 15px 12px;
}
.pageMain.basic p{}

@media (max-width: 768px) {
    .pageMain.basic h3{
        margin: 0 0 20px;
    }
}
@media (max-width: 519px) {
    .pageMain.basic h3{
        margin: 0 0 15px;
        font-size: 16px;
    }
}


/* ---- 数字連番リスト ---- */
.num{}
.num li{
	counter-increment: number;
	padding: 0 0 0 20px;
	position: relative;
}
.num li::before{
	content: counter(number)'. ';
	position: absolute;
	left: 0;
}
.num li > ul{
	counter-reset: number;
}
.num li > ul li{
	position: relative;
	padding: 0 0 0 30px;
	counter-increment: number;
}
.num li ul li::before{
	content: '(' counter(number) ')';
	position: absolute;
	left: 0;
}


/* top image
---------------------------------- */
.recMainImg{
	margin: 0 auto 80px;
    max-width: 1000px;
}
@media (max-width: 1024px) {
	.recMainImg{ margin: 0 auto 60px;}
}



.waku03{
    margin: 0 0 80px;
	padding: 30px;
	background: #fff;
	border: 6px solid #232a34;
    font-size: 18px;
}
@media (max-width: 1024px) {
    .waku03{
        padding: 20px;
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .waku03{ margin: 0 0 40px;}
}
@media (max-width: 767px) {
	.waku03{ padding: 15px;}
}
@media (max-width: 519px) {
    .waku03{ font-size: 14px;}
}




.chunk01{
    margin: 0 0 80px;
    padding: 50px;
	background: #fff;
	border-radius: 20px;
}
.chunk01:last-child{ margin: 0;}
.chunk01 h2,
.ttlH2{
    margin: 0 0 20px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
    font-size: 40px;
    color: #e50012;
}
.chunk01 h2 span,
.ttlH2 span{
	margin: 0 0 0 20px;
	font-size: 20px;
}
.chunk01 h3,
.ttlH3{
    margin: 0 0 10px;
    font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
    font-size: 24px;
}
.chunk01 h4{ font-weight: bold;}
.chunk01 p + h3{ margin: 30px 0 10px;}
.chunk01 h3.bg02{ background: #b5dbe7;}
.chunkIn:not(:last-child){ margin: 0 0 40px;}
.chunkIn p{ line-height: 1.5;}
@media (max-width: 1024px) {
    .chunk01{
		margin: 0 0 60px;
		padding: 30px;
	}
	.chunk01 h2,
	.ttlH2{ font-size: 30px;}
	.chunk01 h2 span,
	.ttlH2 span{ font-size: 16px;}
	.chunk01 h3,
	.ttlH3{ font-size: 20px;}
}
@media (max-width: 768px) {
    .chunk01{
        margin: 0 0 40px;
        padding: 30px 20px;
    }
	.chunk01 h2,
	.ttlH2{ font-size: 24px;}
	.chunk01 h2 span,
	.ttlH2 span{
		margin: 0 0 0 10px;
		font-size: 14px;
	}
	.chunk01 h3,
	.ttlH3{ font-size: 18px;}
}
@media (max-width: 519px) {
    .chunk01{
		margin: 0 0 20px;
		padding: 20px 15px;
		border-radius: 10px;
	}
    .chunk01 h2,
	.ttlH2{
		margin: 0 0 10px;
		font-size: 18px;
	}
	.chunk01 h2 span,
	.ttlH2 span{ font-size: 12px;}
	.chunk01 h3,
	.ttlH3{ font-size: 16px;}
	.chunk01 p + h3{ margin: 20px 0 10px;}
	.chunkIn:not(:last-child){ margin: 0 0 30px;}
}

.recFlex{
    display: flex;
    justify-content: space-between;
}
.recFlex.reverse{ flex-direction: row-reverse;}

.recTxt{ width: calc( 100% - 460px );}
.recImg01{ width: 420px;}
@media (max-width: 1023px) {
    .recTxt{ width: calc( 100% - 380px );}
    .recImg01{ width: 340px;}
}
@media (max-width: 768px) {
    .recTxt{ width: calc( 100% - 340px );}
    .recImg01{ width: 300px;}
}
@media (max-width: 767px) {
    .recFlex{ display: block;}
    .recTxt{
        width: 100%;
        margin: 0 0 20px;
    }
    .recImg01{
        width: 100%;
		margin: 0 0 40px;
        text-align: center;
    }
}
@media (max-width: 519px) {
	.recImg01{ margin: 0 0 20px;}
}



.doubleRows{
    display: flex;
    justify-content: space-between;
	margin: 0 0 40px;
}
.Rows{ width: 49%;}
@media (max-width: 767px) {
    .doubleRows{ display: block;}
    .Rows{ width: 100%;}
    .Rows:first-child{ margin: 0 0 30px;}
}

ul.dot{ position: relative;}
ul.dot li{
    padding: 0 0 0 18px;
    line-height: 1.6;
}
ul.dot li::before{
    content: '・';
    position: absolute;
    left: 0;
	font-weight: bold;
}

ul.tag{ font-size: 0;}
ul.tag li{
    display: inline-block;
    margin: 0 10px 10px 0;
    padding: 5px 8px;
    border: 1px solid #ee7800;
    border-radius: 3px;
    font-size: 14px;
    color: #ee7800;
}
@media (max-width: 519px) {
    ul.tag li{
        margin: 0 7px 7px 0;
        font-size: 13px;
    }
}
@media (max-width: 375px) {
    ul.tag li{ font-size: 12px;}
}

table.typeA{
    width: 100%;
    margin: 0 0 40px;
	font-size: 15px;
}
table.typeA th{
    width: 50%;
	padding: 10px 0 0 10px;
    padding-right: 20px;
    color: #555;
	position: relative;
}
table.typeA th::before{
	content: '';
	border-bottom: 1px solid #b2cbc2;
	width: 97%;
	height: 1px;
	position: absolute;
    left: 0;
	bottom: 0;
}
table.typeA td{
    padding: 10px 0 10px 10px;
    border-bottom: 1px solid #b2cbc2;
    color: #555;
}
@media (max-width: 1023px) {
	table.typeA th{ width: 62%;}
    table.typeA th::before{}
	table.typeA td{}
}
@media(max-width: 768px) {
    table.typeA th{ width: calc( 100% - 140px );}
    table.typeA td{ width: 140px;}
}
@media(max-width: 767px) {
    .kSingleBox:last-child table.typeA{ margin: 0;}
}
@media(max-width: 640px) {
	table.typeA th{ font-size: 14px;}
	table.typeA th::before{}
	table.typeA td{ font-size: 14px;}
}
@media (max-width: 519px) {
    table.typeA{ margin: 0 0 20px;}
    table.typeA th{
		display: block;
        width: 100%;
        padding: 10px;
        background: #f6f6f6;
		font-size: 14px;
		font-weight: bold;
    }
	table.typeA th::before{ display: none;}
    table.typeA td{
		display: block;
        width: 100%;
		padding: 10px 10px 15px;
		font-size: 14px;
        border: none;
    }
}

.returnPage{}
.returnPage a{
	display: inline-block;
	margin: 0 0 10px;
	padding: 8px 15px;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 50px;
	font-size: 11px;
	line-height: 1.0;
}
.returnPage a::before{
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	margin: 0 5px;
	border-left: 2px solid #e50012;
	border-bottom: 2px solid #e50012;
	transform: rotate(45deg);
}
.returnPage a:hover{ background: #efefef;}

