/*
Theme Name: petsalon-matsuyama
Theme URI: 
Author: 
Author URI: 
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: petsalonmatsuyama
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

petsalonmatsuyama is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	color: #000;
	font: 15px /1.6 "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

svg.icon {
	width: 2rem;
	height: 1.5rem;
	fill: currentColor;
	vertical-align: middle;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
button,
input,
select,
textarea {
	color: #000;
	font-family: sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin: 0 0 1em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

body {
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
	background-color: rgba(255,255,255,0.01);
}

figure {
	margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, .8);
	font-size: 0.875rem;
	padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 7px;
	width: 100%;
}

select {
	border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: inherit;
	text-decoration:underline;
	transition: 0.5s;
}

a:visited {
}

a:hover,
a:focus,
a:active {
}

a:focus {
}

a:hover,
a:active {
	outline: 0;
}
a:hover {
	opacity:0.6;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clearfix:before ,
.clearfix:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clearfix:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0;
}

.byline {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-content,
.entry-content,
.entry-summary {
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}
.gallery-item a,
.gallery-item img {
	display: block;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}


/*--------------------------------------------------------------
# 共通
--------------------------------------------------------------*/
body {
	overflow-x: hidden;
	position: relative;
}

.font_m {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


.font_jua {
	font-family: 'Jua', sans-serif;
	font-weight: 400;
}

.font_ico {
	font-family:"ico";
}
.wrapper {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

small {
	font-size: 75%;
}
figure {
	margin: 0;
}
table {
	margin: 0 0 1.5em;
	width: 100%;
}
th ,td {
	padding: 5px 10px;
}
th {
	font-weight: bold;
}

#maps img {
	max-width:none;
}

.align_l {
	text-align:left;
}
.align_c {
	text-align:center;
}
.align_r {
	text-align:right;
}

.fw {
	font-weight:700;
}
.fw400 {
	font-weight:400;
}
.t_small {
	font-size:0.88em;
}
.t_big {
	font-size:1.4em;
}
.red {
	color:#ff4e63;
}
.green {
	color: #84a02f;
}
.orange {
	color: #fb906c;
}
.mini {
	font-size:0.82em;
}
.f10 {
	font-size:10px;
}
.f11 {
	font-size:11px;
}
.f12 {
	font-size:12px;
}
.f13 {
	font-size:13px;
}
.f14 {
	font-size: 0.875rem;
}
.f16 {
	font-size:16px;
}
.f18 {
	font-size:16px;
}
.f20 {
	font-size:20px;
}
.f24 {
	font-size:24px;
}
.lh12 {
	line-height:1.25em;
}
.lh14 {
	line-height:1.4em;
}
.lh16 {
	line-height:1.65em;
}
.lh18 {
	line-height:1.8em;
}
.m5 {
	margin:5px auto;
}
.m10 {
	margin:10px auto;
}
.mb20 {
	margin-bottom:20px;
}
.m20 {
	margin:20px auto;
}
.m30 {
	margin:30px auto;
}
.shadow {
	box-shadow:2px 2px 0 #ccc;
	border-radius:3px;
}
.hr01 {
	margin:30px 0;
	display:block;
	background-color: #ccbfa9;
}
.nowrap {
	white-space: nowrap;
}
.pointer {
	cursor:pointer;
}
.block_ul {
	display:block;
	list-style:none;
	margin:0 ;
	padding:0;
}
.ib {
	display: inline-block;
}
.blo {
	display:block;
}
.mobile {
}
.pc {
	display:none;
}

.btn,
input[type="submit"].btn {
	display: inline-block;
	margin: 0 auto;
	background: #ff7b9b;
	color: #fff;
	padding: 0.5rem 2.6rem 0.4rem;
	font-size: 0.84rem;
	line-height: 1;
	border-radius: 50px;
	text-align: center;
	text-decoration: none;
}
.btn_block {
	width: 100%;
	display: block;
	padding-left: 0;
	padding-right: 0;
}
.btn_arrow {
	position: relative;
}
.btn_arrow::after {
	content: "\f144";
	font-family: "Font Awesome\ 5 Free";
	font-weight: bold;
	display: inline-block;
	position: absolute;
	top: calc(50% - 6px);
	right: 0.5rem;
}
.btn_more {
	width: 280px;
	margin-left: auto;
	margin: 1rem 0 2rem auto;
	display: block;
}

.stripe_pink {
	background: repeating-linear-gradient(-45deg, #ff7b9b, #ff7b9b 5px, #ff95af 5px, #ff95af 10px);
}



.bg {
	position: relative;
}

.bg::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}

.bg.full::before {
	width: 100vw;
	left: calc(50% - 50vw);
	right: auto;
}

.bg.white::before {
	background-color: #fff;
}

.bg.white-a50::before {
	background-color: rgba(255,255,255,0.5);
}

.bg.white-a80::before {
	background-color: rgba(255,255,255,0.8);
}

.bg.blue::before {
	background-color: rgba(41,54,106,1);
}

.bg.gray::before {
	background-color: #f5f5f5;
}

.bg.img::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.content_sec {
	box-sizing: border-box;
	width: 100%;
	padding: 30px 0;
}

.content_sec.separator {
	position: relative;
}
.content_sec.separator::before {
	content: "";
	display: block;
	width: 100vw;
	border-top: 1px solid #ccc;
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
}


/* 画面外にいる状態 */
.fadein {
	opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 500ms;
}

/* 2つ目の要素に200msのdelayをかける */
.fade_delay .fadein:nth-of-type(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
}
/* 3つ目の要素に400msのdelayをかける */
.fade_delay .fadein:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
}

.fadein.l {
	transform : translate(-100px, 0);
}

.fadein.r {
	transform : translate(100px, 0);
}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}



/* header
---------------------*/
.site-header {
	position: relative;
	z-index: 10;
}
.site-branding {
	height: 72px;
	transition: 0.3s;
	display: flex;
	align-items: center;
}
.site-header.scroll {
	position: fixed;
	top: 0;
	width: 100%;
	background: #fff;
	border-bottom: 1px solid #eee;
}
.scroll .site-branding {
	height: 52px;
}
.site-logo {
	margin: 0 auto;
	transition: 0.3s;
	height: 100%;
	padding: 5px 0;
}
.site-logo a {
	height: 100%;
	display: block;
}
.site-logo a img {
	display: block;
	height: 100%;
	width: auto;
	margin: 0 auto;
}

.main-navigation {
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	z-index: 10;
	left: 0;
}
.toggle_btn {
	align-self: center;
	display: block;
	background: none;
	outline: none;
	border: none;
	position: relative;
	z-index: 11;
}
.toggle_btn::before ,
.toggle_btn::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background-color: #000;
	position: absolute;
	left: 0;
	transform-origin: center center;
	transition: 0.5s;
}
.toggle_btn::before {
	top: 2px;
}
.toggle_btn::after {
	bottom: 2px;
}

.main-navigation.toggled .toggle_btn {
	background-color: transparent;
	outline: none;
	position: fixed;
}
.main-navigation.toggled .toggle_btn::before ,
.main-navigation.toggled .toggle_btn::after {
	top: 4px;
}
.main-navigation.toggled .toggle_btn::before {
	transform: rotate(45deg);
}

.main-navigation.toggled .toggle_btn::after {
	transform: rotate(-45deg);
}
.header_menu {
	list-style: none;
	background-color: #fff;
	width: 70vw;
	height: 100vh;
	overflow-y: auto;
	padding: 50px 0 0;
	margin: 0;
	position: fixed;
	top: 0;
	left: -100%;
	transition: 0.5s;
	border-right: 1px solid #95caff;
}
.main-navigation.toggled .header_menu {
	left: 0;
}
.main-navigation::before {
	content: "";
	display: none;
	background-color: rgba(0,0,0,0.1);
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	transition: 0.5s;
	overflow: hidden;
}
.main-navigation.toggled::before {
	display: block;
}
.header_menu li {
	border-bottom: 1px dashed #95caff;
}
.header_menu li:first-child {
	border-top: 1px dashed #95caff;
}
.header_menu li a {
	display: block;
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
	padding: 1.05em 2rem;
	position: relative;
	font-weight: 700;
}
.header_menu_en {
	display: block;
	font-size: 13px;
}

.site-header.scroll .main-navigation {
	display: flex;
}


.top_main_img {
	max-height: calc(100vh - 80px);
	max-width: 1200px;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
}
.top_main_img img {
	width: 100%;
}

/* main
---------------------*/
.main_title {
	font-size: 2rem;
	margin: 1.6rem 0 1rem;
	text-align: center;
	position: relative;
	letter-spacing: 0.15rem;
	font-weight: 700;
}
.main_title::before {
	content:"";
	background: url(img/pad.svg) no-repeat center;
	background-size: contain;
	width: 22px;
	height: 17px;
	margin: 0 auto;
	display: block;
}

.main_title a {
	text-decoration: none;
	display: block;
}
.content_wrap {
	margin-bottom: 4.2rem;
}
.content-area {
	width: 100%;
}

.page-content h2 {
	font-size: 1.6rem;
	margin: 2.6rem 0 1.6rem;
	position: relative;
}
.page-content h2:after {
	content: "";
	display: block;
	background: repeating-linear-gradient(-45deg, #ffd0db, #ffd0db 3px, #fff 3px, #fff 6px);
	width: 100%;
	height: 14px;
	position: absolute;
	bottom: 0;
	z-index: -1;
}
.page-content h3 {
	color: #b29b44;
	margin: 1.6rem 0 0.5rem;
	font-size: 1.4rem;
}

.responsive_table ,
.responsive_table caption ,
.responsive_table thead ,
.responsive_table tbody ,
.responsive_table tfoot ,
.responsive_table tr ,
.responsive_table th ,
.responsive_table td {
	display: block;
	width: 100%;
}
.responsive_table {
	border: 0;
}
.responsive_table th ,
.responsive_table td {
	padding: 7px 5px;
	vertical-align: top;
}
.responsive_table th {
	text-align: left;
    padding: 10px 0 0;
}

.sec_title {
	margin: 0 0 0.5em;
	font-size: 1.5rem;
	line-height: 1.4;
}

.sec_title a {
	text-decoration: none;
}

.btn small ,
.sec_title small {
	font-size: 60%;
	display: block;
}

.sec_title small::before ,
.sec_title small::after {
	content: " - ";
}

.sub_title {
	color: #D54289;
	margin: 1em 0 0.5em;
	font-size: 1.25rem;
	line-height: 1.4;
}

.flex_list {
	list-style: none;
	padding-left: 0;
	margin: 0 auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.flex_list>li {
	width: 100%;
	padding: 0 0 6%;
}

.flex_list>li:only-child {
	margin: 0 auto;
}

.flex_list.m2>li {
	width: 47%;
}

.flex_list.m3>li {
	width: calc(88% / 3);
}

.flex_list.m4>li {
	width: 20.5%;
}

.flex_list.m5>li {
	width: 15.2%;
}

.flex_list.m3>li:last-child:nth-child(3n+2) {
	margin-right: calc(88% / 3 + 6%);
}

.flex_list.m4>li:last-child:nth-child(4n+2) {
	margin-right: 53%;
}

.flex_list.m4>li:last-child:nth-child(4n+3) {
	margin-right: 26.5%;
}

.flex_list.m5>li:last-child:nth-child(5n+2) {
	margin-right: 63.6%;
}

.flex_list.m5>li:last-child:nth-child(5n+3) {
	margin-right: 42.4%;
}

.flex_list.m5>li:last-child:nth-child(5n+4) {
	margin-right: 21.2%;
}

.page_menu_sec {
	padding: 0;
}

.page_menu_list>li {
	width: 45%;
	margin: 0 0 20px;
}

.page_menu_list>li.btn+.btn {
	margin-top: 0;
}

/*ページ送り*/
.pagination {
	text-align:center;
	margin:2em auto;
	font-size:16px;
	width: 100%;
}

.pagination a ,
.page_current {
	display:inline-block;
	border: 1px solid  #ffd0db;
	color: #000;
	padding:5px 12px;
	margin:0 3px;
	text-decoration:none;
}
.page_current {
	background:#ffd0db;
	color:#fff;
}
.page_next,
.page_prev {
	padding:2px 15px;
}

.list_title {
	font-size: 1.125rem;
	line-height: 1.2;
	text-align: center;
	width: 100%;
	background: linear-gradient(to right, rgba(0,0,0,0) 5em, rgba(0,0,0,1) 5em) no-repeat right center , linear-gradient(to left, rgba(0,0,0,0) 5em, rgba(0,0,0,1) 5em) no-repeat left center;
	background-size: 50% 1px;
	margin: 0 0 1em;
}

/* footer
---------------------*/
#totop {
	position: fixed;
	bottom: 75px;
	right: 20px;
	z-index: 2;
	display: none;
}
#totop a {
	background: #ece9bf;
	border-radius: 100px;
	width: 30px;
	height: 30px;
	display: block;
	padding: 4px 10px;
}

.site-footer {
	background: #95caff;
	padding: 30px 0 0;
	margin-top: 70px;
}
.foot_contact li {
	padding-bottom: 10px;
}
.foot_contact a {
	border-radius: 50px;
	text-decoration: none;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 82px;
}
.foot_contact a:hover {
	opacity: 1;
}
.foot_contact_tel {
	display: flex;
	justify-content: center;
	align-items: center;
}
.foot_contact_tel svg {
	fill: #fff;
	width: 37px;
	height: 37px;
	padding-right: 10px;
	position: relative;
	top: -2px;
}
.foot_contact_ja {
	font-size: 0.88rem;
}
.foot_infoArea {
	text-align: center;
}
.foot_logo {
	width: 133px;
	margin: 20px auto 0;
}
.foot_menu {
	margin: 1.2rem -3%;
	border-top: 1px dashed #2f97ff;
}
.foot_menu ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.foot_menu ul li {
	width: 50%;
	padding: 0.8rem 1.2rem;
	border-bottom: 1px dashed #2f97ff;
	font-weight: 700;
}
.foot_menu a {
	display: block;
	text-decoration: none;
}

.copy {
	padding: 0.5em 0;
	margin: 0;
	font-size: 10px;
	line-height: 1;
	text-align: right;
	color: #fff;
}


/*--------------------------------------------------------------
## 各ページ
--------------------------------------------------------------*/
/*トップページ
------------------------------*/
.attention{
	text-align: center;
	border: dotted 3px #ff7b9b;
	margin: 30px auto 30px;
	max-width: 1200px;
	width:94%;
}

.attention h2{
	font-size: 1.3rem;
	margin: 1rem 0 1rem;
}

.attention_2{
	text-align: center;
	border: dotted 3px #ff7b9b;
	margin: 30px auto 30px;
	max-width: 1200px;
}

.attention_2 p{
	margin: 1rem 0 1rem;
}

.front_title  {
	font-size: 1.6rem;
	margin: 3.6rem 0 1rem;
	font-weight: 400;
}

.front_puppy {
	margin-top: -1.6rem;
}

.pet_list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.pet_list_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.pet_list li {
	background: url(img/waku.svg) no-repeat center;
	background-size: cover;
	padding: 1rem;
	margin-bottom: 20px;
	width: 49%;
	position: relative;
	box-sizing: border-box;
}
.pet_list li:before {
	content: "";
	display: block;
	background: url(img/waku2.svg) no-repeat center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.pet_list li:after {
	content: "";
	display: block;
	width: 100%;
	height: 18px;
	background: repeating-linear-gradient(-45deg, #e0db95, #e0db95 3px, #fff 3px, #fff 6px);
	position: absolute;
	left: 0;
	bottom: -10px;
	z-index: -2;
}
.pet_list_parent li {
	background: #fff;
	border: 2px solid #ece9bf;
}
.pet_list_parent li::before {
	content: none;
}

.pet_list a {
	text-decoration: none;
	display: block;
	flex:  1 0 0%;/*IE用*/
}
.pet_listImg {
	position: relative;
	display: flex;
	align-items: center;
}
.pet_listImg img {
	display: block;
}
.pet_status {
	background: #fff;
	border: 2px solid #b29b44;
	color: #b29b44;
	text-align: center;
	width: 50px;
	height: 50px;
	position: absolute;
	bottom: -10px;
	left: -10px;
	z-index: 10;
	border-radius: 50px;
	display: flex;
	align-items: center;
	padding: 6px;
	font-size: 10px;
	line-height: 1;
}
.pet_list .pet_listTitle {
	font-size: 1rem;
	margin: 0.5rem 0 ;
	line-height: 1.25;
}
.pet_listData {
	font-size: 0.78rem;
}
.pet_list .btn  {
	margin-top: 0.2rem;
}

.top_slider_wrap {
	position: relative;
	padding: 0 10px;
}
.top_slider_wrap .pet_list li {
	margin-bottom: 10px;
}
.top_slider_wrap .swiper-container-android .swiper-slide, .swiper-wrapper {
	transform: none;
}
.top_slider-prev,
.top_slider-next  {
    position: absolute;
    top: calc(50% - 15px);
    left: -4px;
    font-size: 14px;
    z-index: 10;
    background: #fff;
    border: 1px solid #95caff;
    border-radius: 30px;
	color: #95caff;
    line-height: 1;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
	cursor: pointer;
}
.top_slider-prev.swiper-button-disabled,
.top_slider-next.swiper-button-disabled {
	color: #ddd;
	border-color: #eee;
}
.top_slider-next {
	left: auto;
	right: -4px;
}
.top_slider-prev::after {
	content: "\f060";
	font-family: "Font Awesome\ 5 Free";
	font-weight: bold;
}
.top_slider-next::after {
	content: "\f061";
	font-family: "Font Awesome\ 5 Free";
	font-weight: bold;
}


.front_news .front_title:after {
	content:"";
	display: block;
	background: repeating-linear-gradient(-45deg, #ffd0db, #ffd0db 3px, #fff 3px, #fff 6px);
	width: 100%;
	height: 18px;
	position: absolute;
	bottom: 0;
	z-index: -1;
}
.front_newsList li {
	display: flex;
	border-bottom: 1px dotted #b5b5b6;
	padding: 0.5rem 0;
	font-size: 0.94rem;
	line-height: 1.4;
}
.front_newsList li:last-child {
	border: 0;
}
.front_newsDate {
	width: 120px;
	flex: none;
}
.front_newsList a {
	text-decoration: none;
	font-weight: 700;
}
.front_birth {
	margin: 3rem 0 ;
}
@media screen and (min-width: 540px) and (max-width: 768px) {
	.front_birth {
		display: flex;
		justify-content: space-between;
	}
	.front_birth a {
		width: 48.5%;
	}
}
.front_parents li {
	text-align: center;
}
.front_service li {
	padding-bottom: 3px;
}

.front_shopArea {
	margin-bottom: 30px;
}
.front_shopImg {
	display: block;
	position: relative;
	overflow: hidden;
}
.front_shopImg img {
	display: block;
	width: 100%;
	object-fit: cover;
}
.front_shop {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}
.front_shop li {
	margin-bottom: 1rem;
}
.front_shopMain {
	background: #f3f1d5;
	padding: 1rem;
	font-size: 0.94rem;
}
.front_shopMain a {
	text-decoration: none;
}
.front_shopTitle {
	margin: 0 0 1rem;
}
.front_shopMain .btn_more {
	margin-bottom: 0;
	width: 180px;
}


/*子犬・子猫　一覧
------------------------------*/
.pet_cateArea {
	background: #ffd0db;
	border-radius: 5px;
	padding: 10px;
}
.pet_cateTitle {
	margin: 0;
	font-size: 14px;
	color: #ff7b9b;
}
.side_cate > li {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 0.94rem;
}
.side_cate a {
	text-decoration: none;
	padding: 0.5rem 0;
	display: block;
}
.side_cate_child li {
	padding: 0.5rem 0;
	border-bottom: 1px dashed #fff;
	font-size: 0.94rem;
	font-weight: 400;
	line-height: 1.25;
}
.side_cate_child li:nth-child(-n+2) {
	border-top: 1px dashed #fff;
	margin: 0;
}

/*子犬・子猫　詳細
------------------------------*/
.puppy_img {
	position: relative;
}
#slider {
	background: repeating-linear-gradient(-45deg, #ffd0db, #ffd0db 3px, #fff 3px, #fff 6px);
	margin-bottom: 5px;
}
#slider .swiper-slide {
	text-align: center;
	padding: 10px 0;
}
#slider .swiper-slide img {
	display: block;
	margin: 0 auto;
	max-height: 500px;
	width: auto;
}
#thumbs .swiper-slide {
	cursor: pointer;
}
.puppy_img .pet_status {
	bottom: auto;
	top: 5px;
	left: 5px;
	width: 80px;
	height: 80px;
	font-size: 12px;
}
.shooting_date {
	font-size: 0.88rem;
	color: #666;
	font-weight: 700;
}
.puppy_shop {
}
.contact_tel {
	text-decoration: none;
	font-size: 1.4rem;
	font-weight: 700;
	display: inline-block;
	color: #ff7b9b;
}
.content-area .puppy_parentsTitle {
	margin: 0;
	font-size: 1.2rem;
	padding: 0 0 0.5rem;
}
.puppy_types {
	border: 2px solid #95caff;
	border-radius: 15px;
	padding: 10px;
	margin: 2rem auto;
}
.puppy_types .puppy_typesTitle {
	margin: 0;
	color: #95caff;
	padding: 0.3rem 0;
	font-size: 1.35rem;
}
.puppy_typesTitle svg {
	fill: #95caff;
	width: 28px;
	height: 21px;
	padding-right: 0.5rem;
}
.pet_list_puppyParents.pet_list .pet_listTitle {
	margin-bottom: 0;
	font-size: 0.94rem;
}
.back_area  {
	margin: 2rem auto;
}

.puppy_contact {
	margin: 4rem 0 6rem;
}
.puppy_contactTitle {
	text-align: center;
	font-size: 1.2rem;
	margin: 1.6rem 0;
	position: relative;
}
.puppy_contactTitle:after {
	content: "";
	display: block;
	background: repeating-linear-gradient(-45deg, #ffd0db, #ffd0db 3px, #fff 3px, #fff 6px);
	width: 100%;
	height: 14px;
	position: absolute;
	bottom: 0;
	z-index: -1;
}

/*お父さん・お母さん　詳細
------------------------------*/
.parent_puppy {
	margin: 3rem auto;
}
.parent_puppyTitle::after {
	content: "";
	display: block;
	background: #f3f1d5;
	width: 100%;
	height: 18px;
	position: absolute;
	bottom: 0;
	z-index: -1;
}

/*店舗情報
------------------------------*/
.page_shop {
	margin-bottom: 5rem;
	padding-top: 1rem;
	position: relative;
}
.page_shop::before {
	content: "";
	display: block;
	background: repeating-linear-gradient(-45deg, #ffd0db, #ffd0db 3px, #fff 3px, #fff 6px);
	width: 100%;
	height: 18px;
	position: absolute;
	top: 0;
	z-index: -1;
}
.content-area h2.front_shopTitle {
	margin: 1rem 0;
}
.shop_detail {
	border-top: 1px dotted #b5b5b6;
	margin-bottom: 2rem;
}
.shop_detail th,
.shop_detail td {
	border-bottom: 1px dotted #b5b5b6;
	padding: 3px 0;
	text-align: left;
}
.shop_detail th {
	width: 6rem;
	font-size: 0.88rem;
}
.shop_img {
	text-align: center;
}
.shop_map iframe {
	height: 50vh;
	width: 100%;
}

/*サービス一覧
------------------------------*/
.hotel_text {
	margin: 2rem 0;
	padding: 1rem 2rem;
	border: 2px solid #f3f1d5;
	font-size: 0.94rem;
}
.hotel_text li {
	padding-bottom: 1rem;
	line-height: 1.25;
}
.hotel_text li:last-child {
	padding-bottom: 0;
}

/*出産予定
------------------------------*/
.bith + .bith {
	margin-top: 2rem;
	border-top: 1px solid #b29b44;
}


/*お問い合わせ
------------------------------*/
.contactPage_tel a {
	text-decoration: none;
	font-size: 2.2rem;
	color: #ff7b9b;
	margin-bottom: 3rem;
}
.contactPage_tel .foot_contact_tel {
	justify-content: flex-start;
}
.contactPage_tel .foot_contact_tel svg {
	fill:#ff7b9b;
}

.contactForm_area {
	max-width: 820px;
	margin: 1rem auto 2rem;
}
.hissu {
	font-weight: 400;
	font-size: 11px;
	background: #fff;
	display: inline-block;
	color: #ff7b9b;
	padding: 3px;
	border: 1px solid #ff7b9b;
	line-height: 1;
}
.submit_area {
	text-align: center;
}
.submit_area .btn_next,
.submit_area input[type="submit"].btn_next {
	padding: 12px;
	min-width: 200px;
	font-size: 1.1rem;
}
.inv-recaptcha-holder {
	max-width: 820px;
	margin: 3rem auto;
}
.inv-recaptcha-holder > div {
	margin-left: auto;
}
.grecaptcha-badge {
	display: none;
}


/*ブログ
------------------------------*/
.entry-header {
}
.blog_title {
	margin: 0;
	padding: 0.5rem 0;
	border-bottom: 5px solid #ff7b9b;
	font-size: 1.6rem;
}
.blog_title a {
	text-decoration: none;
	display: block;
}
.entry-meta {
	padding: 1rem 0;
	font-size: 0.88rem;
}
.entry-meta a {
	text-decoration: none;
}
.entry-meta span {
	display:inline-block;
	margin-right:1em;
}
.entry-date {
	padding-right: 1rem;
	border-right: 1px solid #ff7b9b;
}
.entry-content {
	padding: 1rem 0 4rem;
}
.entry-content h2 {
	font-size: 1.5rem;
	margin: 3rem 0 1.65rem;
	padding: 0.8rem 0;
	position: relative;
	border-bottom: 2px solid #95caff;
}
.entry-content h3 {
	font-size: 1.3rem;
	margin: 2rem 0;
	border-bottom: 1px dashed #95caff;
}
.entry-content h4 {
	font-size: 1.1rem;
	margin: 1.4rem 0 0.65rem;
}
.blog_img {
	display: flex;
	justify-content: center;
	align-items: center;
}
.blog_img img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: block;
}
.entry-content table th ,
.entry-content table td ,
.page_table th ,
.page_table td{
	border: 1px solid #ddd;
	padding: 5px 3px;
}
.entry-content table th,
.page_table th {
	background: #f3f1d5;
}

.category_title {
	margin: 0 0 1rem;
	color: #b29b44;
	font-size: 1.4rem;
}
.category_title svg {
	fill: #b29b44;
	width: 24px;
	height: 18px;
}

.navigation {
	width: 100%;
}

.nav-links {
	padding-top: 1em;
	display: flex;
	justify-content: space-between;
	font-size: 0.875rem;
	margin-bottom: 1.5em;
}

.nav-links a {
	text-decoration:none;
}

.nav-previous {
	text-align:left;
	width:50%;
}
.nav-previous a:before {
	content:"＜";
}
.nav-next {
	text-align:right;
	width:50%;
}
.nav-next a:after {
	content:"＞";
}

.blog_link_list {
	flex-wrap: nowrap;
	margin: 4.5rem 0;
	border-top: 1px solid #95caff;
	padding-top: 1rem;
}
.blog_link_list li {
	padding: 0;
	height: 100%;
	width: 10rem;
}
.blog_link_list li a {
	background: #ff7b9b;
	text-decoration: none;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 5px;
	height: 100%;
	color: #fff;
	border-radius: 30px;
}

.blog_link_list li:first-child a ,
.blog_link_list li:last-child a {
	position: relative;
	background: #fff;
	color: #000;
}

.blog_link_list li:first-child a::before {
	content: "\f0a8";
	font-family: "Font Awesome\ 5 Free";
	padding-right: 1rem;
	color: #ff7b9b;
	font-weight: bold;
}

.blog_link_list li:last-child a::after {
	content: "\f0a9";
	font-family: "Font Awesome\ 5 Free";
	padding-left: 1rem;
	color: #ff7b9b;
	font-weight: bold;
}

.widget {
	margin-bottom:42px;
}

.widget-title {
	font-size: 1rem;
	font-weight: bold;
	padding: 0 0.5em;
}
.widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.widget li {
	position: relative;
}

.widget li a ,
.widget li label {
	text-decoration: none;
	display: block;
	padding: 0.75em 1em;
}

.widget>ul>li>label ,
.widget>ul>li>a {
	border-top: 1px solid #f1efee;
	line-height: 1.4;
}

.widget>ul>li:last-child>label ,
.widget>ul>li:last-child>a {
	border-bottom: 1px solid #f1efee;
}

.widget ul.children li>a {
	padding-left: 1em;
}

.widget ul.children li:not(:last-child)>a {
	border-bottom: 1px dashed #ccc;
}

.widget_picker {
	display: none;
}

.widget_picker+label {
	position: relative;
}

.widget_picker+label::after {
	content: "\f107";
	font-family: "Font Awesome\ 5 Free";
	font-size: 1.25em;
	font-weight: 700;
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform-origin: center;
	transform: translateY(-50%);
	transition: 0.5s;
}

.widget_picker:checked+label:after {
	transform: translateY(-50%) rotate(180deg);
}

.widget ul .widget_picker+label+.children {
	overflow: hidden;
	max-height: 0;
	transition: 0.5s ease-out;
}

.widget ul .widget_picker:checked+label+.children {
	max-height: 1000px;
	transition: 0.5s ease-in;
}
.search-form {
	position: relative;
	max-width: 480px;
	margin: 2rem auto;
}
.search-form input {
	border-radius: 50px;
	padding: 6px 56px 6px 18px;
}
input[type="submit"].search-submit {
	padding: 0.5em 1em;
	background: #ff7b9b;
	color: #fff;
	border-radius: 50px;
	position: absolute;
	top: 2px;
	right: 2px;
}

/*検索・404など
------------------------------*/
.search_title {
	
}



@media only screen and (min-width: 540px) , print {
	
	.responsive_table {
		display: table;
		table-layout: fixed;
		border-top: 1px solid #f1efee;
	}
	.responsive_table caption {
		display: table-caption;
	}
	.responsive_table thead {
		display: table-header-group;
	}
	.responsive_table tbody {
		display: table-row-group;
	}
	.responsive_table tfoot {
		display: table-footer-group;
	}
	.responsive_table tr {
		display: table-row;
		background-size: 100% 1px;
	}
	.responsive_table th ,
	.responsive_table td {
		display: table-cell;
		border-bottom: 1px solid #f1efee;
	}
	.responsive_table th {
		width: 12rem;
		background-color: transparent;
		color: inherit;
		font-weight: 700;
	}
	
	.sec_title small {
		display: inline-block;
		margin-left: 0.5em;
	}
	
	.flex_list>li {
		padding-bottom: 5%;
	}
	
	.flex_list.m3>li:last-child:nth-child(3n-2) ,
	.flex_list.m4>li:last-child:nth-child(4n+2) ,
	.flex_list.m4>li:last-child:nth-child(4n+3) ,
	.flex_list.m5>li:last-child:nth-child(5n+2) ,
	.flex_list.m5>li:last-child:nth-child(5n+3) ,
	.flex_list.m5>li:last-child:nth-child(5n+4) {
		margin-right: 0;
	}
	
	.flex_list.t2>li {
		width: 47.5%;
	}
	
	.flex_list.t3>li {
		width: 30%;
	}
	
	.flex_list.t4>li {
		width: 21.25%;
	}
	
	.flex_list.t5>li {
		width: 16%;
	}
	
	.flex_list.t3>li:last-child:nth-child(3n+2) {
		margin-right: 35%;
	}
	
	.flex_list.t4>li:last-child:nth-child(4n+2) {
		margin-right: 52.5%;
	}
	
	.flex_list.t4>li:last-child:nth-child(4n+3) {
		margin-right: 26.25%;
	}
	
	.flex_list.t5>li:last-child:nth-child(5n+2) {
		margin-right: 63%;
	}
	
	.flex_list.t5>li:last-child:nth-child(5n+3) {
		margin-right: 42%;
	}
	
	.flex_list.t5>li:last-child:nth-child(5n+4) {
		margin-right: 21%;
	}
	
	/*トップページ*/
	.front_service .flex_list.t3>li {
		width: 32%;
	}
}

@media only screen and (min-width: 769px) , print {
	.btn {
		padding-top: 0.6rem;
		padding-bottom: 0.6rem;
		font-size: 1rem;
	}
	
	.flex_list>li {
		padding-bottom: 3%;
	}
	
	.flex_list.t3>li:last-child:nth-child(3n+2) ,
	.flex_list.t4>li:last-child:nth-child(4n+2) ,
	.flex_list.t4>li:last-child:nth-child(4n+3) ,
	.flex_list.t5>li:last-child:nth-child(5n+2) ,
	.flex_list.t5>li:last-child:nth-child(5n+3) ,
	.flex_list.t5>li:last-child:nth-child(5n+4) {
		margin-left: 0;
	}
	
	.flex_list.p2>li {
		width: 48.5%;
	}
	
	.flex_list.p3>li {
		width: calc(94% / 3);
	}
	
	.flex_list.p4>li {
		width: 22.75%;
	}
	
	.flex_list.p5>li {
		width: 17.6%;
	}
	
	.flex_list.p3>li:last-child:nth-child(3n+2) {
		margin-right: calc(94% / 3 + 3%);
	}
	
	.flex_list.p4>li:last-child:nth-child(4n+2) {
		margin-right: 51.5%;
		margin-left: 0;
	}
	
	.flex_list.p4>li:last-child:nth-child(4n+3) {
		margin-right: 25.75%;
		margin-left: 0;
	}
	
	.flex_list.p5>li:last-child:nth-child(5n+2) {
		margin-right: 61.8%;
		margin-left: 0;
	}
	
	.flex_list.p5>li:last-child:nth-child(5n+3) {
		margin-right: 41.2%;
		margin-left: 0;
	}
	
	.flex_list.p5>li:last-child:nth-child(5n+4) {
		margin-right: 20.6%;
		margin-left: 0;
	}
	
	/* header
	---------------------*/
	.site-header {
		flex-direction: column;
	}
	
	/* main
	---------------------*/
	.main_title  {
		font-size: 2.4rem;
		margin: 3.6rem 0 2.2rem;
	}
	.main_title::before {
		width: 44px;
		height: 34px;
	}
	
	.attention h2 {
		font-size: 1.4rem;
	}
	
	.content_wrap {
		display: flex;
		justify-content: space-between;
	}
	.content-area {
		width:75%;
		flex-shrink: 0;
	}
	.page-content h2 {
		font-size: 2rem;
		margin: 2.6rem 0;
	}
	.page-content h2:after {
		height: 18px;
	}
	.widget-area {
		width:22%;
		flex-shrink: 0;
	}
	.content-area.wide {
		width: 100%;
	}
	
	.page_menu_list>li {
		width: 22%;
	}
	
	.entry-content table th,
	.entry-content table td,
	.page_table th,
	.page_table td {
		padding: 10px;
	}
	.category_title {
		font-size: 1.6rem;
	}
	
	/* footer
	---------------------*/
	.foot_contact {
		max-width: 900px;
		margin: 0 auto;
	}
	.foot_main {
		max-width: 900px;
		margin: 0 auto;
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		padding: 2rem 0;
	}
	.foot_infoArea {
		width: 50%;
		padding-right: 5%;
		border-right: 1px solid #3e3a39;
		display: flex;
		align-items: center;
		text-align: left;
		font-size: 0.88rem;
	}
	.foot_logo {
		margin: 0;
	}
	.foot_info {
		margin: 0 0  0 1rem;
	}
	.foot_info .fw {
		font-size: 1rem;
	}
	.foot_menu {
		width: 45%;
		display: flex;
		justify-content: space-between;
		border: 0;
		margin: 0;
		font-size: 0.88rem;
	}
	.foot_menu ul {
		display: block;
	}
	.foot_menu ul li {
		border: 0;
		width: 100%;
		padding: 3px 0;
		font-weight: 700;
	}
	
	
	/*--------------------------------------
	# 各ページ
	--------------------------------------*/
	/* トップページ
	---------------------*/
	.pet_list::before{
		content:"";
		display: block;
		width:23.8%;
		order:1;
	}
	.pet_list::after{
		content:"";
		display: block;
		width:23.8%;
	}
	.pet_list li {
		width: 23.8%;
	}
	.pet_list li:after {
		bottom: -18px;
	}
	
	.pet_list_page::after{
		content:"";
		display: block;
		width:32%;
	}
	.pet_list_page li {
		width:32%;
		margin-bottom: 40px;
	}
	.pet_list .pet_listTitle {
		font-size: 1.05rem;
		margin: 1rem 0;
		line-height: inherit;
	}
	.pet_listData {
		font-size: 0.94rem;
	}
	.pet_list .btn {
		margin-top: 1rem;
	}
	.pet_status {
		width: 70px;
		height: 70px;
		font-size: 13px;
		top: -25px;
		right: -25px;
	}
	.top_slider_wrap .pet_status {
		top: -7px;
	}
	
	.top_slider_wrap {
		padding: 0;
	}
	.top_slider-prev,
	.top_slider-next  {
		left: -24px;
		width: 36px;
		height: 36px;
	}
	.top_slider-next  {
		left:auto;
		right: -24px;
	}
	
	.front_newsArea {
		display: flex;
		justify-content: space-between;
		margin: 6rem auto;
	}
	.front_news {
		width: 48%;
	}
	.front_newsList li {
		padding: 0.8rem 0;
	}
	.front_birth {
		width: 46%;
	}
	.front_news .front_title:after {
		bottom: 8px;
	}
	
	.front_parents {
		position: relative;
	}
	.front_parents::after {
		content: "";
		position: absolute;
		z-index: -1;
		background: #f3f1d5;
		width: 100vw;
		height: 64px;
		left: 0;
		bottom: 62px;
	}
	
	.front_service .flex_list.t3>li {
		width: 32%;
	}
	
	.front_shop {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.front_shop li {
		width: 31%;
		margin-bottom: 3rem;
	}
	.front_shop li:nth-child(-n+2) {
		width: 48%;
	}
	
	/*子犬・子猫　一覧
	------------------------------*/
	.side_cate .flex_list {
		display: block;
	}
	.side_cate .flex_list li {
		width: 100%;
	}
	.side_cate .flex_list li:nth-child(2) {
		border-top: 0;
	}
	.side_cate_child li {
		padding: 0;
	}
	
	/*子犬・子猫　詳細
	------------------------------*/
	.puppy_details {
		display: flex;
		justify-content: space-between;
	}
	.puppy_img {
		width: 60%;
	}
	#slider {
		margin-bottom: 10px;
	}
	#slider .swiper-slide {
		padding: 0;
	}
	.puppy_profileArea {
		width: 36%;
	}
	.puppy_img .pet_status {
		width: 90px;
		height: 90px;
		font-size: 14px;
	}
	.pet_list_puppyParents li {
		width: 49%;
	}
	.puppy_types {
		padding: 2rem;
		margin: 4rem auto;
	}
	.puppy_contactTitle {
		font-size: 1.6rem;
	}
	
	/*お父さん・お母さん　詳細
	------------------------------*/
	.parent_puppy {
		margin: 3rem auto 6rem;
	}
	
	/*店舗情報
	------------------------------*/
	.page_shop {
		margin-bottom: 8rem;
	}
	.shop_wrap {
		display: flex;
		justify-content: space-between;
		margin-bottom: 1rem;
	}
	.shop_info {
		width: 58%;
	}
	.shop_detail th, .shop_detail td {
		padding: 5px 0;
	}
	.shop_img {
		width: 34%;
		text-align: right;
	}
	.shop_map iframe {
		height: 320px;
	}
	
	/*サービス一覧
	------------------------------*/
	.hotel_wrap {
		display: flex;
		justify-content: space-between;
	}
	.hotel_l,
	.hotel_r {
		width: 48.5%;
	}
	.hotel_text {
		padding: 1.5rem 4rem;
		margin-bottom: 5rem;
	}
	.trimming_wrap {
		display: flex;
		justify-content: space-between;
	}
	.trimming_l {
		width: 30%;
	}
	.trimming_r {
		width: 64%;
	}
	
	/*出産予定
	------------------------------*/
	.page_birth {
		max-width: 900px;
		margin: 0 auto;
	}
	.bith {
		margin: 0 auto 4rem;
	}
	.bith h3 {
		font-size: 1.6rem;
	}
	.bith_wrap {
		display: flex;
		align-items: center;
	}
	.bith_list {
		width: 600px;
		margin-right: 2rem;
	}
	
	/*ブログ
	------------------------------*/
	.blog_title {
		font-size: 2.2rem;
	}
	.entry-content {
		padding: 1rem 2rem 8rem;
	}
	.entry-content h2 {
		font-size: 2rem;
	}
	.entry-content h3 {
		font-size: 1.5rem;
	}
	
}

@media only screen and (min-width: 1024px) , print {
	.mobile {
		display:none!important;
	}
	.pc {
		display:block;
	}
	.fl_l {
		float:left;
	}
	.fl_r {
		float:right;
	}
	
	.site-branding {
		height: auto;
		display: block;
		margin-bottom: 15px;
	}
	.site-header.scroll {
		position: static;
		border: 0;
	}
	.scroll .site-branding {
		height: auto;
	}
	.site-header .site-logo {
		padding: 20px 0 10px;
		height: 150px;
	}
	.main-navigation {
		width: 100%;
		position: static;
	}
	.main-navigation::before {
		content: none;
	}
	.header_menu {
		position: static;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 0;
		background: none;
		height: auto;
		width: 100%;
		padding: 0;
	}
	.header_menu li {
		border: 0;
		text-align: center;
	}
	.header_menu li a {
		font-size: 1.07rem;
		padding: 0.85em 1.65rem;
	}
	.header_menu_en {
		margin-top: 0.5rem;
	}
	
	.reserve_btn {
		width: 123px;
		padding: 0 0.5em;
		margin-left: auto;
		position: absolute;
		top: 52px;
		right: 0;
	}
}

@media only screen and (min-width: 1305px) , print {
}

