@charset "UTF-8";
/*
Theme Name: 医療法人はじめ会ゆうき内科 v2 (2026.9~)
Template: twentyseventeen
Author: 医療法人はじめ会ゆうき内科
Author URI: https://t-spo.jp/
Description:
Version: 1.1
Updated: 2026-09-07
*/

/* Color Scheme
-----------------------------------------------------

	=Theme Color = #e2662a, #665e51

-----------------------------------------------------
*/

@import url(reset.css);
@import url(wordpress.css);

/* CSS Variable
----------------------------------------------------- */
:root {
    --color-text-basic: #000;
    --color-primary: #e2662a;
    --color-secondary: #665e51;

    --color-subjects-outpatient: #e2662a;
    --color-subjects-home: #009425;
    --color-subjects-sports: #009fd9;
    --color-subjects-medical-hair-removal: #b95e9e;

    --color-beige: #f8f6ef;
}

/*
-----------------------------------------------------

	=GLOBAL LAYOUT

-----------------------------------------------------
*/

* {
	margin: 0;
	padding: 0;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-stroke: 1px transparent;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	color: #000;
	font-size: 10px;
	font-weight: 500;
	line-height: 2.0;
	word-wrap: break-word;
	letter-spacing: -0.035em;
}

body {
	background-color: #fff;
	font-size: 1.7rem;
	font-size: 1.66rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
dt,
dd,
li {
	line-height: 2.0;
}

p,
ul,
ol,
dl,
table {
	margin-bottom: 3.0rem;
}

p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
table:last-child {
	margin-bottom: 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.75;
	text-align: left;
}

th,
td {
	padding: 0.5em;
	vertical-align: top;
	border: none;
}

th {
	font-weight: bold;
}

tr {}

hr {
	clear: both;
	border: none;
}

img {
	display: inline-block;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

a img {
	border: none;
}

a {
	color: var(--color-primary);
	text-decoration: underline;
}

a,
a img {
	cursor: pointer;
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

a:focus,
a:active,
a:hover {
	opacity: 0.5;
	text-decoration: none;
}

::selection {
	background-color: var(--color-primary);
}

em {}

ol {
	counter-reset: number;
	list-style: none;
}

/*ol li{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 1px #dcdcdc;
}
ol li:before{
	counter-increment: number;
	content: counter(number);
	color: var(--color-primary);
	font-weight: bold;
	margin-right: 0.5em;
}*/
ol li {
	margin-bottom: 0.5em;
}

ol li:before {
	counter-increment: number;
	content: counter(number);
	margin: 0 1.0em 0 0;
}

strong {
	font-weight: bold;
}

iframe {
	display: block;
	max-width: 100%;
}

form {}

input[type="text"],
input[type="submit"],
textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	border-radius: 5px;
}

input[type=text],
input[type=email],
input[type=password],
textarea {
	padding: 5px;
	font-size: 16px;
	font-weight: inherit;
	color: inherit;
	-webkit-appearance: none;
}

input[type=text],
input[type=email],
input[type=password],
textarea,
select {
	background-color: #eee;
	color: #555;
	border: 1px solid #eee;
	line-height: 1;
	vertical-align: middle;
	max-width: 100%;
}

input[type=text] {
	margin-bottom: 0.5em;
}

input[type=text]:last-child {
	margin-bottom: 0;
}

input[type=email] {}

input[type=submit] {
	cursor: pointer;
}

input[type=text]:focus,
textarea:focus {
	color: #555;
}

textarea {}

form ul {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

form ul li {
	display: inline-block !important;
}

form label {
	margin-right: 1.4em;
}

form input[type*="submit"] {}

form input[type*="submit"]:hover {
	opacity: 0.8;
}

/*
-----------------------------------------------------

	=GLOBAL STYLE

-----------------------------------------------------
*/

#container {}

.wrapper {
	width: 1120px;
	margin: auto;
}

.wrapper-min {
	max-width: 820px;
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	html {
		font-size: 10px;
	}

	body {
		font-size: 1.3rem;
		letter-spacing: 0;
	}

	.pc {
		display: none !important;
	}

	input[type="button"],
	input[type="text"],
	input[type="submit"] {
		-webkit-appearance: none;
		border-radius: 0;
	}

	iframe {
		width: 100%;
		max-height: 240px;
	}

	.wrapper {
		width: auto;
		padding: 0 6.25vw;
		margin: auto;
	}
}

/* =Preloader
----------------------------------------------------- */

html,
html body,
* html,
* html body {
	height: 100%;
}

#loader {
	display: none;
	display: block;
	position: fixed;
	z-index: 999999999;
	width: 100%;
	height: 100%;
	left: 0;
	text-align:
		center;
	background-color: #fff;
}

* html #loader,
* html #loader p {
	position: absolute;
}


/* objectFitImages.js
----------------------------------------------------- */
/* objectFitImages.js */
img.js-object-fit {
	object-fit: cover;
	width: 100%;
	height: 100%;

	/* objectFitImages for ie11 */
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;'
}


/* Animation
-----------------------------------------------------*/
.fade_in {
	-webkit-animation: fade_in_animation 2s;
	animation: fade_in_animation 2s;
}

.fade_in_two {
	-webkit-animation: fade_in_animation 4s;
	animation: fade_in_animation 4s;
}

.fade_in_three {
	-webkit-animation: fade_in_animation 6s;
	animation: fade_in_animation 6s;
}

.fade_in_four {
	-webkit-animation: fade_in_animation 8s;
	animation: fade_in_animation 8s;
}

@-webkit-keyframes fade_in_animation {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

#cont {
	padding-top: 200px;
}

/*
-----------------------------------------------------

	=HEADER

-----------------------------------------------------
*/
#header {
	position: fixed;
	z-index: 9997;
	top: inherit;
	left: 0;
	width: 100%;
	height: 200px;
	background-color: #fff;
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

#header #header-in {
	padding: 25px 0;
}

#header .logo {}

#header .logo {
	max-width: 380px;
}

/* .info はPCのみ（電話番号、診療時間、予約ボタンなど） 
----------------------------------------------------- */
#header .info {
	max-width: 840px;
}

#header .logo>p {}

#header .logo>p:last-child {
	margin: 0;
}

#header .logo .sitetitle {
	margin: 0 0 25px;
	font-size: 12px;
	line-height: 1;
}

#header .logo .img {
	width: 242px;
	max-width: 100%;
	margin: 0;
}

#header .info {
	text-align: right;
}

#header .info>*:not( :last-child) {
	margin: 0 0 15px;
}

#header .info>*:first-child {
	margin: 0 0 20px;
	margin-top: -25px;
}

#header .button {}

#header .button ul li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 15px 0 0;
}

#header .button ul li:last-child {
	margin: 0;
}

#header .button .btn {
	display: block;
	padding: 0 1em;
	width: 180px;
	height: 50px;
	line-height: 50px;
	border-radius: 3px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
}

#header .button .btn i {}

#header .button .btn:hover {}

#header .button fixed.btn.button-line i {
	width: 17px;
	height: 17px;
	margin: 0 0.25em 0 0;
}

#header .info .tel-time {
	display: flex;
	align-items: center;
}

#header .info .tel-time>* {
	margin: 0 20px 0 0;
}

#header .info .tel-time>*:last-child {
	margin: 0;
}

#header .info .tel-time .l-tel,
#header .info .tel-time .l-time {}

#header .info .tel-time .l-tel {}

#header .info .tel-time .l-time {
	font-size: 1em;
	height: 100%;
}

#header .info .tel-time .l-time * {
	line-height: 1.5;
}

table.c-table-opentime {
	margin: 0;
}

table.c-table-opentime tr {}

table.c-table-opentime th,
table.c-table-opentime td {
	vertical-align: top;
	padding: 0 1.0em 0 0;
	font-size: 1.3rem;
}

#header .info .tel-time .l-heading {
	padding: 0.1em 0.5em;
	border: solid 1px var(--color-text-basic);
	font-weight: 400;
}

#header .info .tel-time .l-attention {
	margin: 0.85em 0 0;
	padding: 0.2em 0.5em;
	background-color: #fcefe9;
	color: var(--color-primary);
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#cont,
	#nav.on {
		padding-top: 70px;
	}

	#header {
		height: 70px;
	}

	#header #header-in {
		border-bottom: 0;
		padding: 15px 6.25vw;
		width: 100%;
		height: 100%;
	}

	#header #header-in>.c-flex-parent {
		flex-direction: row;
		height: 100%;
	}

	#header .info,
	#header .button,
	#header .tel-time,
	#header .sitetitle {
		display: none;
	}

	#header .logo {
		width: 100%;
		max-width: 120px;
	}

	#header .logo .img {
		margin: 0 0;
		width: 100%;
		line-height: 1;
	}

	#header .logo .img img {
		width: 100%;
		display: block;
	}
}

/*
-----------------------------------------------------

	=NAVIGATION

-----------------------------------------------------
*/

/* =PC・SP共通
----------------------------------------------------- */
#nav {}

#nav ul.nav-main {
	letter-spacing: 0;
	font-size: 0;
}

#nav ul.nav-main li {
	position: relative;
	display: inline-block;
	margin: 0 0 0 2em;
	font-size: 1.6rem;
	font-weight: bold;
}

#nav ul.nav-main li:hover {}

#nav ul.nav-main li a {
	color: var(--color-text-basic);
	text-decoration: none;
}

#nav ul.nav-main li a:hover {
	opacity: 1;
	color: var(--color-primary);
}

@media screen and (min-width: 800px) {
	#nav ul.nav-main {
		margin-bottom: 0;
	}

	#nav ul.nav-main li ul {
		display: none;

		position: absolute;
		top: inherit;
		left: -25px;
		padding: 15px;
		padding-top: 10px;
		width: 100%;
		min-width: 240px;
		background-color: #fff;
	}

	#nav ul.nav-main li:hover ul {
		display: block;
	}

	#nav ul.nav-main li ul li {
		display: block;
		text-align: left;
		margin-left: 1.0em;

		-webkit-transition: all ease-out 0.2s;
		-moz-transition: all ease-out 0.2s;
		-ms-transition: all ease-out 0.2s;
		transition: all ease-out 0.2s;
	}

	#nav ul.nav-main li:hover ul li {
		opacity: 1;
		margin-left: 0em;
		font-size: 0.875em;
	}

	#nav ul.nav-main li:hover ul li a {
		display: block;
		padding: 0.0em 10px;
		margin: 0;
	}

	#nav ul.nav-main li:hover ul li a:hover {}
}



@media screen and (min-width: 0px) and (max-width: 799px) {

	/* =Navigation
	-------------------------------------------------- */

	.toggler {
		position: fixed;
		z-index: 9998;
		top: inherit;
		right: 0;
		width: 100px;
		height: 70px;
		padding: 27px;
		text-align: center;
	}

	.trigger-bars,
	.trigger-bars span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}

	.trigger-bars {
		position: relative;
		z-index: 9999;
		width: 26px;
		height: 17px;
	}

	.trigger-bars span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #000;
		border-radius: 0;
		-webkit-transition: all ease-out 0.14s;
		-moz-transition: all ease-out 0.14s;
		-ms-transition: all ease-out 0.14s;
		transition: all ease-out 0.14s;
	}

	.trigger-bars span:nth-of-type(1) {
		top: 0;
	}

	.trigger-bars span:nth-of-type(2) {
		top: 8px;
	}

	.trigger-bars span:nth-of-type(3) {
		bottom: 0;
	}

	.trigger-bars.active span:nth-of-type(1) {
		-webkit-transform: translateY(8px) rotate(-45deg);
		transform: translateY(8px) rotate(-45deg);
	}

	.trigger-bars.active span:nth-of-type(2) {
		opacity: 0;
	}

	.trigger-bars.active span:nth-of-type(3) {
		-webkit-transform: translateY(-8px) rotate(45deg);
		transform: translateY(-8px) rotate(45deg);
	}

	#nav {
		position: fixed;
		z-index: 9996;
		top: 0;
		left: 0;
		bottom: auto;
		width: 100vw;
		height: auto;
		padding: 0;
		background-color: rgba(255, 255, 255, 1);
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		-webkit-transform: translate3d(0, -100%, 0);
		-moz-transform: translate3d(0, -100%, 0);
		-ms-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-transition: all ease-out 0.25s;
		-moz-transition: all ease-out 0.25s;
		-ms-transition: all ease-out 0.25s;
		transition: all ease-out 0.25s;
	}

	#nav.on {
		-webkit-transform: translate3d(0, 0, 0);
		-moz-transform: translate3d(0, 0, 0);
		-ms-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	#nav.on #nav-in {
		opacity: 1;
	}

	#nav,
	#nav a {}

	#nav #nav-in {
		margin: 0;
		padding: 6.25vw;
	}

	#nav ul.nav-main {
		margin-bottom: 0;
	}

	#nav ul.nav-main li {
		margin: 0;
		font-weight: 400;
		text-align: left;
		text-decoration: none;
		line-height: 1.5;
	}

	#nav ul.nav-main li a {
		display: block;
		width: auto;
		padding: 0 0;
		height: auto;
	}

	#nav ul.nav-main li .title {
		margin: 0 0 0.25em;
		font-weight: 700;
	}

	#nav ul.nav-main>li {
		display: block;
		border-bottom: solid 1px #dcdcdc;
		padding-bottom: 3.125vw;
		margin-bottom: 3.125vw;
	}

	#nav ul.nav-main>li:last-child {
		border-bottom: 0;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	#nav ul.nav-main>li>a {}

	#nav ul.nav-main li a:hover {}

	#nav ul.nav-main li ul {}

	#nav ul.nav-main li ul li {
		margin: 0 1em 0 0;
		font-size: 0.875em;
	}


	/* overlau */
	#overlay {
		display: block;
		background-color: rgba(0, 0, 0, 0.6);
		position: fixed;
		z-index: -1;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100vw;
		height: 100vh;
		opacity: 0;
		-webkit-transition: all ease-out 0.2s;
		-moz-transition: all ease-out 0.2s;
		-ms-transition: all ease-out 0.2s;
		transition: all ease-out 0.2s;
	}

	#nav.on+#overlay {
		z-index: 9995;
		opacity: 1;
	}
}


/*
-----------------------------------------------------

	=FOOTER

-----------------------------------------------------
*/
#footer {
	font-size: 1.4rem;
}

#footer,
#footer a {}

#footer a {
	color: var(--color-secondary);
}

#footer #footer-in {
	position: relative;
	padding: 80px 0;
}

#footer #button-pagetop {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 60px;
	width: 60px;
	height: 60px;
}

#footer .footer-left {}

#footer .footer-right {}

#footer .footer-left>*:not( :last-child) {
	margin: 0 0 30px;
}

#footer .footer-left .logo {}

#footer .logo .img {}

#footer .logo .img img {
	max-width: 280px;
}

@media screen and (min-width: 800px) {
	#footer .footer-left {
		width: 400px;
	}

	#footer .footer-right {
		width: 600px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#footer {
		font-size: 1.2rem;
	}
	#footer #footer-in {
		padding: 6.25vw;
		padding-bottom: 70px;
	}

	#footer .footer-right {
		display: none;
	}

	#footer .logo .img {}

	#footer .logo .img img {
		max-width: 120px;
	}

	#footer #button-pagetop {
		top: 6.25vw;
		right: 6.25vw;
	}
}

/* フッターナビゲーション - PCのみ
----------------------------------------------------- */
#footer .nav ul {
	display: flex;
	flex-wrap: wrap;
}

#footer .nav ul li {
	color: var(--color-secondary);
	font-size: 1.8rem;
	text-align: left;
}

#footer .nav>ul>li {
	margin: 0 0 2em 0;
	width: calc(100% / 3 - 30px);
	margin-left: 30px;
}

#footer .nav>ul>li:first-child {}

#footer .nav ul li ul {
	display: block;
}

#footer .nav ul li ul li {
	font-size: 1.4rem;
}

#footer .nav ul li .title {
	font-weight: bold;
}

#footer .nav ul li a {
	text-decoration: none;
}

#footer .copyright {
	font-size: 1rem;
}

#footer .copyright p {}

#footer .copyright p:last-child {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#footer .nav>ul {
		text-align: left;
	}

	#footer .nav>ul>li {
		display: block;
	}

	#footer .copyright {
		padding: 20px 0 0;
	}
}


/*
-----------------------------------------------------

	=FIXED BUTTON

-----------------------------------------------------
*/

@media screen and (min-width: 1200px) {
	#fixed-button {
		position: fixed;
		z-index: 9996;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto 0;
		width: 60px;
		height: 340px;
	}

	#fixed-button ul li:not( :last-child) {
		margin-bottom: 20px;
	}

	#fixed-button .button-twitter {
		display: block;
		width: 60px;
		height: 60px;
		line-height: 60px;
		background-color: #1ba1f1;
		color: #fff;
		font-size: 24px;
		text-align: center;
		border-radius: 3px;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}
}

@media screen and (min-width: 800px) and (max-width: 1199px) {
	#fixed-button {
		display: none;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#fixed-button {
		position: fixed;
		z-index: 9994;
		left: 0;
		right: 0;
		top: auto;
		bottom: 0;
		margin: 0;
		width: 100%;
		height: 60px;
	}

	#fixed-button .button-arrow {
		display: block;
		width: 100%;
		height: 60px;
		line-height: 60px;
		padding: 0 2em;
		text-align: center;
		border-radius: 0;
	}
}

/*
-----------------------------------------------------

	=COMMON PARTS
	- LAYOUT
	- HORIZONTAL RULE
	- HEADING
	- BUTTON
	- LIST
	- TABLE

-----------------------------------------------------
*/

/*
-----------------------------------------------------

	=COMMON PARTS - LAYOUT

-----------------------------------------------------
*/

.anchor {
	display: block;
	pointer-events: none;
	margin-top: -200px;
	padding-top: 200px;
}

.block {
	margin: 0 auto 100px;
}

.block:last-child {
	margin: 0;
}

.section {
	position: relative;
	padding: 100px 0;
}

.hr-border {
	background-color: #dcdcdc;
	height: 1px;
	margin: 50px auto;
}

.bb-green {
	border-bottom: solid 3px var(--color-primary);
}

.bt-green {
	border-top: solid 3px var(--color-primary);
}

.bg-beige {
	background-color: #f6f5f0;
}

.picture-content>.picture,
.picture-content>.content {
	width: 100%;
}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.anchor {
		margin-top: -60px;
		padding-top: 60px;
	}

	/* Section */
	.block {
		margin: 0 auto 6.25vw;
	}

	.section {
		padding: 6.25vw 0;
	}

}

/*
-----------------------------------------------------

	=COMMON PARTS - HORIZONTAL RULE

-----------------------------------------------------
*/
hr {
    clear: both;
    border: none;
    margin: 0 auto;
    height: 60px;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
    hr {
        margin: 0 auto;
		height: 9.5vw;
        height: 6.25vw;
    }
}

hr.hr-border {
    margin: 0 auto;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.2);
}

hr.hr-border.u-ver-indent {
    width: calc(100% - 60px * 2);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
    hr.hr-border {}

    hr.hr-border.u-ver-indent {
        width: calc(100% - 6.25vw * 2);
    }
}

hr.hr-theme {
    margin: 0 auto;
    height: 3px;
    background-color: var(--color-primary);
    max-width: calc(100% - 40px*2);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
    hr.hr-theme {
        max-width: calc(100% - 6.25vw*2);
    }
}


hr.hr-half {
    margin: 0 auto;
    height: 40px;
}

@media screen and (min-width: 800px) {
    hr.hr-x2 {
        height: 160px;
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {
    hr.hr-half {
        height: 3.125vw;
    }
}

/*
-----------------------------------------------------

	=COMMON PARTS - DECORATION

-----------------------------------------------------
*/
.text-decoration-theme {
	display: inline-block;
	border: solid 1px var(--color-primary);
	color: var(--color-primary);
	font-weight: normal;
	min-width: 120px;
	text-align: center;
}

.u-text-note {
	font-size: 12px;
}

.u-text-small {
	font-size: 0.75em;
}

.c-radius {
    border-radius: 20px;
	overflow: hidden;
}

.c-frame {
	margin-bottom: 2em;
	padding: 2em;
}

.c-frame:last-child {
	margin-bottom: 0;
}

.l-frame-white {
	background-color: #fff;
	border-radius: 5px;
}

.l-frame-whitebox {
	background-color: #fff;
	border-radius: 15px;
	padding: 3em;
}

.l-frame-orange {
	background-color: #fff;
	border: solid 1px var(--color-primary);
	border-radius: 5px;
}

.l-frame-beige {
	background-color: var(--color-beige);
	border-radius: 5px;
}

.l-frame-border-black {
	background-color: #fff;
	border: solid 3px #000;
	border-radius: 5px;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	*.c-frame {
		padding: 6.25vw;
	}
}

.u-fc-theme {
	color: var(--color-primary);
}

.u-fc-brown {
	color: #665c4f;
}

.u-fc-red {
	color: #f00;
}

.fc-orange {
	color: #f90;
}

a.a-focus {
	font-size: 1.25em;
	font-weight: bold;
}
/*
-----------------------------------------------------

    =COMMON PARTS - HEADING
	※v2より新規追加したクラス名のもの

----------------------------------------------------- 
*/

/* 見出し - 大見出し 日本語48pt
----------------------------------------------------- */
.c-title-48 {
    margin: 0 0 .75em;
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.0em;
}

.c-title-48:last-child {
    margin-bottom: 0;
}

.c-title-48>* {
    display: block;
}

.c-title-48 .l-english {
    margin: 0 0 0.15em;
    color: var(--color-primary);
    font-size: 2.4rem;
    letter-spacing: 0.10em;
	text-transform: uppercase;
}

.c-title-48 .l-japanese {}

.c-title-48 .l-sub {
	font-size: 1.6rem;
}

.c-title-48 .l-tag {
	padding: 0.35em 1em;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 0.5em;
	line-height: 1.35;
}

@media screen and (min-width: 0px) and (max-width: 799px) {
    .c-title-48 {
        margin: 0 0 1em;
        font-size: 2.1rem;
    }

    .c-title-48 .l-english {
        font-size: 1.2rem;
    }

	.c-title-48 .l-sub {
		font-size: 1.0rem;
	}
}

/* VERSION - SIZE */
.u-ver-32.c-title-48 {
    font-size: 3.12rem;
}

.u-ver-24.c-title-48 {
    font-size: 2.35rem;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
    .u-ver-32.c-title-48 {
        font-size: 1.9rem;
    }
	
    .u-ver-24.c-title-48 {
        font-size: 1.6rem;
    }
}

/* VERSION - COLOR */
.u-ver-white.c-title-48,
.u-ver-white.c-title-48 * {
    color: #fff;
	border-color: rgba(255, 255, 255, 0.15);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* VERSION - STYLE */
.u-ver-underline.c-title-48 {
    padding-bottom: 0.5em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.u-ver-with-circle.c-title-48 {}
.u-ver-with-circle.c-title-48 .l-japanese::before {
	content: "● ";
	display: inline-block;
	color: var(--color-primary);
	margin-right: 0.35em;
}

.u-ver-subjects-outpatient.c-title-48 .l-english {
	color: var(--color-subjects-outpatient);
}

.u-ver-subjects-home.c-title-48 .l-english {
	color: var(--color-subjects-home);
}

.u-ver-subjects-sports.c-title-48 .l-english {
	color: var(--color-subjects-sports);
}

.u-ver-subjects-medical-hair-removal.c-title-48 .l-english {
	color: var(--color-subjects-medical-hair-removal);
}

.u-ver-capitalize.c-title-48 .l-english {
	text-transform: capitalize;
}

@media screen and (min-width: 800px) {
	.u-ver-horizontal.c-title-48 {
		display: flex;
		align-items: center;
		justify-content: flex-start;
	}

	.u-ver-horizontal.c-title-48>* {
		margin-right: .75em;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}



/* =見出し - メインのもの - 日本語32pt + 英語 横並び
----------------------------------------------------- */
.c-title-section {
	margin: 0 0 1.25em;
	position: relative;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.5;
}

.c-title-section .l-japanese {
	margin: 0 0.25em 0 0;
}

.c-title-section em,
.c-title-section .l-english {
	display: inline-block;
	vertical-align: middle;
	color: var(--color-primary);
	font-size: 1.4rem;
	text-transform: uppercase;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-section {
		margin: 0 0 3.125vw;
		font-size: 1.9rem;
	}
}

/* VERSION - SIZE */
.u-ver-48.c-title-section {
	font-size: 4.7rem;
}

.u-ver-24.c-title-section {
	font-size: 2.35rem;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.u-ver-48.c-title-section {
		font-size: 2.1rem;
	}

	.u-ver-24.c-title-section {
		font-size: 1.6rem;
	}
}

/* VERSION - STYLE */
.u-ver-underline.c-title-section {
    padding-bottom: 0.5em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}



.u-ver-subjects-outpatient.c-title-section .l-english {
	color: var(--color-subjects-outpatient);
}

.u-ver-subjects-home.c-title-section .l-english {
	color: var(--color-subjects-home);
}

.u-ver-subjects-sports.c-title-section .l-english {
	color: var(--color-subjects-sports);
}

.u-ver-subjects-medical-hair-removal.c-title-section .l-english {
	color: var(--color-subjects-medical-hair-removal);
}




/* 見出し - ナンバリング
----------------------------------------------------- */
.c-title-numbering {
    margin: 0 0 .5em;
	font-family: aktiv-grotesk, sans-serif;
    color: var(--color-primary);
    font-size: 4.8rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.0em;
}

.c-title-numbering:last-child {
    margin-bottom: 0;
}

.c-title-numbering>* {
    display: block;
}

.c-title-numbering .l-num {}

.c-title-numbering .l-japanese {}

@media screen and (min-width: 0px) and (max-width: 799px) {
    .c-title-numbering {
        margin: 0 0 1em;
        font-size: 2.4rem;
    }
}

.u-ver-96.c-title-numbering {
    font-size: 9.6rem;
}

.u-ver-subjects-outpatient.c-title-numbering {
	color: var(--color-subjects-outpatient);
}

.u-ver-subjects-home.c-title-numbering {
	color: var(--color-subjects-home);
}

.u-ver-subjects-sports.c-title-numbering {
	color: var(--color-subjects-sports);
}

.u-ver-subjects-medical-hair-removal.c-title-numbering {
	color: var(--color-subjects-medical-hair-removal);
}

@media screen and (min-width: 0px) and (max-width: 799px) {
    .u-ver-96.c-title-numbering {
        font-size: 4.8rem;
    }
}






/*
-----------------------------------------------------

    =COMMON PARTS - HEADING (OLD)
	※クラス名を旧サイトバージョンからひきつづき流用しているもの

----------------------------------------------------- 
*/


/* =見出し - 罫線あり
----------------------------------------------------- */
.title-border {
	margin: 0 0 1.5em;
	padding: 0 0 0.25em;
	border-bottom: solid 1px rgba(0, 0, 0, 0.15);
	font-size: 2.4rem;
	font-weight: normal;
}

.title-border.dashed {
	border-bottom: dashed 1px #665c4f;
	color: #665c4f;
	font-weight: bold;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	.title-border {
		font-size: 2.0rem;
	}
}


/* =見出し - シンプル
----------------------------------------------------- */
.title-simple {
	margin: 0 0 0.75em;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.6;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	.title-simple {
		font-size: 1.8rem;
	}
}



/*
-----------------------------------------------------

    =COMMON PARTS - HEADING (SUB PAGES ONLY)
	※クラス名を旧サイトバージョンからひきつづき流用しているもの

----------------------------------------------------- 
*/

/* =見出し - 少し大きめの本文
----------------------------------------------------- */
.c-featured-text {
	font-size: 2.4rem;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-featured-text {
		font-size: 1.6rem;
	}
}

/* =見出し - 英語のみ
----------------------------------------------------- */
.c-title-english {
	margin: 0 auto 0.5em;
	color: var(--color-primary);
	font-size: 5.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.25;
}

.c-title-english em {
	display: block;
	margin: 0.5em 0 0;
	font-size: 2rem;
	color: #000;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-english {
		font-size: 3.2rem;
	}
}


/* =見出し - .c-title-section の罫線付きver.
----------------------------------------------------- */
.title-bar {
	margin: 0 0 1em;
	padding: 0 0 0.5em;
	border-bottom: solid 1px #dcdcdc;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
}

.title-bar em {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 2em;
	color: var(--color-primary);
	font-size: 1.2rem;
	text-transform: uppercase;
}

.title-bar.dashed {
	color: #665c4f;
	border-bottom: dashed 1px #665c4f;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	.title-bar {
		font-size: 2rem;
	}

	.title-bar em {
		font-size: 1.4rem;
	}
}





/* =見出し - 旧ナンバリング
----------------------------------------------------- */
/* 
.title-numbering {
	position: relative;
	margin: 0 0 2em;
	padding: 0;
	padding-left: 70px;
	border-bottom: solid 1px var(--color-primary);
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 50px;
}

.title-numbering .num {
	position: absolute;
	left: 0;
	top: 0;
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {} */


/*
-----------------------------------------------------

	=COMMON PARTS - BUTTON

-----------------------------------------------------
*/

/* ボタン - メイン
----------------------------------------------------- */
.c-button-main {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 360px;
	min-height: 80px;
	padding: 0.85em 1.25em;
	border-radius: 3em;
	line-height: 1.5;
	background: url(assets/images/icon-arrow-right-button-white.webp) no-repeat right 1em center;
	background-size: 21px auto;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 1.4em;
	font-weight: bold;
	letter-spacing: 0.0em;
	text-decoration: none;
	text-align: center;
}

.c-button-main:hover {
	opacity: 0.75;
}

.c-button-main:after {}

.u-ver-subjects-outpatient.c-button-main {
	background-color: var(--color-subjects-outpatient);
}

.u-ver-subjects-home.c-button-main {
	background-color: var(--color-subjects-home);
}

.u-ver-subjects-sports.c-button-main {
	background-color: var(--color-subjects-sports);
}

.u-ver-subjects-medical-hair-removal.c-button-main {
	background-color: var(--color-subjects-medical-hair-removal);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-button-main {
		min-width: 80%;
	}
}

/* VERSION - COLOR */
.u-ver-secondary.c-button-main {
	background-color: var(--color-secondary);
}

.u-ver-small.c-button-main {
	font-size: 1em;
}

/* ALIGNMENT */
.u-ta-r .c-button-main {
    margin-left: auto;
}

.u-ta-c .c-button-main {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-button-main {
		width: 100%;
	}
}


/* ボタン - ブラウンカラーのボタン (TOPページのみ使用)
----------------------------------------------------- */
.c-button-secondary {
	display: inline-block;
	min-width: 200px;
	padding: 0.85em 1.25em;
	border-radius: 15px;
	line-height: 1.5;
	background: url(assets/images/icon-arrow-right-brown.webp) no-repeat right 1em center;
	background-size: 17px auto;
	background-color: #eeedeb;
	background-color: #dfdcd1;
	color: var(--color-secondary);
	font-size: 1.05em;
	font-weight: 400;
	letter-spacing: 0.0em;
	text-decoration: none;
}

.c-button-secondary:hover {
	opacity: 0.75;
}

.c-button-secondary .l-text {
	display: block;
	padding-right: 1em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-button-secondary {
		min-width: 80%;
	}

	.c-flex-parent .c-button-secondary {
		width: 100%;
	}
}

/* ボタン - SNS
----------------------------------------------------- */
.c-button-sns {
	display: flex;
	align-items: center;
	font-size: .95em;
	font-weight: 700;
	color: var(--color-secondary);
	color: var(--color-text-basic);
	text-decoration: none;
}

.c-button-sns>* {
	margin: 0 1.0em 0 0;
}

.c-button-sns .l-icon {
	width: 60px;
}

.c-button-sns .l-text {}

.c-button-sns .l-arrow {
	width: 13px;
}

.c-button-sns * img {
	display: block;
}

/*
-----------------------------------------------------

	=COMMON PARTS - BUTTON (SUB PAGES ONLY)

-----------------------------------------------------
*/
/* ボタン - 詳しくはこちら + 矢印アイコン
----------------------------------------------------- */
.c-button-readmore {
	display: flex;
	align-items: center;
	line-height: 1.5;
	color: #000;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.0em;
	text-decoration: none;
	text-align: center;
}

.c-button-readmore:hover {
	opacity: 0.75;
}

.c-button-readmore .l-text {
	display: block;
	padding: 0.35em 0;
	border-bottom: 2px solid #000;
}

.c-button-readmore .l-arrow {
	display: block;
	margin: 0 0 0 8px;
	width: 24px;
	height: 24px;
	background: url(assets/images/icon-arrow-right-button-circle.webp) no-repeat center;	
	background-size: contain;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-button-readmore {
		font-size: 1.3rem;
	}
}


/*
-----------------------------------------------------

	=COMMON PARTS - LIST

-----------------------------------------------------
*/

/* リスト - チェックリスト
----------------------------------------------------- */
ul.c-list-check {}

ul.c-list-check li {
    position: relative;
	margin: 0 0 0.25em;
    padding-left: 1.3em;
    padding-left: calc(14px + 10px);
    line-height: 1.8;
    letter-spacing: 0.00em;
	background: url(assets/images/icon-check-orange.webp) no-repeat left center;
	background: url(assets/images/icon-check-orange.webp) no-repeat left top 10px;
	background-size: 14px auto;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* リスト - 箇条書きリスト（丸型）
----------------------------------------------------- */
ul.c-list-circle {}

ul.c-list-circle li {
    position: relative;
	margin: 0 0 0.25em;
    padding-left: 1.2em;
    line-height: 1.8;
    letter-spacing: 0.00em;
}

ul.c-list-circle li::before {
    content: "● ";
    position: absolute;
    left: 0;
    top: 0.8em;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1.25em 0 0;
    color: var(--color-text-basic);
    font-size: 0.9rem;
    opacity: 0.25;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
    ul.c-list-circle li::before {
        top: 0.1em;
    }
}

/* =ボタン並び
----------------------------------------------------- */

ul.list-button {
	font-size: 0;
	letter-spacing: 0;
}

ul.list-button li {
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 0.5em 1em;
}


/* =ニュースリスト
----------------------------------------------------- */
ul.c-list-information {}

ul.c-list-information li {
	margin: 0 0 1em;
	padding: 0 0 1em;
	border-bottom: solid 1px rgba(0, 0, 0, 0.15);
	display: flex;
	justify-content: space-between;
	font-size: 1.4rem;
}

ul.c-list-information li:last-child {
	margin: 0;
	padding: 0;
	border-bottom: none;
}

ul.c-list-information li .date,
ul.c-list-information li .category,
ul.c-list-information li .text {
	display: inline-block;
}

ul.c-list-information li .date {
	width: 8%;
}

ul.c-list-information li .category {
	width: 10%;
}

ul.c-list-information li .text {
	width: 78%;
}

ul.c-list-information li .date {}

ul.c-list-information li .category a {
	display: inline-block;
	background-color: var(--color-primary);
	width: 100%;
	padding: 0.35em 1.5em;
	text-align: center;
	border-radius: 20px;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.8;
	text-decoration: none;
}

ul.c-list-information li .text {}




@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	/* List */
	ul.list-button {
		text-align: center;
	}


	ul.c-list-information {}

	ul.c-list-information li {
		display: block;
	}

	ul.c-list-information li .date,
	ul.c-list-information li .category {
		display: inline-block;
		width: auto;
		margin: 0 1em 0 0;
	}

	ul.c-list-information li .text {
		display: block;
		width: 100%;
		margin: 0.5em 0 0 0;
	}
}

/*
-----------------------------------------------------

	=COMMON PARTS - TABLE

-----------------------------------------------------
*/

.table-price {
	margin: 0;
}

.table-price th,
.table-price td {
	padding: 0.25em 0;
}

.table-price .price {
	text-align: right;
}



/*
-----------------------------------------------------

	=COMMON PARTS - LOOP 

-----------------------------------------------------
*/

.loop {}

.loop .row {}

.loop .row .col {}

.loop .row .col:last-child {
	margin-bottom: 0;
}

/* Default Layout
----------------------------------------------------- */
.loop {}

.loop img,
.loop img:hover {
	background-color: transparent;
}

.loop,
.loop a {
	text-decoration: none;
}

.loop .row .col>* {
	margin: 0 0 25px;
}

.loop .row .col>*:last-child {
	margin: 0;
}

.loop .image {
	position: relative;
}

.loop .image img {
	display: block;
	padding: 0 !important;
	width: 100%;
	height: auto;
}

.loop .image a img:hover {
	opacity: 0.85;
}


.loop .content>* {
	margin: 0 0 1em;
}

.loop .content>*:last-child {
	margin: 0;
}

.loop .content .title {
	font-size: 1.8rem;
	line-height: 1.6;
}

.loop .content,
.loop .content .title {}

.loop .content .title:last-child {
	margin-bottom: 0;
}

.loop .content .title,
.loop .content .title a {}

.loop .content .title a {
	color: #000;
	text-decoration: none;
}

.loop .content .title a:hover {}

.loop .content .title em {
	font-size: 1.2rem;
}

.loop .content .meta {}

.loop .content .meta>* {
	display: block;
	margin-bottom: 0.5em;
}

.loop .content .meta,
.loop .content .meta a {
	color: #aaa;
}

.loop .content .meta .date {
	font-size: 1.1rem;
}

.loop .content .meta .category {
	font-size: 0.9rem;
}

.loop .content .text {
	font-size: 1.3rem;
}

.loop .content .text p {
	margin: 0 0 1em;
}

.loop .content .text p:last-child {
	margin: 0;
}

/* Specify number of columns */
.loop .u-col-2 {
	margin: 0 -6% -6% 0;
}

.loop .u-col-2 .col {
	margin: 0 6% 6% 0;
	width: 44%;
}

.loop .u-col-3 {
	margin: 0 -6% -6% 0;
}

.loop .u-col-3 .col {
	margin: 0 6% 6% 0;
	width: 27.3333%;
}

.more-link {
	display: none;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* =type : information
----------------------------------------------------- */
.loop .type-information .col {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-shrink: 0;

	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: solid 1px rgba(0, 0, 0, 0.2);
}

.loop .type-information a:hover {
	opacity: 0.5;
}

.loop .type-information .image {
	max-width: 300px;
}

.loop .type-information .content {
	max-width: 480px;
}

.loop .type-information .image img {
	border: solid 1px #dcdcdc;
}

.loop .type-information .content .title {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 1px #dcdcdc;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
}

.loop .type-information .content .title a {
	display: inline-block;
	color: inherit;
	padding-bottom: 0.1em;
	/*text-decoration: underline;
		text-underline-position: under;*/
}

.loop .type-information .content .title a:hover {
	text-decoration: none;
}

.loop .type-information .text {
	margin-bottom: 2em;
	font-size: 12px;
	line-height: 2;
}

.loop .type-information .meta {
	font-size: 11px;
	color: #7d7d7d;
}

.loop .type-information .meta span {
	display: inline-block;
}

.loop .type-information .meta .date {
	/*display: none;*/

	margin-right: 1em;
	font-weight: bold;
	letter-spacing: 0;
}

.loop .type-information .meta .category {}

.loop .type-information .meta .category a {
	color: inherit;
	color: var(--color-primary);
	color: #1ba1f1;
	padding: 0.5em 1em;
	border-radius: 30px;
	background-color: #1ba1f1;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	text-decoration: none;
}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	/* =loop
	-------------------------------------------------- */
	/* information */
	.loop .type-information .image {
		max-width: 26%;
	}

	.loop .type-information .content {
		max-width: 68%;
	}

	.loop .type-information .content .title {
		font-size: 1.6rem;
	}

	.loop .type-information .content .text {}
}



/*
-----------------------------------------------------

	=MAIN

-----------------------------------------------------
*/

#cont {}

#main {}

/*
-----------------------------------------------------

	=TOP PAGE

	- NEWS
	- SUBJECTS
	- PROFILE
	- ACTION - RESERVATION (COMMON PARTS)

-----------------------------------------------------
*/


/*
-----------------------------------------------------

	=KEY VISUAL [全ページ共通]
	=KEY VISUAL [トップページ]
	=KEY VISUAL [下層ページ]

-----------------------------------------------------
*/
/* =全ページ共通
----------------------------------------------------- */
#key {
	position: relative;
	padding: 0;
}

.top-key .content {
	position: absolute;
	z-index: 901;
	bottom: 0;
	right: 0;
	margin: 0px 0 0 auto;
	width: 100vw;
	text-align: right;
}

.top-key .content .wrapper {}

.top-key .content .text {
	max-width: 565px;
	margin: 0 0 0 auto;

}

.top-key .content .text02 {
	margin: 0 auto 60px;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.8;

	margin: 0 0 60px auto;
}

.top-key .content .text03 {
	display: inline-block;
	margin: 0 0 50px;
	font-size: 2.0rem;
	font-weight: bold;
	border-bottom: solid 3px var(--color-primary);

	text-align: left;
}

.top-key .picture {
	width: 45%;
	margin: 60px 0 0;
	border-bottom-right-radius: 90px;
	border-top-right-radius: 90px;
	overflow: hidden;
}

.top-key .picture img {
	width: 100%;
	height: auto;
}

.button-icon {
	display: inline-block;
	padding: 0.25em 3em;
	border: solid 1px var(--color-secondary);
	border-radius: 40px;
	color: var(--color-secondary);
	font-size: 1em;
	text-align: center;
	text-decoration: none;
}

.button-icon:hover {
	background-color: var(--color-secondary);
	color: #fff;
	opacity: 1;
}

.button-icon i {
	display: inline-block;
	margin: 0 0.5em 0 -0.5em;
	font-size: 1.6rem;
}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	/* =Key Visual
	-------------------------------------------------- */

	#key {
		padding: 9.25vw 0 0;
	}

	#key .picture {
		position: relative;
		z-index: 1;
		width: 90vw;
		margin: 0 0 0;
	}

	#key .content {
		position: relative;
		margin: 0 0 6.25vw 0;
		text-align: center;
	}

	#key .content .text02 {
		margin: 20px 0 1.5em;
		font-size: 2.0rem;
	}

	#key .content .text03 {
		margin: 0 0 2em;
		font-size: 1.2rem;
	}
}


/* =JS - Flexslider 上書き
----------------------------------------------------- */
.top-key .flexslider {}

.flexslider .slides li {
	overflow: hidden;
}

.flexslider .slides li img {
	opacity: 0.8;
	-webkit-transition: all ease-out 12.0s;
	-moz-transition: all ease-out 12.0s;
	-ms-transition: all ease-out 12.0s;
	transition: all ease-out 12.0s;
}

.flexslider .slides .flex-active-slide img {
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}


.flexslider {
	z-index: 2;
	background-color: transparent !important;
	margin-bottom: 0 !important;
	border: none !important;
}

.flexslider .slides li {
	width: 100vw;
}

.flexslider .slides li img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	opacity: 0.8;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* =下層ページのみ
----------------------------------------------------- */

#key.sub-key {
	padding: 100px 0;
	background: url(assets/images/sub-key.webp) no-repeat center;
	background-size: cover;
}

#key.sub-key.outpatient {
	background-image: url(assets/images/sub-key-outpatient.webp);
}

#key.sub-key.private {
	background-image: url(assets/images/sub-key-private.webp);
}

#key.sub-key.home {
	background-image: url(assets/images/sub-key-home.webp);
}

#key.sub-key.medical-hair-removal {
	background-image: url(assets/images/sub-key-medical-hair-removal.webp);
}

#key.sub-key.sports {
	background-image: url(assets/images/sub-key-sports.webp);
}

#key.sub-key.sports-nutrition {
	background-image: url(assets/images/sub-key-sports-nutrition.webp);
}



/* OLD PAGE */
/* #key.sub-key.medicalcheck {
	background-image: url(assets/images/sub-key-sports.webp);
} */

#key.sub-key.respiratory {
	background-image: url(assets/images/sub-key-respiratory.jpg);
}


#key.sub-key .content {
	position: static;
	width: 100%;
	text-align: center;
}


@media screen and (min-width: 800px) {
	#key.sub-key .l-english {
		font-size: 1.6rem;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#key.sub-key {
		padding: 40px 0;
	}

	#key.sub-key .content {
		margin: 0;
	}
}


/*
-----------------------------------------------------

    =TOP - NEWS [お知らせ]

----------------------------------------------------- 
*/
.l-top-news {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-top-news::before {
    content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-news .l-button {
		text-align: center;
	}
}

/* = NEWS - タブ切り替え
----------------------------------------------------- */

/* タブ切り替え（他ページからタブに直接リンクできるように）
----------------------------------------------------- */
#tabs {
    position: relative;
    z-index: 1;
}

/* タブ部分 */
#tabs ul.tab-area {
	position: relative;
    margin: 0;
    letter-spacing: 0;
    font-size: 0;

	border: solid 2px rgba(0, 0, 0, 0.2);
	border-width: 2px 0 2px 0;
	padding: 20px 0;
	padding-left: 120px;
}

#tabs ul.tab-area::before {
    content: "CATEGORY";
    position: absolute;
    z-index: -1;
    top: 0;
	bottom: 0;
    left: 0;
	margin: auto 0;
    height: 1em;
	color: #7d7d7d;
	font-size: 1.2rem;
	font-weight: bold;
}

#tabs ul.tab-area li {
    display: inline-block;
    vertical-align: middle;
    margin: 0 2em 0 0;
    font-size: 1.6rem;
}

#tabs ul.tab-area li>* {
    display: block;
    width: 100%;
    padding: 0.5em 0em;
    line-height: 1.2;
    border-bottom: solid 2px transparent;
    font-weight: normal;
    text-align: center;
    cursor: pointer;
}

#tabs ul.tab-area li:not( :last-child) {}

#tabs ul.tab-area li.active>* {
    color: var(--color-primary);
    border-color: var(--color-primary);
}

@media screen and (min-width: 800px) {
    /* #tabs ul.tab-area li {
        padding-top: 80px;
        margin-top: -80px;
    } */
}

@media screen and (min-width: 0px) and (max-width: 799px) {
    #tabs {}

    #tabs::before {
        display: none;
    }

    #tabs ul.tab-area {
        margin: 1em 0 0;
        width: auto;
		padding: 15px 0;
		padding-left: 0;
	}

	#tabs ul.tab-area::before {
		display: none;
	}

    #tabs ul.tab-area li {
        margin: 0.5em 1em 0.5em 0;
        font-size: 1.2rem;
    }

    #tabs ul.tab-area li.active {}

    #tabs ul.tab-area li>* {
        border-width: 1px;
    }

    #tabs ul.tab-area li.active>* {}

    #tabs {}

    /* #tabs ul.tab-area li {
        padding-top: 200px;
        margin-top: -200px;
        position: relative;
    }

    #tabs ul.tab-area li:nth-child(1) {
        z-index: 3;
    }

    #tabs ul.tab-area li:nth-child(2) {
        z-index: 2;
    }

    #tabs ul.tab-area li:nth-child(3) {
        z-index: 1;
    } */
}

/* タブ内容 */
#tabs .content-area {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 0;
    background-color: transparent;
}

#tabs .content-area.hide {
    display: none;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/*
-----------------------------------------------------

    =TOP - SUBJECTS [診療項目]

----------------------------------------------------- 
*/
.l-top-subjects {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-top-subjects::before {
    content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.l-top-subjects-lineup {}

.l-top-subjects-lineup>.lineup {
	background-color: var(--color-beige);
}

.l-top-subjects-lineup>.lineup:nth-child(2n+1) {
	background-color: #eeece2;
}

.l-top-subjects-lineup>.lineup .l-title {}

.l-top-subjects-lineup>.lineup .l-text {
	font-size: .875em;
}


.l-top-subjects-lineup>.lineup.u-ver-subjects-outpatient {}

@media screen and (min-width: 800px) {
    .l-top-subjects-lineup>.lineup .c-image-content {
        align-items: flex-start;
    }

    .l-top-subjects-lineup>.lineup .c-image-content>.c-image {
        width: 500px;
    }

    .l-top-subjects-lineup>.lineup .c-image-content>.c-content {
        width: calc(100% - 500px - 60px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-subjects ul {
		margin: 0;
	}
	.l-top-subjects .l-button {
		text-align: center;
	}
}


/*
-----------------------------------------------------

    =TOP - FEATURE [当院の特徴〜院長プロフィール]

----------------------------------------------------- 
*/
.l-top-feature {}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-feature .l-button {
		text-align: center;
	}
}

/* =.feature-profile (下層ページ「院長紹介」などでも流用)
----------------------------------------------------- */
.feature-profile {}

.feature-profile .profile {
	width: 690px;
}

.feature-profile .content {
	width: 360px;
}

.feature-profile .profile {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.feature-profile .profile .avatar {
	margin: 0 40px 0 0;
	max-width: 100%;
	text-align: center;
}

.feature-profile .profile .text {
	width: 450px;
	font-size: 1.2rem;
}

.feature-profile .profile .text .name {
	margin: 0 0 0.75em;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
}

.feature-profile .profile .text .name .job,
.feature-profile .profile .text .name .english {
	font-size: 1.2rem;
}

.feature-profile .profile .text .name .job {
	display: block;
}

.feature-profile .profile .text .name .english {
	margin: 0 0 0 2em;
	text-transform: uppercase;
}

.feature-profile .profile .text ul.list-button li {
	margin: 0 1em 0 0;
}

.feature-profile .content {}

.feature-profile .content figcaption {
	display: inline-block;
	margin: 1em 0 0;
	font-size: 1.2rem;
	color: #aaa;
	color: #666;
	line-height: 1.8;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.feature-profile .profile .avatar {
		margin: 0 auto 2rem;
	}

	.feature-profile .profile .text .name {
		text-align: center;
	}

	.feature-profile .profile .text .name .english {
		display: block;
		margin: 0;
	}

}


/*
-----------------------------------------------------

    =TOP - INFORMATION [クリニック概要]

----------------------------------------------------- 
*/

/* =クリニック概要
----------------------------------------------------- */
.l-top-information {
	background-color: var(--color-beige);
	font-size: 1.4rem;
}

.l-top-information a {
	color: var(--color-secondary)
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}



/* =地図、所在地、アクセス
----------------------------------------------------- */
.l-top-information .picture-content>.picture {
	width: 580px;
}

.l-top-information .picture-content>.content {
	width: 460px;
}

.summary-content {}

.summary-content .title {
	margin: 0;
}

.summary-content ul.list-access {
	margin-top: 0.75em;
	font-size: 1.8rem;
	font-weight: bold;
}

.summary-content ul.list-access li {
	position: relative;
	padding-left: 45px;
}

.summary-content ul.list-access li:not( :last-child) {
	margin: 0 0 1.5rem;
}

.summary-content ul.list-access li .icon {
	margin: 0 0.5em 0 0;
	position: absolute;
	left: 0;
	top: 0;
}

.summary-content ul.list-access li a.link {
	display: block;
	text-decoration: underline;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.summary-content ul.list-access {
		font-size: 3.3vw;
	}
}


/* =スケジュール表
----------------------------------------------------- */
.l-top-information .l-schedule img {
	mix-blend-mode: multiply;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-information .u-ver-horizontal.c-title-48 .l-japanese {
		width: 100%;
	}

	.l-top-information .u-ver-horizontal.c-title-48 .l-tag {
		display: inline-block;
		margin: 0 5px 0 0
	}
}

/* =PR枠（予約優先制、訪問診療）
----------------------------------------------------- */
.l-top-information-lineup {}

.l-top-information-lineup>.lineup {}

.l-top-information-lineup>.lineup .l-inner {}

@media screen and (min-width: 800px) {

	.l-top-information-lineup>.lineup .l-inner {
		padding: 40px;
		border-radius: 20px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-information-lineup>.lineup {
		font-size: .9em;
	}

	.l-top-information-lineup>.lineup .l-inner {
		border-radius: 20px;
	}
}

/* =スケジュール表 （旧デザインのみ）
----------------------------------------------------- */
/* .table-schedule {}

.table-schedule th,
.table-schedule td {
	padding: 1em 0.75em;
	text-align: center;
	vertical-align: middle;
	border: solid 1px #dcdcdc;
}

.table-schedule th {
	background-color: #f6f5f0;
	font-weight: bold;
}

.table-schedule th .time {
	display: block;
	font-size: 1.5em;
	font-weight: bold;
	letter-spacing: 0.10em;
}

.table-schedule td {}

.table-schedule .icon-logo {
	display: inline-block;
	vertical-align: middle;
	width: 31px;
	height: 31px;
	background: url(assets/images/ico-symbol.png) no-repeat;
	background-size: contain;
	font-size: 0;
}

.table-schedule i {
	font-size: 1.5em;
}

.table-schedule .note {
	display: inline-block;
	font-size: 9px;
	line-height: 1.25;
}

.table-schedule.blue th {
	background-color: #009fd9;
	color: #fff;
} 

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.table-schedule th,
	.table-schedule td {
		font-size: 1.0rem;
	}

	.table-schedule .icon-logo {
		width: 20px;
		height: 20px;
	}
}
*/


/* =subjects OLD VER.
----------------------------------------------------- */
/* .top-subjects {}

.subjects-lineup {}

.subjects-lineup .row {}
.subjects-lineup .box {
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.1);
	background-color: #fff;
}

.subjects-lineup .box .content {
	padding: 40px;
}

.title-subjects {
	position: relative;
	margin: 0 0 1.5em;
	padding: 0 0 1em;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
}

.title-subjects em {
	display: block;
	color: var(--color-primary);
	font-size: 1.2rem;
	text-transform: uppercase;
}

.title-subjects::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	right: 0;
	width: 50px;
	height: 2px;
	margin: auto;
	background-color: var(--color-primary);
}

.subjects-lineup .box .content .c-title-48 {
	letter-spacing: 0;
	font-size: 2.0rem;
	font-weight: normal;
}

.subjects-lineup .general .title-subjects em {
	color: #e7792b;
}

.subjects-lineup .general .title-subjects::after {
	background-color: #e7792b;
}

.subjects-lineup .general .c-button-main {
	background-color: #e7792b;
}

.subjects-lineup .respiratory .title-subjects em {
	color: var(--color-primary);
}

.subjects-lineup .respiratory .title-subjects::after {
	background-color: var(--color-primary);
}

.subjects-lineup .respiratory .c-button-main {
	background-color: var(--color-primary);
}

.subjects-lineup .visiting .title-subjects em {
	color: #009425;
}

.subjects-lineup .visiting .title-subjects::after {
	background-color: #009425;
}

.subjects-lineup .visiting .c-button-main {
	background-color: #009425;
}

.subjects-lineup .sports .title-subjects em {
	color: #009fd9;
}

.subjects-lineup .sports .title-subjects::after {
	background-color: #009fd9;
}

.subjects-lineup .sports .c-button-main {
	background-color: #009fd9;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.subjects-lineup {}

	.subjects-lineup .box {
		margin: 0 auto 6.25vw;
	}

	.title-subjects {
		font-size: 1.8rem;
	}

	.subjects-lineup .box .content {
		padding: 6.25vw;
		font-size: 1.2rem;
	}

	.subjects-lineup .box .content .c-title-48 {
		font-size: 1.6rem;
	}

	.subjects-lineup .box .content .c-title-48 br {
		display: none;
	}

	.subjects-lineup .box .content p {
		line-height: 1.9;
	}
} */


/*
-----------------------------------------------------

	=ACTION - RESERVATION

-----------------------------------------------------
*/

/* 共通パーツ - ご予約セクション
----------------------------------------------------- */
#action {
	background: url(assets/images/action-reservation-bg.webp) no-repeat center/cover;
	color: #fff;
	text-align: center;
}

#action p {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.list-action {
		display: block;
		text-align: center;
	}

	ul.list-action li {
		display: block;
		margin: 0 auto;
		width: 100%;
	}

	ul.list-action li:not( :last-child) {
		margin: 0 auto 1em;
	}

	ul.list-action li .button-arrow {
		margin: 0 auto;
		font-size: 1.6rem;
	}


	/* Button */
	.button-icon {
		font-size: 1.6rem;
	}

}


/* =ボタン - 予約など - アイコン付きボタン
----------------------------------------------------- */
.button-arrow {
	display: block;
	padding: 0.5em 2em;
	width: 300px;
	max-width: 100%;
	border-radius: 30px;
	background: url(assets/images/icon-arrow-right-button-white.webp) no-repeat right 2em center;
	background-size: 21px auto;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}

.button-arrow i {
	display: inline-block;
	margin: 0 0.25em 0 0;
}

.button-arrow:hover {
	background-position: right 1.5em center;
	opacity: 0.85;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.button-arrow {
		background-size: 15px auto;
	}
}

/* VERSION - COLOR */
.button-reservation {
	background-color: var(--color-primary);
	color: #fff;
}

.button-reservation i {}

.button-reservation:hover {}

.button-line {
	background-color: #00c300;
}

.button-line i {
	display: inline-block;
	vertical-align: text-bottom;
	width: 21px;
	height: 21px;
	background: url(assets/images/ico-line.png) no-repeat center;
	background-size: 100% auto;
	margin: 0 0.25em 0 0;
}

.button-contact {
	background-color: var(--color-secondary);
	color: #fff;
}

.button-contact i {}

.button-contact:hover {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

	=SUB PAGES

	INDEX
	- ABOUT
	- MESSAGE
	- 外来診療
	- 自費診療
	- 訪問診療
	- SPORTS
	- CONTACT

-----------------------------------------------------
*/

/*
-----------------------------------------------------

	=SUB PAGES - ABOUT [クリニック案内]

-----------------------------------------------------
*/

.sub-about {
	background-color: #f6f5f0;
	font-size: 2rem;
}

.header-stylish {}

.sub-about .box {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	/* about */
	.sub-about {
		padding: 9.5vw 0;
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	.sub-about .header img.image {
		max-width: 60%;
	}

	.header-stylish {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}

/*
-----------------------------------------------------

	=SUB PAGES - MESSAGE [院長紹介]

-----------------------------------------------------
*/
/* =message
----------------------------------------------------- */
.sub-message {
	background-color: #f6f5f0;
}

.sub-message .header {}


@media screen and (min-width: 800px) {
	.sub-message .picture-content>.picture {
		max-width: 290px;
	}

	.sub-message .picture-content>.content {
		max-width: 780px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.sub-message .picture-content>.picture {
		text-align: center;
	}
}


/* プロフィール (TOPを流用) */
.sub-message .feature-profile .in {
	background-color: #fff;
	padding: 6.25vw;
}

.sub-message .feature-profile .profile {
	width: 100%;
}

.sub-message .feature-profile .profile .avatar,
.sub-message .feature-profile .profile .text {
	width: 100%;
}

.sub-message .feature-profile .profile .avatar {
	width: 280px;
}

.sub-message .feature-profile .profile .text {
	max-width: 690px;
}


@media screen and (min-width: 800px) {
	.sub-message .feature-profile .in {
		padding: 3.125vw;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/* =院長ニュース
----------------------------------------------------- */
.l-sub-message-news {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}




/*
-----------------------------------------------------

	=SUB PAGES - OUTPATIENT [外来診療]
	※旧「一般外来」ページ

-----------------------------------------------------
*/

.l-sub-outpatient {}

.l-sub-outpatient .box01 .c-image-content>.c-image {
	text-align: center;
}

/* = 外来診療 - 1 : イントロ
----------------------------------------------------- */
.l-sub-outpatient .box01 {}

@media screen and (min-width: 800px) {
    .l-sub-outpatient .box01 .c-image-content {
        align-items: flex-start;
    }

    .l-sub-outpatient .box01 .c-image-content>.c-image {
        width: 400px;
    }

    .l-sub-outpatient .box01 .c-image-content>.c-content {
        width: 680px;
    }

	.l-sub-outpatient .box01 .c-image-content>.c-image img {
		width: 100%;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-outpatient .box01 .c-image-content>.c-image img {
		width: 200px;
	}
}

/* = 外来診療 - 2 : 外来診療の強み・特徴
----------------------------------------------------- */
.l-sub-outpatient .box02 {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/* =.feature-lineup 外来診療の強み・特徴
----------------------------------------------------- */
.l-sub-outpatient .feature-lineup {
	flex-wrap: wrap;
}

.l-sub-outpatient .feature-lineup>.lineup {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	width: 50%;
	padding: 50px 25px;
	border-right: dotted 2px rgba(102, 94, 81, 0.5);
	border-bottom: dotted 2px rgba(102, 94, 81, 0.5);
	vertical-align: middle;
}

.l-sub-outpatient .feature-lineup>.lineup:nth-child(even) {
	border-right: 0;
}

.l-sub-outpatient .feature-lineup .picture,
.l-sub-outpatient .feature-lineup .content {
	display: inline-block;
}

.l-sub-outpatient .feature-lineup .picture {
	width: 30%;
	padding: 0;
	text-align: center;
	vertical-align: middle;
}

.l-sub-outpatient .feature-lineup .picture img {
	display: inline-block;
}


.l-sub-outpatient .feature-lineup .content {
	width: 70%;
}

.l-sub-outpatient .feature-lineup .content .subject {
	margin: 0 0 20px;
	font-size: 2rem;
	font-weight: bold;
	border: none;
	padding: 0;
	color: #000;
	line-height: 1.5;
}

.l-sub-outpatient .feature-lineup .content .subject span {
	display: inline-block;
	padding: 0.5em 2em;
	border: solid 1px var(--color-secondary);
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}

.l-sub-outpatient .feature-lineup .content .subject strong {
	color: #e7792b;
}


.l-sub-outpatient .feature-lineup .content .title {
	font-weight: normal;
	font-size: 1.4rem;
	line-height: 1.8;
}



@media screen and (min-width: 800px) {
	.l-sub-outpatient .feature-lineup>.lineup {
		width: 50%;
	}

	.l-sub-outpatient .feature-lineup>.lineup:nth-child(1n+3) {
		border-bottom: 0;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	/* .l-sub-outpatient .feature-lineup {
		border-top: dotted 2px rgba(102, 94, 81, 0.5);
		border-top: none;
		flex-direction: inherit;
	}

	.l-sub-outpatient .feature-lineup>.lineup {
		padding: 6.25vw;
		width: 50%;
		flex-direction: column;
	} */

	.l-sub-outpatient .feature-lineup {
		border-top: none;
		flex-direction: inherit;
	}

	.l-sub-outpatient .feature-lineup>.lineup {
		padding: 6.25vw;
		width: 100%;
		flex-direction: column;
		border-right: none;
		border-left: none;
	}

	.l-sub-outpatient .feature-lineup>.lineup:last-child {
		border-bottom: 0;
	}

	.l-sub-outpatient .feature-lineup .picture,
	.l-sub-outpatient .feature-lineup .content {
		width: 100%;
		text-align: center;
	}

	.l-sub-outpatient .feature-lineup .picture {
		margin: 0 auto 6.25vw;
	}

	.l-sub-outpatient .feature-lineup .content .subject {
		font-size: 1.8rem;
	}

	.l-sub-outpatient .feature-lineup .content .title {
		font-size: 1.2rem;
		text-align: left;
	}

	.l-sub-outpatient .feature-lineup .content .title br {
		display: none;
	}


	/* general */
	/* .sub-general .feature-lineup {
		margin: 0;
	}

	.sub-general .feature-lineup .picture,
	.sub-general .feature-lineup .content {
		width: 100%;
	}

	.sub-general .feature-lineup .content .subject {
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.sub-general .feature-lineup .content .title {
		font-size: 1.2rem;
	} */

}


/* = 外来診療 - 3 : 主な診療内容
----------------------------------------------------- */
.l-sub-outpatient .box03 {}

.l-sub-outpatient-subjects-lineup>.lineup {
	font-size: .8em;
}

.l-sub-outpatient-subjects-lineup>.lineup .c-title-numbering {
	margin: 0 0 10px;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-outpatient .box03 .l-button {
		text-align: center;
	}

	.l-sub-outpatient-subjects-lineup>.lineup {
		font-size: 1em;
	}
}


/* = 外来診療 - 4 : 生活習慣病の診療方針
----------------------------------------------------- */
.l-sub-outpatient .box04 {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/*
-----------------------------------------------------

	=SUB PAGES - PRIVATE [自費診療]

-----------------------------------------------------
*/

/* = 自費診療 - 1 : イントロ〜トピックス
----------------------------------------------------- */
.l-sub-private-intro {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.l-sub-private-intro::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 800px) {
    .l-sub-private-intro .c-image-content {
        align-items: flex-start;
    }

    .l-sub-private-intro .c-image-content>.c-image {
        width: calc(480px);
    }

    .l-sub-private-intro .c-image-content>.c-content {
        width: calc(100% - 480px - 60px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = 自費診療 - 2 : 主な診療内容 目次
----------------------------------------------------- */
.l-sub-private-index {
    position: relative;
    z-index: 2;
    overflow: hidden;
	background-color: var(--color-beige);
}

.l-sub-private-subjects-index-lineup {}

.l-sub-private-subjects-index-lineup>.lineup {}

.l-sub-private-subjects-index-lineup>.lineup .l-title {}

@media screen and (min-width: 800px) {
	.l-sub-private-subjects-index-lineup>.lineup .l-title {
		font-size: 2.1rem;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-private-subjects-index-lineup>.lineup {
		margin-bottom: 12.5vw !important;
	}

	.l-sub-private-subjects-index-lineup>.lineup:last-child {
		margin-bottom: 0 !important;
	}
}



/* = 自費診療 - 3 : 主な診療内容 01~03
----------------------------------------------------- */
.l-sub-private-subjects {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.l-sub-private-subjects .c-title-numbering.u-ver-96 {
	margin-bottom: 15px;
}

.l-sub-private-subjects .block {
	margin-bottom: 160px;
}

.l-sub-private-subjects .block:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-private-subjects .block {
		margin-bottom: 12.5vw;
	}
}


/* 説明（アコーディオン） */
.l-sub-accordion-description-lineup {}
.l-sub-accordion-description-lineup .lineup,
.l-sub-accordion-description-lineup .lineup .l-header,
.l-sub-accordion-description-lineup .lineup .l-header::before,
.l-sub-accordion-description-lineup .lineup .l-content {}

.l-sub-accordion-description-lineup .lineup {
	background-color: var(--color-beige);
	overflow: hidden;
	margin: 0 0 20px;
	padding: 0 40px;
	border-radius: 10px;
}

.l-sub-accordion-description-lineup .lineup:last-child {
	margin: 0;
}
.l-sub-accordion-description-lineup .lineup .l-header,
.l-sub-accordion-description-lineup .lineup .l-content {
	position: relative;
	display: flex;
	align-items: center;
}
.l-sub-accordion-description-lineup .lineup .l-header {
	background: url(assets/images/icon-accordion-open.webp) no-repeat right 0px center;
	background-size: 20px auto;
	padding: 20px 0;
}
.l-sub-accordion-description-lineup .lineup .l-header.js-acc-header-on {
	background-image: url(assets/images/icon-accordion-close.webp);
}

.l-sub-accordion-description-lineup .lineup .l-header .l-title {
	position: relative;
	font-weight: bold;
	font-size: 1.25em;
	padding: 0 30px;
}

.l-sub-accordion-description-lineup .lineup .l-header .l-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	width: 21px;
	height: 21px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(assets/images/icon-arrow-right-black.webp) no-repeat left center;
	background-size: 21px auto;
}

.l-sub-accordion-description-lineup .lineup .l-content {
	padding: 40px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
}
.l-sub-accordion-description-lineup .lineup .l-content .l-text {
	position: relative;
}
.l-sub-accordion-description-lineup .lineup .l-content .l-text::before {}

@media screen and (min-width: 800px) {
    .l-sub-accordion-description-lineup .lineup .l-header {
        min-height: 80px;
    }
}
@media screen and (min-width: 0px) and (max-width: 799px) {
	.top-faq .c-section {}
	.l-sub-accordion-description-lineup .lineup,
	.l-sub-accordion-description-lineup .lineup .l-header,
	.l-sub-accordion-description-lineup .lineup .l-header::before,
	.l-sub-accordion-description-lineup .lineup .l-content {}
	.l-sub-accordion-description-lineup .lineup {
		font-size: 1.0em;
		margin: 0 0 3.125vw;
		padding: 0 6.25vw;
		border-radius: 5px;
	}
	.l-sub-accordion-description-lineup .lineup:last-child {
		margin: 0;
	}
	.l-sub-accordion-description-lineup .lineup:not( :last-child ) {} 
	
	.l-sub-accordion-description-lineup .lineup .l-header {
		padding: 20px 0;
		background-position: right 0 center;
		background-size: 14px auto;
		font-size: 1.4rem;
	}
	
	.l-sub-accordion-description-lineup .lineup .l-header .l-title {
		font-size: 1.0em;
		line-height: 1.5;
	}

	.l-sub-accordion-description-lineup .lineup .l-header .l-title::before {
		width: 14px;
		height: 14px;
		background-size: 14px auto;
	}

	.l-sub-accordion-description-lineup .lineup .l-content {
		position: relative;
		padding: 20px 0;
	}
	.l-sub-accordion-description-lineup .lineup .l-content .l-text {}
}

/* = 自費診療 - 4 : 料金表
----------------------------------------------------- */
.l-sub-private-price {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.l-sub-private-price::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 800px) {
    .l-sub-private-price .c-image-content {
        align-items: flex-start;
    }

    .l-sub-private-price .c-image-content>.c-image {
        width: calc(500px);
    }

    .l-sub-private-price .c-image-content>.c-content {
        width: calc(100% - 500px - 60px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/*
-----------------------------------------------------

	=SUB PAGES - HOME [訪問診療]

-----------------------------------------------------
*/
.l-sub-home {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

/* = HOME - 1 : イントロ〜特徴〜流れ〜対応可能疾患まで
----------------------------------------------------- */
.l-sub-home-intro {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.l-sub-home-intro::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 800px) {
    .l-sub-home-intro .c-image-content {
        align-items: flex-start;
    }

    .l-sub-home-intro .c-image-content>.c-image {
        width: calc(390px);
		margin: -40px 0 0;
    }

    .l-sub-home-intro .c-image-content>.c-content {
        width: calc(100% - 390px - 70px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/* = HOME - 2 : 当院の訪問診療の特徴
----------------------------------------------------- */
.l-sub-home-feature {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.l-sub-home-feature-lineup {}

.l-sub-home-feature-lineup>.lineup {}

.l-sub-home-feature-lineup>.lineup .l-text {
	font-size: .9em;
}

@media screen and (min-width: 800px) {}


/* = HOME - 3 : 訪問診療開始までの流れ
----------------------------------------------------- */
.l-sub-home-flow {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.l-sub-home-flow::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 800px) {
    .l-sub-home-flow .c-image-content {
        align-items: flex-start;
    }

    .l-sub-home-flow .c-image-content>.c-image {
        width: calc(400px);
    }

    .l-sub-home-flow .c-image-content>.c-content {
        width: calc(100% - 400px - 60px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {}
@media screen and (min-width: 0px) and (max-width: 799px) {}


/* = HOME - 4 : 対応可能疾患まで
----------------------------------------------------- */
.l-sub-home-scope {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

.l-flowchart-lineup {}
.l-flowchart-lineup .lineup {
	position: relative;
	padding: 0 0 50px;
}
.l-flowchart-lineup .lineup::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 49px;
	content: "";
	width: 2px;
	height: 100%;
	background-color: #dcdcdc;
}
.l-flowchart-lineup .lineup:last-child::before {
	display: none;
}
.l-flowchart-lineup .lineup .numbering {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: var(--color-primary);
	color: #fff;
	padding: 20px 0;
	line-height: 1;
	text-align: center;
	font-size: 3.6rem;
	font-family: aktiv-grotesk, sans-serif;
	font-weight: 600;
	font-weight: bold;
	color: #fff;

	display: grid;
	align-items: center;
	justify-items: center;
}
.l-flowchart-lineup .lineup .numbering::before {
	content: "STEP";
	font-size: 1.5rem;
	display: block;
	text-align: center;
}
.l-flowchart-lineup .lineup .inner {
	padding-left: 140px;
	line-height: 1.6;
}
.l-flowchart-lineup .lineup .inner * {
	overflow: hidden;
}
.l-flowchart-lineup .lineup .inner .l-title {
	margin: 0 0 0.75em;
	letter-spacing: 0;
	line-height: 1.5;
}
.l-flowchart-lineup .lineup .inner .l-text {
	font-size: .875em;
}
.l-flowchart-lineup .lineup .inner>.c-image {}
.l-flowchart-lineup .lineup .inner>.c-content {}

@media screen and (min-width: 800px) {
	.l-flowchart-lineup .lineup .inner>.c-image { 
		width: 220px; 
	}
	.l-flowchart-lineup .lineup .inner>.c-content { 
		width: calc(100% - 220px - 50px); 
	}
}
@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-flowchart-lineup .lineup {
		padding: 0 0 5vw;
	}
	.l-flowchart-lineup .lineup::before {
		left: 34px;
		width: 1px;
	}
	.l-flowchart-lineup .lineup .numbering {
		width: 70px;
		height: 70px;
		font-size: 2.8rem;
		padding: 10px 0;
	}
	.l-flowchart-lineup .lineup .numbering::before {
		font-size: .9rem;
	}
	.l-flowchart-lineup .lineup .inner {
		width: 100%;
		padding: 0;
		padding-left: 90px;
	}
	.l-flowchart-lineup .lineup .inner .header::before {
		right: 20px;
		height: 20px;
		font-size: 20px;
		line-height: 1;
	}
	.l-flowchart-lineup .lineup .inner>.c-image {
		margin: 0 0 20px;
	}
	.l-flowchart-lineup .lineup .inner>.c-content {}
}




/* = HOME - 訪問看護ステーションの案内
----------------------------------------------------- */
.l-sub-home-nursestation {
    position: relative;
    z-index: 2;
    overflow: hidden;
	background-color: #fffeee;
}

.u-fc-subjects-outpatient {
	color: var(--color-subjects-outpatient);
}

.u-fc-subjects-home {
	color: var(--color-subjects-home);
}

.u-fc-subjects-sports {
	color: var(--color-subjects-sports);
}

.u-fc-subjects-medical-hair-removal {
	color: var(--color-subjects-medical-hair-removal);
}


@media screen and (min-width: 800px) {
    .l-sub-home-nursestation .c-image-content {
        align-items: flex-start;
    }

    .l-sub-home-nursestation .c-image-content>.c-image {
        width: calc(480px);
    }

    .l-sub-home-nursestation .c-image-content>.c-content {
        width: calc(100% - 480px - 65px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {}



/*
-----------------------------------------------------

	=SUB PAGES - MEDICAL HAIR REMOVAL [医療脱毛]

-----------------------------------------------------
*/

/* = 医療脱毛 - 1 : イントロ
----------------------------------------------------- */
.l-sub-medicalhairremoval-intro {}

.l-sub-checklist-lineup {}

.l-sub-checklist-lineup>.lineup {}

.l-sub-checklist-lineup>.lineup .l-inner {
	position: relative;
	padding: 0 0 0 80px;
	background: url(assets/images/icon-check-black.webp) no-repeat left center/56px;
	display: flex;
	align-items: center;
	height: 100%;
}

.l-sub-checklist-lineup>.lineup .l-inner .l-title {
	margin: 0;
}

@media screen and (min-width: 800px) {
    .l-sub-medicalhairremoval-intro .c-image-content {
        align-items: flex-start;
    }

    .l-sub-medicalhairremoval-intro .c-image-content>.c-image {
        width: calc(480px);
    }

    .l-sub-medicalhairremoval-intro .c-image-content>.c-content {
        width: calc(100% - 480px - 80px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-checklist-lineup>.lineup .l-inner {
		padding: 0 0 0 40px;
		background-size: 28px auto;
	}
}

/* = 医療脱毛 - 2 : ジェントルマックスプロとは
----------------------------------------------------- */
.l-sub-medicalhairremoval-main {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = 医療脱毛 - 3 : 料金表
----------------------------------------------------- */
.l-sub-medicalhairremoval-price {}

@media screen and (min-width: 800px) {
    .l-sub-medicalhairremoval-price .c-image-content {
        align-items: flex-start;
    }

    .l-sub-medicalhairremoval-price .c-image-content>.c-image {
        width: calc(330px);
    }

    .l-sub-medicalhairremoval-price .c-image-content>.c-content {
        width: calc(100% - 330px - 60px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = 医療脱毛 - 4 : 注意事項
----------------------------------------------------- */
.l-sub-medicalhairremoval-notice {}

@media screen and (min-width: 800px) {
	.l-sub-medicalhairremoval-notice .c-frame {
		padding: 3em;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = 医療脱毛 - 5 : よくある質問
----------------------------------------------------- */
.l-sub-medicalhairremoval-faq {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

.l-faq-lineup {}
.l-faq-lineup .lineup,
.l-faq-lineup .lineup .header,
.l-faq-lineup .lineup .header::before,
.l-faq-lineup .lineup .content {
	border-radius: 40px;
}
.l-faq-lineup .lineup {
	background-color: #eeedeb;
	overflow: hidden;
}
.l-faq-lineup .lineup:not( :last-child ) {
	margin: 0 0 20px;
}
.l-faq-lineup .lineup .header,
.l-faq-lineup .lineup .content {
	position: relative;
	display: flex;
	align-items: center;
	padding: 20px 40px;
	padding-left: calc(80px + 30px);
}
.l-faq-lineup .lineup .header {
	background: url(assets/images/icon-accordion-open.webp) no-repeat right 40px center;
	background-size: 17px auto;
	margin: 0;
}
.l-faq-lineup .lineup .header.js-acc-header-on {
	background-image: url(assets/images/icon-accordion-close.webp);
}
.l-faq-lineup .lineup .header::before {
	content: "Q";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	width: 80px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-subjects-medical-hair-removal);
	color: #fff;
	font-family: aktiv-grotesk, sans-serif;
	font-size: 4.0rem;
	font-weight: bold;
	text-align: center;
}
.l-faq-lineup .lineup .header .title {
	position: relative;
	font-weight: bold;
	font-size: 1.25em;
	line-height: 1.5;
}
.l-faq-lineup .lineup .content {
	padding: 0 40px;
	padding-left: calc(80px + 30px);
}
.l-faq-lineup .lineup .content .text {
	position: relative;
	display: block;
	padding: 20px 0;
	width: 100%;
	border-top: solid 1px rgba(0, 0, 0, 0.15);
}
.l-faq-lineup .lineup .content .text::before {}

@media screen and (min-width: 800px) {
    .l-faq-lineup .lineup .header {
        min-height: 80px;
    }
}
@media screen and (min-width: 0px) and (max-width: 799px) {
	.top-faq .c-section {}
	.l-faq-lineup .lineup,
	.l-faq-lineup .lineup .header,
	.l-faq-lineup .lineup .header::before,
	.l-faq-lineup .lineup .content {
		border-radius: 20px;
	}
	.l-faq-lineup .lineup {
		border-radius: 20px;
		font-size: 1.0em;
	}
	.l-faq-lineup .lineup:not( :last-child ) {
		margin: 0 0 3.125vw;
	}
	.l-faq-lineup .lineup:not( :last-child ) {} 
	.l-faq-lineup .lineup .header::before {
		font-size: 1.5em;
		width: 40px;
		height: 100%;
	}
	.l-faq-lineup .lineup .header {
		padding: 10px 55px;
		background-position: right 3.125vw center;
		background-size: 10px auto;
		font-size: 1.4rem;
	}
	.l-faq-lineup .lineup .header .title {
		font-size: 1.0em;
	}
	.l-faq-lineup .lineup .content {
		position: relative;
		padding: 20px 6.25vw 20px;
	}
	.l-faq-lineup .lineup .content .text {}
}


/*
-----------------------------------------------------

	=SUB PAGES - SPORTS [スポーツ内科]

-----------------------------------------------------
*/

.sub-sports {}

/* 01 : 導入
----------------------------------------------------- */
.sub-sports .box01 {}

@media screen and (min-width: 800px) {
	.sub-sports .box01 .picture-content>.picture {
		max-width: 360px;
	}

	.sub-sports .box01 .picture-content>.content {
		max-width: 720px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* 02 : どんなアスリートが受診しているの？
----------------------------------------------------- */
.sub-sports .box02 {}

.athlete-lineup {
	margin: 40px auto 0;
}

.athlete-lineup>.lineup .c-frame {
	position: relative;
	padding: 1.5em;
	padding-top: 60px;
	background-color: #fffbdb;
}

.athlete-lineup>.lineup .c-frame .l-title-inframe {
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 240px;
	padding: 10px 1em;
	line-height: 20px;
	border-radius: 3em;
	background-color: #e7792b;
	color: #fff;
	font-size: 1.8rem;
}

.athlete-lineup ul.c-list-circle {
	margin: 0;
}

.athlete-lineup ul.c-list-circle li {
	font-size: .75em;
}

.athlete-lineup ul.c-list-circle li::before {
	color: #e7792b;
	opacity: 1;
	top: 0.35em;
}

.athlete-lineup .subject ul.c-list-circle li {
	display: inline-block;
	width: 49%;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.sub-sports .box01 .wrapper-min {
		padding: 0;
	}

	.athlete-lineup>.lineup {
		margin-bottom: 40px !important;
	}

	.athlete-lineup>.lineup .c-frame {
		padding-top: 40px;
	}

	.athlete-lineup ul.c-list-circle li {
		font-size: 1em;
	}
}


/* スポーツ内科の主な受診理由
----------------------------------------------------- */
.sports-reason {
	padding: 120px 0;
	background: url(assets/images/sub-sports-pic04.jpg) no-repeat center top;
	background-size: cover;
	color: #fff;
}

.sports-reason .box {
	max-width: 500px;
	margin-left: auto;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-weight: bold;
	padding: 30px;
}

.sports-reason .box ul.c-list-circle {
	margin: 0;
}

.sports-reason .box ul.c-list-circle li {
	display: inline-block;
	width: 49%;
	font-size: .85em;
}

.sports-reason .box ul.c-list-circle li::before {
	color: #fff;
	opacity: 1;
	top: 0.45em;
}

.sports-reason .box .c-button-main {
	background-color: #009fd9;
}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.sports-reason {
		padding: 6.25vw 0;
		background-position: left;
	}

	.sports-reason .box ul.c-list-circle li {
		display: block;
		width: 100%;
		font-size: 1em;
	}

}

/* 03: 代表的なスポーツ内科疾患
----------------------------------------------------- */
.sub-sports .box03 {}

.sports-disease {}

.sports-disease .l-sports-disease-lineup {
	flex-wrap: wrap;
}

.sports-disease .l-sports-disease-lineup .lineup {}

.sports-disease .l-sports-disease-lineup .lineup .c-frame {
	border-radius: 15px;
}

.sports-disease .l-sports-disease-lineup .lineup .title {
	color: var(--color-primary);
	text-align: center;
}

.sports-disease .l-sports-disease-lineup .lineup .l-inner {
	font-size: 0.95em;
}

.sports-disease .l-sports-disease-lineup .lineup .c-image-content>.c-image {
	text-align: center;
}

@media screen and (min-width: 800px) {
	.sports-disease .l-sports-disease-lineup .lineup {
		width: 48.5%;
		margin: 0 0 3% 0;
	}

	.sports-disease .l-sports-disease-lineup .lineup.x2 {
		width: 100%;
	}
	
    .sports-disease .l-sports-disease-lineup .lineup .c-image-content {
        align-items: flex-start;
    }

    .sports-disease .l-sports-disease-lineup .lineup .c-image-content>.c-image {
        width: auto;
		margin: 0 0 0 25px;
		padding: 3em 0 0;
    }

    .sports-disease .l-sports-disease-lineup .lineup .c-image-content>.c-content {
        width: calc(100%);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.sports-disease .l-sports-disease-lineup .lineup {
		margin-bottom: 6.25vw;
	}

	.sports-disease .l-sports-disease-lineup .lineup .content img.image {}

	.sports-disease .l-sports-disease-lineup .lineup05 .content img.image {
		max-width: 50%;
	}
}

/* スポーツ内科3つの特徴
----------------------------------------------------- */
.sports-features {}

.sports-features .row {}

.sports-features .row .col {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-shrink: 0;
}

.sports-features .row .col:not( :last-child) {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: solid 1px rgba(0, 0, 0, 0.2);
}

.sports-features .image {
	max-width: 300px;
}

.sports-features .content {
	max-width: 780px;
}

.sports-features .image img {
	border: solid 1px #dcdcdc;
}

.sports-features .content .title {
	margin-bottom: 1em;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
}

.sports-features .content .title strong {
	color: var(--color-primary);
}

.sports-features .content .title .num {
	margin: 0 0.1em 0 0;
	display: inline-block;
	color: var(--color-primary);
	font-weight: bold;
}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	.sports-features .image {
		max-width: 26%;
	}

	.sports-features .content {
		max-width: 68%;
	}

	.sports-features .content .title {
		font-size: 1.6rem;
	}

}

/* 04: 診察代の目安
----------------------------------------------------- */
.sub-sports .box04 {}


/* .table-fee は、スポーツ栄養ページでも共通 */
.sports-fee {}

.table-fee:not( :last-child) {
	margin-bottom: 10px;
}

.table-fee th,
.table-fee td {
	vertical-align: middle;
	padding: 1em 1.5em;
	font-size: 2rem;
}

.table-fee th {
	background-color: #999999;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.table-fee td {
	background-color: #f1f1f1;
}

.table-fee .price {
	display: inline-block;
	vertical-align: bottom;
	margin: 0 0.25em;
	font-size: 3.2rem;
	line-height: 1.25;
}

.table-fee .bg-sports {
	background-color: #009fd9;
	color: #fff;
}

.sports-fee .title-blockbar {
	margin: 0;
	background-color: #009fd9;
	color: #fff;
	text-align: center;
	font-size: 2.4rem;
}

.c-frame-sports {
	border: solid 1px #009fd9;
	padding: 3.125vw;
}

.sports-fee .focus {
	font-size: 2rem;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.table-fee th,
	.table-fee td {
		display: block;
		width: 100%;
		font-size: 1.4rem;
		text-align: center;
	}

	.table-fee .price {
		font-size: 2rem;
	}

	.sports-fee .title-blockbar {
		font-size: 1.8rem;
	}

	.sports-fee .title-numbering {
		padding-bottom: 1em;
		font-size: 1.8rem;
		line-height: 1.6;
	}

	.sub-sports .box05 .picture {
		text-align: center;
	}

	.sub-sports .box05 .button-arrow {
		display: block;
		margin: auto;
	}
}

/* メディカルチェック
----------------------------------------------------- */
.sub-medicalcheck {}

.sub-medicalcheck .box01 {}

@media screen and (min-width: 800px) {
	.sub-medicalcheck .box01 .picture-content>.picture {
		max-width: 300px;
	}

	.sub-medicalcheck .box01 .picture-content>.content {
		max-width: 780px;
	}
}


/*
-----------------------------------------------------

	=SUB PAGES - SPORTS-NUTRITION [スポーツ栄養]

-----------------------------------------------------
*/

/* =スポーツ栄養 - 1: イントロダクション
----------------------------------------------------- */
.l-sub-nutrition-intro {}

.l-nutrition-header {
	background: url(assets/images/sub-sports-nutrition-intro-img01.webp) no-repeat right center;
	background-size: auto 100%;
	background-blend-mode: multiply;
	min-height: 220px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}


.l-sub-nutrition-intro .l-frame-border-black {
	border-radius: 15px;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-nutrition-header {
		min-height: 150px;
	}
}


/* =スポーツ栄養 - 2 : スポーツ栄養メニュー
----------------------------------------------------- */
.l-sub-nutrition-menu {}

.l-sub-nutrition-menu-lineup {}

.l-sub-nutrition-menu-lineup .lineup {
	position: relative;
}

.l-sub-nutrition-menu-lineup .lineup {
	margin-bottom: 80px;
}

.l-sub-nutrition-menu-lineup .lineup:last-child {
	margin-bottom: 0;
}

.l-sub-nutrition-menu-lineup .lineup .l-frame-whitebox {
	border: solid 3px #f7e3db;
	padding: 3em;
}

.l-sub-nutrition-menu-lineup .lineup .c-title-section {
	font-weight: bold;
}

.l-sub-nutrition-menu-lineup .lineup .c-title-section .l-icon {
	display: inline-block;
	vertical-align: middle;
	margin-left: 1em;
	margin-top: -3px;
	padding: 0.45em 1.25em;
	background-color: #f7e3db;
	font-size: 0.65em;
	border-radius: 2em;
	line-height: 1;
}

.l-sub-nutrition-menu-lineup .lineup .l-title.u-ver02 {}

@media screen and (min-width: 800px) {
    .l-sub-nutrition-menu-lineup .lineup .c-image-content {
        align-items: flex-start;
    }

    .l-sub-nutrition-menu-lineup .lineup .c-image-content>.c-image {
        width: calc(300px);
    }

    .l-sub-nutrition-menu-lineup .lineup .c-image-content>.c-content {
        width: calc(100% - 300px - 60px);
    }
}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/* 六角形のナンバリングアイコン */
.c-title-hex-numbering {
	position: absolute;
	top: -50px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 119px;
	height: 99px;
	background: no-repeat center;
	background-size: 100% auto;
}

.c-title-hex-numbering.u-ver01 {
	background-image: url(assets/images/icon-numbering-hex01.webp);
}

.c-title-hex-numbering.u-ver02 {
	background-image: url(assets/images/icon-numbering-hex02.webp);
}

.c-title-hex-numbering.u-ver03 {
	background-image: url(assets/images/icon-numbering-hex03.webp);
}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-hex-numbering {
		width: 60px;
		height: 50px;
		top: -25px;
	}
}


/* l-sub-nutrition-menu-lineup のカラーリング */
.l-sub-nutrition-menu-lineup .lineup01 {}

.l-sub-nutrition-menu-lineup .lineup02 {}

.l-sub-nutrition-menu-lineup .lineup03 {}

.l-sub-nutrition-menu-lineup .lineup01 .l-frame-whitebox {
	border-color: #f7e3db;
}

.l-sub-nutrition-menu-lineup .lineup02 .l-frame-whitebox {
	border-color: #fcf8c9;
}

.l-sub-nutrition-menu-lineup .lineup03 .l-frame-whitebox {
	border-color: #e7efe7;
}

.l-sub-nutrition-menu-lineup .lineup01 .c-title-section .l-icon {
	background-color: #f7e3db;
}

.l-sub-nutrition-menu-lineup .lineup02 .c-title-section .l-icon {
	background-color: #fcf8c9;
}

.l-sub-nutrition-menu-lineup .lineup03 .c-title-section .l-icon {
	background-color: #e7efe7;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}


/* 比較表
.nutritionmenu-comparision {}

.table-comparision {}

.table-comparision tr {}

.table-comparision th,
.table-comparision td {
	border: solid 1px #dcdcdc;
	padding: 1.5em;
	text-align: center;
	vertical-align: middle;
	background-color: #fff;
	font-weight: bold;
}

.table-comparision th {
	background-color: #665c4f;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
}

.table-comparision th.color01 {
	background-color: #f7e3db;
	color: #665c4f;
}

.table-comparision th.color02 {
	background-color: #fcf8c9;
	color: #665c4f;
}

.table-comparision th.color03 {
	background-color: #e7efe7;
	color: #665c4f;
}

.table-comparision th.empty {
	visibility: hidden;
}

.table-comparision td.icon {
	padding: 0.5em;
	font-size: 4.8rem;
}

.table-comparision td.icon.maru2 {
	color: #009fd9;
}

.table-comparision td.icon.maru {}

.table-comparision td.icon.sankaku {}

.table-comparision td.icon.other {}

.nutritionmenu-teamsupport {}


@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.table-comparision th,
	.table-comparision td {
		font-size: 1.1rem;
	}

	.table-comparision td.icon {
		font-size: 2.4rem;
	}
}
 */


/*
-----------------------------------------------------

	=SUB PAGES - RESPIRATORY [呼吸器内科・腎臓内科]

-----------------------------------------------------
*/ 
/* =RESPIRATORY
----------------------------------------------------- */
.sub-respiratory {}

.sub-respiratory .title-message em {
	color: #009425;
}

.sub-respiratory .box01 {}

.sub-respiratory .box01 .picture-content>.picture img {
	width: 180px;
}

.sub-respiratory .title-bar {}

@media screen and (min-width: 800px) {
	.sub-respiratory .title-bar {
		font-size: 2.4rem;
	}

	.sub-respiratory .box01 .picture-content>.picture {
		max-width: 250px;
	}

	.sub-respiratory .box01 .picture-content>.content {
		max-width: 820px;
	}

	.sub-respiratory .box01 .picture-content>.picture img {
		width: 100%;
	}
}




/* =contact
----------------------------------------------------- */
/* .mw_wp_form tr,
.mw_wp_form th,
.mw_wp_form td {
	display: block;
}

.mw_wp_form tr {
	margin-bottom: 1.5em;
}

.mw_wp_form th,
.mw_wp_form td {
	font-size: 2.0rem;
}

.mw_wp_form td {
	font-size: 1.6rem;
}

.mw_wp_form input[type="text"],
.mw_wp_form input[type="tel"],
.mw_wp_form input[type="email"],
.mw_wp_form select,
.mw_wp_form textarea {
	padding: 1em;
	width: 100%;
}

.mw_wp_form em,
.must {
	margin-left: 1em;
	padding: 0;
	background-color: transparent;
	color: inherit;
	font-weight: bold;
	font-size: 1.4rem;
	color: var(--color-primary);
	border-radius: 0;
}

.mw_wp_form select {
	max-width: 250px;
}

.mw_wp_form input[type="submit"] {
	display: block;
	margin: auto;
	padding: 0.75em 2em;
	width: 300px;
	max-width: 100%;
	border: none;
	border-radius: 30px;
	background: url(assets/images/ico-arrow-right-white-long.png) no-repeat right 2em center;
	background-size: 12px auto;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;

	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

.mw_wp_form input[type="submit"]:hover {
	background-position: right 1.5em center;
} */



/*
-----------------------------------------------------

	=Article 

-----------------------------------------------------
*/

/* =single
----------------------------------------------------- */


.article {}

.article-header {
	margin-bottom: 3.125vw;
	padding-bottom: 3.125vw;
	border-bottom: solid 1px #dcdcdc;
	text-align: center;
}

.article-header>* {
	margin: 0 0 20px;
}

.article-header>*:last-child {
	margin: 0;
}

.article-header .article-image {
	margin: 0 -80px 40px;
	border-radius: 5px;
	overflow: hidden;
	height: 420px;
}

.article-header .article-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.article-header .article-title {
	margin: 0 0 0.5em;
	color: #665c4f;
	font-size: 2em;
	font-weight: bold;
	line-height: 1.8;
}

.article-header .article-title:last-child {
	margin-bottom: 0;
}

.article-header .article-meta {
	font-size: 11px;
}

.article-header .article-meta>* {
	display: inline-block;
	vertical-align: middle;
	margin: 0 3em 1em 0;
}

.article-header .article-meta,
.article-header .article-meta a {
	color: #aaa;
}

.article-header .article-meta a {
	text-decoration: none;
}

.article-header .article-meta .article-date {}

.article-header .article-meta .carticle-ategory {}

.article-content {
	position: relative;
	font-size: 1.6rem;
}

.article-content p {
	margin: 0 0 3em;
	line-height: 2;
}

.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
	margin: 0 0 1em;
	color: #665c4f;
	font-weight: bold;
	line-height: 1.8;
}

.article-content h2 {
	font-size: 1.8em;
}

.article-content h3 {
	font-size: 1.5em;
}

.article-content h4 {
	font-size: 1.35em;
}

.article-content h5 {
	font-size: 1.2em;
}

.article-content h6 {
	font-size: 1.0em;
}

.article-content h2 {
	margin: 0 0 1em;
	padding: 0 0 0.5em;
	border-bottom: solid 1px #dcdcdc;
	font-weight: bold;
	line-height: 1.6;
	color: #665c4f;
	border-bottom: dashed 1px #665c4f;
}

.article-content h3 {
	margin: 0 0 1em;
	padding: 0 0 0.5em;
	border-bottom: solid 1px #dcdcdc;
	font-weight: bold;
	line-height: 1.6;
	color: #665c4f;
	border-bottom: dashed 1px #665c4f;
}

.article-footer {}

.article-sns {
	text-align: center;
}



/* =SNS Share Buttons  */
ul.list-share {
	font-size: 0;
	letter-spacing: 0;
	margin: 0 -5px 0 0;
}

ul.list-share li {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% / 7 - 5px);
	margin: 0 5px 0 0;
	border: solid 0 #ececec;
	background: no-repeat center;
	background-color: #fff;
}

ul.list-share li a {
	position: relative;
	display: block;
	padding: 10px 0;
	height: 40px;
	line-height: 1;
	font-size: 16px;
	color: var(--color-primary);
	text-align: center;
	text-decoration: none;
}

ul.list-share li a i,
ul.list-share li a span {
	display: inline-block;
	vertical-align: middle;
}

ul.list-share li a i {
	margin: -3px 0 0;
}

ul.list-share li a .text {
	display: none;
}

ul.list-share li a .count {
	display: none;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1em;
	width: 3em;
	height: 10px;
	margin: auto;
	font-size: 9px;
}

ul.list-share li:hover {
	opacity: 0.35;
}

ul.list-share li.twitter {}

ul.list-share li.facebook {}

ul.list-share li.line {
	background-image: url(assets/images/ico-line.png);
	background-size: 18px auto;
}

ul.list-share li.hatena {
	background-image: url(assets/images/ico-hatena.png);
	background-size: 16px auto;
}

ul.list-share li.googleplus {}

ul.list-share li.pocket {}

ul.list-share li.feedly {}

/* author */
.article-author {
	position: relative;
	border: solid 1px #dcdcdc;
	border-left: none;
	border-right: none;
	background-color: #fff;
	padding: 30px 0;
	border-radius: 3px;
}

.article-author .image {
	position: absolute;
	width: 80px;
	height: auto;
	overflow: hidden;
	border-radius: 50%;
}

.article-author .content {
	padding: 0 0 0 110px;
}

.article-author .title,
.article-author .text {
	overflow: hidden;
	margin-bottom: 5px;
}

.article-author .title {
	margin: 0 0 0.5em;
	color: #000;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
}

.article-author .title span {
	display: block;
	color: #aaa;
	font-size: 1.2rem;
	font-weight: normal;
}

.article-author .text {
	color: #aaa;
	font-size: 12px;
}

.article-author .link {}

.article-author .link a {
	color: #000;
	border-bottom: solid 1px #000;
}


/* next & prev */
.nav-single {
	padding: 50px 0;
	border-bottom: solid 1px #dcdcdc;
}

.nav-single ul {
	letter-spacing: 0;
	font-size: 0;
}

.nav-single-prev,
.nav-single-next {
	display: inline-block;
	vertical-align: top;
	width: 50%;
	font-size: 1.2rem;
	margin-bottom: 5px;
	text-align: left;
}

.nav-single-prev {
	padding: 0 4em 0 0;
	border-right: solid 1px #dcdcdc;
}

.nav-single-next {
	padding: 0 0 0 4em;
}

.nav-single ul li a {
	display: block;
}

.nav-single ul li a:hover {}

.nav-single ul li a:hover,
.nav-single ul li a:hover:before {}

.nav-single-prev a:before,
.nav-single-next a:before {
	display: block;
	font-family: 'Josefin Sans', sans-serif;
	color: #000;
	font-size: 1.25em;
	font-weight: bold;
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

.nav-single-prev a:before {
	content: "← PREVIOUS POST";
}

.nav-single-next a:before {
	content: "NEXT POST →";
	text-align: right;
}


/*
-----------------------------------------------------

	=Media Queries Responsive Structure

-----------------------------------------------------
*/

/* Desktop
----------------------------------------------------- */
@media screen and (min-width: 800px) {
	.sp {
		display: none !important;
	}

	body {
		min-width: 1120px;
	}
}


/* Smartphone
----------------------------------------------------- */
@media screen and (min-width: 0px) and (max-width: 799px) {

	/* =Subpages 
	-------------------------------------------------- */


	/* contact */
	/* MW WP Form */
	.mw_wp_form tr,
	.mw_wp_form th,
	.mw_wp_form td {
		display: block !important;
		text-align: left;
		max-width: 100%;
	}

	.mw_wp_form tr {
		padding: 10px 0;
		margin: 0;
		border-bottom: none;
	}

	.mw_wp_form th,
	.mw_wp_form td {
		width: 100% !important;
		padding: 5px 0 !important;
		font-size: 1em !important;
		background-color: transparent;
		border: none !important;
	}

	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form input[type="tel"],
	.mw_wp_form textarea,
	.mw_wp_form select,
	.mw_wp_form input[type*="submit"] {
		font-size: 16px !important;
	}

	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form textarea {
		padding: 0.75em;
		width: 100%;
	}

	.mw_wp_form select {
		padding: 0.75em;
		width: auto;
	}

	.mw_wp_form input[type="radio"] {
		padding: 0 !important;
	}

	.mw_wp_form input[type*="submit"] {
		width: 100% !important;
	}

	.mw_wp_form .mwform-tel-field input[type="text"] {
		width: auto !important;
	}


	/* =Article
	--------------------------------------------------  */
	.single #cont {
		padding: 0;
	}

	.article-header .article-image {
		margin: 0 -6.25vw 6.25vw;
		border-radius: 0;
		overflow: hidden;
		height: 50vw;
	}

	.article-header .article-title {
		margin: 0 0 6.25vw;
		font-size: 1.6rem;
	}

	.article-header .article-meta>* {
		margin: 0 2em 0.5em 0;
	}

	.article .article-sns {
		padding: 0 0 6.25vw;
		text-align: center;
	}

	.article-content {
		font-size: 1.4rem;
	}

	.single .article-content h2 {
		font-size: 1.45em;
	}

	.article-author {}

	.article-author .image {
		width: 20%;
	}

	.article-author .content {
		padding: 0 0 0 24%
	}

	.article-author .content .text {
		font-size: 10px;
	}

	.nav-single {
		padding: 6.25vw 0;
	}

	.nav-single-prev,
	.nav-single-next {
		margin: 0 0 3.125vw;
		padding: 0;
		font-size: 11px;
		line-height: 1.75;
	}

	.nav-single-prev {
		padding: 0 1.5em 0 0;
	}

	.nav-single-next {
		padding: 0 0 0 1.5em;
	}

	.nav-single ul li a {
		padding: 1em 3.125vw;
		min-height: 0;
	}
}