@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{
	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: 640px) {
	body{ font-size: 15px;}
}
@media (max-width: 519px) {
	body{ font-size: 14px;}
}

*{ 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: #efefef;}
.bg02{ background: #F3F3EB;}
.bg03{ background: #ffe2b7;}

.white{ color: #fff!important;}
.red{ color: #ff0000!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;
	font-size: 14px;
	text-align: center;
	font-weight: bold;
	color: #e50012;
	text-decoration: none;
	transition: all 0.4s ease;
	outline: none;
}
.moreLink a:hover{ background: #edf0f5;}

/* header
---------------------------------- */
.topBar{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.topBar .In{
    position: relative;
    z-index: 2;
}
.topBar a{ display: inline-block;}
.topBar a img{
    width: auto;
    height: auto;
    transition: all 0.4s ease;
    /*background: rgba(0,0,0,0.5);*/
}
.topBar .In a{}
.topBar .In a h1{}
.drawer-navbar.fixed .topBar .In{}
.drawer-navbar.fixed .topBar .In a img{ height: 40px;}
.drawer-navbar.fixed .topBar .In a h1{
    font-size: 14px;
    color: #3089ba;
}
@media (max-width: 1024px) {
    .drawer-navbar.fixed .topBar .In a{ padding: 9px 0;}
    .drawer-navbar.fixed .topBar .In a img{ height: 22px;}
}
@media (max-width: 1024px) {
}
@media (max-width: 519px) {
}
@media (max-width: 425px) {
}
@media (max-width: 375px) {
	.drawer-navbar.fixed .topBar .In a{ padding: 10px 0;}
    .drawer-navbar.fixed .topBar .In a img{ height: 20px;}
}

/* ---- head ---- */
.headTtlebox{
	background: #e50012;
	padding: 29px 0 25px;
}
.headTtleboxIn{
	max-width: 1200px;
	margin: 0 auto;
}
.headTtleboxIn h1{
	font-size: 30px;
	line-height: 1.2;
    font-weight: bold;
	padding: 0;
	word-break: break-all;
    color: #fff;
}
@media (max-width: 1200px) {
	.headTtleboxIn{ padding: 0 10px;}
}
@media (max-width: 1024px) {
	.headTtlebox{ padding: 25px 0;}
	.headTtleboxIn h1{ font-size: 26px;}
}
@media (max-width: 640px) {
	.headTtlebox{ padding: 20px 0;}
	.headTtleboxIn h1{ font-size: 20px;}
}

/* ---- パンくず ---- 
.bread{
	background: #f5f5f5;
	padding: 10px 0;
}
.bread ul{
	max-width: 1200px;
	margin: 0 auto;
	font-size: 0;
}
.bread li{
	position: relative;
	display: inline-block;
	font-size: 12px;
	color: #888;
}
.bread li a{
	padding: 0 30px 0 0;
	color: #333;
}
.bread li::after{
	content: '>';
	position: absolute;
	margin-left: -20px; 
}
.bread li:last-child::after{ display: none;}
.bread li a:hover{
	text-decoration: underline;
}
@media (max-width: 1024px) {
	.bread{ padding: 10px;}
}
@media (max-width: 519px) {
	.bread{
		padding: 5px 10px;
		overflow-x: scroll;
		word-break: keep-all;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.bread li{ font-size: 10px;}
	.bread li a{ padding: 0 27px 0 0;}
	.bread li::after{ margin-left: -16px; }
}*/




/* menu
---------------------------------- */
.drawer-navbar{
    padding: 10px;
    transition: all 0.4s ease;
}
/*.drawer-navbar.fixed.top{ position: fixed;}*/
.drawer-navbar.fixed{
    top: 0;
    height: 60px;
    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{
	padding: 0 10px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    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-item{ font-size: 14px;}
    .drawer-navbar.fixed .drawer-menu-item{ font-size: 14px;}
	.drawer-navbar .drawer-menu li ul li{ width: 100%;}
}
@media (max-width: 768px) {
    .drawer-navbar{ padding: 10px;}
    .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;
	}
}

/* ---- ハンバーガーメニュー時 ---- */
.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) {
    .pagetop{ bottom: 70px;}
	.pagetop.simple { bottom: 70px;}
}


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

.mainTtl{
    margin: 0 0 50px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    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: 768px) {
    .mainTtl{
        margin: 0 0 40px;
        font-size: 30px;
    }
}
@media (max-width: 519px) {
    .mainTtl,
    .mainTtl.mini{
        margin: 0 0 20px;
        font-size: 26px;
    }
    .subTtl{
        width: 180px;
        font-size: 13px;
    }
}
@media (max-width: 375px) {
    .mainTtl,
    .mainTtl.mini{ font-size: 20px;}
}

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


.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;}
}



/* ---- top img box ---- */
.topImageBox{
	position: relative;
    margin: 0 auto;
    max-width: 1600px;
	height: 600px;
	background: url("../images/top-kdm.png") no-repeat right bottom -10px #F3F3EB;
	background-size: 800px auto;
}
.topImageBox .txtBox{
	position: absolute;
	top: 100px;
	left: 50px;
	width: auto;
}
.topImageBox .txtBox p{
	text-shadow: #fff 2px 0px, #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
	font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
	font-size: 28px;
}
.topImageBox .txtBox p:not(:last-child){ margin: 0 0 20px;}
.topImageBox .txtBox p.copy{ font-size: 50px;}
.topImageBox .txtBox ul{ margin: 0 0 20px;}
.topImageBox .txtBox li{
	position: relative;
	margin: 0 0 10px;
	padding-left: 35px;
	text-shadow: #fff 2px 0px, #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
	font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
	font-size: 26px;
	color: #e50012;
}
.topImageBox .txtBox li::before{
	content: '';
	background: url("../images/icon/icon-check01.png") no-repeat left center;
	background-size: 28px auto;
	width: 28px;
	height: 28px;
	display: block;
	position: absolute;
	left: 0;
	top: 0.3em;
	margin: auto;
}
@media (max-width: 1440px) {
	.topImageBox{ background-size: 700px auto;}
}
@media (max-width: 1024px) {
	.topImageBox{
		height: 500px;
		background-position: right -80px bottom;
		background-size: 600px auto;
	}
	.topImageBox .txtBox{ top: 50px;}
	.topImageBox .txtBox p{ font-size: 24px;}
	.topImageBox .txtBox li{
		padding-left: 28px;
		font-size: 22px;
	}
	.topImageBox .txtBox li::before{
		background-size: 24px auto;
		width: 24px;
		height: 24px;
	}
}
@media (max-width: 768px) {
	.topImageBox{
		padding: 20px;
		background-position: right -60px bottom;
		background-size: 500px auto;
	}
	.topImageBox .txtBox{ position: static;}
	.topImageBox .txtBox p{ font-size: 20px;}
	.topImageBox .txtBox p br{ display: none;}
	.topImageBox .txtBox p.copy{ font-size: 30px;}
	.topImageBox .txtBox li{ font-size: 18px;}
}
@media (max-width: 519px) {
	.topImageBox{
		background-position: right -30px bottom;
		background-size: 350px auto;
		height: 420px;
	}
	.topImageBox .txtBox p.copy{ font-size: 24px;}
	.topImageBox .txtBox li{ padding-left: 26px;}
	.topImageBox .txtBox li::before{
		background-size: 20px auto;
		width: 20px;
		height: 20px;
	}
}
@media (max-width: 320px) {
	.topImageBox{
		padding: 10px;
		height: 450px;
	}
	.topImageBox .txtBox p{ font-size: 16px;}
	.topImageBox .txtBox li{
		padding-left: 18px;
		font-size: 16px;
	}
	.topImageBox .txtBox li::before{
		background-size: 18px;
		width: 18px;
		height: 18px;
	}
}



/* ---- kodomo information ---- */
.topMainBox{}
.campaignBox{ margin: 0 0 40px;}
.campaignBox img{ width: 100%;}
.topMainBoxIn{
	position: relative;
	display: flex;
	justify-content: space-between;
	border: 1px solid #ccc;
	padding: 30px;
}
.point{
	position: absolute;
	top: -15px;
	left: -10px;
	padding: 8px 20px;
	background: #e50012;
	border-radius: 50px;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.0;
	color: #fff;
}
.tmbL{ width: 49.5%;}
.tmbL .ttlBana{
	max-width: 250px;
	margin: 0 auto 30px;	
}
.tmbL h2{
	margin: 0 0 30px;
	padding: 30px 0 0;
	border-top: 1px solid #ccc;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
	font-size: 24px;
}
.tmbL ul.summary{
	background: #ffe2b7;
	margin: 0 0 30px;
	padding: 30px;
	border-radius: 10px;
}
.tmbL ul.summary li{
	position: relative;
	padding-left: 28px;
	font-size: 18px;
	font-weight: bold;
}
.tmbL ul.summary li span{
	padding: 0 5px;
	font-size: 26px;
}
.tmbL ul.summary li::before{
	content: '';
	background: url("../images/icon/icon-check01.png") no-repeat left center;
	background-size: 20px auto;
	width: 20px;
	height: 20px;
	display: block;
	position: absolute;
	left: 0;
	top: 0.4em;
	margin: auto;
}
.tmbL .detail{}
.tmbL .detail ul{}
.tmbL .detail li{ margin: 0 0 20px;}
.tmbL .detail li h3{
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: bold;
	color: #e50012;
}
.tmbL .detail li p{ font-size: 16px;}
.tmbR{ width: 49.5%;}
@media (max-width: 1200px) {
	.point{ left: -5px;}
}
@media (max-width: 1024px) {
	.tmbL h2{ font-size: 20px;}
	.tmbL ul.summary{ padding: 20px;}
	.tmbL ul.summary li{ font-size: 16px;}
	.tmbL ul.summary li span{ font-size: 20px;}
	.tmbL .detail li h3{ font-size: 18px;}
}
@media (max-width: 768px) {
	.tmbL .ttlBana{
		max-width: 200px;
		margin: 0 auto 20px;
	}
	.tmbL h2{
		margin: 0 0 20px;
		padding: 20px 0 0;
	}
	.tmbL{ width: 50%;}
	.tmbR{ width: 49%;}
}
@media (max-width: 767px) {
	.topMainBoxIn{ display: block;}
	.tmbL{
		width: 100%;
		margin: 0 0 20px;
	}
	.tmbR{ width: 100%;}
}
@media (max-width: 519px) {
	.campaignBox{ margin: 0 0 20px;}
	.topMainBoxIn{ padding: 20px;}
	.point{ font-size: 12px;}
	.tmbL ul.summary{ padding: 12px;}
}
@media (max-width: 375px) {
	.topMainBoxIn{ padding: 15px;}
	.tmbL .ttlBana{ margin: 0 auto 15px;}
	.tmbL h2{ font-size: 18px;}
	.tmbL ul.summary li{
		padding-left: 24px;
		font-size: 14px;
	}
	.tmbL ul.summary li span{ font-size: 18px;}
	.tmbL ul.summary li::before{
		background-size: 16px auto;
		width: 16px;
		height: 16px;
	}
	.tmbL .detail li h3{ font-size: 15px;}
	.tmbL .detail li p{ font-size: 14px;}
}


/* ---- double ---- */
.double{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.dbL{ width: 200px;}
.dbL h3{
    margin: 0 0 8px;
    padding: 8px 5px 8px 32px;
    background: url("../images/icon/icon-newspaper.png") no-repeat 8px center #F5F5F2;
    background-size: 18px auto;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
}
.dbL ul{
	padding: 15px;
    border: 1px solid #ccc;
}
.dbL li{ font-size: 15px;}
.dbL li:not(:last-child){
	margin: 0 0 8px;
	padding: 0 0 5px;
	border-bottom: 1px solid #ccc;
}
.dbR{ width: calc( 100% - 220px );}
@media (max-width: 768px) {
    .dbL{ width: 250px;}
    .dbR{ width: calc( 100% - 270px );}
}
@media (max-width: 767px) {
    .double{ display: block;}
    .dbL,
    .dbR{ width: 100%;}
    .dbL ul{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 8px 0;
    }
    .dbL{ margin: 0 0 30px;}
    .dbL li{ width: 49%;}
    .dbL li:not(:last-child){ margin: 0;}
    .dbL li:last-child{
		margin: 0;
		border-bottom: 1px solid #ccc;
	}
}
@media (max-width: 519px) {
    .dbL p{ display: none;}
    
}


/* ---- NEWS ---- */
.newsBox .newLineBox{ margin: 0 0 40px;}
.newsBox li{
    display: flex;
	padding: 30px 0;
	border-bottom: 1px solid #ccc;
	font-size: 16px;
}
.newsBox li:first-child{ border-top: 1px solid #ccc;}
.newsBox li .date{
    display: block;
	width: 140px;
	color: #555;
}
.newsBox li .newstxt{
    width: calc( 100% - 140px );
}
.newsBox li a{
	font-size: 16px;
	text-decoration: underline;
}
.newsBox li a:hover{ text-decoration: underline;}
.newMark{
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 3px 5px 2px;
	font-size: 10px;
	line-height: 1.0;
	background: #DE0000;
	color: #fff;
	font-weight: bold;
}
@media (max-width: 1024px) {
	.newsBox li{ padding: 20px 0;}
}
@media (max-width: 768px) {
}
@media (max-width: 519px) {
	.newsBox li{
        display: block;
		padding: 15px 0;
		font-size: 14px;
	}
    .newsBox li .date{ width: 100%;}
    .newsBox li .newstxt{ width: 100%;}
	.newsBox li a{ font-size: 14px;}
}








/* ---- ACCESS ---- */
.accessBox{
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}
.accessL{ width: 30%;}
.accessR{
    width: 70%;
    padding: 10px 40px 0;
}
.accessR h3{
    margin: 0 0 30px;
    font-size: 30px;
    line-height: 1.6;
    font-weight: bold;
}
.accessR h3 span{
    display: block;
    font-size: 16px;
    font-weight: normal;
}
.accessR p{
    margin: 0 0 30px;
    font-size: 18px;
    line-height: 1.4;
}
.accessR p span{
    display: inline-block;
    width: 100px;
}
.acminiBox{ border-top: 1px solid #ccc;}
.acminiBox dl{
    border-bottom: 1px solid #ccc;
    padding: 16px 0;
    font-size: 0;
}
.acminiBox dt{
    display: inline-block;
    width: 120px;
    font-size: 15px;
    font-weight: bold;
    vertical-align: top;
    color: #555;
}
.acminiBox dd{
    display: inline-block;
    width: calc( 100% - 120px );
    font-size: 16px;
}
.accessR a{ text-decoration: underline;}
@media (max-width: 1440px) {
    .accessR{ padding: 0 30px;}
}
@media (max-width: 1024px) {
    .accessR h3{
        margin: 0 0 40px;
        font-size: 18px;
    }
    .accessR p{ font-size: 16px;}
}
@media (max-width: 767px) {
    .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 h3{ margin: 0 0 20px;}
    .accessR p{
        margin: 0 0 20px;
        font-size: 14px;
    }
}
@media (max-width: 519px) {
    .accessL{ margin: 0 auto 20px;}
    .acminiBox dl{ padding: 10px 0;}
    .acminiBox dt{
        width: 100px;
        font-size: 14px;
    }
    .acminiBox dd{
        width: calc( 100% - 100px );
        font-size: 14px;
    }
}
@media (max-width: 375px) {
}


/* ---- MAP ---- */
.mapBox{ width: 100%;}
.mapBox iframe{
    width: 100%;
    height: 400px;
    vertical-align: bottom;
}



/* ---- CONTACT ---- */
.telBox{
	position: relative;
	text-align: center;
}
.telBox p{
	margin: 0 0 10px;
	font-size: 20px;
    font-weight: bold;
}
.telBox p::before,
.telBox p::after{
    content: '';
    display: inline-block;
    width: 1px;
    height: 2em;
    margin: 0 2em;
    background: #333;
    vertical-align: middle;
}
.telBox p::before{ transform: rotate(-30deg);}
.telBox p::after{ transform: rotate(30deg);}
.telBox span.time{
    display: inline-block;
    background: #fff;
    border-radius: 50px;
    margin: 0 auto;
    padding: 10px 30px;
    font-size: 14px;
}
.telBox a.telAct{
	display: block;
    width: 310px;
	margin: 0 auto 10px;
	padding: 0 0 0 30px;
	transition: all 0.4s ease;
	background: url("../images/icon/icon-tel.png") no-repeat left center;
	background-size: 30px auto;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-size: 40px;
    color: #e50012;
}
@media (max-width: 519px) {
    .telBox p{ font-size: 18px;}
    .telBox p::before,
    .telBox p::after{
        margin: 0 1.5em;
    }
    .telBox span.time{ font-size: 12px;}
}
@media (max-width: 425px) {
    .telBox p{ font-size: 16px;}
}
@media (max-width: 375px) {
    .telBox a.telAct{
        width: 230px;
        padding: 0 0 0 25px;
        background-size: 20px auto;
        font-size: 30px;
    }
}

.goForm{
	margin: 30px 0 0;
}
.goForm a{
	position: relative;
    display: block;
    max-width: 600px;
    transition: all 0.4s ease;
    background: #fff;
    margin: 0 auto;
    padding: 20px 10px;
    border: 2px solid #555;
    border-radius: 5px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}
.goForm a:hover{ background: #F5F5F2;}
.goForm a .sub{
	display: block;
	margin-top: 5px;
	font-size: 15px;
	font-weight: normal;
}
.mazu{
	position: absolute;
	top: -50px;
	left: -30px;
	width: 80px;
	line-height: 80px;
	transform: rotate(-20deg);
	background: #e50012;
	border-radius: 100px;
	color: #fff;
}
@media (max-width: 768px) {
    .goForm a{
        max-width: 400px;
        font-size: 16px;
    }
}
@media (max-width: 519px) {
    .goForm{ margin: 25px 0 0;}
    .goForm a{ padding: 10px;}
	.goForm a .sub{ font-size: 13px;}
	.mazu{
		width: 60px;
		line-height: 60px;
		left: -15px;
		font-size: 13px;
	}
}
@media (max-width: 425px) {
	/*.goForm a{ font-size: 14px;}*/
}




/* ---- RECRUIT ---- */
.recruitBox{
    position: relative;
    background: url("../images/contactBG.jpg") no-repeat center center;
    background-size: cover;
    padding: 100px 20px;
}
.recruitBox::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(0,0,0,0.7);
}
.recIn{
    max-width: 1000px;
    position: relative;
    z-index: 10;
    margin: 0 auto;
    color: #fff;
    text-align: center;
}
.recIn h3{
    margin: 0 0 20px;
    color: #fff;
}
.recIn p{ margin: 0 0 30px;}
.recIn p br{ display: none;}
.recIn a{
    display: inline-block;
    padding: 10px 30px;
    border: 2px solid #fff;
    min-width: 300px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}
.recIn a:hover{
    background: #fff;
    color: #222;
}
@media (max-width: 519px) {
    .recruitBox{ padding: 60px 10px;}
    .recIn p{ margin: 0 0 20px;}
    .recIn p br{ display: block;}
    .recIn a{
        width: 100%;
        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;}
}

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

footer{
    background: #232a34;
}
footer .contBox{
	display: flex;
	justify-content: space-between;
	padding: 40px 0;
}
.footAddress{}
.footAddress img{
	display: inline-block;
	max-width: 100%;
	width: auto;
	height: 40px;
	margin: 0 0 20px;
	padding: 5px;
	background: #fff;
}
.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: 767px) {
}
@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{ height: 30px;}
}


/* 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: 100px;}
.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 0;
    font-size: 16px;
	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: 425px) {
    .errorTxt,
    .checkTxt{
        font-size: 14px;
        padding: 10px;
    }
    p.error_messe{
		padding: 8px 10px 8px 35px;
		text-align: left;
	}
}

/* ---- thanks ---- */
.formDonebox{
	margin: 0 auto 30px;
    padding: 50px 40px 40px;
    max-width: 760px;
	background: #ffe2b7;
	border-radius: 6px;
}
.formDonebox h3{
    margin: 0 0 40px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    text-align: center;
    font-size: 30px;
}
.done{
	background: #fff;
	padding: 40px 20px;
}
.done p{
	margin: 0;
	font-size: 16px;
}
@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: 800px;
    margin: 0 auto;
}
@media (max-width: 800px) {
    .formBoxIn{ margin: 0 10px;}
}





.pageMain{
	max-width: 1200px;
	margin: 80px auto 40px;
	padding: 0;
}
@media (max-width: 1200px) {
	.pageMain{ margin: 80px 10px 40px;}
}
@media (max-width: 519px) {
	.pageMain{ margin: 40px 10px 40px;}
}


.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: #666;
    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;
}


/* recruit
---------------------------------- */
.recMainImg{
	margin: 0 auto;
	padding: 20px 0;
    max-width: 1200px;
}
@media (max-width: 1200px) {
	.recMainImg{ padding: 0;}
}

.topImageBox{}



.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;}
}

.popUpBox{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 80px;
}
.popUpBox dl{
    display: flex;
    width: 49%;
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
}
.popUpBox dt{
    width: 150px;
    font-size: 20px;
    font-weight: bold;
}
.popUpBox dd{ font-size: 16px;}
.pop01{
    background: url("../images/recruit/icon-salary.png") no-repeat left top 2px;
    background-size: 20px auto;
    padding: 0 0 0 30px;
}
.pop02{
    background: url("../images/recruit/icon-type.png") no-repeat left top 2px;
    background-size: 20px auto;
    padding: 0 0 0 30px;
}
.pop03{
    background: url("../images/recruit/icon-place.png") no-repeat left top 2px;
    background-size: 20px auto;
    padding: 0 0 0 30px;
}
.pop04{
    background: url("../images/recruit/icon-access.png") no-repeat left top 2px;
    background-size: 20px auto;
    padding: 0 0 0 30px;
}
.pop05{
    background: url("../images/recruit/icon-shift.png") no-repeat left top 2px;
    background-size: 20px auto;
    padding: 0 0 0 30px;
}
.pop06{
    background: url("../images/recruit/icon-time.png") no-repeat left top 2px;
    background-size: 20px auto;
    padding: 0 0 0 30px;
}
@media (max-width: 1024px) {
    .popUpBox dt{
        width: 115px;
        font-size: 16px;
    }
}
@media (max-width: 768px) {
    .popUpBox{ margin: 0 0 60px;}
}
@media (max-width: 767px) {
    .popUpBox{ display: block;}
    .popUpBox dl{ width: 100%;}
	.pop01,
    .pop02,
    .pop03,
    .pop04,
    .pop05,
    .pop06{ background-position: left center;}
}
@media (max-width: 519px) {
    .popUpBox dl{ padding: 12px 0;}
    .popUpBox dt{ font-size: 15px;}
    .popUpBox dd{ font-size: 15px;}
}
@media (max-width: 375px) {
    .popUpBox dt{ font-size: 14px;}
    .popUpBox dd{ font-size: 14px;}
    .pop01,
    .pop02,
    .pop03,
    .pop04,
    .pop05,
    .pop06{
        background-size: 16px auto;
        padding: 0 0 0 25px;
    }
}

.chunk01{
    margin: 0 0 80px;
    padding: 50px;
    border: 1px solid #ccc;
}
.chunk01:last-child{ margin: 0;}
.chunk01 h2{
    margin: 0 0 20px;
    padding: 10px;
    background: #232a34;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
}
.chunk01 h3{
    margin: 0 0 20px;
    padding: 10px;
    background: #efefef;
    font-weight: bold;
}
.chunk01 h3.bg02{ background: #b5dbe7;}
.chunkIn:not(:last-child){ margin: 0 0 30px;}
.chunkIn p{ line-height: 1.6;}
@media (max-width: 1024px) {
    .chunk01{ padding: 30px;}
}
@media (max-width: 768px) {
    .chunk01{
        margin: 0 0 40px;
        padding: 20px;
    }
}
@media (max-width: 519px) {
    .chunk01{ padding: 15px;}
    .chunk01 h2{ font-size: 16px;}
}
@media (max-width: 375px) {
    .chunk01{ padding: 10px;}
}

.recFlex{
    display: flex;
    justify-content: space-between;
}
.recTxt{ width: calc( 100% - 420px );}
.recImg01{ width: 400px;}
@media (max-width: 1023px) {
    .recTxt{ width: calc( 100% - 320px );}
    .recImg01{ width: 300px;}
}
@media (max-width: 767px) {
    .recFlex{ display: block;}
    .recTxt{
        width: 100%;
        margin: 0 0 20px;
    }
    .recImg01{
        width: 100%;
        text-align: center;
    }
}

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

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

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;
    }
}




