@charset "utf-8";

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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 103%;
	vertical-align: baseline;
	background: transparent;
}
.web_logo{
    width: 120px !important;
}
.mobile_logo{
    width: 47% !important;
}
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
:focus { outline: 0; }
ins { text-decoration: none; }
del { text-decoration: line-through; }
table { border-collapse: collapse; border-spacing: 0; }
img { max-width: 100%; height: auto; }

/* ------------------------------------------------------------
   BASE
------------------------------------------------------------ */
html { font-size: 62.5%; }
body {
	color: #333333;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.8;
	margin: 0 auto;
	width: 100%;
	height: 100%;
}
a { color: #000; text-decoration: none; }
h2 { margin-bottom: 30px; }
h3 { margin-bottom: 12px; }

/* Hover Effect */
.opa:hover {
	opacity: 0.75;
	filter: alpha(opacity=75);
}

/* Clearfix */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/* ------------------------------------------------------------
   LAYOUT
------------------------------------------------------------ */
.container {
	width: 100%;
	min-width: 960px;
	height: 100%;
	overflow: hidden;
	font-size: 14px;
	font-size: 1.4rem;
}
.contents {
	margin-top: -1px;
	padding-top: 20px;
}
.wrap {
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	line-height: 1.6;
}
.main { width: 700px; float: left; }
.side { width: 220px; float: right; }
.side p { margin-bottom: 5px; }
.article p { margin-bottom: 10px; }

/* ------------------------------------------------------------
   SOGO (Main Page Styles)
------------------------------------------------------------ */
.sogo .logo { margin-top: 4px; }
.sogo .section { margin-bottom: 50px; overflow: hidden; }
.sogo .description {
	color: #FFF;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: right;
	background-color: #635947;
	height: 20px;
}
.sogo .header {
	padding: 14px 0 5px;
	background: url(../img/kuchita/bg_header.png) no-repeat left;
}
.sogo .main--visual { background-color: #ecf9fd; }
.sogo .main--visual--content {
	padding-top: 45px;
	height: 545px;
	background: url(../img/kuchita/new_console.png) no-repeat center top;
}
.sogo .box--lowerlink {
	margin-right: -20px;
	margin-top: 5px;
	overflow: hidden;
}
.sogo .box--lowerlink li { float: left; margin-right: 5px; }
.sogo .wrap-subcontent {
	width: 100%;
	margin: 40px auto 50px;
	overflow: hidden;
}
.sogo .ttl--heading {
	padding-top: 8px;
	padding-left: 30px;
	margin-bottom: 15px;
	height: 45px;
	background: url(img/common/ttl_heading.png) no-repeat;
}

/* ------------------------------------------------------------
   HEADER
------------------------------------------------------------ */
.header_pc { display: block; }
.header_sp { display: none; }
.logo { float: left; }
/*.logo img { vertical-align: bottom; }*/
.tel {margin-top: -8.5px; }

/* ------------------------------------------------------------
   MAIN VISUAL
------------------------------------------------------------ */
.main--visual { margin-bottom: 30px; }

/* ------------------------------------------------------------
   CONTENT SECTIONS
------------------------------------------------------------ */
.box-facilitylink {
	overflow: hidden;
	background-color: #F2F2F2;
	width: 620px;
	height: 190px;
	padding: 20px 25px;
	text-align: center;
	float: left;
}
.box-bloglink {
	background-color: #F2F2F2;
	width: 220px;
	height: 190px;
	padding: 20px 18px;
	text-align: center;
}
.wrap-subcontent p {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
}
.wrap-kantaki {
	background-color: #F9F6E7;
	padding: 55px 0;
	margin: 25px 0 70px;
}
.box-kantaki { margin: 0 auto; }
.kantaki-top { padding-top: 40px; min-width: 960px; }
.kantaki-top li { margin-right: 7px; }
.illust_btm { margin-bottom: 50px; }
.box-kantaki ul { overflow: hidden; margin: 0 auto; }
.box-kantaki li { display: inline-block; overflow: hidden; }

/* Map & Contact */
.box-map { margin: 50px 0 60px; }
.wrap-contact { width: 420px; }
.box-contact { width: 420px; overflow: hidden; }
.box-contact p { height: 70px; float: left; line-height: 40px; }
.box-contact .bold { width: 85px; padding-left: 10px; }
.contacttitle {
	width: 190px;
	height: 40px;
	background-color: #FFF6D8;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 40px;
	font-weight: bolder;
	text-align: center;
	color: #F27200;
}


/* ------------------------------------------------------------
   FOOTER
------------------------------------------------------------ */
.footer { margin-top: 60px; }
.footer--nav { margin-bottom: -1px; }
.footer--nav--supp { height: 28px; text-align: left; }
.footer--nav--supp li {
	display: block;
	float: left;
	font-size: 93%;
	background: url(img/common/line_footer_nav.png) no-repeat left center;
	margin-right: 15px;
	padding-left: 15px;
}
.footer--nav--supp li:first-child { background: none; padding-left: 0; }
.footer--nav--supp li a:hover { text-decoration: underline; }
.pagetop { position: relative; margin-bottom: -1px; float: right; z-index: 2; }
.footer--inner {
	padding: 30px 0 10px;
	background: #FEF8E0;
}
.footer--inner p {
	margin-bottom: 15px;
	font-size: 14px;
	font-size: 1.4rem;
}
.footer--inner .txt--theme,
.footer--inner p.txt--theme {
	height: auto !important;
	box-sizing: border-box;
	padding-top: .8em;
}
.copy {
	display: block;
	text-align: center;
	color: #FFF;
	font-weight: bold;
	font-size: 13px;
	line-height: 3;
	background: #635947;
	height: 30px;
}

/* Banner List */
.bnr--list {
	padding: 30px 0 60px;
	margin-bottom: -28px;
	text-align: center;
	background: #FAF8F1;
}
.bnr--list ul { margin: 0 auto; width: 590px; overflow: hidden; }
.bnr--list li { float: left; margin: 0 8px 8px; }
.bnr--list li img { vertical-align: bottom; }

/* ------------------------------------------------------------
   UTILITIES
------------------------------------------------------------ */
.flex {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.between {
	display: flex;
	justify-content: space-between;
	max-width: 500px;
	width: 100%;
}
.fl--r { float: right; }
.txt--center { text-align: center; }
.txt--right { text-align: right; }
.txt--theme { color: #7D7976; }
.txt--small { font-size: 12px; font-size: 1.2rem; }
.txt--middeum { font-size: 13px; font-size: 1.3rem; }
.bold {
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 140%;
}
.ttl--heading {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	box-sizing: border-box;
}
.ttl--entry {
	padding-left: 25px;
	margin-bottom: 10px;
	font-weight: bold;
	background: url(img/common/ico_circle.png) no-repeat left center;
}

/* ------------------------------------------------------------
   MOBILE MENU
------------------------------------------------------------ */
.toggle { display: none; }
.gnav { line-height: 1.6; margin: 0; }
.gnav .description { display: none; }
.collapse { display: none; }
.collapse.in { display: block; }
.fade { opacity: 0; transition: opacity 0.15s linear; }
.fade.in { opacity: 1; }
.collapsing {
	position: relative;
	height: 0;
	overflow: hidden;
	transition: height 0.35s ease, visibility 0.35s ease;
}

/* ------------------------------------------------------------
   TABLE
------------------------------------------------------------ */
.table--base { width: 100%; margin-bottom: 10px; }
.table--base th {
	padding: 10px;
	max-width: 33.33%;
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
	background: #F7F5F2;
	border: 1px solid #D0CBC4;
	box-sizing: border-box;
}
.table--base td {
	padding: 10px;
	text-align: center;
	border: 1px solid #D0CBC4;
	box-sizing: border-box;
	vertical-align: middle;
}
.table--base thead th { text-align: center; background: #E2E4CB; }

/* ------------------------------------------------------------
   RESPONSIVE - max-width: 960px
------------------------------------------------------------ */
@media screen and (max-width: 960px) {
	html { overflow: auto; }
	body { overflow: hidden; }
	.container { min-width: auto; max-width: 960px; }
	.fl--r { float: none; }
	.scroll_img {
		margin: 30px 0;
		text-align: center;
		overflow-x: scroll;
	}
	.scroll_img::-webkit-scrollbar { height: 5px; }
	.scroll_img::-webkit-scrollbar-track { background: #ccc; border-radius: 5px; }
	.scroll_img::-webkit-scrollbar-thumb { border-radius: 5px; background: #666; }
	.scroll_img img { max-width: 700px; width: 700px; }
	.sogo .description { padding: 0 15px; }
	.sogo .main--visual--content { background-size: 100%; height: auto; padding: 27% 0; }
	.sogo .box--lowerlink { margin: 0; padding: 0 15px; }
	.sogo .box--lowerlink li { text-align: center; float: none; margin: 0 0 5px; }
	.sogo .wrap-subcontent { max-width: 770px; width: 100%; }
	.wrap-kantaki { padding: 55px 15px; }
	.box-facilitylink { max-width: 450px; width: 100%; height: auto; margin: auto; float: none; }
	.box-bloglink { max-width: 220px; width: 100%; margin: 20px auto 0; }
	.kantaki-top { min-width: auto; }
	.box-kantaki ul { display: flex; flex-wrap: wrap; }
	.box-kantaki li { display: block; max-width: 75px; width: calc(100% / 3); margin: 0 10px 10px; }
	.box-map { padding: 0 15px; text-align: center; }
	.wrap-contact { max-width: 420px; width: 100%; margin: auto; text-align: left; }
	.footer--inner { padding: 30px 15px 10px; }
}

/* ------------------------------------------------------------
   RESPONSIVE - max-width: 768px
------------------------------------------------------------ */
@media screen and (min-width: 769px) {
	.gnav { display: block !important; height: inherit !important; }
}

@media screen and (max-width: 768px) {
	.toggle {
		cursor: pointer;
		display: inline-block;
		background: none;
		border: none;
		outline: none;
		position: absolute;
		padding: 13px;
		right: 10px;
		text-align: center;
		top: 15px;
		z-index: 7;
	}
	.toggle__bar {
		position: relative;
		margin: 8px auto;
		user-select: none;
	}
	.toggle__bar, .toggle__bar::before, .toggle__bar::after {
		display: block;
		width: 25px;
		height: 3px;
		background-color: #231815;
		transition: background-color 0.3s, transform 0.3s;
	}
	.toggle__bar::before, .toggle__bar::after { position: absolute; content: ""; }
	.toggle__bar::before { top: -8px; }
	.toggle__bar::after { top: 8px; }
	.toggle__title {
		font-size: 10px;
		display: block;
		padding-top: 5px;
		width: 4em;
		white-space: nowrap;
	}
	.toggle__title:before { content: "メニュー"; }
	.toggle[aria-expanded="true"] .toggle__bar { background-color: transparent; }
	.toggle[aria-expanded="true"] .toggle__bar::before { transform: translateY(8px) rotate(45deg); }
	.toggle[aria-expanded="true"] .toggle__bar::after { transform: translateY(-8px) rotate(-45deg); }
	.toggle[aria-expanded="true"] .toggle__title:before { content: "とじる"; }
	
	.gnav {
		position: absolute;
		left: 0;
		top: 90px;
		width: 100%;
		background: rgba(255,255,255,0.9);
		border-bottom: 1px solid #E8E8E8;
		box-shadow: 0 1px 5px #E8E8E8;
		z-index: 6;
		height: 100vh;
	}
	.gnav li { text-align: center; margin: 15px 0; }
	.header_pc { display: none; }
	.header_sp {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		width: 100%;
		background-color: rgba(255,255,255,0.9);
		background-image: url(img/common/bg_header.png);
		background-position: left;
		background-repeat: no-repeat;
	}
	.sogo .main--visual { margin-top: 90px; }
	.sogo .logo { margin: 0; }
	.recruit_bnr { padding: 0 15px; }
	.bnr--list ul {
		max-width: 590px;
		width: 100%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.bnr--list li { float: none; width: calc(95% / 3); margin: 0 auto 8px; }
}

/* ------------------------------------------------------------
   RESPONSIVE - max-width: 550px
------------------------------------------------------------ */
@media screen and (max-width: 550px) {
	.sogo .description { display: none; }
	.sogo .main--visual { margin-top: 70px; margin-bottom: 0; }
	.sogo .logo { max-width: 225px; width: 100%; padding: 10px 15px; }
	.sogo .wrap-subcontent { margin: 0 auto; }
	.toggle { top: 5px; }
	.box-facilitylink { max-width: 220px; padding: 18px 20px; }
	.scroll_img img { max-width: 500px; width: 500px; }
	.box-contact p { float: none; height: auto; }
	.bnr--list li { width: calc(90% / 2); }
	.gnav { top: 70px; }
	.gnav .description { margin-top: 0; display: block; text-align: center; }
	.sp_underline { text-decoration: underline; }
	.wrap-kantaki { padding: 35px 15px 0; margin-bottom: 35px; }
	.box-map { margin: 30px 0; }
	.footer { margin-top: 30px; }
}

.wrap h3 { text-align: left; }
