@charset "UTF-8";
/* CSS Document */

@font-face {
  font-family: "Lato";
  src: url('/font/lato-italic.woff2') format("woff2");
	src: url('/font/lato-italic.woff') format("woff");
  src: url('/font/lato-italic.ttf') format("truetype");
  font-weight: 400;
}
@font-face {
 font-family: "Lato";
	src: url('/font/lato-bolditalic.woff2') format("woff2");
	src: url('/font/lato-bolditalic.woff') format("woff");
  src: url('/font/lato-bolditalic.ttf') format("truetype");
	font-weight: 700;
}

/* ==========================================================
 body
========================================================== */
html, body {
	position: relative;
}
body {
	line-height: 1.75;
	padding-top: 234px;
	font-size: 16px;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	color: #666;
	text-align: justify;
}
body,
h1, h2, h3, h4, h5, h6 {
	font-weight: 300;
}
img {
	max-width: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
}
a {
	color: #00a582;
	text-decoration: none;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
a:hover,
a:hover img {
	opacity: 0.7;
}
.target:before {
	content: "";
	display: block;
	height: 81px;
	margin-top: -81px;
}
iframe {
	display: block;
	width: 100%;
	border: none;
}
.movie-box {
	position: relative;
	width: 100%;
	height: 0;
}
.movie-box iframe {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}

/* ==========================================================
 header / footer
========================================================== */
.header-in,
.header-nav,
.footer-info {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.header-info,
.header-nav,
.footer-info {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* header
---------------------------------------------------------- */
.header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 40px;
	border-bottom: 1px solid #00a582;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	background: #fff;
	z-index: 100;
}
.header-info h1 {
	width: 382px;
	height: 100px;
	margin-top: 10px;
}
.header-info h1 .logo-s {
	display: none;
}
.header-info > div {
	width: 340px;
}
.header .other-link {
	margin-bottom: 10px;
	line-height: 18px;
	font-size: 0;
	text-align: right;
}
.header .other-link a {
	display: inline-block;
	margin-left: 22px;
	font-size: 12px;
}
.header .other-link .link-fb {
	width: 18px;
	height: 18px;
}
.header .table-day {
	font-size: 12px;
}
.header .table-day th,
.header .table-day td {
	width: 30px;
	padding: 8px 0;
	/*line-height: 28px;*/
}
.header .table-day td img {
	width: 14px;
	height: 14px;
}
.header-nav {
	height: 76px;
}
.header-contact .link-tel,
.header-contact .link-reserve {
	float: left;
}
.header-contact {
	clear: both;
	overflow: hidden;
	margin-top: 15px;
}
.header-contact .link-tel {
	line-height: 26px;
	margin-right: 10px;
	padding-left: 25px;
	color: inherit;
	font-size: 24px;
	font-weight: 500;
}
.header-contact .link-tel:before {
	width: 20px;
	height: 28px;
	background: url("../img/ico_tel_01.svg") no-repeat;
	background-size: contain;
}
.header-contact .link-reserve {
	width: 137px;
	height: 26px;
	line-height: 26px;
	font-size: 12px;
	font-weight: 500;
	border-radius: 12px;
}
.header-contact .link-reserve:before {
	top: 4px;
	width: 18px;
	height: 18px;
	margin-right: 4px;
}
.header-nav .header-menu {
	font-size: 0;
}
.header-menu a,
.header-menu span {
	display: block;
	font-size: 14px;
}
.header-menu a:hover {
	opacity: 1;
}
.header-menu span:hover {
	cursor: pointer;
}
.header-menu .menu-01 {
	display: inline-block;
	position: relative;
	height: 76px;
	margin: 0 10px;
}
.header-menu .menu-01:last-child {
	margin-right: 0;
}
.header-menu .menu-01 > a,
.header-menu .menu-01 > span {
	height: 60px;
	padding-top: 16px;
	color: inherit;
}
.header-menu .menu-01 > a:before,
.header-menu .menu-01 > span:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 32px;
	width: 100%;
	border-bottom: 2px solid #fff;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
.header-menu .menu-01:hover > a:before,
.header-menu .menu-01:hover > span:before {
	border-color: #ec4636;
}
.header-menu .menu-02 {
	position: absolute;
	top: 56px;
	/*top: 77px;*/
	width: 270%;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	visibility: hidden;
	opacity: 0;
	background: #00a582;
	z-index: 200;
}
.header-menu .menu-02 a {
	padding: 5px 18px;
	color: #fff;
}
.header-menu .menu-02 li:first-child a {
	padding-top: 10px;
}
.header-menu .menu-02 li:last-child a {
	padding: 5px 18px 10px 18px;
}
.header-menu .menu-02 a:hover {
	color: #bde0c4;
}
.header-menu .menu-01.active .menu-02 {
	top: 77px;
	visibility: visible;
	opacity: 1;
}
.header-menu .menu-03 a {
	padding-left: calc(2em + 18px);
}
.header-mini {
	position: fixed;
	top: -192px;
	padding: 0;
}
.header-mini .header-in {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
.header-mini .header-nav,
.header-mini .header-menu .menu-01,
.header-mini .header-menu .menu-01 > a,
.header-mini .header-menu .menu-01 > span {
	height: 70px;
}
.header-mini .header-info h1 {
	width: 50px;
	height: 50px;
	margin: 10px 0;
}
.header-mini .header-info h1 .logo-l,
.header-mini .header-info > div {
	display: none;
}
.header-mini .header-info h1 .logo-s {
	display: block;
}
.header-mini .header-contact {
	margin: 22px 10px 0 0;
}
.header-mini .header-contact .link-tel {
	line-height: 20px;
	margin-top: 3px;
	padding-left: 20px;
	font-size: 20px;
}
.header-mini .header-contact .link-tel:before {
	width: 15px;
	height: 20px;
}
.header-mini .header-nav {
	width: auto;
}
.header-mini .header-menu .menu-01 > a,
.header-mini .header-menu .menu-01 > span {
	padding: 0;
	line-height: 70px;
}
.header-mini .header-menu .menu-01 > a:before,
.header-mini .header-menu .menu-01 > span:before {
	bottom: 15px;
}
.header-mini .header-menu .menu-01.active .menu-02 {
	top: 70px;
}

/* footer
---------------------------------------------------------- */
.footer-contact {
	margin: 120px 0 80px;
	background: #f4faf8;
}
.footer-contact-in {
	position: relative;
	width: 1000px;
	height: 120px;
	margin: 0 auto;
}
.footer-contact h2,
.footer-contact h2:before,
.footer-contact .link-tel,
.footer-contact .link-reserve {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.footer-contact h2 {
	left: 0;
	padding-right: 32px;
	font-size: 20px;
	font-weight: 500;
}
.footer-contact h2:before {
	content: "";
	display: block;
	right: 0;
	width: 22px;
	height: 22px;
	background: url("../img/ico_arrow_01.svg") no-repeat;
	background-size: contain;
}
.footer-contact .link-tel {
	right: 300px;
	padding-left: 35px;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: -0.4px;
}
.footer-contact .link-tel:before {
	width: 28px;
	height: 40px;
	background: url("../img/ico_tel_01.svg") no-repeat;
	background-size: contain;
}
.footer-contact .link-reserve {
	right: 0;
	width: 265px;
	height: 40px;
	line-height: 40px;
	font-size: 18px;
	border-radius: 18px;
}
.footer-contact .link-reserve:before {
	top: 6px;
	width: 24px;
	height: 24px;
	margin-right: 8px;
}
.footer-contact .only-en,
.footer-contact .only-en a {
	color: #ec4636;
	font-weight: 500;
}
.footer-contact .only-en {
	line-height: 120px;
	font-size: 28px;
	text-align: center;
}
.footer-contact .only-en a {
	display: inline-block;
	margin-left: 60px;
	font-size: 40px;
	text-decoration: underline;
}
.footer-info div:last-child {
	width: 430px;
}
.footer-info h1 {
	margin-bottom: 15px;
}
.footer-info h1 img {
	width: 100%;
	height: 110px;
}
.footer-info .link-tel {
	color: inherit;
	padding-left: 20px;
}
.footer-info .link-tel:before {
	width: 15px;
	height: 20px;
	background: url("../img/ico_tel_02.svg") no-repeat;
	background-size: contain;
}
.footer-info h2 {
	margin: 20px 0 10px;
}
.footer-info .table-day {
	font-size: 14px;
}
.footer-info .table-day th,
.footer-info .table-day td {
	width: 40px;
	padding: 10px 0;
	/*line-height: 38px;*/
}
.footer-info .table-day td img {
	width: 16px;
	height: 16px;
}
.footer-copy {
	margin-top: 60px;
	padding: 120px 0 260px;
	color: #fff;
	font-weight: 200;
	text-align: center;
	background: #00a582;
}

.ico-hat:before {
	background-image: url(../img/ico_hat_01.svg);
}
.ico-karte-01:before {
	background-image: url(../img/ico_karte_01.svg);
}
.ico-karte-02:before {
	background-image: url(../img/ico_karte_02.svg);
}
.ico-karte-03:before {
	background-image: url(../img/ico_karte_03.svg);
}
.ico-spine:before {
	background-image: url(../img/ico_spine_01.svg);
}
.ico-voice:before {
	background-image: url(../img/ico_voice_01.svg);
}
.ico-access:before {
	background-image: url(../img/ico_access_01.svg);
}

/* ==========================================================
 area / section
========================================================== */
/* area
---------------------------------------------------------- */
.area-cmn-01,
.area-cmn-03,
.area-cmn-02-in {
	margin-left: auto;
	margin-right: auto;
}
.area-cmn-01,
.area-cmn-02-in {
	width: 1000px;
}
.area-cmn-02 {
	width: 100%;
}
.area-cmn-03 {
	width: 820px;
}

/* section
---------------------------------------------------------- */
.sec-cmn-01 {
}
.sec-cmn-01 + section {
	margin-top: 100px;
}
.sec-cmn-01 + .sec-cmn-01 {
	margin-top: 90px;
}
.sec-cmn-in-40 {
	margin-left: 40px;
}
.sec-cmn-in-80 {
	margin-left: 80px;
}
.sec-cmn-02 + .sec-cmn-02 {
	margin-top: 80px;
	padding-top: 80px;
	border-top: 3px solid #e8f5f1;
}
.sec-cmn-03 + .sec-cmn-03 {
	margin-top: 60px;
}

/* ==========================================================
 その他汎用パーツ
========================================================== */
/* ttl
---------------------------------------------------------- */
.ttl-cmn-01-1,
.ttl-cmn-01-2,
.ttl-cmn-02,
.ttl-cmn-03,
.ttl-cmn-04,
.ttl-cmn-05,
.ttl-cmn-07,
.ttl-cmn-08,
.ttl-cmn-09,
.ttl-cmn-10 {
	font-weight: 500;
}
.ttl-cmn-01-1,
.ttl-cmn-01-2 {
	margin-bottom: 40px;
	font-size: 24px;
}
.ttl-cmn-01-1,
.ttl-cmn-07,
.ttl-cmn-08 {
	color: #00a582;
}
.ttl-cmn-03,
.ttl-cmn-04,
.ttl-cmn-09 {
	font-size: 18px;
}
.ttl-cmn-02,
.ttl-cmn-07,
.ttl-cmn-10 {
	font-size: 20px;
}
.ttl-cmn-02 {
	margin: 60px 0 30px;
	color: #ec4636;
}
.ttl-cmn-03 {
	margin-bottom: 25px;
	color: #0071b9;
}
.ttl-cmn-04 {
	margin-bottom: 10px;
}
.ttl-cmn-06 {
	margin-bottom: 30px;
	text-decoration: underline;
}
.ttl-cmn-08 {
	margin: 55px 0 15px;
}
.ttl-main-01 {
	position: relative;
	height: 360px;
	margin: 5px 0 60px;
	line-height: 1;
	color: #005841;
	font-size: 30px;
	font-weight: 500;
	background: #ccc;
	background-position: top center;
	background-size: cover;
}
.ttl-main-01:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 100%;
	height: 120px;
	background: rgba(255,255,255,0.6);
	transform: translateY(-50%);
}
.ttl-main-01 .ttl-main-01-in {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1000px;
	transform: translate(-50%, -50%);
}
.ttl-main-01 .ttl-main-01-in span {
	display: block;
	margin-top: 10px;
	font-size: 24px;
	font-weight: 300;
}
.ttl-main-02-1,
.ttl-main-02-2 {
	position: relative;
	margin: 5px 0 66px;
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	text-shadow: 3px 3px 1px rgba(0,0,0,0.2);
	background: url(../img/mainimg_cmn_01.png) repeat-x #00a582;
}
.ttl-main-02-1 {
	line-height: 120px;
}
.ttl-main-02-2 {
	padding: 18px 0;
	line-height: 1.4;
}
.ttl-main-02-in {
	display: block;
	width: 1000px;
	margin: 0 auto;
}
.ttl-main-02-1:after,
.ttl-main-02-2:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -6px;
	width: 100%;
	border-bottom: 1px solid #00a582;
}
.ttl-main-02-in span {
	display: block;
}
.ttl-arrow-01 {
	position: relative;
	margin-top: 40px;
	padding-left: 40px;
	color: #00a582;
	font-size: 18px;
	font-weight: 500;
}
.ttl-arrow-01:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 30px;
	height: 30px;
	background: url(../img/ico_arrow_05.svg) no-repeat left top;
	transform: translateY(-50%);
}
.fee .ttl-main-01 {
	background-image: url(../img/fee_mainimg.jpg);
}
.access .ttl-main-01 {
	background-image: url(../img/access_mainimg2.jpg);
}
.visitor-faq .ttl-main-01 {
	background-image: url(../img/visitor/faq_mainimg.jpg);
}
.access .ttl-main-01:before,
.visitor-faq .ttl-main-01:before {
	background: rgba(255,255,255,0.6);
}

/* txt
---------------------------------------------------------- */
.txt-cmn-01 {
	margin-bottom: 15px;
}
.txt-cmn-02 {
	margin-bottom: 30px;
}
.txt-cmn-03 {
	margin-bottom: 40px;
}
.txt-cmn-04 {
	margin-bottom: 60px;
}
.txt-indent {
	text-indent: 1em;
}
.txt-uline {
	text-decoration: underline;
}
.txt-notes-01 {
	margin-top: 5px;
	font-size: 12px;
	text-align: right;
}
.txt-color-01 {
	color: #00a582;
}
.txt-color-02 {
	color: #ec4636;
}
.txt-color-03 {
	color: #ec4636;
	text-decoration: underline;
}

/* img
---------------------------------------------------------- */
.img-cmn-01 {
	display: block;
}

/* link
---------------------------------------------------------- */
.link-cmn-01 {
	color: #666;
}
.link-cmn-02 {
	color: #eb4636;
}
.link-more-01 {
	margin-top: 5px;
	line-height: 1;
	font-size: 14px;
	text-align: right;
}
.link-more-01 a:before,
a span.link-more-01:before {
	content: "";
	display: inline-block;
	position: relative;
	top: 1px;
	width: 12px;
	height: 12px;
	padding-right: 0.5em;
	background: url(../img/ico_arrow_02.svg) no-repeat left;
}
.link-logo:hover,
.link-logo:hover img,
.link-noopimg:hover,
.link-noopimg:hover img,
.link-tel:hover {
	opacity: 1;
}
.link-fb img {
	width: 100%;
	height: 100%;
}
.link-tel {
	position: relative;
}
.link-tel:before {
	content: "";
	display: block;
	position: absolute;
	top: 54%;
	left: 0;
	transform: translateY(-50%);
}
.link-reserve {
	display: block;
	color: #fff;
	position: relative;
	text-align: center;
	background: #ec4636;
}
.link-reserve:before {
	content: "";
	display: inline-block;
	position: relative;
	background: url("../img/ico_mail_01.svg") no-repeat;
	background-size: contain;
}
.link-print {
	font-size: 12px;
	text-decoration: underline;
}
.link-print:before {
	content: "";
	display: inline-block;
	position: relative;
	top: 5px;
	width: 18px;
	height: 18px;
	margin-right: 6px;
	background: url("../img/ico_print_01.svg") no-repeat;
	background-size: contain;
}

/* list
---------------------------------------------------------- */
.list-cmn-01 li {
	margin-bottom: 10px;
	line-height: 1.25;
}
.list-decimal-01 {
	margin: 5px 0 20px 2.5em;
}
.list-decimal-01 li {
	list-style: decimal;
	color: #00a582;
	font-weight: 500;
}
.list-dot-01 {
	margin-left: 2.5em;
}
.list-dot-01 li {
	list-style: disc;
}
.list-arrow-01 {
	margin-bottom: 5px;
}
.list-arrow-01:before,
.list-check-01 li:before,
.list-check-02 li:before {
	content: "";
	display: inline-block;
	background: no-repeat left;
}
.list-arrow-01:before {
	position: relative;
	top: 6px;
	width: 24px;
	height: 24px;
	background-image: url(../img/ico_arrow_04.svg);
}
.list-check-01 {
	color: #00a582;
	font-size: 18px;
	font-weight: 500;
}
.list-check-01 li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 40px;
}
.list-check-01 li:before {
	position: absolute;
	top: 3px;
	left: 0;
	width: 30px;
	height: 30px;
	background-image: url(../img/ico_check_01.svg);
}
.list-check-02 {
	margin: 30px 0 40px 50px;
}
.list-check-02 li {
	position: relative;
	margin-bottom: 10px;
	list-style: decimal;
	font-weight: 500;
}
.list-check-02 li:before {
	position: absolute;
	top: -2px;
	left: -32px;
	width: 36px;
	height: 36px;
	background-image: url(../img/ico_check_02.svg);
}

/* table
---------------------------------------------------------- */
.table-scroll-box {
	margin-bottom: 30px;
}
table[class^="table-cmn-"] th,
table[class^="table-cmn-"] td {
	border: 2px solid #fff;
}
table[class^="table-cmn-"] th {
	background: #cdede6;
}
table[class^="table-cmn-"] th:not(:first-child),
table[class^="table-cmn-"] td {
	padding: 10px 0;
	text-align: center;
}
table[class^="table-cmn-"] th:first-child,
table[class^="table-cmn-"] th.s-ta-l {
	padding: 10px 30px;
	border-left: none;
}
table[class^="table-cmn-"] tr:first-child th,
table[class^="table-cmn-"] tr:first-child td {
	border-top: none;
}
table[class^="table-cmn-"] td {
	background: #ebf8f5;
}
.table-cmn-02 {
	width: 100%;
}
.table-cmn-03 {
	width: 550px;
}
.table-cmn-04 {
	width: 910px;
}
.table-cmn-05 {
	width: 740px;
}
table .txt-table-00,
table .txt-table-01 {
	margin-left: 5px;
	font-size: 12px;
	vertical-align: text-top;
}
table .txt-table-00 {
	color: #ebf8f5;
}
table .txt-table-02 {
	font-size: 14px;
}
table .w-120 {
	width: 120px;
}
table .w-150 {
	width: 150px;
}
table .w-200 {
	width: 200px;
}
table .w-230 {
	width: 230px;
}
table .w-250 {
	width: 250px;
}
table .w-550 {
	width: 550px;
}
.table-day {
	width: 100%;
	color: #00a582;
	background: #e9f4f1;
	table-layout: fixed;
}
.table-day thead {
	border-bottom: 1px solid #fff;
}
.table-day th,
.table-day td {
	line-height: 1;
	text-align: center;
	box-sizing: content-box;
}
.table-day th:first-child,
.table-day td:first-child {
	width: 100px !important;
	padding: 0 10px;
}
.table-day th:last-child,
.table-day td:last-child {
	padding-right: 10px;
}
.table-day td img {
	vertical-align: top;
}
/*.table-day .table-day-satur {
	font-size: 120%;
}*/

/* box
---------------------------------------------------------- */
.box-notes {
	position: relative;
	padding: 40px 30px;
	border: 4px solid #00a582;
}
.box-notes h3 {
	position: absolute;
	top: -10px;
	left: 40px;
	padding: 0 10px;
	line-height: 1;
	font-size: 18px;
	font-weight: 500;
	background: #fff;
}
.box-notes-ttl-01 {
	color: #ec4636;
}
.box-notes-ttl-02 {
	color: #666;
}
.box-notes-ttl-03 {
	color: #00a582;
}
.box-notes-ttl-01:before,
.box-notes-ttl-02:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -5px;
	width: calc(100% - 20px);
	border-bottom: 2px solid;
}
.box-notes-ttl-01:before {
	border-color: #ec4636;
}
.box-notes-ttl-02:before {
	border-color: #00a582;
}
.flex {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}

.box-color-01 {
	padding: 30px;
	background: #e8f5f1;
}
.box-color-01 + .box-color-01 {
	margin-top: 20px;
}

/* btn
---------------------------------------------------------- */
.btn-cmn-01 a {
	display: block;
	width: 200px;
	margin: 60px auto 0;
	line-height: 50px;
	color: #fff;
	font-size: 18px;
	text-align: center;
	background: #00a582;
	border-radius: 25px;
}

/* modal
---------------------------------------------------------- */
.lock {
	position: fixed;
	width: 100%;
}
.modal-content {
	overflow: auto;
	position: relative;
	display: none;
	width: 800px;
	max-height: 90%;
	margin: 30px;
	padding: 40px 50px 0;
	background: #fff;
}
.modal-content:after {
	content: "";
	display: block;
	height: 40px;
}
.modal-content h4 {
	margin-bottom: 20px;
	font-size: 20px;
}
.modal-overlay,
.modal-wrap {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
.modal-overlay {
	height: 120%;
	z-index: 300;
	background-color: rgba(0,0,0,0.2);
}
.modal-wrap {
	height: 100%;
	z-index: 400;
}
.modal-close-01,
.modal-close-02 {
	cursor: pointer;
}
.modal-close-01 {
	position: absolute;
	right: 50px;
	top: 40px;
	line-height: 1;
	color: #ccc;
	font-size: 24px;
}
.modal-close-02 {
	float: right;
	padding: 0 20px;
	line-height: 40px;
	color: #00a582;
	font-weight: 500;
	border: 2px solid #00a582;
}

/* ==========================================================
 staff.html
========================================================== */
.staff .staff-box-01,
.staff .staff-box-02 {
	clear: both;
	overflow: hidden;
	margin-bottom: 60px;
}
.staff .staff-box-01 h3,
.staff .staff-box-01 ul,
.staff .staff-box-01 p {
	padding-left: 480px;
}
.staff .staff-box-01 .ttl-cmn-01-1 {
	margin: -10px 0 10px;
}
.staff .ttl-cmn-01-1 span {
	font-size: 18px;
}
.staff .staff-box-01 img {
	float: left;
	display: block;
	width: 440px;
}
.staff .staff-box-02-in {
	float: right;
	width: 580px;
	margin: 0 0 20px 40px;
	text-align: right;
}
.staff .staff-box-02-in + p {
	margin-top: -6px;
}
.staff .staff-box-02 .ttl-cmn-01-1 {
	margin: 30px 0 10px;
}

/* ==========================================================
 fee.html
========================================================== */
.fee .ttl-cmn-02 {
	margin-left: 40px;
}

/* ==========================================================
 access.html
========================================================== */
.access .contents iframe {
	height: 400px;
	margin: 40px 0 50px;
}
.access .contents iframe + p,
.access .contents iframe + p + p,
.access .contents iframe + p + p + p,
.access .contents iframe + p + p + p + p {
	text-align: center;
}

/* ==========================================================
 jac.html
========================================================== */
.jac .movie-box {
	display: block;
	width: 640px;
	margin-top: 20px;
	padding-bottom: 37.55%;
}
.jac .txt-color-01 {
	margin-top: 70px;
}

/* ==========================================================
 visitor/
========================================================== */
/* hope.html
---------------------------------------------------------- */
.visitor-hope section {
	clear: both;
	overflow: hidden;
}
.visitor-hope h3 {
	margin-bottom: 20px;
}
.visitor-hope p + h3 {
	margin-top: 50px;
}
.visitor-hope section:nth-of-type(1) img {
	float: left;
	width: 280px;
	margin-right: 40px;
}
.visitor-hope section:nth-of-type(2) img {
	float: right;
	width: 480px;
	margin: 0 0 30px 40px;
}
.visitor-hope section img + p {
	margin-top: -6px;
}
.visitor-hope .txt-color-01 span {
	display: block;
	font-size: 20px;
	font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W7", "Hiragino Mincho ProN W7", HiraMinProN-W7, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: 700;
}
.visitor-hope .txt-color-01 span:nth-of-type(1) {
	text-indent: 5em;
}
.visitor-hope .txt-color-01 span:nth-of-type(2) {
	text-indent: 6em;
}
.visitor-hope .txt-color-01 span:nth-of-type(3) {
	text-indent: 7em;
}
.visitor-hope .txt-color-01 span:nth-of-type(4) {
	text-indent: 8em;
}

/* why.html
---------------------------------------------------------- */
.visitor-why .ttl-main-02 {
	margin-bottom: 16px;
}
.visitor-why h3 {
	height: 180px;
	padding-top: 50px;
	line-height: 1.4;
	color: #2e318f;
	font-size: 26px;
	font-weight: 500;
	background: url(../img/visitor/img_why_01.png) no-repeat top 0 right 95px;
	background-size: 143px;
}
.visitor-why h3 span {
	color: #ec4636;
	font-size: 40px;
}
.visitor-why h4 {
	margin-bottom: 50px;
	line-height: 60px;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
	background: #ec4636;
}
.visitor-why h5 {
	margin-bottom: 10px;
}
.visitor-why ol {
	margin-bottom: 110px;
}
.visitor-why ol li + li {
	margin-top: 60px;
}

/* spine.html
---------------------------------------------------------- */
.visitor-spine .ttl-cmn-07,
.en .ttl-cmn-07 {
	position: relative;
	margin-bottom: 20px;
	padding-left: 46px;
}
.visitor-spine .ttl-cmn-07:before,
.en .ttl-cmn-07:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	display: block;
	width: 36px;
	height: 36px;
	background-size: contain;
	transform: translateY(-50%);
}
.visitor-spine .ttl-cmn-07 + img {
	margin-bottom: 50px;
}
.visitor-spine section h4 {
	margin: 55px 0 35px;
	font-size: 20px;
}
.spain-list {
	display: flex;
	justify-content: space-between;
}
.spain-list li {
	width: 188px;
	padding-bottom: 20px;
	line-height: 1;
	text-align: center;
	border: 6px solid #eef9f7;
}
.spain-list a {
	display: block;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}
.spain-list li img {
	display: block;
	width: 114px;
	margin: 40px auto 50px;
}
.spain-list li.none {
	border-color: #f5f5f5;
	color: #ccc;
}
.spain-list li.none img {
	opacity: 0.3;
}

/* flow.html
---------------------------------------------------------- */
.visitor-flow section ol {
	margin-top: 80px;
}
.visitor-flow section li {
	clear: both;
	overflow: hidden;
	margin-bottom: 50px;
}
.visitor-flow section li h3 {
	margin-bottom: 20px;
}
.visitor-flow section li img {
	float: left;
	width: 540px;
	margin-right: 40px;
}

/* faq.html
---------------------------------------------------------- */
.visitor-faq section ul {
	margin: 0 20px 0 2em;
	line-height: 2;
	color: #00a582;
}
.visitor-faq section ul li {
	text-indent: -1.5em;
  padding-left: 1.5em;
}
.visitor-faq section ul li:before {
	content: "Q. ";
	display: inline-block;
	width: 1.5em;
	text-indent: 0;
}
.visitor-faq .sec-faq + .sec-faq {
	margin-top: 30px;
}
.visitor-faq .sec-faq h3,
.visitor-faq .sec-faq div {
	position: relative;
}
.visitor-faq .sec-faq h3 {
	padding: 15px 20px 15px 60px;
	color: #00a582;
	font-size: 18px;
	border: 1px solid #eee;
	background: #e8f5f1;
}
.visitor-faq .sec-faq h3:before,
.visitor-faq .sec-faq div:before {
	position: absolute;
	left: 15px;
	display: block;
	width: 30px;
	height: 30px;
	line-height: 27px;
	border-radius: 15px;
	text-align: center;
}
.visitor-faq .sec-faq h3:before {
	content: "Q";
	top: 15px;
	color: #fff;
	background: #00a582;
}
.visitor-faq .sec-faq div:before {
	content: "A";
	top: 20px;
	font-weight: 500;
	background: #f2f2f2;
}
.visitor-faq .sec-faq div {
	padding: 20px 20px 20px 60px;
	border: 1px solid #eee;
	border-top: none;
}

/* ==========================================================
 voice.html
========================================================== */
.voice-list a {
	position: relative;
	display: block;
	width: 320px;
	height: 320px;
	color: inherit;
	text-align: center;
	cursor: pointer;
	background: url(../img/voice/voice_bg.png) no-repeat;
	background-size: contain;
}
.voice-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.voice-list li {
	margin-bottom: 20px;
}
.voice-list a span {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 250px;
	transform: translate(-50%, -50%);
}
.voice-list a h3,
.voice-list a .voice-title {
	font-weight: 500;
}
.voice-list a h3 {
	margin-bottom: 10px;
	font-size: 18px;
}
.voice-list a .voice-post {
	margin-bottom: 30px;
	font-size: 14px;
}
.voice .modal-content > p:last-of-type,
.voice .modal-content-in {
	clear: both;
	overflow: hidden;
}
.voice .modal-content {
	width: 700px;
	padding-top: 70px;
}
.voice .modal-content-in {
	margin-bottom: 40px;
}
.voice .modal-content img {
	float: right;
	width: 200px;
	margin-left: 40px;
}
.voice .modal-content h3,
.voice .modal-content .voice-title {
	font-size: 20px;
	font-weight: 500;
}
.voice .modal-content h3 {
	margin-bottom: 20px;
}
.modal-content h4.voice-name {
	margin: 40px 0 0;
	font-size: 16px;
	font-weight: 500;
}
.modal-content h4.voice-name + .voice-post {
	margin-bottom: 30px;
}
.voice .modal-content .voice-title {
	margin-top: 40px;
}
.voice .modal-overlay {
	background-color: rgba(115,171,71,0.3);
}
.voice .modal-content > p:last-of-type {
	margin-top: 30px;
}

/* ==========================================================
 symptoms.html
========================================================== */
.symptoms .symptoms-box-01,
.symptoms .symptoms-box-02,
.symptoms .symptoms-box-03 {
	clear: both;
	overflow: hidden;
}
.symptoms .symptoms-box-01,
.symptoms .symptoms-box-02 {
	margin: 30px 0 50px;
}
.symptoms .symptoms-box-03 {
	margin-top: 30px;
}
.symptoms .symptoms-box-01 img,
.symptoms .symptoms-box-02 div,
.symptoms .symptoms-box-03 img {
	width: 460px;
}
.symptoms .symptoms-box-01 img,
.symptoms .symptoms-box-02 div {
	float: left;
}
.symptoms .symptoms-box-03 div {
	float: right;
	width: 500px;
	margin-left: 40px;
}
.symptoms .symptoms-box-03 img + p {
	margin-top: 40px;
}
.symptoms .symptoms-box-01 .ttl-cmn-09,
.symptoms .symptoms-box-01 .list-check-01,
.symptoms .symptoms-box-02 .ttl-cmn-09,
.symptoms .symptoms-box-02 .list-check-01 {
	padding-left: 500px;
}
.symptoms .ttl-cmn-09 {
	margin-bottom: 30px;
}
.symptoms .box-notes,
.symptoms .box-notes-02 {
	margin-top: 50px;
}

/* ==========================================================
 case.html
========================================================== */
.case .ttl-cmn-07 {
	position: relative;
	margin-bottom: 20px;
	padding-left: 46px;
}
.case .ttl-cmn-07:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 36px;
	height: 36px;
	background-size: contain;
}
.case .box-color-01 {
	margin: 30px 0;
}

/* ==========================================================
 approach/
========================================================== */
.approach-chiro .ttl-main-01 {
	background-image: url(../img/approach/chiro_mainimg.jpg);
}
.approach-bio .ttl-main-01 {
	background-image: url(../img/approach/bio_mainimg.jpg);
}
.approach-ak .ttl-main-01 {
	background-image: url(../img/approach/ak_mainimg.jpg);
}
.approach-energy .ttl-main-01 {
	background-image: url(../img/approach/energy_mainimg.jpg);
}
.approach-graston .ttl-main-01 {
	background-image: url(../img/approach/graston_mainimg.jpg);
}
.approach .approach-img-01 {
	float: right;
	margin-left: 40px;
}
.approach .approach-img-02 {
	float: left;
	margin-right: 40px;
}
.approach-chiro .sec-cmn-01:first-of-type .approach-img-01,
.approach-ak .approach-img-02,
.approach-energy .approach-img-01,
.approach-graston .approach-img-01 {
	width: 440px;
}
.approach-chiro .sec-cmn-01:first-of-type .box-color-01,
.approach-chiro .chiro-box .approach-img-01 {
	width: 520px;
	margin-bottom: 30px;
}
.approach-chiro .chiro-box,
.approach-ak .ak-box {
	clear: both;
	overflow: hidden;
}
.approach-chiro .chiro-box {
	margin: 50px 80px 50px 40px;
}
.approach-chiro .chiro-box p {
	float: left;
}
.approach-chiro .sec-cmn-01:last-of-type .approach-img-01 {
	width: 360px;
}
.approach-ak .ak-box {
	margin-top: 40px;
}
.approach-ak .ak-box ul,
.approach-ak .ak-box p {
	padding-left: 480px;
}
.approach-bio .approach-img-01,
.approach-ak .approach-img-01 {
	width: 280px;
}
/*.approach-other section {
	clear: both;
	overflow: hidden;
}*/
.approach-other section p:first-of-type {
	margin-top: -8px;
}
.approach-other .approach-img-02 {
	width: 460px;
}
.approach-other .approach-img-01 {
	width: 400px;
	margin-right: 100px;
}
.approach-other #approach_other-02 .list-dot-01,
.approach-other #approach_other-06 .txt-indent:last-child {
	padding-left: 500px;
}

/* ==========================================================
 en.html
========================================================== */
.en .only-ja,
.only-en {
	display: none;
}
.en .only-en {
	display: block;
}
.en .sec-cmn-01:first-of-type {
	clear: both;
	overflow: hidden;
}
.en .sec-cmn-01:first-of-type img {
	float: left;
	width: 405px;
	margin-right: 50px;
}
.en .sec-cmn-01:first-of-type .list-dot-01 {
	padding-left: 435px;
}
.en .staff-box-01,
.en .staff-box-02 {
	clear: both;
	overflow: hidden;
}
.en .staff-box-02 {
	margin-top: 110px;
}
.en .staff-box-01 h4,
.en .staff-box-02 h4 {
	margin-bottom: 20px;
	font-size: 30px;
	font-weight: 500;
}
.en .staff-box-01 h4 {
	margin-top: 20px;
}
.en .staff-box-01 h4 span,
.en .staff-box-02 h4 span {
	font-size: 24px;
}
.en .staff-box-01 img {
	float: left;
	width: 365px;
	margin-right: 30px;
}
.en .staff-box-02 img {
	float: right;
	width: 400px;
}
.sec-testimonials {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.testimonials-box {
	clear: both;
	overflow: hidden;
	width: 100%;
}
.testimonials-box + .testimonials-box {
	margin-top: 80px;
}
.testimonials-box:nth-of-type(9) {
	width: 340px;
}
.testimonials-box:nth-of-type(10) {
	width: 520px;
}
.testimonials-box .testimonials-box-in {
	width: 660px;
}
.testimonials-box:nth-of-type(5) .testimonials-box-in {
	width: 760px;
}
.testimonials-box:nth-of-type(9) .testimonials-box-in,
.testimonials-box:nth-of-type(10) .testimonials-box-in {
	float: none;
	width: auto;
}
.testimonials-box img {
	width: 300px;
}
.testimonials-box:nth-child(odd) .testimonials-box-in,
.testimonials-box:nth-child(even) img {
	float: left;
}
.testimonials-box:nth-child(even) .testimonials-box-in,
.testimonials-box:nth-child(odd) .testimonials-box-name,
.testimonials-box:nth-of-type(9) .testimonials-box-name,
.testimonials-box:nth-child(odd) img {
	float: right;
}
.testimonials-box:nth-of-type(5) img {
	width: 200px;
}
.testimonials-box .testimonials-box-name {
	margin-top: 40px;
}
.testimonials-box .testimonials-box-name .s-fw-b {
	margin-bottom: 10px;
	font-size: 18px;
}