/*!
Theme Name: slim-clinic
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: slim-clinic
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

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

slim-clinic is based on Underscores https://underscores.me/, (C) 2012-2020 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 https://necolas.github.io/normalize.css/
*/
@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, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
html {
	line-height: 1;
}
body {
	color: #333;
	font-size: 32px;
	line-height: 1.6;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	background: #f7f7f7;
}
img {
	vertical-align: bottom;
}
a img {
  border: none;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
sup, sub {
	font-size: 0.5em;
}
#wrapper {
	width: 750px;
	margin: 0 auto;
	overflow: hidden;
	-webkit-text-size-adjust: 100%;
	position: relative;
}
.inner {
	width: 750px;
	margin: 0 auto;
	background: #FFF;
}
.invisible {
    visibility: hidden; /*アニメ―ションする要素を非表示*/
}

img.lazyload {
    opacity: 0;
    -webkit-transition: opacity 1.5s;
    transition: opacity 1.5s;
}
img.lazyloaded {
    opacity: 1;
}
.fs-small {
	font-size: 22px;
}
input, select {
  -webkit-appearance: none;
  appearance: none;
}
input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #333;
  height: 90px;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0;
  display: none;
}

.pt-0  {padding-top: 0;}
.pt-10 { padding-top: 0.625rem; }
.pt-20 { padding-top: 1.25rem; }
.pt-30 { padding-top: 1.875rem; }
.pt-40 { padding-top: 2.5rem; }
.pt-50 { padding-top: 3.125rem; }
.pt-60 { padding-top: 3.75rem; }
.pt-70 { padding-top: 4.375rem; }
.pt-80 { padding-top: 5rem; }
.pt-90 { padding-top: 5.625rem; }
.pt-100 { padding-top: 6.25rem; }

.pb-0  { padding-bottom: 0;}
.pb-10 { padding-bottom: 0.625rem; }
.pb-20 { padding-bottom: 1.25rem; }
.pb-30 { padding-bottom: 1.875rem; }
.pb-40 { padding-bottom: 2.5rem; }
.pb-50 { padding-bottom: 3.125rem; }
.pb-60 { padding-bottom: 3.75rem; }
.pb-70 { padding-bottom: 4.375rem; }
.pb-80 { padding-bottom: 5rem; }
.pb-90 { padding-bottom: 5.625rem; }
.pb-100 { padding-bottom: 6.25rem; }

.pl-0  { padding-left: 0 ;}
.pl-10 { padding-left: 0.625rem; }
.pl-20 { padding-left: 1.25rem; }
.pl-30 { padding-left: 1.875rem; }
.pl-40 { padding-left: 2.5rem; }
.pl-50 { padding-left: 3.125rem; }
.pl-60 { padding-left: 3.75rem; }
.pl-70 { padding-left: 4.375rem; }
.pl-80 { padding-left: 5rem; }
.pl-90 { padding-left: 5.625rem; }
.pl-100 { padding-left: 6.25rem; }

.pr-0  { padding-right: 0 ;}
.pr-10 { padding-right: 0.625rem; }
.pr-20 { padding-right: 1.25rem; }
.pr-30 { padding-right: 1.875rem; }
.pr-40 { padding-right: 2.5rem; }
.pr-50 { padding-right: 3.125rem; }
.pr-60 { padding-right: 3.75rem; }
.pr-70 { padding-right: 4.375rem; }
.pr-80 { padding-right: 5rem; }
.pr-90 { padding-right: 5.625rem; }
.pr-100 { padding-right: 6.25rem; }

.p-0  { padding: 0 ;}
.p-10 { padding: 0.625rem; }
.p-20 { padding: 1.25rem; }
.p-30 { padding: 1.875rem; }
.p-40 { padding: 2.5rem; }
.p-50 { padding: 3.125rem; }
.p-60 { padding: 3.75rem; }
.p-70 { padding: 4.375rem; }
.p-80 { padding: 5rem; }
.p-90 { padding: 5.625rem; }
.p-100 { padding: 6.25rem; }

.mt-0  { margin-top: 0 ;}
.mt-10 { margin-top: 0.625rem; }
.mt-20 { margin-top: 1.25rem; }
.mt-30 { margin-top: 1.875rem; }
.mt-40 { margin-top: 2.5rem; }
.mt-50 { margin-top: 3.125rem; }
.mt-60 { margin-top: 3.75rem; }
.mt-70 { margin-top: 4.375rem; }
.mt-80 { margin-top: 5rem; }
.mt-90 { margin-top: 5.625rem; }
.mt-100 { margin-top: 6.25rem; }

.mb-0  { margin-bottom: 0 ;}
.mb-10 { margin-bottom: 0.625rem; }
.mb-20 { margin-bottom: 1.25rem; }
.mb-30 { margin-bottom: 1.875rem; }
.mb-40 { margin-bottom: 2.5rem; }
.mb-50 { margin-bottom: 3.125rem; }
.mb-60 { margin-bottom: 3.75rem; }
.mb-70 { margin-bottom: 4.375rem; }
.mb-80 { margin-bottom: 5rem; }
.mb-90 { margin-bottom: 5.625rem; }
.mb-100 { margin-bottom: 6.25rem; }

.ml-0  { margin-left: 0 ;}
.ml-10 { margin-left: 0.625rem; }
.ml-20 { margin-left: 1.25rem; }
.ml-30 { margin-left: 1.875rem; }
.ml-40 { margin-left: 2.5rem; }
.ml-50 { margin-left: 3.125rem; }
.ml-60 { margin-left: 3.75rem; }
.ml-70 { margin-left: 4.375rem; }
.ml-80 { margin-left: 5rem; }
.ml-90 { margin-left: 5.625rem; }
.ml-100 { margin-left: 6.25rem; }

.mr-0  { margin-right: 0 ;}
.mr-10 { margin-right: 0.625rem; }
.mr-20 { margin-right: 1.25rem; }
.mr-30 { margin-right: 1.875rem; }
.mr-40 { margin-right: 2.5rem; }
.mr-50 { margin-right: 3.125rem; }
.mr-60 { margin-right: 3.75rem; }
.mr-70 { margin-right: 4.375rem; }
.mr-80 { margin-right: 5rem; }
.mr-90 { margin-right: 5.625rem; }
.mr-100 { margin-right: 6.25rem; }

.m-0  { margin: 0 ;}
.m-10 { margin: 0.625rem; }
.m-20 { margin: 1.25rem; }
.m-30 { margin: 1.875rem; }
.m-40 { margin: 2.5rem; }
.m-50 { margin: 3.125rem; }
.m-60 { margin: 3.75rem; }
.m-70 { margin: 4.375rem; }
.m-80 { margin: 5rem; }
.m-90 { margin: 5.625rem; }
.m-100 { margin: 6.25rem; }


/* .access */
.access {
	background-color: #eff3f4;
}
.access .map {
	padding: 0 40px;
}
.access .map iframe {
	width: 100%;
}

/* .contact */
.contact {
	font-size: 26px;
	background-color: #e0e0e0;
}
.cmn-contactForm_row {
	padding: 0 40px;
	margin-bottom: 40px;
}
.cmn-contactForm_must {
	color: #ff1919;
	font-size: 22px;
	padding: 0 0 0 10px;
}
.contact .cmn-contactForm-ttls {
	font-size: 32px;
	padding: 20px 0 10px ;
}
.cmn-contactForm-time {
	margin-top: 20px;
}
.contact .cmn-contactForm_label {
	display: block;
	padding-bottom: 10px;
	font-weight: bold;
}
.contact .cmn-contactForm_input,
.contact select,
.contact textarea,
.contact option {
	color:#272727;
	font-size: 22px;
	display: block;
	width: 100%;
	padding: 30px;
	border: 1px solid #333;
	outline: none;
	box-sizing: border-box;
	background: #FFF;
}
.cmn-contactForm_btn input {
	margin-top: 20px;
	cursor: pointer;
}
.cmn-contactForm_btn {
	text-align: center;
	padding: 0 0 100px 0;
}
.cmn-contactForm_btn input {
	margin-top: 30px;
	cursor: pointer;
	padding: 34px 80px;
	color: #fff;
	font-size: 36px;
	font-weight:bold;
	text-decoration: none;
	text-align: center;
	outline: none;
	background: #272727;
	transition: all .2s;
	border: none;
}
.cmn-contactForm_btn input:hover {
  opacity: .8;
  transition: all .2s
}
.cmn-contactForm_privacy {
	padding: 20px 40px;
}
.cmn-contactForm_privacy a {
	color: #6b5818;
}
input,
textarea,
option{
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

/* privacy */
.cmn-privacy {
	padding: 100px 40px;
	box-sizing: border-box;
}
.cmn-privacy-box {
	padding: 80px 0 0 0;
}
.cmn-privacy-box dt {
	font-weight: bold;
	font-size: 40px;
}
.cmn-privacy-box a {
	color: #272727;
}

/* footer */
.footer {
	color:#FFF;
	font-size: 22px;
	text-align: center;
	padding: 20px 0 250px;
	background-color:#333;
}
.footer-link {
	display: flex;
	justify-content: center;
	gap: 40px;
	padding: 20px 0;
	
}
.footer-link a {
	color: #FFF;
	text-decoration: none;
}

/*
.wpcf7-spinner {
    display: none !important;
}
*/
/* スピナーをボタンの下に改行して配置する場合 */
.wpcf7-spinner {
    display: block;
    margin: 10px auto 0; /* 中央寄せなどの調整 */
}

.wpcf7-form-control.wpcf7-not-valid {
  border: 2px solid #ff4d4f; /* エラー枠線の太さと色 */
  background-color: #fff9f9; /* エラー時の背景色 */
}

.wpcf7-not-valid-tip {
  color: #ff4d4f; /* 文字色 */
  font-size: 0.85em; /* 文字の大きさ */
  margin-top: 5px; /* 入力欄との間隔 */
}

/* 送信NG・未入力時の全体メッセージ枠 */
div.wpcf7-validation-errors, 
div.wpcf7-acceptance-missing {
  border: 1px solid #ffcc00;
  background-color: #fffbe6;
  color: #d93a00;
}

#fixed_cv {
	position: fixed;
	bottom: 20px;
    width: 750px;
	height: auto;
    text-align: center;
	z-index: 999;
}