@charset "utf-8";

/*
Theme Name: orurieye-amp_ver1.17
Author: minoru kubota + cobaltgraphic
Version: 1.17
*/

/*
----------------------------------------
reset
----------------------------------------
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

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

nav ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor:help;
}

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

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type='text'],
input[type='tel'],
input[type='email'],
textarea {
	display: block;
	width: 100%;
	border: solid 1px #ddd;
	padding: 5px;
	box-sizing: border-box;
}

input[type='submit'] {
	background: #000;
	color: #fff;
	padding: 10px 20px;
	border-radius: 5px;
	cursor: pointer;
	transition: all .2s;
}

input[type='submit']:hover {
	background: #555;
}

textarea {
	border: solid 1px #ddd;
	padding: 5px;
	box-sizing: border-box;
	width: 100%;
}

input::-webkit-input-placeholder {
	color: #aaa;
	font-weight: normal;
}

#sidebar > .search-form {
	margin: 0 0 30px 0;
	position: relative;
}

.search-form form {
	background: #eee;
	padding: 10px;
	position: relative;
}

.search-form input[type='text'] {
	display: block;
	width: 100%;
	padding: 0 3rem 0 0;
	box-sizing: border-box;
	font-size: 1.8rem;
	line-height: 2rem;
	border: none;
}

.search-form button {
	display: block;
	width: 3rem;
	text-align: center;
	position: absolute;
	right: 10px;
	top: 10px;
}

.search-form button:before {
	font-family: 'FontAwesome';
	content: '\f002';
	font-size: 1.8rem;
	line-height: 2rem;
}


/*
----------------------------------------
clearfix
----------------------------------------
*/

.clearfix::before,
.clearfix::after {
	display: table;
	content: ' ';
}
.clearfix:after {
	clear: both;
}


/*
----------------------------------------
common
----------------------------------------
*/

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.video {
	max-width: 800px;
	margin: 30px auto;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.pc-none {
	display: none;
}

.sp-none {
	display: block;
}


/*
----------------------------------------
default
----------------------------------------
*/

a {
	color: #000;
	text-decoration: none;
}

ul, ol {
	list-style: none;
	margin: 0;
}

img {
	max-width: 100%;
	height: auto;
}

figcaption {
	font-size: 1.2rem;
}

div.wpcf7 .ajax-loader {
	display: none !important;
}

.flex {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}


/*
----------------------------------------
font
----------------------------------------
*/

.acf-input {
	font-size: 62.5%;
}

.acf-input h2 {
	font-weight: bold !important;
	color: #444;
	background: #F9F9F9;
	border: solid 1px #E1E1E1;
	margin-bottom: 20px !important;
}

.en {
	font-family: 'Roboto', serif;
}

.gothic {
	font-family: 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', YuGothic, sans-serif;
}

.mincho {
	font-family: ’ヒラギノ明朝 ProN W3’, ’Hiragino Mincho ProN’, ’游明朝’, YuMincho, ’ＭＳ Ｐ明朝’, ’ＭＳ 明朝’, serif;
}

strong {
	font-weight: normal;
}


/*
----------------------------------------
h1-h6
----------------------------------------
*/

/* heading-01 */

.heading-01 {
	font-size: 3rem;
	letter-spacing: 2px;
	font-weight: normal;
	color: #0063b1;
	margin-bottom: 20px;
}

/* heading-02 */

.heading-02 {
	font-size: 3rem;
	letter-spacing: 2px;
	font-weight: normal;
	color: #0063b1;
	margin-bottom: 30px;
	text-align: center;
	position: relative;
}

.heading-02 span {
	position: relative;
	background: #fff;
	padding: 0 2rem;
}

.heading-02::before {
	content: '';
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	background: #ddeaf4;
}

/* heading-03 */

.heading-03 {
	display: inline-block;
	min-width: 300px;
	font-size: 3rem;
	text-align: center;
	font-weight: normal;
	color: #0063b1;
	text-align: center;
	padding: 15px 50px;
	margin-bottom: 5px;
	box-sizing: border-box;
	position: relative;
}

.heading-03::before {
	content: '';
	height: 65%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	border: solid 2px #0063b1;
	border-bottom: none;
}

/* heading-04 */

.heading-04 {
	font-size: 2.6rem;
	font-weight: normal;
	color: #0063b1;
	padding: 15px 15px 15px 50px;
	margin-bottom: 30px;
	border: solid 3px #0063b1;
	border-bottom: solid 1px #e5e5e5;
	position: relative;
}

.heading-04::before {
	content: '';
	width: 15px;
	height: 4px;
	background: #05b7f2;
	position: absolute;
	left: 20px;
	top: 38px;
}

/* heading-05 */

.heading-05 {
	font-size: 1.8rem;
	font-weight: normal;
	background: #f0f6fc;
	color: #0063b1;
	padding: 5px 20px;
	margin-bottom: 20px;
	border-left: solid 4px #0063b1;
}

/* heading-06 */

.heading-06 {
	font-size: 2.2rem;
	font-weight: normal;
	line-height: 1.4;
	color: #0063b1;
	padding: 10px 5px 10px 25px;
	margin-bottom: 20px;
	position: relative;
	border-bottom: solid 1px #c9deee;
}

.heading-06::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	border: solid 5px #05b7f2;
	position: absolute;
	left: 0;
	top: 16px;
}

/* heading-07 */

.heading-07 {
	font-size: 2.4rem;
	color: #0063b1;
	border-bottom: solid 1px #0063b1;
	font-weight: normal;
	margin-bottom: 30px;
}

/* heading-08 */

.heading-08 {
	font-size: 2rem;
	font-weight: normal;
	line-height: 1.4;
	color: #0063b1;
	background: #f0f6fc;
	padding: 10px 10px 10px 45px;
	margin-bottom: 20px;
	position: relative;
}

.heading-08::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	border: solid 5px #05b7f2;
	position: absolute;
	left: 20px;
	top: 16px;
}


/*
----------------------------------------
bottun
----------------------------------------
*/

.btn-01 a {
	display: inline-block;
	min-width: 320px;
	box-sizing: border-box;
	color: #fff;
	background: #0063b1;
	font-size: 1.6rem;
	letter-spacing: 2px;
	text-align: center;
	white-space: nowrap;
	line-height: 6rem;
	padding: 0 4rem;
	border-radius: 3rem;
	transition: all .2s;
}

.btn-01 a:hover {
	background: #0081e3;
}

.btn-02 a {
	display: inline-block;
	min-width: 240px;
	box-sizing: border-box;
	color: #0063b1;
	font-size: 1.5rem;
	white-space: nowrap;
	text-align: center;
	letter-spacing: 1px;
	line-height: 3.8rem;
	border: solid 1px #0063b1;
	border-radius: 2rem;
	padding: 0 20px 0 40px;
	transition: all .2s;
}

.btn-02 a::after {
	display: inline-block;
	content: url( img/common/arrow-01.png );
	margin-left: 15px;
	vertical-align: middle;
	transition: all .2s;
}

.btn-02 a:hover {
	color: #fff;
	background: #0063b1;
}

.btn-02 a:hover::after {
	content: url( img/common/arrow-01-w.png );
	transform: translateX( 5px );
}

/* blue */

.btn-02.blue a {
	color: #fff;
	background: #0063b1;
}

.btn-02.blue a::after {
	content: url( img/common/arrow-01-w.png );
}

.btn-02.blue a:hover {
	background: #0081e3;
}

.btn-03 a {
	display: block;
	font-size: 1.8rem;
	text-align: center;
	color: #fff;
	line-height: 4.8rem;
	padding: 0 20px;
	border: solid 2px #05b7f2;
	border-radius: 2.5rem;
	transition: all .2s;
}

.btn-03 a::before {
	content: url( img/common/arrow-02.png );
	vertical-align: middle;
	margin-right: 10px;
}

.btn-03 a:hover {
	color: #fff;
	background: rgba( 0,0,0,.2 );
}

.btn-04 a {
	display: inline-block;
	padding: 2px 25px 2px 10px;
	border-bottom: solid 2px #000;
	position: relative;
	transition: all .2s;
}

.btn-04 a:after {
	font-family: 'FontAwesome';
	content: '\f105';
	position: absolute;
	top: 2px;
	right: 10px;
	transition: all .2s;
}

.btn-04 a:hover:after {
	right: 5px;
}

.btn-05 a {
	display: inline-block;
	padding: 0 15px 0 20px;
	height: 30px;
	line-height: 30px;
	white-space: nowrap;
	border: solid 2px #ccc;
	border-radius: 16px;
	transition: all .2s;
}

.btn-05 a:after {
	font-family: 'FontAwesome';
	content: '\f061';
	margin-left: 5px;
}

.btn-05 a:hover {
	background: #eee;
}

.btn-06 a {
	padding: 10px 15px;
	border-radius: 5px;
	transition: all .2s;
}

.btn-06 a:after {
	font-family: 'FontAwesome';
	content: '\f101';
	margin-left: 5px;
}

.btn-06 a:hover {
	background: #eee;
}

.pdf {
	margin: 20px 0;
}


/*
----------------------------------------
table
----------------------------------------
*/

table caption {
	caption-side: bottom;
	padding-top: 10px;
	font-size: 1.4rem;
	text-align: left;
}

/* table-01 */

.table-01 {
	width: 100%;
	text-align: center;
	border-top: solid 1px #0063b1;
	border-left: solid 1px #0063b1;
	background: #fff;
}

.table-01 thead th,
.table-01 thead td {
	color: #0063b1;
	background: #f9fbfd;
}

.table-01 th {
	padding: 15px;
	border-bottom: solid 1px #0063b1;
	border-right: solid 1px #0063b1;
	font-weight: normal;
	vertical-align: top;
}

.table-01 td {
	padding: 15px;
	border-bottom: solid 1px #0063b1;
	border-right: solid 1px #0063b1;
	vertical-align: top;
}

/* table-02 */

.table-02 {
	width: 100%;
	text-align: left;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	background: #fff;
}

.table-02 th {
	color: #0063b1;
	background: #e1eef7;
	padding: 15px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	font-weight: normal;
	vertical-align: top;
}

.table-02 td {
	background: #f2f5f7;
	padding: 15px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	vertical-align: top;
}


/* table-03 */

.table-03 {
	width: 100%;
	text-align: left;
	border-top: solid 1px #ccc;
	margin: 30px 0;
}

.table-03 th {
	padding: 20px 10px;
	border-bottom: solid 1px #ccc;
	font-weight: normal;
}

.table-03 td {
	padding: 20px 10px;
	border-bottom: solid 1px #ccc;
}


/*
----------------------------------------
form
----------------------------------------
*/

input, button, textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}


/*
----------------------------------------
layout
----------------------------------------
*/

html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	line-height: 1.8;
	font-family: 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', YuGothic, sans-serif;
	color: #222;
	text-align: center;
	position: relative;
	min-width: 375px;
	-webkit-text-size-adjust: 100%;
	background: #FFF;
}

.wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 15px;
	text-align: left;
}

#home #container {
	margin: 60px 0;
}

#container {
	margin-bottom: 60px;
}

#main-contents {
	width: calc( 100% - 280px );
	padding-right: 40px;
	box-sizing: border-box;
}

#sidebar {
	width: 280px;
}


/*
----------------------------------------
header
----------------------------------------
*/

#wrapper > header {
	padding: 15px 0 10px;
}

#wrapper > header h1 {
	font-size: 1.3rem;
	font-weight: normal;
	color: #666;
	margin-bottom: 10px;
}

#identity {
	width: 40%;
	padding: 0 30px 6px 0;
	box-sizing: border-box;
}

.contact-wrap.flex {
	justify-content: flex-end;
	flex-wrap: nowrap;
	align-items: center;
}

header .nav-wrap {
	width: 60%;
}

#font-size > .flex {
	justify-content: flex-end;
}

#font-size dt {
	font-size: 1.3rem;
	line-height: 3.4rem;
	color: #666;
	margin-right: 10px;
}

#font-size dd li {
	margin-left: 5px;
}

#font-size dd a {
	display: block;
	width: 3rem;
	height: 3rem;
	line-height: 3rem;
	color: #1e689e;
	text-align: center;
	border: solid 2px #b3d0e8;
	border-radius: 50%;
	transition: all .4s;
}

#font-size dd a:hover,
#font-size dd a.active {
	color: #fff;
	background: #0063b1;
	border-color: #0063b1;
}

header .tel {
	padding: 0 20px;
}

header .contact-btn {
	width: 40%;
	max-width: 300px;
}

header .contact-btn a {
	display: block;
	letter-spacing: 3px;
	line-height: 4rem;
	text-align: center;
	color: #fff;
	background: #ffa816;
	border-radius: 2rem;
	padding: 0 20px;
	white-space: nowrap;
	transition: all .2s;
}

header .contact-btn a:hover {
	background: #d99014;
}

#sp-btn {
	display: none;
}

/* g-nav */

#g-nav > ul {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	text-align: center;
	margin-top: 10px;
}

#g-nav > ul > li {
	position: relative;
}

#g-nav ul > li > a {
	display: block;
	padding: 10px 0;
	color: #222222;
	font-size: 1.6rem;
	position: relative;
}

#g-nav > ul > li > a::after {
	content: '';
	height: 4px;
	position: absolute;
	bottom: 4px;
	left: 50%;
	right: 50%;
	background: #0063b1;
	transition: all .2s;
}

#g-nav > ul > li:hover > a::after {
	left: 0;
	right: 0;
}

#g-nav > ul > li.contact-btn {
	max-width: 300px;
	display: none;
}

#g-nav > ul > li.contact-btn > a {
	padding: 0 20px;
	color: #fff;
	font-size: 1.4rem;
	margin-top: 4px;
}

#g-nav > ul > li.contact-btn > a::after {
	display: none;
}

#g-nav.fixed {
	position: fixed;
	left: 0;
	right: 0;
	background: rgba( 255,255,255,.95 );
	padding: 15px 0;
	border-bottom: solid 1px #c9deee;
	top: -200px;
	opacity: 0;
	z-index: -1;
	transition: all .5s;
}

#g-nav.fixed.active {
	top: 0;
	opacity: 1;
	z-index: 999999;
}

#g-nav.fixed > ul > li.contact-btn {
	display: inline-block;
}

#g-nav.fixed > ul {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 15px;
}

#g-nav ul ul {
	min-width: 180px;
	padding: 0;
	border: solid 1px #c9deee;
	border-top: none;
	background: rgba( 255,255,255,.9 );
	position: absolute;
	left: 50%;
	top: 90%;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
	transform: translateX( -50% );
	transition: all .2s;
}

#g-nav ul li:hover ul {
	top: 100%;
	opacity: 1;
	visibility: visible;
	z-index: 999999;
}

#g-nav ul ul li {
	border-top: solid 1px #c9deee;
}

#g-nav ul ul a {
	display: block;
	padding: 10px;
	white-space: nowrap;
	transition: all .2s;
}

#g-nav ul ul a:hover {
	background: #ddeaf4;
}


/*
----------------------------------------
home
----------------------------------------
*/

.main-img {
	background: url("img/home/main-img.png" ) center center / cover no-repeat;
}

.main-img .wrap {
	text-align: center;
	padding: 180px 20px 160px;
	color: #fff;
	transition: all .2s;
}

.main-img h1 {
	font-size: 5rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 2px;
	text-shadow: 0 5px 10px rgba( 0,0,0,.25 );
	margin-bottom: 30px;
}

.main-img .read {
	font-size: 2rem;
	letter-spacing: 2px;
	text-shadow: 0 2px 8px rgba( 0,0,0,.25 );
	margin-bottom: 45px;
}

#home #contents section {
	padding: 60px 0;
}

.news-box .wrap {
	position: relative;
}

.news-post {
	padding: 20px 0;
	border-bottom: solid 1px #e5e5e5;
	align-items: center;
}

.news-post .cat-list {
	margin-right: 15px;
}

.cat-list li {
	display: inline-block;
	margin: 0 5px 5px 0;
}

.cat-list a {
	display: inline-block;
	min-width: 90px;
	padding: 2px 10px;
	box-sizing: border-box;
	font-size: 1.2rem;
	text-align: center;
	color: #666;
	padding: 2px 20px;
	border: solid 1px #666;
	border-radius: 3px;
	transition: all .2s;
}

.cat-list .pickup {
	display: inline-block;
	min-width: 90px;
	box-sizing: border-box;
	font-size: 1.2rem;
	text-align: center;
	padding: 2px 20px;
	border: solid 1px #ffa816;
	border-radius: 3px;
	transition: all .2s;
	background: #ffa816;
	color: #fff;
}

.cat-list li a:hover {
	background: #666;
	color: #fff;
}

.cat-list li.news a {
	color: #0063b1;
	border-color: #0063b1;
}

.cat-list li.news a:hover {
	background: #0063b1;
	color: #fff;
}

.cat-list li.column a {
	color: #29b6f6;
	border-color: #29b6f6;
}

.cat-list li.column a:hover {
	background: #29b6f6;
	color: #fff;
}

.cat-list li.blog a {
	color: #ffa816;
	border-color: #ffa816;
}

.cat-list li.blog a:hover {
	background: #ffa816;
	color: #fff;
}

time {
	font-size: 1.4rem;
	color: #999;
}

.news-post time {
	margin-right: 15px;
}

.news-box .btn-02 {
	position: absolute;
	top: 10px;
	right: 20px;
}

.policy-box {
	position: relative;
}

.policy-box::before {
	content: '';
	width: 70%;
	height: 700px;
	position: absolute;
	left: 0;
	top: 0;
	background: url( img/home/bg-policy.jpg ) center top / cover no-repeat;
	z-index: -1;
}

.policy-box::after {
	content: '';
	width: 60%;
	height: 95%;
	position: absolute;
	right: 0;
	top: 3%;
	background: #f9f9f9;
	z-index: -2;
}

.policy-box .box {
	width: 50%;
	padding: 40px;
	box-sizing: border-box;
	background: #fff;
	margin: 0 0 0 auto;
}

.policy-box h2 {
	text-align: center;
	font-size: 3.6rem;
	font-weight: normal;
	line-height: 1.4;
	color: #0063b1;
	margin-bottom: 20px;
}

.policy-box h2 span {
	display: inline-block;
	font-size: 1.6rem;
	padding: 30px 80px 20px;
	letter-spacing: 10px;
	position: relative;
}

.policy-box h2 span::before {
	content: '';
	height: 60%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	border: solid 2px #0063b1;
	border-bottom: none;
}

.policy-box .btn-01 {
	text-align: center;
	margin-top: 30px;
}

#home #main-contents section {
	padding: 0 0 60px;
}

.about-list {
	justify-content: space-between;
}

.about-list .about {
	align-items: center;
	margin-bottom: 40px;
}

.about-list .about figure {
	width: 35%;
	text-align: center;
}

.about-list .about .txt {
	width: 65%;
	padding-left: 20px;
	box-sizing: border-box;
}

.about-list .about h3 {
	font-size: 2.2rem;
	font-weight: normal;
	color: #0063b1;
	margin-bottom: 10px;
}

.about-list .about .btn-02 {
	text-align: right;
	margin-top: 15px;
}

.bnr-clinic {
	background: #0063b1;
	color: #fff;
	padding: 20px 30px 20px 150px;
	margin: 40px 0;
	position: relative;
}

.bnr-clinic::before {
	content: url( img/common/bnr-doctor-img.png );
	position: absolute;
	left: 0;
	bottom: 0;
	line-height: .5;
}

.bnr-clinic .flex {
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}

.bnr-clinic .name {
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
}

.bnr-clinic .name span {
	font-size: 3.2rem;
}

.bnr-clinic .btn-03 {
	width: 70%;
}

#home .other.flex {
	justify-content: space-between;
}

#home .other.flex > div {
	width: 48%;
	background: #f9fbfd;
	border: solid 1px #ddeaf4;
}

#home .other h3 {
	font-size: 2.4rem;
	font-weight: normal;
	color: #0063b1;
	text-align: center;
	margin: 20px 10px 10px;
}

#home .other .read {
	padding: 0 20px;
}

#home .other .btn-02 {
	padding: 20px 20px 25px;
	text-align: center;
}

.diagnosis-box {
	background: url( img/common/bg-01.png ) center center repeat;
	color: #fff;
}

.diagnosis-box h2 {
	font-size: 3rem;
	font-weight: normal;
	text-align: center;
	margin-bottom: 20px;
}

.diagnosis-box h2::before {
	content: '';
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	border: solid 5px #05ade6;
	border-radius: 50%;
	margin-right: 10px;
}

.diagnosis-box .read {
	text-align: center;
	margin-bottom: 40px;
}

.diagnosis-list .slick-slide {
	height: auto;
}

.diagnosis {
	background: #fff;
	color: #222;
	box-sizing: border-box;
	border-radius: 5px;
	padding: 20px;
	margin: 0 20px;
	position: relative;
}

.diagnosis .name {
	display: block;
	text-align: center;
	background: url( img/common/bg-circle.png ) center center / contain no-repeat;
	padding: 100px 40px;
	box-sizing: border-box;
	margin-bottom: 10px;
	font-size: 2.4rem;
	line-height: 1.6;
	color: #0063b1;
}

.diagnosis .name.line-02 {
	padding: 80px 10px;
}

.diagnosis h3 {
	color: #0063b1;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: normal;
	text-align: center;
	margin-bottom: 10px;
	padding-top: 15px;
}

.diagnosis h3.line-02 {
	padding-top: 0;
}

.diagnosis .btn-02 {
	text-align: center;
	margin-top: 15px;
}

.diagnosis .btn-02 a {
	min-width: 90%;
}

#home #contents .info-box {
	padding: 0;
}

#home .info-box.flex > div {
	width: 50%;
	padding: 300px 40px 40px;
	box-sizing: border-box;
	position: relative;
	background: #f9fbfd;
}

#home .info-box.flex > div::before {
	content: '';
	height: 260px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: url( img/home/img-clinic.png ) center center / cover no-repeat;
}

#home .info-box.flex .clinic-box::after {
	content: '';
	width: 1px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	background: #99c1e0;
}

#home .info-box.flex .medical-box::before {
	background: url( img/home/img-medical.png ) center center / cover no-repeat;
}

#home .info-box p {
	text-align: left;
}

#home .info-box .btn-02 {
	text-align: center;
	margin-top: 25px;
}

#home #contents .recruit-box {
	background: url( img/home/bg-recruit.png ) center bottom / 100% no-repeat;
	padding-bottom: 27vw;
}

#home .recruit-box h2 {
	font-size: 3.6rem;
	color: #0063b1;
	text-align: center;
}

#home .recruit-box p {
	text-align: center;
}

#home .recruit-box .btn-02 {
	margin-top: 30px;
}


/*
----------------------------------------
sidebar
----------------------------------------
*/

#sidebar .box {
	border: solid 1px #c9deee;
	margin-bottom: 20px;
}

#sidebar .box .inner {
	padding: 15px;
}

#sidebar h2 {
	background: #0063b1;
	color: #fff;
	font-weight: normal;
	text-align: center;
	padding: 5px;
}

#sidebar .datetime .inner {
	padding: 5px 15px;
}

#sidebar .datetime dl {
	margin-bottom: 15px;
}

#sidebar .datetime dt {
	margin: 10px 0;
}

#sidebar .datetime dt::before {
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	border: solid 3px #05b7f2;
	margin-right: 5px;
}

#sidebar .am, #sidebar .pm {
	font-size: 1.3rem;
	line-height: 2.2rem;
	border-radius: 1.1rem;
	padding: 0 15px;
	margin-right: 5px;
}

#sidebar .default .box h3 {
	text-align: center;
	color: #0063b1;
	font-weight: normal;
	padding: 2px;
	background: #f9fbfd;
	border-top: solid 1px #c9deee;
	border-bottom: solid 1px #c9deee;
}

#sidebar .box > p {
	padding: 15px;
}

#wrapper #biz_calendar {
	max-width: 100%;
}

#wrapper #biz_calendar table.bizcal {
	border: none;
	border-top: solid 1px #c9deee;
	border-left: solid 1px #c9deee;
}

#wrapper #biz_calendar table.bizcal th,
#wrapper #biz_calendar table.bizcal td {
	border-right: solid 1px #c9deee;
	border-bottom: solid 1px #c9deee;
}

#wrapper #biz_calendar table.bizcal td.calmonth,
#wrapper #biz_calendar table.bizcal td.down-img,
#wrapper #biz_calendar table.bizcal td.today-img {
	border-right: none;
}

#wrapper #biz_calendar table.bizcal td.up-img {
	background: transparent !important;
	color: #000 !important;
}

#wrapper #biz_calendar table.bizcal .holiday,
#wrapper #biz_calendar p span.boxholiday {
	background: #ffa9a9 !important;
}

#wrapper #biz_calendar table.bizcal .today {
	text-decoration: none;
}

#wrapper #biz_calendar table.bizcal th {
	background: #f9fbfd;
}

#wrapper #biz_calendar table.bizcal td:last-of-type {
	background: #65cfff;
	color: #fff;
}

#wrapper #biz_calendar p {
	margin-bottom: 0;
}

.calendar .label-sat span {
	display: inline-block;
	width: 2.5rem;
	height: 1.5rem;
	background: #65cfff;
	margin-right: 5px;
	vertical-align: middle;
}

#sidebar .btn-02 {
	padding-top: 0 !important;
	margin-bottom: 5px;
	text-align: center;
}

#sidebar .btn-02 a {
	min-width: 200px;
	margin: 0 auto;
	border: none;
	background: #ebf3f9;
	line-height: 4rem;
}

#sidebar .btn-02 a:hover {
	background: #0063b1;
}

.bnr-set {
	text-align: center;
}

.bnr-set .bnr figure {
	line-height: .5;
	margin-bottom: 15px;
	text-align: center;
}

.bnr-set .fb-wrap {
	max-width: 500px;
	margin: 0 auto 15px;
}

.bnr-set .fb_iframe_widget,
.bnr-set .fb_iframe_widget span,
.bnr-set .fb_iframe_widget iframe[style] {
	width: 100% !important;
}

.bnr-set .insta-wrap {
	border: solid 1px #eee;
	padding: 6px;
	margin: 15px 0;
}

#sidebar .menu li {
	display: block;
	padding: 5px 0 5px 20px;
	background: url( img/common/arrow-02.png ) left 12px / 14px no-repeat;
}

#sidebar .menu a:hover,
#sidebar .ranking a:hover {
	text-decoration: underline;
}

#sidebar .medical-order-menu dt {
	border-top: solid 1px #c9deee;
	padding: 10px 15px;
	cursor: pointer;
	position: relative;
}

#sidebar .medical-order-menu dt::after {
	content: '+';
	display: inline-block;
	width: 12px;
	height: 12px;
	line-height: 10px;
	font-size: 1.1rem;
	font-weight: 300;
	text-align: center;
	background: #05b7f2;
	color: #fff;
	border-radius: 2px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY( -50% );
}

#sidebar .medical-order-menu dt.active::after {
	content: '-';
}

#sidebar .medical-order-menu dd {
	display: none;
}

#sidebar .medical-order-menu dd a {
	display: block;
	background: #f0f6fc url( img/common/arrow-01.png ) right 15px center no-repeat;
	border-top: solid 1px #c9deee;
	padding: 10px 15px;
	transition: all .2s;
}

#sidebar .medical-order-menu dd a:hover {
	background: #f0f6fc url( img/common/arrow-01.png ) right 10px center no-repeat;
}

#sidebar .ranking.box .inner {
	padding: 0 15px;
}

#sidebar .rank-post {
	position: relative;
	padding: 25px 0 15px;
	border-top: solid 1px #e8f1f8;
}

#sidebar .rank-post:first-child {
	border: none;
}

#sidebar .rank-post a {
	display: block;
	font-size: 1.4rem;
	text-align: center;
}

#sidebar .rank-post figure img {
	max-height: 200px;
	object-fit: contain;
	margin-bottom: 10px;
}

#sidebar .rank-post .num {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 50%;
	background: #ffa816;
	color: #fff;
	position: absolute;
	left: -8px;
	top: 12px;
}


/*
----------------------------------------
footer
----------------------------------------
*/

footer .datetime-box {
	background: url( img/common/bg-datetime.png ) center center / cover no-repeat;
	padding: 80px 0;
}

footer .datetime-box h2 {
	font-size: 3.6rem;
	font-weight: normal;
	color: #0063b1;
	text-align: center;
}

footer .datetime-box p {
	text-align: center;
}

footer .datetime {
	background: #fff;
	padding: 40px;
	margin: 40px 0;
	font-size: 1.8rem;
}

footer .datetime th,
footer .datetime td {
	width: 12%;
}

footer .datetime th:first-child {
	width: 28%;
}

.datetime td span {
	color: transparent;
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	border: solid 3px #29b6f6;
	border-radius: 50%;
	vertical-align: middle;
}

.am, .pm {
	display: inline-block;
	background: #29b6f6;
	color: #fff;
	padding: 0 20px;
	line-height: 2.8rem;
	border-radius: 1.4rem;
	margin-right: 10px;
	transform: translateY( -1px );
}

.pm {
	background: #ffa816;
}

table .am {
	margin-left: -10px;
}

footer .content-box {
	background: #f9fbfd;
	padding: 60px 0;
}

footer .address.flex {
	align-items: center;
	margin-bottom: 40px;
}

footer .address figure {
	width: 55%;
	line-height: .8;
}

footer .address .txt {
	width: 45%;
	padding-left: 20px;
	box-sizing: border-box;
}
footer .address h3 {
	font-size: 2rem;
	font-weight: normal;
	color: #0063b1;
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: solid 1px #0063b1;
}

footer .sitemap.flex {
	justify-content: space-between;
}

footer .sitemap.flex > ul {
	width: 20%;
}

footer .sitemap.flex > .medical-menu {
	width: 60%;
}

footer .sitemap .parent {
	display: inline-block;
	color: #0063b1;
	padding: 5px 0 5px 20px;
	position: relative;
}

footer .sitemap .parent::before {
	content: '';
	width: 15px;
	height: 15px;
	background: url( img/common/arrow-02.png ) center center / contain no-repeat;
	position: absolute;
	top: 10px;
	left: 0;
}

footer .sitemap ul ul {
	margin: 0 0 10px 20px;
}

footer .sitemap ul ul a {
	display: inline-block;
	padding-left: 12px;
	background: url( img/common/arrow-03.png ) left center no-repeat;
}

footer .medical-cat {
	width: 33.3333%;
}

footer .medical-cat > li > a {
	display: block;
	color: #05b7f2;
	margin-left: 20px;
}

footer .copyright {
	background: #0063b1;
	color: #fff;
	padding: 40px 0;
	font-size: 1.2rem;
}

footer .copyright figure {
	margin-bottom: 10px;
}

#bottom-fix {
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 999;
}

.contact-btn-sp,
.medical-time-sp {
	display: none;
}

#page-top a {
	display: block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 25px;
	background: #29b6f6 url( img/common/page-top.svg ) center center / 20px no-repeat;
	color: #fff;
	transition: all .2s;
}

#page-top a:hover {
	background: #218fc2 url( img/common/page-top.svg ) center center / 20px no-repeat;
}


/*
----------------------------------------
page
----------------------------------------
*/

.page .main-txt {
	margin-bottom: 60px;
}

.page .main-txt p {
	text-align: center;
}

.page #main-contents section {
	padding-bottom: 30px;
}

.page #main-contents p,
.page #main-contents ul,
.page #main-contents ol {
	margin-bottom: 30px;
}

#main-contents .bnr {
	justify-content: space-between;
	margin: 30px 0;
}

#main-contents .bnr a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	color: #fff;
	background: #eee;
	padding: 50px 20px;
	text-align: center;
	cursor: pointer;
}

#main-contents .bnr p {
	font-size: 3rem;
	margin: 0;
}

.bnr .more {
	display: inline-block;
	min-width: 160px;
	box-sizing: border-box;
	background: rgba( 255,255,255,.85 );
	color: #0063b1;
	font-size: 1.8rem !important;
	font-family: 'Roboto', serif;
	text-align: center;
	line-height: 3.8rem;
	border: solid 1px #0063b1;
	border-radius: 2rem;
	padding: 0 20px 0 40px;
	transition: all .2s;
}

.bnr .more::after {
	display: inline-block;
	content: url( img/common/arrow-01.png );
	margin-left: 15px;
	vertical-align: middle;
	transition: all .2s;
}

.bnr a:hover .more {
	color: #fff;
	background: #0063b1;
}

.bnr a:hover .more::after {
	content: url( img/common/arrow-01-w.png );
	transform: translateX( 5px );
}

#main-contents .bnr-02 > a {
	width: 49%;
}

#main-contents .bnr a.yoyaku {
	background: url( img/common/bnr-yoyaku.png ) center center / cover no-repeat;
}

#main-contents .bnr a.renkei {
	background: url( img/common/bnr-renkei.png ) center center / cover no-repeat;
}

#main-contents .bnr a.access {
	background: url( img/common/bnr-access.png ) center center / cover no-repeat;
}

#main-contents .bnr a.info {
	background: url( img/common/bnr-info.png ) center center / cover no-repeat;
}

#main-contents .bnr a.first {
	background: url( img/common/bnr-first.png ) center center / cover no-repeat;
}

#main-contents .bnr a.first-l {
	background: url( img/common/bnr-first-l.png ) center center / cover no-repeat;
}

#main-contents .bnr a.faq {
	background: url( img/common/bnr-faq.png ) center center / cover no-repeat;
}

#main-contents .bnr a.faq-l {
	background: url( img/common/bnr-faq-l.png ) center center / cover no-repeat;
}

#main-contents .bnr a.recruit {
	background: url( img/common/bnr-recruit.png ) center center / cover no-repeat;
}

#main-contents .bnr a.medical {
	background: url( img/common/bnr-medical.png ) center center / cover no-repeat;
}

#main-contents .bnr a.doctor {
	background: url( img/common/bnr-doctor.png ) center center / cover no-repeat;
}

#main-contents .bnr a.doctor-l {
	background: url( img/common/bnr-doctor-l.png ) center center / cover no-repeat;
}

#main-contents .bnr a.efforts {
	background: url( img/common/bnr-efforts.png ) center center / cover no-repeat;
}

#main-contents .bnr a.clinic {
	background: url( img/common/bnr-clinic.png ) center center / cover no-repeat;
}

#main-contents .bnr a.report {
	background: url( img/common/bnr-report.png ) center center / cover no-repeat;
}

#main-contents .bnr a.holiday {
	background: url( img/common/bnr-holiday.png ) center center / cover no-repeat;
}

#main-contents .dl-bnr {
	border: solid 6px #fff;
}

#main-contents .dl-bnr a {
	justify-content: center;
	align-items: center;
	line-height: .8;
	padding: 15px;
	transition: all .2s;
}

#main-contents .dl-bnr a:hover {
	background: rgba( 255,255,255,.75 );
}

#main-contents .dl-bnr a figure {
	max-width: 240px;
}

#main-contents .dl-bnr p {
	margin: 0 0 0 20px;
	font-size: 2rem;
}

#main-contents .dl-bnr p::before {
	content: url( img/common/arrow-02.png );
	margin-right: 10px;
	vertical-align: middle;
}

.contents-nav {
	position: relative;
	padding: 20px 20px 0;
	margin-bottom: 60px;
}

.contents-nav::after {
	content: '';
	background: #e1eef7;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 80%;
}

.contents-nav .flex {
	width: 100%;
	position: relative;
	z-index: 999;
	justify-content: space-around;
}

.contents-nav li {
	padding: 0 10px;
	box-sizing: border-box;
}

.contents-nav a {
	display: block;
	padding: 10px 40px;
	background: #0063b1 url( img/common/arrow-07.png ) right 15px center no-repeat;
	color: #fff;
	text-align: center;
	border-radius: 4px;
	transition: all .2s;
}

.contents-nav a:hover {
	background: #0081e3 url( img/common/arrow-07.png ) right 15px center no-repeat;
}


/*
----------------------------------------
page-ttl
----------------------------------------
*/

#page-ttl {
	background: #eee;
	color: #fff;
	padding: 100px 20px;
}

#page-ttl h1,
#page-ttl h2 {
	font-size: 3.6rem;
}

#page-ttl p.en {
	font-size: 1.8rem;
	font-weight: normal;
	letter-spacing: 6px;
	text-transform: uppercase;
}


/*
----------------------------------------
topic-path
----------------------------------------
*/

.topic-path {
	font-size: 1.3rem;
	color: #999;
	margin: 20px 0;
}

.topic-path a {
	color: #1e689e;
}

.topic-path a:after {
	display: inline-block;
	content: url( img/common/arrow-01.png );
	margin: 0 10px;
}


/*
----------------------------------------
first
----------------------------------------
*/

#first #page-ttl {
	background: url( img/page/ttl-bg-first.png ) center center / cover no-repeat;
}

#first .sec-01 .case-list {
	text-align: center;
}

#first .sec-01 .case-list ul {
	display: inline-block;
	text-align: left;
	color: #0063b1;
	font-size: 2.4rem;
}

#first .sec-01 .case-list li {
	padding: 5px 0 5px 35px;
	background: url( img/common/icon-check.svg ) left 10px / 24px no-repeat;
	line-height: 1.4;
}

.mono {
	background: #f0f6fc;
	padding: 20px 30px;
}

.mono h2 {
	font-size: 2.4rem;
	font-weight: normal;
	text-align: center;
	color: #0063b1;
	margin-bottom: 10px;
	text-indent: -2rem;
}

.mono h2::before {
	content: url( img/common/icon-pen.png );
	margin-right: 10px;
	vertical-align: middle;
}

.mono > .flex {
	justify-content: space-between;
	margin-bottom: 30px;
}

.mono > .flex ul {
	width: 48%;
	margin-bottom: 0 !important;
}

.mono > .flex li {
	padding-left: 1.5rem;
	position: relative;
}

.mono > .flex li::before {
	display: inline-block;
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #0063b1;
	position: absolute;
	left: 4px;
	top: 12px;
}

.mono .note {
	font-size: 1.2rem;
}

#first .flow-list {
	background: #f0f6fc;
	padding: 20px;
	margin-bottom: 40px;
}

#first .flow {
	position: relative;
	background: #fff;
	border: solid 1px #c9deee;
	padding: 25px;
	margin-top: 40px;
	position: relative;
}

#first .flow::before {
	content: url( img/common/arrow-04.png );
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX( -50% );
}

#first .flow:first-of-type {
	margin-top: 0;
}

#first .flow:first-of-type::before {
	display: none;
}

#first .flow .num {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	background: #29b6f6;
	color: #fff;
	position: absolute;
	left: 15px;
	top: 35px;
	text-align: center;
}

#first .flow figure {
	width: 30%;
	text-align: center;
	padding-top: 25px;
}

#first .flow figure + .txt {
	width: 70%;
	padding-left: 20px;
	box-sizing: border-box;
}

#first .flow h3 {
	font-size: 2rem;
	font-weight: normal;
	color: #0063b1;
	border-bottom: solid 1px #0063b1;
	padding: 5px 0 5px 25px;
	margin-bottom: 10px;
	position: relative;
}

#first .flow h3::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border: solid 5px #29b6f6;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 14px;
}

#first .flow p {
	margin-bottom: 10px !important;
}

.notice {
	border: solid 2px #b2d0e7;
	border-radius: 4px;
	padding: 35px 25px 15px;
	margin-bottom: 30px;
	position: relative;
}

.notice .ttl {
	display: inline-block;
	font-size: 2.4rem;
	white-space: nowrap;
	font-weight: normal;
	color: #0063b1;
	position: absolute;
	top: 0;
	left: 50%;
	background: #fff;
	transform: translate( -50%, -50% );
	padding: 0 20px;
}

.notice .disc {
	font-size: 1.6rem;
	font-weight: normal;
	padding-left: 15px;
	margin-bottom: 10px;
	position: relative;
}

.notice .disc::before {
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #0063b1;
	position: absolute;
	left: 5px;
	top: 12px;
}

.notice p {
	font-size: 1.4rem;
	margin-bottom: 15px !important;
}


/*
----------------------------------------
clinic
----------------------------------------
*/

#clinic #page-ttl {
	background: url( img/page/ttl-bg-clinic.png ) center center / cover no-repeat;
}

#clinic .sec-01 {
	margin-bottom: 30px;
}

#clinic section > figure {
	margin: 20px 0;
}

#clinic .point-list {
	justify-content: space-between;
	margin: 30px 0;
}

#clinic .point-list li {
	width: 31%;
}

#clinic .point-list figure {
	text-align: center;
}

#clinic .point-list h3 {
	text-align: center;
	font-size: 2.2rem;
	font-weight: normal;
	color: #0063b1;
	margin: 10px 0;
}

#clinic .point-list .btn-02 {
	text-align: center;
}

#clinic .point-list .btn-02 a {
	min-width: 90%;
}

#clinic .border-box {
	border: solid 1px #0063b1;
	padding: 30px;
	position: relative;
}

#clinic .border-box h3 {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate( -50%, -50% );
	font-size: 2.4rem;
	font-weight: normal;
	padding: 5px 20px;
	background: #fff;
	color: #0063b1;
}

#clinic .border-box figure {
	width: 30%;
	text-align: center;
}

#clinic .border-box .txt {
	width: 70%;
	padding: 10px 0 0 20px;
	box-sizing: border-box;
}

#clinic .clinic-info .flex {
	margin-bottom: 30px;
}

#clinic .clinic-info figure {
	width: 40%;
	padding: 0 20px 0 0;
	box-sizing: border-box;
}

#clinic .clinic-info .txt {
	width: 60%;
}

#clinic .clinic-info .flex:nth-of-type(even) {
	flex-direction: row-reverse;
}

#clinic .clinic-info .flex:nth-of-type(even) figure {
	padding: 0 0 0 20px;
}


/*
----------------------------------------
philosophy
----------------------------------------
*/

#philosophy #page-ttl {
	background: url( img/page/ttl-bg-philosophy.png ) center center / cover no-repeat;
}

#philosophy  .main-txt h2 {
	font-size: 3rem;
	letter-spacing: 2px;
	font-weight: normal;
	color: #0063b1;
	margin-bottom: 30px;
	text-align: center;
	position: relative;
}

#philosophy .read figure {
	margin-bottom: 10px;
}

.philosophy {
	margin-bottom: 40px;
}

.philosophy .flex figure {
	width: 45%;
	padding: 0 20px 0 0;
	box-sizing: border-box;
}

.philosophy .flex .txt {
	width: 55%;
}

.philosophy:nth-child(even) .flex {
	flex-direction: row-reverse;
}

.philosophy:nth-child(even) .flex figure {
	padding: 0 0 0 20px;
}

#philosophy .table-02 th {
	width: 25%;
}


/*
----------------------------------------
efforts
----------------------------------------
*/

#efforts #page-ttl {
	background: url( img/page/ttl-bg-efforts.png ) center center / cover no-repeat;
}

#efforts .contents-nav li {
	width: 33.3333%;
}

#efforts section {
	margin-bottom: 20px;
}

#efforts .sec-01 figure {
	margin: 20px 0;
}

#efforts .read.flex {
	margin-top: 20px;
}

#efforts .read.flex figure {
	width: 40%;
	padding: 0 20px 0 0 ;
	box-sizing: border-box;
}

#efforts .read.flex .txt {
	width: 60%;
}

#efforts .read.flex:nth-of-type(even) {
	flex-direction: row-reverse;
}

#efforts .read.flex:nth-of-type(even) figure {
	padding: 0 0 0 20px ;
}

#efforts .img-set.flex {
	background: #f2f5f7;
	padding: 20px;
	justify-content: space-between;
	margin-bottom: 30px;
}

#efforts .img-set figure {
	width: 49%;
	line-height: .8;
}


/*
----------------------------------------
machine
----------------------------------------
*/

#machine #page-ttl {
	background: url( img/page/ttl-bg-machine.png ) center center / cover no-repeat;
}

#machine .machine-cat .cat {
	background: #f0f6fc;
	padding: 15px;
	margin-bottom: 20px;
}

#machine .machine-cat h2 {
	font-size: 2rem;
	font-weight: normal;
	color: #0063b1;
	text-align: center;
	margin-bottom: 20px;
}

#machine .machine-cat .flex {
	justify-content: space-between;
}

#machine .machine-cat ul {
	margin: 0;
	width: 48%;
}

#machine .machine-cat ul.flex {
	width: 100%;
}

#machine .machine-cat ul.flex li {
	width: 48%;
}

#machine .machine-cat li a {
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1.5;
	padding: 8px 0 8px 20px;
	background: url( img/common/arrow-05.png ) left 9px no-repeat;
	cursor: pointer;
}

#machine .machine-list {
	margin: 80px 0;
}

#machine .machine-list h3 br {
	display: none;
}

#machine .machine-list .read {
	margin-bottom: 40px;
}

#machine .machine-list figure {
	width: 35%;
	text-align: center;
	padding-right: 20px;
	box-sizing: border-box;
}

#machine .machine-list figure + .txt {
	width: 65%;
}


/*
----------------------------------------
information
----------------------------------------
*/

#information #page-ttl {
	background: url( img/page/ttl-bg-information.png ) center center / cover no-repeat;
}

#information .medical-list {
	background: #f0f6fc;
	padding: 20px 15px;
	margin-bottom: 60px;
}

#information .medical {
	width: 33.3333%;
	padding: 0 15px;
	margin-bottom: 30px;
	box-sizing: border-box;
	text-align: center;
}

#information .medical a {
	display: block;
	background: #fff;
	transition: all .2s;
}

#information .medical a:hover {
	background: #0063b1;
	color: #fff;
}

#information .medical figure {
	line-height: .8;
}

#information .medical figure img {
	width: 100%;
}

#information .medical p {
	padding: 10px;
	margin: 0;
	position: relative;
}

#information .medical p::after {
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-right-color: #05b7f2;
	border-bottom-color: #05b7f2;
	position: absolute;
	right: 3px;
	bottom: 3px;
}

.medical-list .btn-02 {
	text-align: center;
}

#information .sec-01 .notice {
	text-align: center;
}

#information .sec-01 .notice p {
	text-align: left;
}

#information .sec-01 .notice h2::before {
	display: inline-block;
	content: url( img/common/icon-info-ttl.png );
	vertical-align: middle;
	margin-right: 10px;
}

.notice .line {
	display: inline-block;
	font-size: 2rem;
	font-weight: normal;
	text-align: center;
	padding-bottom: 5px;
	margin: 0 auto 20px;
	border-bottom: dotted 2px #05b7f2;
}

#information .sec-02 .note {
	margin-bottom: 10px;
}

#information .datetime {
	margin-bottom: 40px;
}

#information .datetime th,
#information .datetime td {
	width: 11%;
}

#information .datetime th:first-child {
	width: 34%;
}

#information .cal-box {
	background: #f0f6fc;
	padding: 30px;
	margin-bottom: 20px;
}

#information .cal-box ul {
	margin: 10px 0 0 0;
}

.cal-note.flex {
	justify-content: center;
	margin: 10px 0;
}

.cal-note.flex li {
	padding: 0 15px;
}

#information .first-l {
	margin-top: 25px;
}

#information .yoyaku-box.flex {
	justify-content: space-between;
	margin: 40px 0;
}

#information .yoyaku {
	width: 47.5%;
	text-align: center;
}

#information .yoyaku h4 {
	font-size: 2.4rem;
	font-weight: normal;
	color: #0063b1;
	margin: 10px 0;
}

#information .yoyaku p {
	text-align: left;
}

#information .flow.num-list li {
	width: 30%;
	margin-bottom: 20px;
}

#information .flow.num-list li:nth-child( 3n + 1 ) figure::before {
	display: none;
}

#information .other {
	justify-content: space-between;
	margin-bottom: 60px;
}

#information .other > div {
	width: 47.5%;
	border: solid 1px #c9deee;
	background: #f9fbfd;
}

#information .other figure {
	text-align: center;
}

#information .other h3 {
	text-align: center;
	font-size: 2.4rem;
	font-weight: normal;
	color: #0063b1;
	padding: 10px 25px;
}

#information .other .read {
	padding: 0 25px;
	margin-bottom: 20px;
}

#information .other .btn-02 {
	text-align: center;
}


/*
----------------------------------------
doctor
----------------------------------------
*/

#doctor #page-ttl {
	background: url( img/page/ttl-bg-doctor.png ) center center / cover no-repeat;
}

#doctor .sec-01 > figure {
	margin-bottom: 30px;
}

#doctor .outline {
	margin-bottom: 40px;
}

#doctor .outline figure {
	width: 33.3333%;
	padding-right: 20px;
	box-sizing: border-box;
}

#doctor .outline .txt {
	width: 66.6666%;
}

.outline dl.flex dt {
	width: 25%;
	padding: 5px 26px 5px 0;
	box-sizing: border-box;
	text-align: right;
}

.outline dl.flex dd {
	width: 75%;
	padding: 5px 0 5px 25px;
	box-sizing: border-box;
	border-left: solid 1px #29b6f6;
	position: relative;
}

.outline dl.flex dd::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #29b6f6;
	position: absolute;
	left: 0;
	top: 0;
	transform: translate( -55%, 12px );
}

#doctor .bg-box {
	background: #f0f6fc;
	padding: 20px;
	margin-bottom: 20px;
}

#doctor .bg-box h3 {
	text-align: center;
	color: #0063b1;
	font-size: 2.2rem;
	font-weight: normal;
	margin-bottom: 20px;
}

#doctor .bg-box ul {
	width: 50%;
	margin: 0;
}

#doctor .bg-box li {
	line-height: 1.6;
	padding: 5px 0 5px 15px;
	position: relative;
}

#doctor .bg-box li::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	background: #0063b1;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 15px;
}

#doctor .post-list {
	justify-content: space-between;
}

#doctor .post-list .post {
	width: 47.5%;
	border: solid 1px #d9e8f3;
	border-radius: 5px;
	background: #f9fbfd;
}

#doctor .post-list figure {
	text-align: center;
	line-height: .8;
}

#doctor .post-list figure img {
	width: 100%;
}

#doctor .post-list .txt {
	padding: 25px;
}

#doctor .post h3 {
	font-size: 2.4rem;
	font-weight: normal;
	text-align: center;
	color: #0063b1;
	margin: 0 0 15px;
}

#doctor .post p {
	margin-bottom: 20px;
}

#doctor .post .btn-02 {
	text-align: center;
	margin-bottom: 5px;
}


/*
----------------------------------------
report
----------------------------------------
*/

#report #page-ttl {
	background: url( img/page/ttl-bg-report.png ) center center / cover no-repeat;
}

#report .sec-01 {
	margin-bottom: 60px;
}

#report .sec-01 figure {
	margin-bottom: 10px;
}

#report .society h3 {
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.4;
	color: #0063b1;
	padding: 10px 10px 10px 55px;
	background: url( img/common/icon-report.png ) left center no-repeat;
	border-bottom: solid 1px #05b7f2;
}

.society-list li {
	padding: 20px 0;
	border-bottom: solid 1px #e5e5e5;
}

.society-list li .date {
	display: inline-block;
	min-width: 22%;
	padding-right: 20px;
	box-sizing: border-box;
	color: #999;
}

.society-list li a:hover {
	text-decoration: underline;
}

.report-list {
	background: #f0f6fc;
	padding: 25px;
}

.report-list .report.flex {
	background: #fff;
	border: solid 1px #c9deee;
	padding: 25px;
	margin-top: 25px;
}

.report-list .report.flex:first-of-type {
	margin-top: 0;
}

.report-list .report figure {
	width: 38%;
	padding-right: 20px;
	box-sizing: border-box;
	cursor: pointer;
}

.report-list .report figure a {
	display: block;
}

.report-list .report .txt {
	width: 62%;
}

.report-list .report .date {
	color: #999;
}

.report-list .report h3 {
	margin: 5px 0;
	line-height: 1.4;
}

.report-list .report h3 a {
	font-size: 2rem;
	font-weight: normal;
	color: #0063b1;
}

.report-list .report h3 a:hover {
	text-decoration: underline;
}

.report-list .report p {
	font-size: 1.4rem;
	margin: 0 !important;
}

.report-list .report .btn-02 {
	text-align: right;
	margin: 10px 0 0 0 !important;
}

.report-list > .btn-02 {
	text-align: center;
	margin: 25px 0 0 !important;
}

/*
----------------------------------------
access
----------------------------------------
*/

#access #page-ttl {
	background: url( img/page/ttl-bg-access.png ) center center / cover no-repeat;
}

#access #main-contents .address {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}

#access #main-contents .address figure {
	width: 46%;
	padding: 15px;
	box-sizing: border-box;
	text-align: center;
	border: solid 1px #e5e5e5;
}

#access #main-contents .address .txt {
	width: 50%;
}

#access #main-contents .address h3 {
	margin-bottom: 5px;
}

#access #main-contents .address p {
	font-size: 1.4rem;
	margin: 0;
}

#access #main-contents .map {
	margin-bottom: 30px;
}

#access #main-contents .map figure {
	line-height: .8;
}

#access #main-contents #map-02 {
	width: 100%;
	height: 400px;
}
#access #main-contents #map-02 iframe{
	display:block;
	width:100%;
	height:100%;
}

.tab-menu {
	justify-content: space-between;
	border-bottom: solid 2px #0063b1;
	margin-bottom: 15px !important;
}

.tab-menu li {
	width: 48.5%;
}

.tab-menu li a {
	display: block;
	text-align: center;
	padding: 10px;
	background: #ccc;
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 3px;
	border-radius: 4px 4px 0 0;
	transition: all .2s;
}

#access .tab-menu li:first-child a {
	letter-spacing: 10px;
}

.tab-menu li a:hover {
	background: #555;
}

.tab-menu li a.active {
	background: #0063b1;
}

.tab-contents th {
	width: 25%;
}

.access-nav {
	justify-content: space-around;
	padding: 20px;
	position: relative;
}

.access-nav::before {
	content: '';
	height: 60%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: #e1eef7;
}

.access-nav li {
	width: 47%;
	position: relative;
}

.access-nav li a {
	display: block;
	text-align: center;
	background: #0063b1 url( img/common/arrow-05.png ) right 15px center no-repeat;
	color: #fff;
	padding: 15px;
	border-radius: 4px;
	transition: all .2s;
}

.access-nav li a:hover {
	background: #0081e3 url( img/common/arrow-05.png ) right 15px center no-repeat;
}

.access-nav li a::before {
	display: inline-block;
	line-height: .8;
	content: url( img/page/icon-car.png );
	margin-right: 10px;
	vertical-align: middle;
}

.access-nav li.train a::before {
	content: url( img/common/icon-train.png );
}

.flow.num-list {
	justify-content: space-between;
	margin: 40px 0 10px !important;
}

.flow-list .note {
	font-size: 1.2rem;
	margin-bottom: 60px !important;
}

.flow.num-list li {
	width: 46%;
	position: relative;
	font-size: 1.4rem;
}

#train .flow.num-list li {
	width: 30%;
}

.flow.num-list figure {
	position: relative;
	text-align: center;
	margin: 0 auto 15px;
	position: relative;
}

.flow.num-list li figure::before {
	content: url( img/common/arrow-06.png );
	position: absolute;
	left: -12%;
	top: 50%;
	transform: translateY( -50% );
}

#car .flow.num-list li::before {
	left: -14%;
}

#car .flow.num-list li:nth-child( odd ) figure::before {
	display: none;
}

#car .flow.num-list .num {
	left: 11%;
}

#car .flow.num-list .num.num-01 {
	left: -10px;
}

#train .flow.num-list li:nth-child( 3n + 1 ) figure::before {
	display: none;
}

#train .flow.num-list figure {
	padding: 0 15%;
}

#train .flow.num-list .num {
	left: 7%;
}

.flow.num-list .num {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	background: #29b6f6;
	color: #fff;
	position: absolute;
	left: -15px;
	top: -15px;
	text-align: center;
	z-index: 999;
}

.flow.num-list a {
	text-decoration: underline;
}


/*
----------------------------------------
relation
----------------------------------------
*/

#relation #page-ttl {
	background: url( img/page/ttl-bg-relation.png ) center center / cover no-repeat;
}

#relation .sec-01 {
	padding-bottom: 30px;
}

#relation .sec-01 figure {
	margin-bottom: 15px;
}

#relation .sec-02 figure {
	margin-bottom: 15px;
}

#relation .point-list.flex {
	justify-content: space-between;
	margin-bottom: 30px;
}

#relation .point {
	width: 48%;
	border: solid 2px #0063b1;
}

#relation .point h4 {
	background: #0063b1;
	color: #fff;
	font-weight: normal;
	text-align: center;
	padding: 5px;
}

#relation .point ul {
	padding: 15px;
	margin: 0;
}

#relation .point li {
	padding: 5px 0 5px 18px;
	position: relative;
}

#relation .point li::before {
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #0063b1;
	position: absolute;
	top: 18px;
	left: 5px;
}

#relation .point:nth-child(even) {
	border-color: #29b6f6;
}

#relation .point:nth-child(even) h4 {
	background: #29b6f6;
}

#relation .point:nth-child(even) li::before {
	background: #29b6f6;
}

#relation .flow-list {
	justify-content: space-between;
}

#relation .flow-list .flow {
	width: 30%;
	position: relative;
}

#relation .flow .num {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 50%;
	background: #29b6f6;
	color: #fff;
	position: absolute;
	left: 10px;
	top: 10px;
	text-align: center;
	z-index: 999;
}

#relation .flow figure {
	position: relative;
	margin-bottom: 10px;
}

#relation .flow figure::after {
	content: url( img/common/arrow-06.png );
	position: absolute;
	left: -32px;
	top: 50%;
	transform: translateY( -50% );
}

#relation .flow:first-child figure::after {
	display: none;
}

#relation .flow h4 {
	font-size: 2rem;
	line-height: 1.4;
	font-weight: normal;
	color: #0063b1;
	text-align: center;
	margin-bottom: 10px;
}

#relation .flow p {
	font-size: 1.4rem;
}

.relation-list {
	background: #f0f6fc;
	padding: 10px;
}

.relation-list ul {
	margin: 0 !important;
}

.relation-list .flex li {
	width: calc( 33.3333% - 22px );
	margin: 10px;
	padding: 10px;
	color: #0063b1;
	text-align: center;
	background: #fff;
	box-sizing: border-box;
	border: solid 1px #588ab0;
	border-radius: 4px;
}

.relation-list .right {
	padding: 0 15px;
	color: #0063b1;
	margin: 10px 0 !important;
}


/*
----------------------------------------
pediatric-ophthalmology
----------------------------------------
*/

#pediatric-ophthalmology #page-ttl {
	background: url( img/page/ttl-bg-eye.png ) center center / cover no-repeat;
}

#pediatric-ophthalmology .sec-01 {
	margin-bottom: 80px;
}

#pediatric-ophthalmology .flex.ttl .txt {
	width: 50%;
	padding-right: 20px;
	box-sizing: border-box;
}

#pediatric-ophthalmology .flex.ttl .txt p {
	margin-bottom: 0;
}

#pediatric-ophthalmology .flex.ttl figure {
	width: 50%;
	text-align: center;
}

#pediatric-ophthalmology .point-list {
	margin: 40px 0 80px !important;
}

#pediatric-ophthalmology .notice {
	margin-bottom: 60px;
}

#pediatric-ophthalmology .notice .flex figure {
	width: 40%;
	padding-right: 20px;
	box-sizing: border-box;
}

#pediatric-ophthalmology .notice .flex .txt {
	width: 60%;
}

#pediatric-ophthalmology .bg-box {
	background: #f0f6fc;
	padding: 20px 30px;
	margin-bottom: 40px;
	text-align: center;
}

#pediatric-ophthalmology .bg-box.mes p {
	text-align: left;
}

#pediatric-ophthalmology .bg-box h3 {
	display: inline-block;
	font-size: 2.4rem;
	letter-spacing: 2px;
	font-weight: normal;
	text-align: center;
	color: #0063b1;
	padding-bottom: 4px;
	margin: 0 auto 20px;
	border-bottom: dotted 2px #05b7f2;
}

#pediatric-ophthalmology .bg-box .flex {
	justify-content: space-between;
}

#pediatric-ophthalmology .bg-box .flex > div {
	width: 47.5%;
	border: solid 1px #05b7f2;
	padding: 20px;
	margin-top: 20px;
	box-sizing: border-box;
	position: relative;
}

#pediatric-ophthalmology .bg-box h4 {
	display: inline-block;
	padding: 0 20px;
	background: #f0f6fc;
	font-size: 1.8rem;
	font-weight: normal;
	color: #0063b1;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate( -50%, -50% );
}

#pediatric-ophthalmology .bg-box ul {
	text-align: left;
	margin-bottom: 0;
}

#pediatric-ophthalmology .bg-box li {
	line-height: 1.6;
	padding: 5px 0 5px 15px;
	position: relative;
}

#pediatric-ophthalmology .bg-box li::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	background: #0063b1;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 15px;
}

#pediatric-ophthalmology .contents-nav li {
	width: 50%;
}

#pediatric-ophthalmology .content-wrap {
	border: solid 2px #0063b1;
	margin-bottom: 40px;
}

#pediatric-ophthalmology .content-wrap h2 {
	font-size: 2.4rem;
	font-weight: normal;
	color: #0063b1;
	background: #f9fbfd;
	padding: 5px;
	text-align: center;
	border-bottom: solid 1px #c9deee;
}

#pediatric-ophthalmology .content-wrap .inner {
	padding: 15px 25px;
}

#pediatric-ophthalmology .content-wrap .flex figure {
	width: 40%;
	padding-right: 20px;
	box-sizing: border-box;
}

#pediatric-ophthalmology .content-wrap .flex .txt {
	width: 60%;
}

#pediatric-ophthalmology .content-wrap .note {
	background: #f0f6fc;
	padding: 20px;
	border-radius: 5px;
	margin: 10px 0 30px;
}

#pediatric-ophthalmology .content-wrap .note h4 {
	font-size: 2.2rem;
	font-weight: normal;
	text-align: center;
	color: #0063b1;
	margin-bottom: 10px;
}

#pediatric-ophthalmology .content-wrap .note p {
	margin: 0;
}

#pediatric-ophthalmology .content-wrap figure {
	margin-bottom: 20px;
	text-align: center;
}


/*
----------------------------------------
faq
----------------------------------------
*/

#faq #page-ttl {
	background: url( img/page/ttl-bg-faq.png ) center center / cover no-repeat;
}

.faq-menu.flex {
	justify-content: space-between;
}

.faq-menu .faq-cat {
	width: 48.5%;
	border: solid 2px #0063b1;
	margin-bottom: 20px;
}

.faq-menu .faq-cat h2 {
	border-bottom: solid 1px #c9deee;
}

.faq-menu .faq-cat h2 a {
	display: block;
	background: #f9fbfd;
	text-align: center;
	padding: 10px;
	font-weight: normal;
	color: #0063b1;
}

.faq-menu .faq-list {
	margin: 0 !important;
	padding: 20px 20px 10px;
}

.faq-menu .faq-list li {
	display: block;
	font-size: 1.4rem;
	margin-bottom: 10px;
	padding-left: 2rem;
	position: relative;
}

.faq-menu .faq-list li:before {
	content: '';
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #0063b1;
	position: absolute;
	left: 0;
	top: 10px;
}

.faq .faq-list dt {
	font-size: 1.8rem;
	padding: 10px 0 10px 60px;
	margin-bottom: 15px;
	position: relative;
}

.faq .faq-list dd {
	background: #f0f7fc;
	padding: 20px 20px 20px 80px;
	margin-bottom: 30px;
	position: relative;
}

.faq .faq-list dt::before,
.faq .faq-list dd::before {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	font-family: 'Roboto', serif;
	border-radius: 50%;
	position: absolute;
}

.faq .faq-list dt::before {
	content: 'Q';
	color: #0063b1;
	border: solid 2px #b2d0e7;
	left: 0;
	top: 4px;
}

.faq .faq-list dd::before {
	content: 'A';
	color: #fff;
	background: #29b6f6;
	left: 20px;
	top: 24px;
}


/*
----------------------------------------
recruit
----------------------------------------
*/

#recruit #page-ttl {
	background: url( img/page/ttl-bg-recruit.png ) center center / cover no-repeat;
}

#recruit .sec-01 .cont {
	margin-bottom: 30px;
}

#recruit .sec-01 .flex figure {
	width: 40%;
	text-align: center;
	padding-right: 20px;
	box-sizing: border-box;
}

#recruit .sec-01 .flex .txt {
	width: 60%;
}

#recruit .sec-01 .cont:nth-child( odd ) .flex {
	flex-direction: row-reverse;
}

#recruit .sec-01 .cont:nth-child( odd ) figure {
	padding: 0 0 0 20px;
}

#recruit .sec-02 .flex {
	justify-content: space-between;
	margin: 20px 0;
}

#recruit .sec-02 .flex li {
	width: 18%;
}

#recruit .sec-02 .flex li span {
	display: block;
	padding: 20px 0;
	color: #0063b1;
	font-size: 1.6rem;
	text-align: center;
	background: #f9fbfd;
	border:solid 3px #d9e8f3;
	border-radius: 10px;
}

#recruit .sec-03 .flex {
	align-items: center;
	margin-bottom: 30px;
}

#recruit .sec-03 .flex figure {
	width: 30%;
	text-align: center;
	padding-right: 30px;
	box-sizing: border-box;
	text-align: center;
}

#recruit .sec-03 .flex .txt {
	width: calc( 70% - 2px );
	background: #f9fbfd;
	border: solid 1px #d9e8f3;
	padding: 20px 30px;
	box-sizing: border-box;
	position: relative;
	border-radius: 8px;
}

#recruit .sec-03 .flex .txt::before,
#recruit .sec-03 .flex .txt::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border: solid 15px transparent;
	border-right: solid 15px #d9e8f3;
	position: absolute;
	top: 50%;
	left: -30px;
	transform: translateY( -50% );
}

#recruit .sec-03 .flex .txt::after {
	border-right: solid 15px #f9fbfd;
	left: -28px;
}

#recruit .sec-03 .flex .txt h3 {
	font-size: 1.8rem;
	font-weight: normal;
	color: #0063b1;
	margin-bottom: 10px;
}

#recruit .sec-03 .flex .txt p {
	margin-bottom: 0;
}

#recruit .sec-03 .flex:nth-child( odd ) {
	flex-direction: row-reverse;
}

#recruit .sec-03 .flex:nth-child( odd ) figure {
	padding: 0 0 0 30px;
}

#recruit .sec-03 .flex:nth-child( odd ) .txt::before,
#recruit .sec-03 .flex:nth-child( odd ) .txt::after {
	border-right: solid 15px transparent;
	border-left: solid 15px #d9e8f3;
	left: auto;
	right: -15px;
}

#recruit .sec-03 .flex:nth-child( odd ) .txt::after {
	border-left: solid 15px #f9fbfd;
	right: -13px;
}

#recruit .sec-03 .cont:nth-child( odd ) .flex {
	flex-direction: row-reverse;
}

#recruit .sec-03 .cont:nth-child( odd ) figure {
	padding: 0 0 0 20px;
}

#recruit .sec-04 .flex {
	justify-content: space-between;
}

#recruit .sec-04 .flex .cont {
	width: 30%;
}

#recruit .sec-04 .flex figure {
	line-height: .8;
	position: relative;
	margin-bottom: 25px;
	text-align: center;
}

#recruit .sec-04 .flex figcaption {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate( -50%, 50% );
	white-space: nowrap;
}

#recruit .sec-04 .flex figcaption::before {
	content: url( img/common/icon-time.png );
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	transform: translateY( 1px );
}

#recruit .sec-05 .flow-list {
	justify-content: space-between;
}

#recruit .sec-05 .flow {
	width: 30%;
}

#recruit .sec-05 .flow figure {
	position: relative;
}

#recruit .sec-05 .flow figure::before {
	content: url( img/common/arrow-06.png );
	position: absolute;
	left: -30px;
	top: 50%;
	transform: translateY( -50% );
}

#recruit .sec-05 .flow:first-child figure::before {
	display: none;
}

#recruit .sec-05 .flow figure .num {
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	background: #29b6f6;
	color: #fff;
	text-align: center;
	font-family: 'Roboto', serif;
	font-size: 2rem;
	position: absolute;
	left: 8px;
	top: 8px;
}

#recruit .sec-05 .flow h3 {
	font-size: 2.4rem;
	font-weight: normal;
	text-align: center;
	color: #0063b1;
	margin: 10px 0;
}


/*
----------------------------------------
blog
----------------------------------------
*/

#blog #page-ttl {
	background: url( img/page/ttl-bg-blog.png ) center center / cover no-repeat;
}

#blog .post-header {
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

#blog .post-header h1 {
	font-weight: normal;
}

#blog #main-contents .cat-list {
	float: right;
	margin-top: 5px;
}
#blog #main-contents .cat-list a {
	background: #0063b1;
	border: solid 1px #0063b1;
	color: #fff;
}

#blog #main-contents .cat-list a:hover {
	background: #fff;
	color: #0063b1;
}

#blog #main-contents .cat-list a.blog {
	background: #ffa816;
	border: solid 1px #ffa816;
}

#blog #main-contents .cat-list a.blog:hover {
	background: #fff;
	color: #ffa816;
}

#blog #main-contents .cat-list a.column {
	background: #29b6f6;
	border: solid 1px #29b6f6;
}

#blog #main-contents .cat-list a.column:hover {
	background: #fff;
	color: #29b6f6;
}

.single .post-contents {
	margin-top: 20px;
}

.single .post-contents figure,
.single .post-contents p {
	margin: 20px 0;
}

.single .post-contents img {
	margin: 10px 0;
}

.single .post-contents img.alignleft,
.single .post-contents img.alignright {
	display: block;
}

.single .post-contents h2 {
	font-size: 2rem;
	font-weight: normal;
	line-height: 1.4;
	color: #0063b1;
	background: #f0f6fc;
	padding: 10px 10px 10px 45px;
	margin-bottom: 20px;
	position: relative;
}

.single .post-contents h2::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	border: solid 5px #05b7f2;
	position: absolute;
	left: 20px;
	top: 16px;
}

.single .post-contents h3 {
	font-size: 2rem;
	font-weight: normal;
	border-bottom: solid 1px #0063b1;
	padding-bottom: 10px;
	color: #0063b1;
	margin: 20px 0;
}

.single .post-contents h4 {
	font-size: 1.8rem;
	font-weight: normal;
	color: #0063b1;
	margin: 20px 0 10px 1 v;
}

.addtoany_content {
	margin: 40px 0 !important;
}

.post-nav.flex {
	justify-content: space-between;
	align-items: center;
	background: #f0f6fc;
	padding: 20px;
}

.post-nav .prev,
.post-nav .next {
	width: 15%;
}

.post-nav .next {
	text-align: right;
}

.post-nav .prev a,
.post-nav .next a {
	display: inline-block;
	width: 40px;
	height: 40px;
	padding: 8px;
	box-sizing: border-box;
	border: solid 1px #c9deee;
	border-radius: 50%;
	background: #fff;
	text-align: center;
}

.post-nav .prev a img,
.post-nav .next a img {
	width: 12px;
	transition: all .2s;
}

.post-nav .prev a:hover img {
	transform: translateX( -5px );
}

.post-nav .next a:hover img {
	transform: translateX( 5px );
}

.post-nav .back-link a {
	display: inline-block;
	min-width: 240px;
	box-sizing: border-box;
	color: #fff;
	background: #0063b1;
	text-align: center;
	letter-spacing: 1px;
	line-height: 3.8rem;
	border: solid 1px #0063b1;
	border-radius: 2rem;
	padding: 0 20px 0 40px;
	transition: all .2s;
}

.post-nav .back-link a::after {
	display: inline-block;
	content: url( img/common/arrow-01-w.png );
	margin-left: 15px;
	vertical-align: middle;
	transition: all .2s;
}

.post-nav .back-link a:hover {
	color: #fff;
	background: #0081e3;
}

.post-nav .back-link a:hover::after {
	content: url( img/common/arrow-01-w.png );
	transform: translateX( 5px );
}

.kanren {
	margin-top: 60px;
}

.kanren h2 {
	font-size: 2.4rem;
	font-weight: normal;
	color: #0063b1;
	background: url( img/common/icon-note.png ) left 12px no-repeat;
	padding: 10px 0 10px 35px;
	margin-bottom: 5px;
}

.kanren-list {
	background: #f0f6fc;
	border-top: solid 1px #0081e3;
	padding: 10px;
}

.kanren-post {
	width: 33.3333%;
	padding: 10px;
	box-sizing: border-box;
}

.kanren-post a {
	display: block;
	height: 100%;
	text-align: center;
	background: #fff;
	position: relative;
	transition: all .2s;
}

.kanren-post a:hover {
	background: #0063b1;
	color: #fff;
}

.kanren-post a::after {
	content: '';
	width: 0;
	height: 0;
	border: solid 4px transparent;
	border-right-color: #05b7f2;
	border-bottom-color: #05b7f2;
	position: absolute;
	right: 3px;
	bottom: 3px;
}

.kanren-post .ttl {
	padding: 5px 10px 15px;
}

.author {
	background: #f0f6fc;
	padding: 20px;
	margin: 30px 0;
}

.author .img {
	width: 150px;
}

.author .txtbox {
	flex: 1;
	padding: 0 0 0 28px;
	margin: 10px 0 0;
}

.author .author-ttl {
	font-size: 2rem;
	color: #0063b1;
	font-weight: normal;
	padding: 0 0 1rem;
}

.author .author-ttl::before {
    content: '';
    display: inline-block;
    width: .7rem;
    height: .7rem;
    border: solid 3px #05ade6;
    border-radius: 50%;
    margin-right: 8px;
}

.author .txt {
	font-size: 1.6rem;
	line-height: 2.3;
}

/* archive */

#blog.archive .post-list {
	justify-content: space-between;
}

#blog.archive .post-list .post {
	width: 48%;
	border: solid 1px #e5e5e5;
	margin-bottom: 30px;
	position: relative;
}

#blog.archive .post-list .cat-list {
	position: absolute;
	left: 0;
	top: 0;
	line-height: .8;
}

#blog.archive .post-list .cat-list a {
	border: none;
	border-radius: 0;
	padding: 10px 20px;
	font-size: 1.4rem;
}

#blog.archive .post-list figure {
	text-align: center;
}

#blog.archive .post-list figure img {
	width: 100%;
}

#blog.archive .post-list .txt {
	padding: 10px 20px 20px;
	text-align: center;
}

#blog.archive .post-list h2 {
	margin-bottom: 5px;
}

#blog.archive .post-list h2 a {
	font-size: 2rem;
	font-weight: normal;
	color: #0063b1;
}

#blog.archive .post-list h2 a:hover {
	text-decoration: underline;
}

#blog.archive .post-list .excerpt {
	margin-bottom: 15px;
	text-align: left;
}

.page-nav {
	text-align: center;
	margin: 40px 0;
}

#blog .wp-pagenavi a,
#blog .wp-pagenavi span,
#medical .wp-pagenavi a,
#medical .wp-pagenavi span {
	border: none;
	margin: 0 5px;
	padding: 0;
	color: #333;
}

#blog .wp-pagenavi .current,
#blog .wp-pagenavi .page,
#medical .wp-pagenavi .current,
#medical .wp-pagenavi .page {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	box-sizing: border-box;
	border-radius: 50%;
	text-align: center;
	background: #ccc;
	color: #fff;
	transition: all .2s;
}

#blog .wp-pagenavi a:hover,
#blog .wp-pagenavi span.current,
#medical .wp-pagenavi a:hover,
#medical .wp-pagenavi span.current {
	background: #0063b1;
	font-weight: normal;
}


/*
----------------------------------------
medical
----------------------------------------
*/

#medical #page-ttl {
	background: url( img/page/ttl-bg-medical.png ) center center / cover no-repeat;
}

#medical #main-contents section {
	margin-bottom: 60px;
}

#medical .cause p,
#medical .treatment p {
	margin-bottom: 40px;
}

#medical .symptom .flex {
	width: 100%;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

#medical .symptom .flex figure {
	width: 50%;
	padding: 0 5px;
	box-sizing: border-box;
	text-align: center;
	margin-bottom: 10px;
}

#medical .symptom .flex figure:nth-of-type( 2n + 1 ) {
	padding-left: 0;
}

#medical .symptom .flex figure:nth-of-type( 2n ) {
	padding-right: 0;
}

#medical .symptom ul {
	border: solid 5px #ebebeb;
	padding: 20px 30px;
}


#medical .symptom li {
	line-height: 1.6;
	padding: 5px 0 5px 15px;
	position: relative;
}

#medical .symptom li::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	background: #0063b1;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 15px;
}

#medical .inspection .flex  {
	margin-bottom: 30px;
}

#medical .inspection figure {
	width: 40%;
	padding-right: 20px;
	box-sizing: border-box;
}

#medical .inspection .txt {
	width: 100%;
}

#medical .inspection figure + .txt {
	width: 60%;
}

#medical .inspection .flex:nth-of-type( even ) {
	flex-direction: row-reverse;
}

#medical .inspection .flex:nth-of-type( even ) figure {
	padding: 0 0 0 20px;
	text-align: right;
}

#medical .measures .flex  {
	margin-bottom: 30px;
}

#medical .measures figure {
	width: 30%;
	padding-right: 20px;
	box-sizing: border-box;
}

#medical .measures figure + .txt {
	width: 70%;
}

#medical .measures .flex:nth-of-type( even ) {
	flex-direction: row-reverse;
}

#medical .measures .flex:nth-of-type( even ) figure {
	padding: 0 0 0 20px;
	text-align: right;
}


#medical .kanren h2 {
	background: url( img/common/icon-medical.png ) left 12px no-repeat;
}


/* archive */

#medical .term-contents {
	margin-bottom: 40px;
}

#medical .term-contents p {
	margin-bottom: 15px;
}

#medical .rank {
	margin-bottom: 30px;
}

#medical .rank .flex figure {
	width: 35%;
	position: relative;
}

#medical .rank .flex figure img {
	width: 100%;
}

#medical .rank .rank-num {
	display: inline-block;
	width: 50px;
	height: 50px;
	line-height: 50px;
	background: #ffa816;
	color: #fff;
	text-align: center;
	font-family: 'Roboto', serif;
	border-radius: 50%;
	position: absolute;
	left: -10px;
	top: -10px;
}

#medical .rank .rank-num span {
	font-size: 2rem;
}

#medical .rank .flex .txt {
	width: 65%;
	padding-left: 30px;
	box-sizing: border-box;
}

#medical .rank:nth-child( odd ) .flex {
	flex-direction: row-reverse;
}

#medical .rank:nth-child( odd ) .flex .txt {
	padding: 0 30px 0 0;
}

#medical .post-list {
	background: #f0f6fc;
	padding: 20px 20px 5px;
	justify-content: space-between;
}

#medical .post-list .post {
	width: calc( 50% - 10px );
	box-sizing: border-box;
	border: solid 2px #0063b1;
	background: #fff;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

#medical .post-list h3 {
	text-align: center;
	padding: 10px;
	border-bottom: solid 1px #c9deee;
	margin-bottom: 20px;
}

#medical .post-list h3 a {
	font-size: 2rem;
	letter-spacing: 3px;
	color: #0063b1;
}

#medical .post-list h3 a:hover {
	text-decoration: underline;
}

#medical .post-list figure {
	padding: 0 20px;
	text-align: center;
}

#medical .post-list .excerpt {
	font-size: 1.4rem;
	padding: 0 20px;
	margin: 15px 0;
}

#medical .post-list .btn-02 {
	text-align: center;
	margin: 10px 0;
}
