/*
	Theme Name:keio1-kyuto
	Theme URI:https://keio1-kyuto.com
	Description:給湯器専門サイトケイオーのテンプレート
	Author:Den-Mart
	Author URI:https://den-mart.jp
	Version:3.1.1
	Stable tag:3.1.1
	Requires at least:6.0
	Tested up to:6.5
	Requires PHP:7.4
	License:GNU General Public License v3 or later.
	License URI:https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain:hello-elementor
	Tags:accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

/**
 * Loading first in the style.scss & classic-editor.scss
 */
/**
* Document basic styling
* Inspired by Normalize.css, HTML5 Boilerplate & Bootstrap Reboot Projects under MIT License
*/
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Change from `box-sizing:content-box` so that `width` is not affected by `padding` or `border`.
*/

html {
	line-height:1.15; /* 1 */
	-webkit-text-size-adjust:100%; /* 2 */
}
*,
*::before,
*::after {
	box-sizing:border-box; /* 3 */
}

/* Sections
 */
body {
	margin:0;
	/*font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";*/
	font-size:1rem;
	font-weight:400;
	line-height:1.5;
	color:#1f1f1f;
	background-color:#fff;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1, h2, h3, h4, h5, h6 {
	margin-block-start:0;
	margin-block-end:0;
	font-family:inherit;
	font-weight:500;
	line-height:1.2;
	color:inherit;
}

h1 {font-size:2.5rem;}
h2 {font-size:2rem;}
h3 {font-size:1.75rem;}
h4 {font-size:1.5rem;}
h5 {font-size:1.25rem;}
h6 {font-size:1rem;}
p {
	margin-block-start:0;
	margin-block-end:0;
}

/* Grouping content
 */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing:content-box; /* 1 */
	height:0; /* 1 */
	overflow:visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family:monospace, monospace; /* 1 */
	font-size:1em; /* 2 */
	white-space:pre-wrap;
}

/* Text-level semantics
 */
a {
	background-color:transparent;
	text-decoration:none;
	color:#1f1f1f;
}
a:hover, a:active {color:#1f1f1f;}
a:not([href]):not([tabindex]) {
	color:inherit;
	text-decoration:none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
	color:inherit;
	text-decoration:none;
}
a:not([href]):not([tabindex]):focus {outline:0;}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-block-end:none; /* 1 */
	-webkit-text-decoration:underline dotted;
					text-decoration:underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,strong {font-weight:bolder;}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family:monospace, monospace; /* 1 */
	font-size:1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {font-size:80%;}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size:75%;
	line-height:0;
	position:relative;
	vertical-align:baseline;
}

sub {bottom:-0.25em;}
sup {top:-0.5em;}

/* Embedded content
 */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style:none;
	height:auto;
	max-width:100%;
}

/* Interactive
 */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {display:block;}

/*
 * Add the correct display in all browsers.
 */
summary {display:list-item;}

figcaption {
	font-size:16px;
	color:#333333;
	line-height:1.4;
	font-style:italic;
	font-weight:400;
}

/* Misc
 */
/**
 * Add the correct display in IE 10+.
 */
template {display:none;}

/**
 * Add the correct display in IE 10.
 */
[hidden] {display:none;}

/* Print */
@media print {
	*,
	*:before,
	*:after {
		background:transparent !important;
		color:#000 !important; /* Black prints faster */
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {text-decoration:underline;}
	a[href]:after {content:" (" attr(href) ")";}
	abbr[title]:after {content:" (" attr(title) ")";}
	a[href^="#"]:after,
	a[href^="javascript:"]:after {content:"";}
	pre {white-space:pre-wrap !important;}
	pre,
	blockquote {
		-moz-column-break-inside:avoid;
				 break-inside:avoid;
		border:1px solid #cccccc;
	}
	thead {display:table-header-group;}
	tr,
	img {
		-moz-column-break-inside:avoid;
				 break-inside:avoid;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		-moz-column-break-after:avoid;
				 break-after:avoid;
	}
}
/**
 * Form styling
 */
label {
	display:inline-block;
	line-height:1;
	vertical-align:middle;
}

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family:inherit; /* 1 */
	font-size:1rem; /* 1 */
	line-height:1.5; /* 1 */
	margin:0; /* 2 */
}

input[type=text],
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=url],
select,
textarea {
	width:100%;
	border:solid 1px #666666;
	border-radius:3px;
	padding:0.5rem 1rem;
	transition:all 0.3s;
}
input[type=text]:focus,
input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
	border-color:#333333;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
	overflow:visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
	text-transform:none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
	width:auto;
	-webkit-appearance:button;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button,
[type=submit],
[type=button] {
	display:inline-block;
	font-weight:400;
	color:#CC3366;
	text-align:center;
	white-space:nowrap;
	-webkit-user-select:none;
		 -moz-user-select:none;
					user-select:none;
	background-color:transparent;
	border:1px solid #CC3366;
	padding:0.5rem 1rem;
	font-size:1rem;
	border-radius:3px;
	transition:all 0.3s;
}
button:focus:not(:focus-visible),
[type=submit]:focus:not(:focus-visible),
[type=button]:focus:not(:focus-visible) {
	outline:none;
}
button:hover, button:focus,
[type=submit]:hover,
[type=submit]:focus,
[type=button]:hover,
[type=button]:focus {
	color:#ffffff;
	background-color:#CC3366;
	text-decoration:none;
}
button:not(:disabled),
[type=submit]:not(:disabled),
[type=button]:not(:disabled) {
	cursor:pointer;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding:0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing:border-box; /* 1 */
	color:inherit; /* 2 */
	display:table; /* 1 */
	max-width:100%; /* 1 */
	padding:0; /* 3 */
	white-space:normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align:baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow:auto;
	resize:vertical;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
	box-sizing:border-box; /* 1 */
	padding:0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height:auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
	-webkit-appearance:textfield; /* 1 */
	outline-offset:-2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
	-webkit-appearance:none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance:button; /* 1 */
	font:inherit; /* 2 */
}

select {
	display:block;
}

/**
 * Table styling
 */
table {
	background-color:transparent;
	width:100%;
	margin-block-end:15px;
	font-size:0.9em;
	border-spacing:0;
	border-collapse:collapse;
}
table th,
table td {
	padding:15px;
	line-height:1.5;
	vertical-align:top;
	border:1px solid rgba(128, 128, 128, 0.5019607843);
}
table th {
	font-weight:bold;
}
table thead th,
table tfoot th {
	font-size:1em;
}
table caption + thead tr:first-child th,
table caption + thead tr:first-child td,
table colgroup + thead tr:first-child th,
table colgroup + thead tr:first-child td,
table thead:first-child tr:first-child th,
table thead:first-child tr:first-child td {
	border-block-start:1px solid rgba(128, 128, 128, 0.5019607843);
}
table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
	background-color:rgba(128, 128, 128, 0.0705882353);
}
table tbody tr:hover > td,
table tbody tr:hover > th {
	background-color:rgba(128, 128, 128, 0.1019607843);
}
table tbody + tbody {
	border-block-start:2px solid rgba(128, 128, 128, 0.5019607843);
}
@media (max-width:767px) {
	table table {
		font-size:0.8em;
	}
	table table th,
	table table td {
		padding:7px;
		line-height:1.3;
	}
	table table th {
		font-weight:400;
	}
}

/**
 * List styling
 */
dl,dt,dd,ol,ul,li {
	margin-block-start:0;
	margin-block-end:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	list-style:none;
	margin:0;
	padding:0;
}

/* kyuto_wpここから */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');

:root {interpolate-size:allow-keywords;}
body {
	font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

a {transition:all .3s ease;}
a:hover {
	-moz-opacity:0.9;
	opacity:0.9;
	filter:alpha(opacity=90);
}

/*---▼ヘッダー▼---*/
header {
	width:100%;
	height:139px;
	background-color:#fff;
	display:flex;
	justify-content:space-between;
	align-items:center;
	border-collapse:collapse;
	padding:10px 70px;
	position:relative;
	z-index:1000;
}
header .logo_wp {
	display:flex;
	width:330px;
	height:100%;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
}
header .logo_wp h1 {
	font-size:12px;
	margin:0;
	padding:0 0 5px;
	position:absolute;
	top:10px;
}
header .logo_wp .logo {
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
header .logo_wp .logo img {
	width:146px;
	margin:0 20px 0 0;
}
header .logo_wp .logo span {
	font-size:16px;
	font-weight:400;
}
header .nav_wp {
	width:100%;
	max-width:1050px;
	display:flex;
	justify-content:center;
	align-items:flex-end;
	flex-direction:column;
}
header .nav_wp ul.link {
	width:100%;
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
header .nav_wp ul.link li {margin:0 10px 0 0;}
header .nav_wp ul.link li a {
	color:#fff;
	font-weight:500;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#eee;
	width:141px;
	height:39px;
	border-radius:3px;
	line-height:1;
}
header .nav_wp ul.link li.x1 a {background-color:#f370a5;}
header .nav_wp ul.link li.x2 a {background-color:#e9552e;}
header .nav_wp ul.link li.x3 a {background-color:#4068bc;}
header .nav_wp ul.link li.x4 a {background-color:#00c300;}
header .nav_wp ul.link li a span {padding:0 0 2px;}
header .nav_wp ul.link li a img {
	width:22px;
	margin:0 5px 0 0;
}
header .nav_wp ul.link li.info {
	width:265px;
	margin:0 0 0 25px;
}
header .nav_wp ul.link li.info a {
	pointer-events:none;
	background-color:initial;
	width:100%;
	height:auto;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-end;
	color:#1f1f1f;
}
header .nav_wp ul.link li.info a .txt {
	font-size:13px;
	letter-spacing:-0.05em;
	margin:0 0 2px;
}
header .nav_wp ul.link li.info a .txt2 {
	font-size:14px;
	font-weight:600;
	display:none;
}
header .nav_wp ul.link li.info a .num_wp {
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
header .nav_wp ul.link li.info a .num_wp img {width:40px;}
header .nav_wp ul.link li.info a .num_wp span {
	font-size:32px;
	font-weight:700;
	color:#e9552e;
	line-height:0.8;
}
header .nav_wp nav {margin:5px 0 0;}
header .nav_wp nav ul.gnav {
	width:100%;
	padding:0;
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
header .nav_wp nav ul.gnav li {
	font-size:16px;
	font-weight:500;
	padding:0 25px;
}
header .nav_wp nav ul.gnav li a {
	display:block;
	padding:5px 25px;
}
header .nav_wp nav ul.gnav li .ttl {
	margin:0;
}
header .nav_wp nav ul.gnav li.hover {
	width:10em;
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
	padding:5px 25px;
}
header .nav_wp nav ul.gnav li.hover::after {
	content:"▼";
	font-size:10px;
	margin:0 0 0 3px;
}
header .nav_wp nav ul.gnav li.hover ul {
	width:100%;
	height:0;
	padding:0;
	position:absolute;
	top:1.2em;
	overflow:hidden;
	transition:all .3s ease;
	-moz-opacity:0;
	opacity:0;
	filter:alpha(opacity=0);
}
header .nav_wp nav ul.gnav li.hover ul li {
	padding:0;
}
header .nav_wp nav ul.gnav li.hover ul li a {
	background-color:#1f4e83;
	text-align:center;
	color:#fff;
	font-size:15px;
	padding:12px 10px;
	width:100%;
	border-bottom:solid 1px #fff;
	font-feature-settings:'palt';
}
header .nav_wp nav ul.gnav li.hover ul li:last-child a {border:none;}
header .nav_wp nav ul.gnav li.hover:hover ul {
	height:auto;
	-moz-opacity:1.0;
	opacity:1.0;
	filter:alpha(opacity=100);
	top:2em;
}
header .nav_wp .burger {display:none;}

header .sp_info {display:none;}


/*---▼Googleウィジェット▼---*/
#google_rating {background-color:#3195d4;}
#google_rating .wp {
	width:100%;
	max-width:1050px;
	margin:0 auto;
	padding:15px 25px;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#google_rating .wp .bx {
	display:flex;
	justify-content:center;
	align-items:center;
}
#google_rating .wp .bx .ti-widget-container {margin:0 15px 0 0;}
#google_rating .wp .bx img {
	width:100%;
	max-width:159px;
}
#google_rating .wp .bx a {
	display:block;
	line-height:1;
	margin:0 1.5em 0 0;
	position:relative;
	top:0;
}
#google_rating .wp .bx a:hover {top:-2px;}
#google_rating .wp .bx a img {
	width:100%;
	max-width:263px;
}
#google_rating .ti-widget.ti-goog .ti-text {display:none;}
#google_rating .ti-widget.ti-goog>.ti-widget-container>.ti-header {
	background-color:#fff!important;
	padding:5px 20px;
	margin:15px 0;
}
#google_rating .ti-widget.ti-goog .ti-icon {
	width:32px;
	height:auto;
	aspect-ratio:1;
}
#google_rating .ti-widget.ti-goog .ti-icon:after {
	width:100%;
	height:auto;
	aspect-ratio:1;
}
#google_rating .ti-widget.ti-goog .ti-rating {font-size:23px;}
#google_rating .ti-widget.ti-goog .ti-profile-details .ti-stars .ti-star {
	width:25px;
	height:auto;
	aspect-ratio:1;
}
#google_rating .wp .bx .ti-widget .ti-widget-container a {padding:5px 15px;}
#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-profile-details .ti-text {display:none;}
#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-profile-details .ti-stars .ti-rating {
	font-size:26px;
	line-height:1;
}
#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-profile-details .ti-stars .ti-star {
	width:26px !important;
	height:auto !important;
	aspect-ratio:1;
}
#google_rating .wp .bx .ti-widget .ti-widget-container a {
    padding:5px 15px;
    border-radius:5px;
}



#google_rating .wp .btn {
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#f5590e;
	width:220px;
	border-radius:100px;
	padding:8px 15px;
	position:relative;
}
#google_rating .wp .btn img {width:54%;}
#google_rating .wp .btn:after {
	content:"▼";
	color:#fff;
	transform:rotate(-90deg);
	font-size:12px;
	position:absolute;
	right:1.3em;
}


/*---▼contactbar▼---*/
.container.contactbar {
	padding:40px 0 45px;
	background-color:#ff671c;
}
.container.contactbar h2 {
	font-size:38px;
	font-weight:600;
	font-feature-settings:'palt';
	letter-spacing:0.05em;
	text-align:center;
	color:#fffc00;
}
.container.contactbar h2 br {display:none;}
.container.contactbar .inner .info {
	display:block;
	margin:15px auto 0;
	width:100%;
}
.container.contactbar .inner .info a {pointer-events:none;}
.container.contactbar .inner .info .txt1 {
	font-weight:600;
	text-align:center;
	font-size:24px;
	color:#fff;
}
.container.contactbar .inner .info a .num_wp {
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	max-width:395px;
	margin:0 auto;
}
.container.contactbar .inner .info a .num_wp img {width:56px;}
.container.contactbar .inner .info a .num_wp p {
	font-size:2.85em;
	line-height:1;
	font-weight:700;
	padding:0 8px 0.1em;
	color:#fff;
}
.container.contactbar .inner .info .txt2 {
	font-size:14px;
	text-align:center;
	line-height:1;
	font-weight:400;
	color:#fff;
	font-feature-settings:'palt';
}
.container.contactbar .inner ul {
	width:100%;
	max-width:775px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:20px auto 0;
}
.container.contactbar .inner ul li {width:24%;}
.container.contactbar .inner ul li a {
	color:#fff;
	font-weight:500;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#eee;
	width:100%;
	border-radius:6px;
	line-height:1;
	font-size:20px;
	padding:0.7em 0.2em;
	border:solid 2px #fff;
}
.container.contactbar .inner ul li.x1 a {background-color:#f370a5;}
.container.contactbar .inner ul li.x2 a {background-color:#e9552e;}
.container.contactbar .inner ul li.x3 a {background-color:#4068bc;}
.container.contactbar .inner ul li.x4 a {background-color:#00c300;}
.container.contactbar .inner ul li a span {padding:0 0 2px;}
.container.contactbar .inner ul li a img {
	width:22px;
	margin:0 5px 0 0;
}

/*---▼フッター▼---*/
footer {
	width:100%;
	background-color:#ffebd0;
}
footer .wp {
	width:100%;
	max-width:1500px;
	display:flex;
	justify-content:space-around;
	align-items:flex-start;
	margin:0 auto;
	padding:70px 50px 160px;
}
footer .wp .info {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
}
footer .wp .info .txt {
	font-size:13px;
	margin:0 0 5px;
	font-weight:500;
}
footer .wp .info .logo {
	display:block;
	width:150px;
}
footer .wp .info .address {
	font-size:13px;
	font-weight:500;
	margin:0;
}
footer .wp .info .tel {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-direction:column;
}
footer .wp .info .tel .num_wp {
	width:100%;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
footer .wp .info .tel .num_wp img {
	width:40px;
	margin:0 10px 0 0;
}
footer .wp .info .tel .num_wp span {
	font-size:32px;
	font-weight:700;
	color:#e9552e;
	line-height:0.8;
}
footer .wp ul {
	width:200px;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	align-items:flex-start;
	margin:0;
}
footer .wp ul li {
	font-size:14px;
	margin:0 0 0.8em 0.8em;
}
footer .wp ul li.ttl {
	font-size:18px;
	font-weight:500;
	margin:0 0 1em;
}
footer .wp ul li.ttl_sub {
	font-weight:500;
	line-height:1.4;
	margin:0 0 0.5em 0.8em;
}
footer .wp ul li.ttl_sub+li {
	margin:0 0 0 .8em;
	line-height:1.4;
}
footer .wp ul li.ttl_sub+li ul {
	width:100%;
	margin:0 0 0.8em;
}

/*---▼スクロール関連▼---*/
body.fixed {padding-top:139px;}
.fixed header {
	position:fixed;
	bottom:-99px;
	background-color:rgba(255, 255, 255, .95);
	backdrop-filter:blur(3px);
	height:auto;
	padding:15px 0;
	z-index:10000;
	animation:.3s .1s ease forwards fadeInHeader;
}
.fixed header .logo_wp {display:none;}
.fixed header .nav_wp {
	margin:0 auto;
	flex-direction:unset;
}
.fixed header .nav_wp ul.link {justify-content:center;}
.fixed header .nav_wp ul.link li.x1 {order:1;}
.fixed header .nav_wp ul.link li.x2 {order:2;}
.fixed header .nav_wp ul.link li.x3 {order:3;}
.fixed header .nav_wp ul.link li.x4 {order:4;}
.fixed header .nav_wp ul.link li.info {
	order:0;
	margin:0 25px 0 0;
}
.fixed header .nav_wp ul.link li.info a .txt2 {display:initial;}
.fixed header .nav_wp ul.link li.info a {
	flex-direction:column-reverse;
	align-items:center;
}
.fixed header .nav_wp nav ul.gnav {display:none;}

@keyframes fadeInHeader {
	  0% {bottom:-99px;}
	100% {bottom:0;}
}

#sp_bottom_nav {
	display:flex;
	position:fixed;
	bottom:0;
	width:100%;
	justify-content:space-between;
	align-items:center;
	display:none;
	z-index:100000;
	transition:all .3s ease;
}
#sp_bottom_nav li {
	width:25%;
	height:auto;
	aspect-ratio:1;
}
#sp_bottom_nav li a {
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#ddd;
	flex-direction:column;
	width:100%;
	height:auto;
	aspect-ratio:1;
}
#sp_bottom_nav li.x1 a {background-color:#f370a5;}
#sp_bottom_nav li.x2 a {background-color:#ff5400;}
#sp_bottom_nav li.x3 a {background-color:#4068bc;}
#sp_bottom_nav li.x4 a {background-color:#00c300;}
#sp_bottom_nav li.x5 a {background-color:#756d61;}
#sp_bottom_nav li a img {width:40%;}
#sp_bottom_nav li.x5 a img {transform:rotate(-90deg);}
#sp_bottom_nav li a span {
	font-size:3vw;
	font-weight:700;
	color:#fff;
}

/*---▼topbnr関連▼---*/
.container.topbnr {
	width:100%;
	background-color:#b10d0d;
	background:url(https://www.keio1-kyuto.com/wp-content/themes/keio1-kyuto/assets/images/ptn01.gif) repeat;
	padding:15px 0 0;
	position:relative;
}
.container.topbnr::before, 
.container.topbnr::after {
	content:"";
	display:block;
	width:100%;
	height:2px;
	background-color:#fff;
	position:absolute;
}
.container.topbnr::before {top:12px;}
.container.topbnr::after {bottom:12px;}

.container.topbnr .inner {
	width:100%;
	max-width:1273px;
	margin:0 auto;
}
.container.topbnr .inner a {
	display:block;
	line-height:0;
}
.container.topbnr .inner a img.sp {display:none;}

/*---▼パンくず関連▼---*/
#pank {
	background-color:#ffebd0;
	padding:1em 25px;
}
#pank ul {
	width:100%;
	max-width:1500px;
	margin:0 auto;
	display:inline;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
}
#pank ul>* {display:inline;}
#pank ul li a {text-decoration:underline;}

/*---▼トップへ戻るボタン▼---*/
header .nav_wp .btn_top {display:none;}
body.fixed header .nav_wp .btn_top {
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#a68933;
	width:105px;
	height:auto;
	aspect-ratio:1;
	position:absolute;
	right:0;
	bottom:0;
	z-index:10000;
}
body.fixed header .nav_wp .btn_top img {
	width:35%;
	transform:rotate(-90deg);
}

/* メディアクエリ
------------------------------------------------------------------*/
@media print, screen and (max-width:1500px){
	header {padding:10px 25px;}
	header .nav_wp {
		width:70%;
		width:max-content;
		width:fit-content;
	}
	footer .wp .info {width:32%;}
	footer .wp ul {width:17%;}
}
@media print, screen and (max-width:1300px){
	header .logo_wp .logo {
		flex-direction:column;
		align-items:flex-start;
	}
	header .logo_wp .logo img {
		width:140px;
		margin:3px 0 3px 2px;
	}
	header .nav_wp ul.link li.info {margin:0 0 0 5px;}
}
@media print, screen and (max-width:1200px){
	header .nav_wp ul.link li a {
		font-size:1.3vw;
		height:fit-content;
		padding:0.5em 0;
		width:9.2em;
	}
	header .nav_wp ul.link li a img {width:1.4em;}
}
@media print, screen and (max-width:1100px){
	header {padding:20px 25px 10px;}
	header .logo_wp {
	width:22vw;
	justify-content:flex-start;
	margin:10px 0 0;
}
	header .logo_wp h1 {top:3px;}
	header .nav_wp {width:80vw;}
	header .nav_wp ul.link li a {
		flex-direction:column;
		width:7em;
		padding:8px 0;
		font-size:1.5vw;
	}
	header .nav_wp ul.link li a img {
		margin:0 0 3px;
		width:1.5em;
	}
	header .nav_wp ul.link li.info {
		width:auto;
		margin:0.4vw 0 0;
	}
	header .nav_wp ul.link li.info a {padding:0;}
	header .nav_wp ul.link li.info a .num_wp img {margin:0;}
	header .nav_wp nav {width:100%;}
	header .nav_wp nav ul.gnav li {
		width:25%;
		padding:5px 0;
		text-align:center;
	}
	header .nav_wp nav ul.gnav li.hover {
		width:25%;
		padding:5px 0;
	}
	header .nav_wp nav ul.gnav li.hover ul li {width:100%;}

	footer .wp {
		flex-wrap:wrap;
		padding:50px 50px 140px;
		justify-content:space-between;
	}
	footer .wp .info {
		width:100%;
		margin:0 0 30px;
	}
	footer .wp ul {width:10em;}
}
@media print, screen and (max-width:1000px){
	header .nav_wp ul.link li a {font-size:1.3vw;}
	footer .wp ul {
		width:100%;
		flex-direction:initial;
		flex-wrap:wrap;
		margin:0 0 0.8em;
	}
	footer .wp ul li {
		font-size:16px;
		margin:0 1em 0.8em 1em;
	}
	footer .wp ul li::before {content:" - ";}
	footer .wp ul li.ttl {
		width:100%;
		margin:0 0 0.6em;
	}
	footer .wp ul li.ttl::before {content:none;}
	footer .wp ul li.ttl_sub::before,
	footer .wp ul li.ttl_sub+li::before {content:none;}
	footer .wp ul li.ttl_sub {width:100%;}
	footer .wp ul li.ttl_sub+li ul {
		background-color:#fff6ea;
		padding:1em 1em 0.5em;
		margin:0.5em 0 1em 1em;
	}

	/*---▼トップへ戻るボタン▼---*/
	body.fixed header .nav_wp .btn_top {width:11.5vw;}
}
@media print, screen and (max-width:900px){
	header {padding:8px 2vw;}
	header .logo_wp h1 {font-size:1.2vw;}
	header .nav_wp ul.link li a img {width:1.8em;}
	header .logo_wp .logo span {
	font-size:1.6vw;
	font-weight:500;
	}
	header .nav_wp ul.link li {margin:0 0.4vw;}
	header .nav_wp ul.link li a {font-size:1.4vw;}
	header .nav_wp ul.link li.info {margin:1vw 0 0 0.7vw;}
	header .nav_wp ul.link li.info a .num_wp span {font-size:3.2vw;}
	header .nav_wp ul.link li.info a .txt {
		font-size:1.3vw;
		text-align:center;
		width:100%;
		font-feature-settings:'palt';
		letter-spacing:0.02em;
		margin:0;
	}
	header .nav_wp nav ul.gnav li {padding:0;}

	.container.contactbar h2 {font-size:4.8vw;}
	.container.contactbar .inner ul {padding:0 25px;}

	#google_rating .wp .bx .ti-widget-container {
		display:flex;
		margin:5px 15px 0 0;
	}
}
@media print, screen and (max-width:768px){
	section {overflow-x:hidden;}

	body {padding-top:20vw;}
	body.open {overflow:hidden;}

	header {
		position:fixed;
		padding:0;
		height:20vw;
		bottom:unset;
		animation:unset;
		top:0;
		height:20vw;
	}
	.open header {
		height:100vh;
		height:100dvh;
		overflow-y:scroll;
	}
	.fixed header {
		height:20vw;
		padding:0;
	}
	.open.fixed header {
		height:100vh;
		height:100dvh;
	}

	header .logo_wp {
		width:auto;
		z-index:1;
		justify-content:flex-start;
		padding:1.2vw 0 0 2.5vw;
	}
	.fixed header .logo_wp {
		display:flex;
		margin:0;
	}
	header .logo_wp h1 {
		font-size:2.4vw;
		padding:0 0 0.1em;
		font-size:2.4vw;
		padding:0 0 0.1em;
		font-feature-settings:'palt';
		width:76vw;
		text-overflow:ellipsis;
		overflow:hidden;
		white-space:nowrap;
	}
	header .logo_wp .logo img {
		width:28vw;
		margin:3px 0;
	}
	header .logo_wp .logo span {font-size:2.6vw;}
	header .logo_wp .logo {margin:1.5vw 0 0;}

	header .nav_wp {
		position:absolute;
		width:100%;
		height:20vw;
		display:block;
		top:0;
		right:0;
		z-index:0;
		transition:all .3s ease;
		overflow:hidden;
	}
	body.open header .nav_wp {
		height:auto;
		height:100vh;
		height:100dvh;
		padding-top:20vw;
		background-color:rgba(0, 0, 0, 0.6);
		overflow:auto;
		z-index:100000;
	}
	.fixed header .nav_wp nav ul.gnav {display:flex;}
	header .nav_wp nav {margin:0;}
	header .nav_wp .burger {
		display:flex;
		margin:0 0 0 auto;
		width:20vw;
		height:auto;
		aspect-ratio:1;
		background-color:#084a94;
		flex-wrap:wrap;
		justify-content:center;
		align-items:center;
		align-content:center;
		cursor:pointer;
		position:absolute;
		top:0;
		right:0;
	}
	body.open header .nav_wp .burger {
		background-color:#ff5d1f;
		position:absolute;
		top:0;
		right:0;
	}

	header .nav_wp .burger div {
		display:block;
		width:60%;
		height:2px;
		background-color:#fff;
		transition:all .3s ease;
		position:absolute;
		margin:auto;
		top:-50%;
		bottom:-50%;
	}
	header .nav_wp .burger div.x1 {top:-80%;}
	header .nav_wp .burger div.x2 {opacity:1;}
	header .nav_wp .burger div.x3 {bottom:-80%;}
	body.open header .nav_wp .burger div.x1 {
		top:-50%;
		transform:rotate(45deg);
	}
	body.open header .nav_wp .burger div.x2 {opacity:0;}
	body.open header .nav_wp .burger div.x3 {
		bottom:-50%;
		transform:rotate(-45deg);
	}

	header .nav_wp .sp_inner {
		width:100%;
		height:0;
		background-color:#fff6ea;
		margin:0;
		display:flex;
		flex-direction:column-reverse;
		justify-content:flex-end;
		align-items:center;
		position:absolute;
		top:20vw;
		right:0;
		overflow:hidden;
		transition:all .3s ease;
	}
	body.open header .nav_wp .sp_inner {
		height:100%;
		height:fit-content;
		border:solid 3px #fe5f2d;
		position:unset;
		padding:0 0 6vw;
	}

	header .nav_wp nav ul.gnav {flex-direction:column;}
	header .nav_wp nav ul.gnav li {
		width:100%;
		text-align:left;
		border-bottom:solid 1px #ccc;
	}
	header .nav_wp nav ul.gnav li a {
		font-size:4.6vw;
		padding:3vw 2.5vw;
	}
	header .nav_wp nav ul.gnav li.hover {
		width:100%;
		justify-content:flex-start;
		padding:0;
		flex-wrap:wrap;
	}
	header .nav_wp nav ul.gnav li.hover .ttl {
		font-size:4.6vw;
		padding:3vw 2.5vw;
	}
	header .nav_wp nav ul.gnav li.hover ul {
		position:unset;
		height:0;
	}
	header .nav_wp nav ul.gnav li.hover::after {
		position:absolute;
		right:2.5vw;
		content:"＋";
		font-size:4vw;
		line-height:1;
		margin:0;
		top:4.4vw;
	}
	header .nav_wp nav ul.gnav li.hover.on::after {content:"－";}
	header .nav_wp nav ul.gnav li.hover:hover ul {height:0;}
	header .nav_wp nav ul.gnav li.hover ul {
		display:block;
		width:100%;
		height:0;
		-moz-opacity:1;
		opacity:1;
		filter:alpha(opacity=100);
		overflow:hidden;
	}
	header .nav_wp nav ul.gnav li.hover.on ul {height:auto;}
	header .nav_wp nav ul.gnav li.hover ul li a {
		background-color:#e7e0d9;
		color:#1f1f1f;
		font-size:4vw;
		text-align:left;
		padding:3vw 4.5vw;
		border:none;
	}
	header .nav_wp nav ul.gnav li.hover ul li {
		border-bottom:none;
		border-top:solid 1px #ccc;
	}
	header .nav_wp ul.link {
		justify-content:center;
		flex-wrap:wrap;
	}
	header .nav_wp ul.link li {
		width:45%;
		margin:8% 1% 0;
		width:24%;
		margin:5% 0.5% 0;
	}
	header .nav_wp ul.link li a {
		width:100%;
		padding:4vw 0;
	}
	header .nav_wp ul.link li a img {width:8vw;}
	header .nav_wp ul.link li a span {
		font-size:4vw;
		font-size:3.5vw;
	}
	.fixed header .nav_wp ul.link li.x1,
	.fixed header .nav_wp ul.link li.x2,
	.fixed header .nav_wp ul.link li.x3,
	.fixed header .nav_wp ul.link li.x4,
	.fixed header .nav_wp ul.link li.info {order:unset;}

	header .nav_wp ul.link li.info {
		margin:5vw auto 0;
		width:100%;
		margin:2% auto 0;
	}
	header .nav_wp ul.link li.info a {
		pointer-events:initial;
		align-items:center;
		flex-direction:column-reverse;
	}
	header .nav_wp ul.link li.info a .txt {font-size:4.2vw;}
	header .nav_wp ul.link li.info a .num_wp img {width:15vw;}
	header .nav_wp ul.link li.info a .num_wp span {
		font-size:10vw;
		padding:0 0 0.1em 0.1em;
	}
	header .sp_info {
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
		width:35vw;
		width:fit-content;
		margin:3vw 22vw 0 0;
		padding:0.8vw 5px 0.8vw;
		height:75%;
		height:fit-content;
		border:solid 2px #ff4e00;
		border-radius:9px;
		font-feature-settings:'palt';
		line-height:1;
	}
	header .sp_info .msg {
		font-size:3.8vw;
		font-weight:700;
		display:flex;
		justify-content:center;
		align-items:center;
		letter-spacing:0.1em;
	}
	header .sp_info .msg img {width:12px;}
	header .sp_info .tel {
		font-size:5.6vw;
		font-weight:700;
		color:#e9552e;
		padding:2px 0;
	}
	header .sp_info .txt {
		letter-spacing:-0.02em;
		font-size:2.6vw;
		font-weight:700;
	}
	.fixed header .nav_wp ul.link li.info a .txt2 {display:none;}

	/* Google口コミ */
	#google_rating .wp {padding:3vw 3.5vw;}
	#google_rating .wp .bx {
		width:60%;
		flex-direction:column-reverse;
		align-items:flex-start;
	}
	#google_rating .ti-widget.ti-goog>.ti-widget-container>.ti-header {
		margin:1.5vw 0 0;
		padding:5px 8px;
		align-items:center;
	}
	#google_rating .ti-widget.ti-goog .ti-icon {
		width:5vw!important;
		margin-right:5px!important;
	}
	.ti-widget.ti-goog .ti-profile-details .stars,
	.ti-widget.ti-goog .ti-profile-details .ti-stars {line-height:4.2vw;}
	.ti-widget.ti-goog .ti-profile-details .ti-stars {
		display:flex;
		align-items:center;
		margin:0;
	}
	#google_rating .ti-widget.ti-goog>.ti-widget-container>.ti-header .ti-profile-details .ti-stars {
		margin:0;
		align-items:center;
	}
	#google_rating .ti-widget.ti-goog>.ti-widget-container>.ti-header .ti-profile-details .ti-stars .ti-rating {
		font-size:4.5vw;
		top:unset;
		line-height:1;
		margin:0 3px 0 0;
	}
	#google_rating .ti-widget.ti-goog>.ti-widget-container>.ti-header .ti-profile-details .ti-stars .ti-star {width:5vw;}
	#google_rating .wp .btn {
		width:40%;
		padding:5px;
		height:2.2em;
	}
	#google_rating .wp .btn img {
		width:auto;
		height:70%;
	}
	#google_rating .wp .btn:after {right:0.8em;}
	#google_rating .wp .bx a img {
		max-width:unset;
		margin:5px 0 0;
	}
	#google_rating .wp .bx img {width:30vw;}
	#google_rating .ti-widget.ti-goog .ti-platform-icon {
		width:25px !important;
		height:auto !important;
	}
	#google_rating .wp .bx .ti-widget .ti-widget-container a {
		padding:1.5vw;
		border:none;
	}
	#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-platform-icon {width:7vw !important;}
	#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-profile-details .ti-stars .ti-rating {
		font-size:5.2vw;
		top:0;
	}
	#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-profile-details .ti-stars {
		display:flex;
		justify-content:flex-start;
		align-items:center;
		margin:0;
	}
	#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-platform-icon {
		width:5vw !important;
		height:auto !important;
	}
	#google_rating .wp .bx .ti-widget .ti-widget-container a .ti-profile-details .ti-stars .ti-star {width:5vw !important;}

	.container.contactbar h2 br {display:initial;}
	.container.contactbar h2 {font-size:8.2vw;}
	.container.contactbar .inner .info {padding:0 5vw;}
	.container.contactbar .inner .info a {pointer-events:initial;}
	.container.contactbar .inner .info .txt1 {font-size:5vw;}
	.container.contactbar .inner .info a .num_wp {max-width:600px;}
	.container.contactbar .inner .info a .num_wp p {
		font-size:10vw;
		padding:0 0 0.1em 2vw;
	}
	.container.contactbar .inner .info a .num_wp img {width:11vw;}
	.container.contactbar .inner ul {
		padding:0 5vw;
		flex-wrap:wrap;
		justify-content:center;
	}
	.container.contactbar .inner ul li {
		width:45%;
		margin:0 2.5% 3vw;
	}
	.container.contactbar .inner ul li a {
		flex-direction:column;
		align-items:center;
		text-align:center;
	}
	.container.contactbar .inner ul li a img {
		width:10vw;
		margin:0 0 5px;
	}

	footer .wp {padding:45px 5vw 25vw;}
	footer .wp ul li {
		width:48%;
		margin:0 0 0.8em 2%;
		font-size:4vw;
	}
	footer .wp ul li.ttl_sub {margin:0 0 0.5em 0;}
	footer .wp ul li.ttl_sub+li {
		width:100%;
		margin:0;
	}
	footer .wp ul li.ttl_sub+li ul {margin:0.5em 0 1em 0;}
	#sp_bottom_nav {
		display:flex;
		bottom:-22vw;
	}
	body.fixed #sp_bottom_nav {bottom:0;}
	body.fixed.open #sp_bottom_nav {bottom:-22vw;}

	/*---▼topbnr関連▼---*/
	.container.topbnr .inner a img.pc {display:none;}
	.container.topbnr .inner a img.sp {display:initial;}

	.container.topbnr {
		padding:2.5vw 0 0;
		overflow:initial;
	}
	.container.topbnr .inner a {padding:0 2.5vw;}
	.container.topbnr::before {top:2vw;}
	.container.topbnr::after {bottom:2vw;}

	/*---▼pank関連▼---*/
	#pank {
		padding:2vw 2.5vw 3vw;
		line-height:1.4;
		font-size:4.2vw;
	}

	/*---▼トップへ戻るボタン▼---*/
	header .nav_wp .btn_top {display:none;}
	body.fixed header .nav_wp .btn_top {display:none;}
}