@charset "UTF-8";

/*/-----------------
Original HTML Theme
ver:1.0*/

/*@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900|Roboto:400,500,700');*/
/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
.red{
color: red;
}
main {
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

* {word-wrap: break-word;}

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

* section {
	clear: both;
}

a:focus, *:focus {
	outline: none;
}
a, a img {
	-webkit-transition: 200ms;
	transition: 200ms;
}

a:hover {
	text-decoration: none;
}
a:hover img {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
	cursor: pointer;
}

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

figure {
  text-align: center;
  margin: 0;
  padding: 0;
}

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

figure figcaption {
  margin: 10px auto;
  text-align: left;
	line-height: 1.3;
}

strong {
	font-weight: bold;
}

@media screen and (min-width: 641px) {
a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}
}

/* base */
html {
  overflow: auto;
}

/*/-----------------基本設定*/



body {
	/*font-family:"メイリオ", Meiryo,"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;*/
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	color: #444444;
	font-size: 14px;
	overflow: hidden;
	/* background: url(../img/bg_img.jpg) no-repeat; */
	/* background-size: cover; */
	position: relative;
}
#body_bg {
	    z-index : -1;
	    background: url(../img/bg_img.jpg) no-repeat;
		background-position:50% 40%;
	background-size: cover;
	    position: fixed;
	    top: 0;
	    left: 0;
	    right: 0;
	    bottom: 0;
}

.inner {
	width: 98%;
	max-width: 1000px;
	margin: 0 auto;
}
@media screen and  ( max-width : 767px ) {
	.inner {
		padding: 0 10px;
	}
}

p {
	margin-bottom: 1em;
	word-break: break-all;
	letter-spacing: 0;
	line-height: 1.6;
}

a, a:visited {
	color: #333;
}

.color01 {color: #FD6699!important}
.color02 {color: #00bedd!important}

.highlight {
	background: #f5faf9!important;
	padding: 2.5em 1em;
}

/*----------------- ヘッダー */
header {
	background: none;
	position: relative;
	z-index: 300;
	padding: 0;
	background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
}

header .inner {
	width: 100%;
	max-width: 1000px;
}

header h1 {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    width: auto;
    margin: 20px 0 19px;
    padding-right: 2%;
    max-width: 140px;
	width: 20%;
    text-align: center;
}

header h1 img {
	max-width: 75px;
	width: auto;
}

header nav {
	/*background: #f4f4f4;*/
	padding: 15px 0;
	display: inline-block;
    width: 80%;
}

header nav .navi {
	overflow: hidden;
	width: 100%;
	display: flex;
	border-right: 1px solid #fff;
}
header nav .navi li {
	display: inline-block;
	/*width: calc(100% / 7 - 5px);*/
	position: relative;
	text-align: center;
	padding: 0;
	margin: 0 0;
	flex: auto;
	border-left: 1px solid #fff;
}

header nav .navi li a {
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	padding: 0;
	font-weight: bold;
	letter-spacing: -0.025em;
	line-height: 1.6;
	-webkit-transition: .7s;
	transition: .7s;
}

header nav .navi li a span {
		font-size: 12px;
	display: block;
	}

	nav .navi li a:hover {
		color: #444;
		text-shadow: #fff 1px 1px 10px;
		-webkit-transition: .7s;
		transition: .7s;
	}

	nav .navi li:first-child {
		margin-left: 0;
	}
	nav .navi li:last-child {
		margin-right: 0;

	}


@media only screen and (max-width: 767px) {

	nav .btn,
	nav #toggle{
	position: absolute;
	top: 0;
	right: 70px;
	width: 140px;
	}
	nav .btn li {
	width:50%;
	float: left;
	}
	nav #toggle {
	width: 70px;
	right: 0;
	}
	nav .navi {
	display: none!important;
	position: absolute;
	top: 74px;
	left: 0;
	z-index: 500;
	background: #fff;
	width: 100%;
	border-top: 1px solid #eee;
	}
	nav .navi li {
	float: left;
	width: 50%;
	margin-right: 0;
    padding-top: 0;
	}
	nav .navi li a {
	height: 50px;
	display: block;
	padding: 15px 8px;
	border-bottom: 1px solid #eee;
	}

	nav .navi li img {max-width: 100%;}
	header nav {
	display: none;
}
}

header .ac_menu dt {
	display: block;
	cursor: pointer;
	position: absolute;
	top: 1em;
	right: 1em;
	max-width: 56px;
	width: 11%;
	min-width: 40px;
}
header .ac_menu dd {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	z-index: 1;
}
header .ac_menu dd ul li a {
	padding: 10px 20px 8px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
	background: #f39800;
	width: 100%;
	border-bottom: 1px solid #fff;
	text-decoration: none;
	display: block;
}

/*/-----------------サブメニュー*/

header .clearfix,
header nav .navi {
	overflow: inherit;
}

header .navi li.has-child:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2%;
	margin: auto;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

header .navi li.has-child > ul.subMenu {
	position: absolute;
	top: 0;
	bottom: -100%;
	right: 0;
	left: -10%;
	padding: 0;
	margin: auto;
	width: 120%;
	opacity: 0;
	visibility: hidden;
	transition: .2s linear;
}

header .navi li.has-child > ul.subMenu > li {
	width: 100%;
	display: block;
	text-align: center;
	background: #013f78;
}

header .navi li.has-child > ul.subMenu > li > a {
	width: 100%;
	display: inline-block;
	color: #fff;
	font-size: 80%;
}

header .navi li.has-child > ul.subMenu > li:not(:last-child) {
	border-bottom: 1px solid #fff;
}

header .navi li.has-child:hover,
header .navi li.has-child > ul.subMenu li:hover {
	background: #4e8ac1;
	transition: .4s;
}


header .navi li.has-child:hover > ul.subMenu {
	opacity: 1;
	top: 60px;
	visibility: visible;
	transition: all .3s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

/*-----------------フッター */
footer {
	background: #fff;
	overflow: hidden;
	line-height: 1.3;
	padding: 30px 0 0;
	position: relative;
	height: auto;
}

footer nav {
	width: 100%;
}
.foot_logo {
    text-align: center;
}
.footNavi {
	/*display: inline-block;*/
	/*float: left;*/
	margin: 20px 0 5px;
	text-align: center;
}


.footNavi li.parent {
	position: relative;
	padding-top: 1em;
	padding-left: 0!important;
}

.footNavi li.parent:before {
	content: '';
	position: absolute;
	top: 0;
	left: 5px;
	margin: auto;
	width: 1.5em;
	height: 2px;
	background: #fff;
}

.footNavi li.parent a {
	color: #fff;
	font-size: 14px!important;
}

.footNavi li {
	position: relative;
	margin-bottom: 0.8em;
	display: inline-block;
}

.footNavi li a {
	position: relative;
	color: #222222;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.05em;
	padding: 0 8px;
	text-decoration: none;
}
.footNavi li a:hover {
	text-decoration: underline;
}


@media screen and  ( max-width : 767px ) {
	.footNavi li {
		display: block;
		border-bottom: 1px solid #fff;
		padding: 1.1em 0;
		margin: 0 auto;
		border-top: 1px dotted #ede1e1;
	}
	.footNavi li a {
		display: block;
	}
}


.copy {
    display: block;
    text-align: center;
    margin: 0 auto 0;
    padding: .8em 0;
    background: #fdebec;
}
.copy:after {
	content: " ";
	display: block;
	clear: both;
}
.copy p {
	color: #222222;
	font-size: 12px;
	letter-spacing: 0.05em;
	margin-bottom: 0;
}

#toTop {
	position: fixed;
    z-index: 9999;
    bottom: 12%;
    right: 2%;
		border-radius: 50%;
		/*border: 1px solid #fff;*/
		width: 48px;
		height: 48px;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
		display: inline-block;
	background:-webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
	background:-moz-linear-gradient(left, #f6bad9, #9ba9e5);
	background:linear-gradient(left, #f6bad9, #9ba9e5);
}

#toTop:after {
	content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 12px;
  height: 12px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  -webkit-transform: translate(-50%, -20%) rotate(45deg);
  transform: translate(-50%, -20%) rotate(45deg);
  -webkit-transition: .2s;
  transition: .2s;
}

#toTop img {
	width: 40px;
}
@media screen and  ( max-width : 767px ) {

	#toTop {
		width: 50px;
		height: 50px;
	}
	#toTop:after {
		width: 15px;
		height: 15px;
	}

}

/*/-----------------見出し*/

.under main h1 {
	background: rgba(0,0,0,.2);
	text-align: center;
	color: #fff;
	font-size: 46px;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 2em 0 1.5em;
	line-height: 1.2;
}
.under main h1 span {
    display: block;
    font-size: 18px;
}

h2 {
    text-align: center;
    position: relative;
    padding: 0 0 15px;
    font-size: 40px;
    letter-spacing: 0.05em;
    line-height: 1.3;
    font-weight: bold;
    color: #685f56;
    margin-bottom: 40px;
    vertical-align: middle;
}
h2:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background:-webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
	background:-moz-linear-gradient(left, #f6bad9, #9ba9e5);
	background:linear-gradient(left, #f6bad9, #9ba9e5);
}

h3 {
  margin-bottom: .8em;
  position: relative;
  padding: 0 5px 10px;
	font-size: 26px;
  font-weight: bold;
	color: #685f56;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
 h3:before {
	 content: '';
	 display: block;
	 position: absolute;
	 top: auto;
	 left: 0;
	 right: 0;
	 bottom: 0;
	 margin: auto;
	 width: 100%;
	 height: 1px;
	background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
}
h3 span {
	background: #e73217;
	font-size: 14px;
	padding: 0.2em 1em;
	color: #fff;
	margin-left: 1.3em;
	border-radius: 3px;
	vertical-align: middle;
}

h4 {
    font-size: 18px;
    text-align: left;
    line-height: 1.3;
    letter-spacing: 0;
    position: relative;
    padding: 0;
    margin-bottom: .8em;
    font-weight: bold;
    color: #9ba9e5;
}
h4:after {
	content: none;
	display: block;
	position: absolute;
	/* top: 0; */
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border-bottom: 3px solid #4b9587;
}

h5 {
margin: 0 0 .3em;
padding: 0 0.8em;
color: #333;
font-weight: bold;
font-size: 16px;
position: relative;
vertical-align: middle;
text-align: center;
display: table;
margin: 13px auto;
}
h5:before,
h5:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
display: block;
width: .5em;
height: 3px;
margin: auto;
background: #4b9587;
}

h5:after {
	left: auto;
	right: 0;
}

h5 span {
display: block;
font-size: 0.8em;
vertical-align: middle;
}

.numberTitle-inner {
	counter-reset: number 0;
}

.numberTitle span {
	font-style: normal;
	position: relative;
	vertical-align: text-bottom;
	padding-left: 1.5em;
}

.numberTitle span:after {
	counter-increment: number 1;
	content:  counter(number) ". ";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
@media (min-width: 768px) and (max-width: 1000px) {
	h2 {
		font-size: 34px;
	}
}
@media ( max-width : 767px ) {
	.under main h1 {
		font-size: 26px;
		padding: 1em 0;
	}
	.under main h1 span {
    font-size: 14px;
}
	h2 {
		font-size: 24px;
		margin: 20px 0;
	}
	h3 {
		font-size: 20px;
	}
	h4 {
		font-size: 18px;
	}
	h4:before {
		width: 5px;
		height: 5px;
		top: 10px;
	}

	h5 {
		font-size: 14px;
	}
	p:not([class]), td:not([class]), th:not([class]), li:not([class]) {
		font-size: 14px;
	}
}

/*/-----------------ボタン*/

.btn_style {
 width: 100%;
}

.btn_style a {
	position: relative;
	display: inline-block;
	margin: 5px auto;
	width: 100%;
	text-align: center;
	text-decoration: none;
	color: #fff;
	font-size: 26px;
	font-weight: normal;
	letter-spacing: -.02em;
	line-height: 1;
	padding: .8em 1em;
	max-width: 323px;
	background: #f39800;
  border: 1px solid #f39800;
	border-radius: 0;
  -webkit-transition: .4s;
  transition: .4s;
}

.btn_style a:hover {
  background: #fff;
	-webkit-transition: .4s;
	transition: .4s;
	text-decoration: none;
	color: #f39800;
}


.btn_style a:after {
	content: '';
	position: absolute;
	top: auto;
	bottom: 3px;
	right: 3px;
	vertical-align: middle;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #ffffff transparent;
	-webkit-transition: 0.8s;
	transition: 0.8s;
}
.btn_style a:hover:after {
	border-color: transparent transparent #f39800 transparent;
	-webkit-transition: .4s;
	transition: .4s;
}
@media screen and  ( max-width : 767px ) {
  .btn_style a {
    max-width: 100%;
		font-size: 15px;
  }
}

/*/-----------------グーグルマップ*/

.googlemap {
	position: relative;
	width: 100%;
	padding-top: 28%;/*ここで高さ調整*/
	min-height: 300px;
}
.googlemap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
@media screen and  ( max-width : 767px ) {
.googlemap {
	padding-top: 75%!important;/*ここで高さ調整*/
}
}

/*/-----------------youtube*/

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

/*/-----------------新着情報*/
.newsContent {
	background: none;
	padding: 0;
	overflow: hidden;
	position: relative;
}

.newsContent dl {
	width: 100%;
	overflow: hidden;
	border-bottom: 1px solid #ede1e1;
	padding: 10px 0;
}
.newsContent dl a:hover dt, 
.newsContent dl a:hover dd {
	color: #9ba9e5;
}

.newsContent dt,
.newsContent dd {
	padding: .8em .2em;
	display: block;
	text-align: left;
	letter-spacing: 0.08em;
	line-height: 1.6;
	color: #444;
	/*border-bottom: 1px solid #cccccc;*/
}

.newsContent dt {
	width: 15%;
	clear: left;
	float: left;
	font-weight: bold;
	font-size: 15px;
}

.newsContent dd span.newsTitle {
	font-weight: bold;
	font-size: 15px;
}
.newsContent dd span.newsTxt {
	overflow: hidden;
    text-overflow: ellipsis;
	 -webkit-text-overflow: ellipsis;  
	 -o-text-overflow: ellipsis;  
    white-space: nowrap;
	width: 50em;
    display: block;
}

.newsContent dd {
	width: 85%;
	float: left;
	padding-left: 1em;
}

.newsBtn {
	position: absolute;
	top: 15%;
	right: 3px;
	margin: auto;
	display: inline-block;
}

.newsBtn a {
	background: #00bedd;
	color: #fff;
	font-size: 14px;
	padding: .5em 1.3em;
	text-decoration: none;
	display: inline-block;
	line-height: 1;
}
.newsBtn a:hover {
	text-decoration: underline;
}

@media ( max-width : 767px ) {
	.newsContent dt,
	.newsContent dl  {
		font-size: 14px;
}	
	.newsContent dd {
		font-size: 12px;
}
.newsContent dt {
	border-bottom: 0;
	width: 100%;
	float: none;
	padding-bottom: 0;
}
.newsContent dd {
	float: none;
	width: 100%;
}
.newsContent dl a {
	text-decoration: none;
}	
.newsContent dd span.newsTxt {
	display: none;
}
}


/*/-----------------メールフォーム*/

.contactBanner {
	width: 100%;
	position: relative;
}
.contactBanner > p {
	background: #F0D45F;
	text-align: center;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 1.3em;
	position: relative;
	margin: 0;
	cursor: pointer;
}
.contactBanner > p:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5%;
	margin: auto;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #222;
	border-right: 2px solid #222;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	-webkit-transition: .4s;
	transition: .4s;
}
.contactBanner > p.active:after {
	content: '';
	-webkit-transform: rotate(225deg);
	        transform: rotate(225deg);
	-webkit-transition: .4s;
	transition: .4s;
}

.pulldown {
	display: none;
	border: 1px solid #222;
	border-top: 0;
	padding: 80px 0;
}

/*
table.mailform {
	width: 95%;
	margin: auto;
	border: 0;
}
@media screen and  ( min-width : 768px ) {
	table.mailform {
		width: 85%;
	}
}
table.mailform th, table.mailform td {
	padding: 1.3em;
	text-align: left;
	border-bottom: 1px solid #e2e2e2;
	vertical-align: middle;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
table.mailform th {
	text-align: left;
	padding: 1.7em 0 ;
	border-bottom: 1px solid #1d79bf;
	vertical-align: top;
	font-weight: bold;
	width: 25%;
	min-width: 120px;
}
table.mailform th span {
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #A81E29;
	vertical-align: text-bottom;
}

table.mailform tr:first-child th {
	border-top: 1px solid #1d79bf;
}
table.mailform tr:first-child td {
	border-top: 1px solid #e2e2e2;
}


input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
}
input, button, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
table.mailform input[type="text"],
table.mailform input[type="tel"],
table.mailform input[type="number"],
table.mailform input[type="email"],
table.mailform input[type="password"],
table.mailform select,
table.mailform textarea {
    border: 0;
    background: #fff;
    width: 100%!important;
    height: 42px;
    padding: 5px 8px;
    font-size: 16px;
    -webkit-transition: .4s;
    transition: .4s;
		position: relative;
		line-height: 1.5;
}

table.mailform .zipCode {
	padding-left: 2.3em;
	position: relative;
}

table.mailform .zipCode:before {
	content: '〒';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1em;
	margin: auto;
	display: table;
}

table.mailform textarea {
    height: 170px;
}

table.mailform input[type="radio"],
table.mailform input[type="checkbox"] {
    position: relative;
    width: 11px;
    height: 11px;
    margin-right: .8em;
		margin-bottom: 1px;
    padding: 0;
    background: #fff;
    border: 1px solid #222222;
    vertical-align: middle;
    outline: none;
    cursor: pointer;
}

table.mailform label {
	line-height: 2;
}

table.mailform label + label {
    margin: auto 15px;
}

@media screen and  ( max-width : 767px ) {
	table.mailform label + label {
		display: block;
		margin: auto;
	}
}

table.mailform input[type="radio"] {
    border-radius: 50%;
}
table.mailform input[type="radio"]:checked,
table.mailform input[type="checkbox"]:checked {
    background: #222;
}
table.mailform input[type="radio"]:checked:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
		right: 0;
		bottom: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
}

table.mailform input[type="checkbox"]:checked:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: -7px;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 6px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	background: none;
	-webkit-transform: rotate(-34deg);
	        transform: rotate(-34deg);
}


table.mailform input[type="reset"] {
    width: 100%;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: .05em;
    background: #b4b4b4;
    -webkit-box-shadow: 2px 2px 6px #aaa;
            box-shadow: 2px 2px 6px #aaa;
    padding: 10px 20px;
}
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; } 
input:focus::-moz-placeholder { color:transparent; } 
input:focus:-ms-input-placeholder { color:transparent; }
label {
    cursor: pointer;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance:textfield;
}

.btn_style input[type="submit"],
.btn_style button[type="submit"]:hover {
	cursor: pointer;
	display: inline-block;
	position: relative;
	margin: 80px auto 0;
	padding: 1em 1em;
	text-align: center;
	background: none;
	color: #222222;
	text-decoration: none;
	border-radius: 30px;
	font-size: 12px;
	width: 220px;
	font-weight: 500;
	letter-spacing: 0.1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #222222;
  -webkit-transition: .4s;
  transition: .4s;
}

.btn_style input[type="submit"]:hover,
.btn_style button[type="submit"]:hover {
	border-color: #F0D45F;
  background: #F0D45F;
	-webkit-transition: .4s;
	transition: .4s;
	text-decoration: none;
}


.btn_style input[type="submit"]:after,
.btn_style button[type="submit"]:after {
	content: '';
	position: absolute;
	top: auto;
	bottom: 3px;
	right: 3px;
	vertical-align: middle;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 12px 12px;
	border-color: transparent transparent #ffffff transparent;
	-webkit-transition: 0.8s;
	transition: 0.8s;
}
.btn_style input[type="submit"]:hover:after,
.btn_style button[type="submit"]:hover:after {
	border-color: transparent transparent #f39800 transparent;
	-webkit-transition: .4s;
	transition: .4s;
}
@media screen and  ( max-width : 767px ) {
  .btn_style input[type="submit"],
	.btn_style button[type="submit"] {
    max-width: 100%;
		font-size: 15px;
  }
}

*/

/*----------------- パンくずリスト*/

.breadcrumb {
  padding-left:0;
  margin-left:0;
  margin-bottom: 5%;
  margin-top: 1%;
  line-height: 1.0;
}

.breadcrumb li{
  display:inline;
  list-style: none;
}
.breadcrumb li:after{
  content: '>';
  padding: 0 4px;
  color: #656565;
	font-size: 10px;
}
.breadcrumb li:last-child:after{
  content: '';
}
.breadcrumb li a {
    text-decoration: none;
    color: #656565;
		font-size: 12px;
}
.breadcrumb li:last-child {
	color: #00b2d5;
	font-size: 12px;
}
.breadcrumb li a:hover {
    text-decoration: underline;
}

/*/-----------------リスト*/

ul.ul01 {
	margin: 0 auto;
}
ul.ul01 li {
	position: relative;
	padding: 0 0 5px 15px;
	margin-bottom: 10px;
}
ul.ul01 li:before {
	content: "";
	position: absolute;
	width: 3px;
	height: 3px;
	left: 3px;
	top: 8px;
	background: #231815;
	border-radius: 50%;
}


/*/-----------------横並び定義リスト*/

dl.dl01{
width: 100%;
clear: both;
}

dl.dl01 dt{
display: block;
width: 20%;
clear: left;
float: left;
text-align: left;
}

dl.dl01 dd{
display: block;
width: 80%;
float: left;
text-align: left;
}

dl.dl01:after {
	content: "";
	display: block;
	clear: both;
}

/*/-----------------ボーダリスト*/

ul.borderList {
	margin: 0 auto;
  width: 100%;
  list-style: none;
}
ul.borderList li {
	position: relative;
	padding: 0 0 5px 15px;
	margin-bottom: 10px;
  border-bottom: 1px solid #db7d1f;
}
ul.borderList li:before,
ul.borderList li:after {
  content: none;
}

/*/-----------------Q&A*/
.faq {
	display: block;
	position: relative;
	margin: 0 auto 50px;
	padding: 15px;
	background: url(../img/border_bg.png);
}

.faq > ul {
	background: #fff;
	padding: 2.5em 2.5em;
	width: 100%;
}

.faq > ul > li {
	list-style-type: none;
	list-style-image: none;
	padding: 0 0 0 3.5em;
	/*border-bottom: 2px solid #cdcdcd;*/
	margin-bottom: 15px;
	position: relative;
	text-align: left;
	color: #1f46aa;
	font-size: 18px;
	font-weight: bold;
}

.faq ul > li:nth-child(odd):before {
	content: 'Q';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	font-size: 150%;
	font-weight: bold;
	vertical-align: text-top;
	color: #fff;
	text-align: center;
	padding: .25em 0 0;
	width: 44px;
	height: 44px;
	background: #1f46aa;
	border-radius: 50%;
}
.faq > ul > li:nth-child(even) {
	/*border-left: 2px solid #cdcdcd;
	border-right: 2px solid #cdcdcd;*/
	padding-top: 1.5em;
	/*padding-left: 2.5em;*/
	padding-right: 1.5em;
	/*background: #F4F4DC;
	margin-bottom: 40px;*/
	color: #333;
	font-size: 16px;
	font-weight: normal;
}

.faq > ul > li:nth-child(even):before {
	content: 'A';
	position: absolute;
	top: .5em;
	left: 0;
	margin: auto;
	font-size: 150%;
	font-weight: bold;
	vertical-align: text-top;
	color: #fff;
	text-align: center;
	padding: .4em 0 0;
	width: 44px;
	height: 44px;
	background: #10a4f0;
	border-radius: 50%;
}

.faq > ul > li:nth-child(even) p {
	margin-bottom: 20px;
}

.faq ul > li:last-child {
	margin-bottom: 0;
}

.faq .qtit{
font-size: 1.26em;
font-weight: bolder;
display: inline-block;
width: 98%;
}


@media ( max-width : 980px ) {
	.faq {
		width: 98%;
	}
	.faq .qtit{
		font-size: 1.2em;
		width: 90%;
	}
}

@media ( max-width : 476px ) {
	.faq .qtit{
		font-size: 0.9em;
		width: 90%;
	}
}



/*/-----------------テーブル*/
table.table01 {
	margin: 0 auto 20px;
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border: 1px solid #999;
}

table.table01 th, table.table01 td {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 10px 10px 8px;
	text-align: left;
	line-height: 1.5;
	vertical-align: middle;
	border: 1px solid #efefef;
}

table.table01 thead th {
	text-align: center;
	font-weight: bold;
	background: #00b2d5;
	color: #fff;
}
table.table01 thead th:last-child {
	border-right: none;
}
table.table01 tbody th {
	color: #fff;
	text-align: center;
	background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
}

/*/-----------------下線・上線のみ*/
.borderTable {
  	width:100%;
  	margin-bottom:1.5em;
  }
.borderTable tr {
	border-bottom:1px solid #a0a0a0;
}
.borderTable th,
.borderTable td {
	text-align: left;
	padding: 1.3em .3em 1em;
	letter-spacing: 0.05em;
}

.borderTable th {
	text-align: left;
	padding-left: .8em;
}

/*/-----------------行の色が互い違い*/
.stripeTable {
  	width:100%;
  	margin-bottom:1.5em;
		border: 1px solid #cccccc;
}

.stripeTable tr {
	border: 1px solid #cccccc;
}

.stripeTable tr:nth-child(odd) {
	background: #ffffff;
}
.stripeTable tr:nth-child(even) {
	background: #e9faf7;
}

.stripeTable th,
.stripeTable td {
	text-align: center;
	padding: 1em .3em 1em;
	letter-spacing: 0.05em;
}

/*/-----------------診察時間*/


table.timeTable {
	margin: 0 auto 20px;
	width: 100%;
	border-collapse: collapse;
}
table.timeTable th, table.timeTable td {
	box-sizing: border-box;
	padding: 8px 3px 6px;
	line-height: 1.6;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #efefef;
}
table.timeTable th {
	width: 40%;
}
table.timeTable td {
	text-align: center;
}

/*/-----------------価格*/
.priceTable,
.priceTable tbody {
	width: 100%;
	margin-bottom: 20px;
	border-spacing: 10px 0;
}

.priceTable tr {
	width: 100%;
	border-bottom: 1px solid #bfd8d3;
	margin-bottom: 15px;
}

.priceTable th {
	width: 50%;
	text-align: left;
	padding: 1.5em 0 .8em;
	padding-left: 1em;
}

.priceTable td {
	width: 50%;
	text-align: right;
	padding: 1.5em 0 .8em;
	padding-right: 1em;
}

/*/-----------------CSS図形*/

span.circleArrow {
	position: relative;
	margin-right: 1px;
}
.circleArrow:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 1px;
	right: 9px;
	vertical-align: middle;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3px 0 3px 5.2px;
	border-color: transparent transparent transparent #ffe155;
	-webkit-transition: .2s;
	transition: .2s;
}
.circleArrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 6px;
	vertical-align: middle;
	margin: auto;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #094c9e;
	-webkit-transition: .2s;
	transition: .2s;
}

.countReset {
	counter-reset: number 0;
	overflow: hidden;
	zoom: 1;
}

span.circleNumber {
	position: relative;
	display: inline-block;
	letter-spacing: 0;
	line-height: 1;
	vertical-align: inherit;
	margin-right: .5em;
	text-align: center;
	width: 10px;
	height: 10px;
	background: #094c9e;
	border-radius: 2px;
	font-size: 28px;
	font-weight: bold;
	color: #fff;
	font-style: normal;
	padding: 0.5em 0;
}

.circleNumber:after {
	counter-increment: number 1;
	content: "" counter(number);
}


/*-----------------汎用クラス*/

.clearfix {
	overflow: hidden;
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.textIndent {text-indent:1em}
.textLeft {text-align:left!important}
.textCenter {text-align:center!important}
.textRight {text-align:right!important}
.textLarge {font-size:120%!important}
.textXLarge {font-size:150%!important}
.textXXLarge {font-size:200%!important}
.textSmall {font-size:80%!important}
.textXSmall {font-size:50%!important}
.bold {font-weight: bold!important}

@media screen and  ( max-width : 767px ) {
	.sp-textCenter {text-align: center!important}
}

main img.alignright ,
main img.alignleft {
	float: none;
	margin:0 auto 20px;
	display:block;
}

@media screen and  ( min-width : 768px ) {
	img.alignright,
	img.alignleft,
	main img.alignright,
	main img.alignleft {
	max-width:34%;
}
main img.alignright {
	float:right;
	margin:0 0 10px 2%;
}
main img.alignleft {
	float:left;
	margin:0 2% 10px 0;
}
}

figure.circleImg > img {
	border-radius: 50%;
	object-fit: cover;
	width: 20vh;
	height: 20vh;
}

.centering {
	display: block;
	margin: auto;
}


.mb0 {margin-bottom:0px!important}
.mb5 {margin-bottom:5px!important}
.mb10 {margin-bottom:10px!important}
.mb20 {margin-bottom:20px!important}
.mb30 {margin-bottom:30px!important}
.mb40 {margin-bottom:40px!important}
.mb50 {margin-bottom:50px!important}
.pd1 {padding: 1em!important}


.mincho {
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif!important;
	font-size: 108%!important;
}

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

.marugo {
	font-family: "ヒラギノ丸ゴ Pro W4", "Hiragino maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "Verdana", "Osaka", sans-serif;
}


/*----------------- 横並びコンテンツ用*/
/* 2列並び-----------------*/
.box2 {
    display: inline-block;
    margin: 0 2% 2% 0;
    width: 49%;
    box-sizing: border-box;
    vertical-align: top;
    float:left;
}
.box2:nth-child(2n) {
    margin: 0 0 2% 0;
}
/* 3列並び-----------------*/
.box3 {
    display: inline-block;
    margin: 0 2% 2% 0;
    width: 32%;
    box-sizing: border-box;
    vertical-align: top;
    float:left;
}
.box3:nth-child(3n) {
    margin: 0 0 2% 0;
}
/* 4列並び-----------------*/
.box4 {
    float: left;
    margin: 0 2% 2% 0;
    width: 23%;
    box-sizing: border-box;
    vertical-align: top;
}
.box4:nth-child(4n) {
    margin: 0 0 2% 0;
}
/* 5列並び-----------------*/
.box5 {
    float: left;
    margin: 0 2% 2% 0;
    width: 18.4%;
    box-sizing: border-box;
    vertical-align: top;
}
.box5:nth-child(5n) {
    margin: 0 0 2% 0;
}
@media only screen and (max-width: 767px){	
.box2, .box3, .box4, .box5 {
    margin: 0 0 2%;
    width: 100%;
}	
}



.wd10 {	width: 9%;}
.wd20 {	width: 19%;}
.wd30 {	width: 29%;}
.wd40 {	width: 39%;}
.wd60 {	width: 59%;}
.wd70 {	width: 69%;}
.wd80 {	width: 79%;}
.wd90 {	width: 89%;}

@media ( max-width : 767px ) {
.wd10, .wd20, .wd30, .wd40, .wd60, .wd70, .wd80, .wd90 {
	width: 100%;
}
}

/*/-----------------フレックスボックス*/

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

.flexBox {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: top;
	-ms-flex-align: top;
	align-items: top;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flexBox.flexLeft {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: start;
}
}

@media screen and  ( max-width : 767px ) {

.flexBox {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: top;
	-ms-flex-align: top;
	align-items: top;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flexBox.sp_2 > * {
  flex-basis: 50%;
  width: 50%;
}

}


/*/-----------------グリッドタイル*/

.gridBox {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	-webkit-column-count: 2;
	        column-count: 2;
	-webkit-column-gap: 0;
	        column-gap: 0;
}

.gridBox > figure {
	padding: 5px;
  -webkit-column-break-inside: avoid;
  break-inside: avoid;
}

@media screen and  ( max-width : 767px ) {
	.gridBox {
		-webkit-column-count: 2;
		        column-count: 2;
	}
}


/*/-----------------背景とテキストの半々*/


.halfAhalf {
	width: 100%;
}

.leftBox,
.rightBox {
	padding: 0;
	margin: 0;
	text-align: left;
}
.leftBox {
	text-align: right;
}

.textBox {
	display: inline-block;
	padding: 2em 1em;
	text-align: left;
	width: 100%;
	-webkit-box-sizing: border-box;
					box-sizing: border-box;
	position: relative;
}
@media screen and  ( min-width : 1000px ) {
	.textBox {
		width: 50%;
		max-width: 500px;
	}
}
@media screen and  ( min-width : 768px ) {
	.halfAhalf {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.leftBox,
	.rightBox {
		width: 50%;
	}
.leftBox {
	background: url(img/bg_img001.jpg) no-repeat left / cover;
}
.rightBox {
	background: url(img/bg_img002.jpg) no-repeat right / cover;
}
}
@media screen and  ( max-width : 767px ) {
.leftBox {
	background: none;
}
.rightBox {
	background: none;
}
}


/*/-----------------フロー*/

.flow-inner {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 0;
	margin-bottom: 20px;
	counter-reset: number 0;
}

.flow {
	position: relative;
	max-width: 100%;
	display: block;
	margin: 10px auto 13%;
	padding: 1em 1.5em;
	background: none;
	border-radius: 4px;
}

.flow:last-child {
	margin: 10px auto;
}

.flow:not(:last-child):after,
.flow:not(:last-child):before {
	content: '';
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	bottom: -8%;
	margin: auto;
	width: 13px;
	height: 13px;
	border-top: 4px solid #10a4f0;
	border-right: 4px solid #10a4f0;
	-webkit-transform: rotate(135deg);
	        transform: rotate(135deg);
}
.flow:not(:last-child):before {
	bottom: -5%;
}
p.flowTitle {
	padding: 0;
	margin: 15px 0 8px;
	color: #1f46aa;
  font-size: 22px;
  font-weight: bold;
	position: relative;
	text-align: center;
	letter-spacing: -.1em;
	line-height: 1.5;
}
.flow:last-child:after,
.flowTitle:before,
.flowTitle:after {
	content: none!important;
}
.flowTitle span {
	font-style: normal;
	position: relative;
	vertical-align: text-bottom;
	/*margin-right: 1.5em;*/
	display: table;
	padding: .3em 1em;
	margin: 0 auto 5px;
	background: #04029c;
	border-radius: 30px;
	color: #fff;
	font-size: 14px;
	letter-spacing: .08em;
	line-height: 1;
}
.flowTitle span:after {
	counter-increment: number 1;
	content: ".0" counter(number);
}


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

.flow-inner.horizontal {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flow-inner.horizontal .flow {
	padding: 0;
	margin: 0;
	flex: 1;
}
.flow-inner.horizontal .flow:not(:last-child) {
	margin-right: 4%;
}
.flow-inner.horizontal .flow:not(:last-child):after,
.flow-inner.horizontal .flow:not(:last-child):before {
	right: -15%;
	left: auto;
	top: 18%;
	bottom: auto;
	margin: auto;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.flow-inner.horizontal .flow:not(:last-child):before {
	right: -9%;
}

}

.arrowBox {
  position: relative;
  background: #1b8fd3;
  color: #fff;
  text-align: center;
  padding: 2em 1em;
  height: 100px;
  padding-right: 50px;
}

.arrowBox:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 0 50px 40px;
  border-color: #fff transparent #fff;
}

@media screen and (max-width: 767px) {
	.arrowBox {
		padding-right: 1em;
		height: 130px;
		margin-bottom: 20px;
	}
  .arrowBox:after {
    left: 0;
    top: 0;
    border-width: 105px 0 105px 50px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}

/*/-----------------拡大オーバー*/

@media screen and  ( min-width : 768px ) {
.scaleBox > span {
	overflow: hidden;
	display: table;
}

.scaleBox > span img {
	-webkit-transition: all 1s cubic-bezier(0.165, 0.840, 0.440, 1.000);
	transition: all 1s cubic-bezier(0.165, 0.840, 0.440, 1.000);
}

.scaleBox:hover > span img {
	-webkit-transition: all 1s cubic-bezier(0.165, 0.840, 0.440, 1.000);
  transition: all 1s cubic-bezier(0.165, 0.840, 0.440, 1.000);
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}
}

.scaleBox {
	position: relative;
	display: table;
	margin: auto;
}

.scaleBox > a {
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 1;
}


/*/-----------------ボーダーボックス*/

.borderBox {
  position: relative;
  border: 2px solid #5b8abf;
  padding: 2em 1.5em;
  background: #fff;
  z-index: 2;
  display: block;
}

.borderBox:before {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	margin: auto;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	border: 1px solid #adc4df;
	z-index: 1;
	display: block;
}


/*/-----------------フェードイン*/

/* fadeIn */
/* 画面外にいる状態 */
.fadeIn {
   opacity : 0.1;
   -webkit-transform : translate(0, 150px);
           transform : translate(0, 150px);
   -webkit-transition : all 1000ms;
   transition : all 1000ms;
   }
.fadeIn.catch {
   opacity : 0.1;
   -webkit-transform : translate(0, 150px);
           transform : translate(0, 150px);
   -webkit-transition : all 1800ms;
   transition : all 1800ms;
   }
/* 画面内に入った状態 */
main .fadeIn.scrollin {
   opacity : 1;
   -webkit-transform : translate(0, 0);
           transform : translate(0, 0);
   }

/*/-----------------タブコンテンツ*/

.ChangeElem_Panel{
  display: none;
}

.ChangeElem_Btn {
	cursor: pointer;
	background: #084590;
	padding: .8em;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.08em;
	line-height: 1;
	vertical-align: middle;
	width: 49.5%;
	height: 80px;
	-webkit-transition: .4s;
	transition: .4s;
}

.ChangeElem_Btn:last-child {
	float: right;
	background: #f29901;
}

.ChangeElem_Btn.is-active:last-child,
.ChangeElem_Btn:last-child:hover {
	color: #fff;
	background: #00b2d5;
	-webkit-transition: .4s;
	transition: .4s;
}
.ChangeElem_Btn.is-active:first-child,
.ChangeElem_Btn:first-child:hover {
	color: #fff;
	background: #00b2d5;
	-webkit-transition: .4s;
	transition: .4s;
}
.ChangeElem_Panel {
	background: #fff;
  border-radius: 6px;
	padding: 1em;
}

.ChangeElem_box {
    margin: 40px 0 0;
}

/***************SP_TOPコンテンツ******************/

.mainimage {
  height: 100%;
  height: 100vh; 
  position: relative; 
  width: 100%; 
  margin-top: -80px;
	overflow: hidden;
}

.mainimage #video {
  background: url('../img/top/video_bg.jpg') no-repeat; 
  background-attachment: fixed; 
  background-position: center center;
  background-size: cover;
  left: 0;
  min-height: 100%;
  min-height: 100vh;
  min-width: 100%;
  min-width: 100vw;
  position: absolute;
  top: 0;
  /*z-index: 0;*/
}
.mainimage .catch img {
	position: absolute;
	top: 20%;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 426px;
	width: 30%;
	z-index: 10;
}
.mainimage .catch img {
    animation: catchfade 3s ease 0s 1 normal;
    -webkit-animation: catchfade 3s ease 0s 1 normal;
}
@-webkit-keyframes catchfade {
    0% {opacity: 0}
    100% {opacity: 1}
}
@keyframes catchfade {
    0% {opacity: 0}
    100% {opacity: 1}
}
@media only screen and (min-width: 768px) and (max-width: 1200px) {
}
@media only screen and (max-width: 767px) {
.mainimage {
  margin-top: 0;
}	
.mainimage {
  height: 50vh; 
}
.mainimage #video {
  min-height: 50vh;
}
}


/* SP表示をPCでも採用 */
/*@media screen and (max-width: 767px) {*/


.ac_menu {
	width: 44%;
	max-width: 60px;
	display: inline-block;
}
.ac_menu dt img {
	max-width: 70px;
	width: 100%;
	cursor: pointer;
}
header .ac_menu dd {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	z-index: 9999;
	border-top: 1px solid #fff;
}


header .ac_menu dd ul li a {
	padding: 1.3em 20px 1em;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	color: #fff;
	width: 100%;
	border-bottom: 1px solid #fff;
	text-decoration: none;
	display: block;
	text-align: left;
	background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
	-webkit-transition: 0s;
    transition: 0s;
}
header .ac_menu dd ul li a:hover {
	background: #f39800;
	text-decoration: none;
}
header ul > li ul.sub {
	display: none;
	padding-left: 0;
}
header .ac_menu dd ul li ul li a {
    background: #d6d6d6;
    color: #084590;
}
header .ac_menu dd ul li ul li a:hover {
    color: #fff;
}
a.sp_toggle {
    position: relative;
}
a.sp_toggle:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 8px;
    margin-top: -4px;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    width: 8px;
}
header .ac_menu dd li a span {
    padding-right: 1em;
    font-weight: bold;
}
/*}*/

@media screen and (max-width: 420px) {
dl.info dt, dl.info dd, table th, table td {
	font-size: 80%;
}

header .ac_menu dd {
	top: 70px;
}
header h1 {
	width: 50%;
	margin: 2% 0;
	min-width: 140px;
}
}


.underContents {
	padding: 2em 0;
	margin-bottom: 1%;
}


main section {
	margin-bottom: 3%;
}

main section:last-child {
	margin-bottom: 0;
}

/*/-----------------ここから個別*/

@media screen and  ( min-width : 768px ) {
	.sp_icon {
		display: none;
	}
}

@media screen and  ( max-width : 767px ) {
	header h1 {
		margin: 10px auto;
		max-width: 180px;
	}
	.hdrImg1 {
		display: none;
	}
	.hdrImg2 {
		display: none;
	}
	.sp_icon {
		display: inline-block;
		width: auto;
		max-width: 56px;
    width: 30%;
    min-width: 46px;
	}
	#toTop {
		width: 50px;
		height: 50px;
	}
	#toTop:after {
		width: 15px;
		height: 15px;
	}
}


.headText {
	margin: 15px 50px 15px 0;
	line-height: 1.3;
	color: #231815;
	letter-spacing: -0.02em;
}
@media (min-width : 768px) and ( max-width : 1000px ) {
	.headText,header nav .navi li a {
		font-size: 14px;
	}
}

.hdrImg1 {
	width: auto;
	max-width: 52%;
	margin-right: 5px;
}
.hdrImg2 {
	width: auto;
	max-width: 45%;
}

/*/-----------------TOPページ*/
.contents01 {
    background: #fff;
    padding: 3% 0;
	margin: 0;
}
.contents02 {
    background: rgba(255,255,255,.7);
    padding: 3% 0;
	margin: 0;
}
.contents03 {
    padding: 3% 0;
	margin: 0;
}
.contents03 .box2 figure {
    border: 1px solid #eacdd1;
	position: relative;
}
.contents03 .box2 figure:after {
	position: absolute;
	content: "";
	background: url(../img/btn_arrow.png) no-repeat right bottom;
	width:13px;
	height: 13px;
	right: 2px;
	bottom: 2px;
}

.contents04 {
    background: rgba(255,255,255,.7);
    padding: 3% 0;
	margin: 0;
}
.contents05 {
    padding: 3% 0;
	margin: 0;
}
.shop_info dl dt, .shop_info dl dd {
	padding: 10px 0;
	color: #151515;
	line-height: 1.4;
	vertical-align: middle;
}
.shop_info dl dt {
	float: left;
}
.shop_info dl dd {
	margin-left:80px;
}
.shop_info dl dd.tel {
    font-size: 180%;
	padding: 3px 0 10px;
}

.top header {
    background: none;
}
.top header h1 {
	display: none;
}
@media only screen and (min-width: 768px) {
.top header nav {
	width: 100%;
}	
}
@media only screen and (max-width: 767px) {
.top header .ac_menu dd {
	top: 80px;
}	
.shop_info dl {
    max-width: 500px;
    display: table;
    margin: 0 auto;
}	
}


.telNo {
	font-size: 45px;
	font-weight: bold;
	letter-spacing: -0.02em;
	color: #231815;
}
@media screen and  ( max-width : 767px ) {
	.telNo {
		font-size: 30px;
	}
}

.instagram {
    padding: 3% 0 0;
    background: #fff;
	overflow: hidden;
}
.instagram .box5 {
    margin: 0;
    width: 20%;
}
@media only screen and (max-width: 767px) {
.instagram .box5 {
    margin: 0;
    width: 33.33%;
}
}

/*/-----------------下層ページ*/
.under section.content {
    margin-bottom: 3%;
    padding: 3% 0;
}

.under .content .inner {
	background: rgba(255,255,255,.7);
	padding: 30px 20px 20px;
	box-shadow: #444 1px 1px 10px;
	margin-bottom: 40px;
	overflow: hidden;
	
}
.under section.content h2 {
    font-size: 26px;
}
.under section.content .googlemap {
    padding-top: 60%;
	margin-bottom: 20px;
}

.staff_box .box3 {
    position: relative;
}
.staff_box .box3 .staff_name {
    position: absolute;
    bottom: 0;
    background: rgba(0,0,0,.5);
    width: 100%;
    color: #fff;
    padding: 10px;
	text-align: left;
	/*-webkit-transition: 200ms;
	transition: 200ms;*/
}
.staff_box figure img {
    width: 100%;
}
.staff_name p {
    line-height: 1.4;
    margin-bottom: 0;
    letter-spacing: 0.05em;
}
.staff_name p span {
    display: block;
}
.staff_box .box3 a {
    display: block;
}
.staff_box .box3 a:hover img {
	opacity: 1;
}
.staff_box .box3 a:hover .staff_name {
    height: 100%;
	-webkit-transition: 500ms;
	transition: 500ms;
	padding: 50% 10px;
    box-sizing: border-box;
}
.staff_name_detail {
	position: relative;
	padding: 0 0 15px;
	margin:0 0 20px;
		
}
.staff_name_detail p {
	font-size: 120%;
	letter-spacing: 0.05em;
	margin: 0;
}
.staff_name_detail span.name {
    display: block;
    font-size: 150%;
    font-weight: bold;
}
.staff_name_detail:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 2px;
    background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
}
.staff_detail h4 {
    margin: 0.25em 0;
}
.staff_detail p {
    padding-left: 1em;
}

table.price{
border-collapse: collapse;
border-spacing: 0;
margin:0 0 5px;
	width: 100%;
}
table.price th{
padding:15px 10px 15px 18px;
border-bottom: 1px solid #9ba9e4;
font-weight:bold;
color:#333;
width: 60%;	
	text-align: left;	
	line-height: 1.4;
}
table.price td{
padding:15px 10px;
border-bottom: 1px solid #9ba9e4;
text-align: right;
line-height: 1.4;
}
table.price th.star{
	position: relative;
}
table.price th.star:before {
	position: absolute;
	content: "★";
	color: #FD6699;
	left:0;
}

.page_menu .box2.wd30 {
    margin: 0 0 2% 2%;
}
@media only screen and (max-width: 767px) {
.page_menu .box2.wd30 {
    margin: 0 0 2% 0;
}
.under section.content h2 {
    font-size: 22px;
}
}

.stylist_box {
    border-radius: 10px;
}
.stylist_box .stylist_title {
    background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
    display: table;
    min-width: 200px;
    text-align: center;
    padding: 5px 0;
    color: #fff;
    font-size: 16px;
}
.staff_link {
    margin-top: 15px!important;
}
.staff_link a {
    text-decoration: none;
    position: relative;
    padding-left: 12px;
}
.staff_link a:before {
    display: block;
    content: "";
    position: absolute;
    top: 6px;
    left: 3px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 5px solid #f5bad9;
}
.staff_link a:hover {
	color: #f5bad9;
}
.gallery_copy p {
    font-size: 150%;
    font-weight: bold;
	position: relative;
	padding: 10px 0;
}
.gallery_copy {
	position: relative;
}
.gallery_copy:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 2px;
    background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
}
.gallery_price {
    position: relative;
	padding: 0 0 10px;
	margin-bottom: 20px;
}
.gallery_price:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 2px;
    background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
}
.gallery_text {
	margin-bottom: 30px;
}
.gallery_title p {
    background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
    text-align: center;
    padding: 5px 0;
    color: #fff;
    font-size: 16px;
}

.hair_detail {
  width: 100%;
  font-size: small;
}
.hair_detail th {
  vertical-align: middle;
  text-align: left;
  width: 60px;
  padding-left: 0.8em;
  border-bottom: 1px solid #867C83;
}
.hair_detail td {
  padding: 0.8em 0 0.8em 0.4em;
  border-bottom: 1px solid #867C83;
  text-align: center;
}
.hair_detail tr:last-child th,
.hair_detail tr:last-child td {
  border-bottom: none!important;
}
.hair_detail .detail01 li.changeCol, 
.hair_detail .detail02 li.changeCol {
  background: #f6bada;
  color: #fff;
}
.hair_detail .detail01 li {
    color: #444;
    text-align: center;
    background: #fdebec;
    width: 32%;
    margin-right: 2%;
    padding: 8px 0;
    float: left;
}
.hair_detail .detail02 li {
    color: #444444;
    text-align: center;
    background: #fdebec;
    width: 19.2%;
    margin-right: 1%;
    padding: 7px 0 3px 0;
    float: left;
    font-size: 1em;
}
.hair_detail .detail02 li img {
	margin-bottom: 8px;
}
.hair_detail .detail01 li:last-child ,
.hair_detail .detail02 li:last-child {
  margin-right: 0!important;
}
@media only screen and (max-width: 767px) {
.stylist_box .stylist_title {
    min-width: 100%;
}	
}


/*/-----------------changeimage*/
#changeimage {
  margin: 0 auto;
  padding: 0;
  /*max-width:475px;*/
}
.change_main,
.change_main li {
	width: 100%;
	height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.change_main {
  margin-bottom: 20px;
  text-align: center;
}
 .change_main li {
  overflow: hidden;
  position: relative;
}
.change_main li.photo2,
.change_main li.photo3,
.change_main li.photo4, 
.change_main li.photo5, 
.change_main li.photo6 {
  display: none;
}
.thumb {
	margin-top:1em!important;
	margin: 0!important;
}
.thumb,
.thumb li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.thumb li {
    width: calc(100% / 3 - 3px);
    overflow: hidden;
    cursor: pointer;
    vertical-align: top;
    margin-bottom: 4px;
    display: inline-block;
}
.thumb li:last-child {
	margin-right: 0;
}
.thumb li img {
    width: 100%;
    height: auto;
    /*max-height: 115px;
    object-fit: cover;*/
}
.thumb li:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

p.caution {
	text-align: left;
	margin-top: 20px;
}
@media (max-width: 320px){
p.caution {
	font-size: 9px;
}
}

.gallery_box img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}
@media only screen and (max-width: 1000px) {
.gallery_box img {
    height: 260px;
}	
}
@media only screen and (max-width: 767px) {
.gallery_box img {
    height: 200px;
}	
.gallery_box .box3 {
    display: inline-block;
    margin: 0 2% 2% 0;
    width: 32%;
}	
.gallery_box .box3:nth-child(3n) {
    margin: 0 0 2% 0;
}	
}
@media only screen and (max-width: 500px) {
.gallery_box img {
    height: 150px;
}
}

.page_gallery ul.change_main img {
    height: 400px;
    object-fit: scale-down;
}
.page_gallery ul.thumb img {
    height: 200px;
    object-fit: cover;
}
.page_salon ul.thumb img {
    height: 115px;
    object-fit: cover;
}
@media only screen and (max-width: 500px) {
.page_gallery ul.change_main img {
    height: 370px;
}	
.page_gallery ul.thumb img {
    height: 120px;
}
}
/*/-----------------お問い合わせ*/


	 @media only screen and (min-width: 768px) {
	 .pc {display: block;}
	 .sp {display: none!important;}
	 }
	 @media only screen and (max-width: 767px) {
	 .pc{ display: none!important;}
	 .sp {display: block;}
	 }

.link_btn {
 width: 100%;
 max-width: 380px;
 margin:20px auto 0;
}
.link_btn a {
    line-height: 1.4;
    display: block;
    padding: 20px 20px 18px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    color: #222222;
    transition: all 0.5s ease 0s;
    text-decoration: none;
	/*background: none;*/
	background: url(../img/link_btn.png) no-repeat;
	background-size: 100% 100%;
	font-weight: bold;
}

.link_btn a:after {
 position: absolute;
 content: "";
 display: block;
 width: 39px;
 height: 6px;
 margin-top: -4px;
 position: absolute;
 right: 20px;
 top: 50%;
 background: url(../img/link_btn_arrow.png) no-repeat;
}
.link_btn a:hover {
 opacity: 0.8;
 background: #fff url(../img/link_btn.png) no-repeat;
 background-size: 100% 100%;
 filter: alpha(opacity=80);
 -ms-filter: "alpha( opacity=80 )";
 text-decoration: none;
 /*-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#3db0e7', endColorstr='#0197e0')";*/
}
p.date {
    text-align: right;
    margin-top: -15px;
}

.calendarBox ul {
display: flex;
margin-bottom: 10px;
}
.calendarBox li {
width: 33%;
text-align: center;
}
.calendarBox li:nth-child(1) {
text-align: left;
}
.calendarBox li:nth-child(2) {
font-size:  1.250em;
font-weight: 900;
}
.calendarBox li:nth-child(3)  {
text-align: right;
}
.calendarBox  .normal {
    width: 100%;
	table-layout: fixed;   
    border-collapse: collapse;
    margin-bottom: 30px;
}
.calendarBox  .normal th,
.calendarBox  .normal td {
    font-size:1.125em;
	font-weight: 900;
    padding: 10px;
    line-height: 1.6em;
    border: 1px solid #CECECE;
    text-align:left;
}
.calendarBox  .normal .sunday {
	color:  #ff0000;
}
.calendarBox  .normal .saturday {
	color:  #6495ED;
}
.calendarBox  .normal td span {
    font-size: 0.722em;
	color:  #FFFFFF;
	padding: 5px 0px;
	line-height: 1em;
	text-align:  center;
	width: 100%;
	display: block;
	margin-bottom: 8px;
}
.calendarBox  .normal td .close_01 {
	background:  #ff0000;
}
.calendarBox  .normal td .close_02 {
	background:  #6495ED;
}
.calendarBox  .normal td p {
    font-size:0.778em;
	font-weight: 500;
	margin-bottom: 0px;
	line-height: 1.4em;
	color: #444;
}
.calendarBox  .normal th{
    font-weight: bold;
	text-align: center;
    background-color: #fdebec;
}
@media only screen and (max-width: 767px) {
.calendarBox .normal th, .calendarBox .normal td {
    font-size: 1em;
    padding: 5px;
}
}
@media only screen and (max-width: 400px) {
.calendarBox .normal th, .calendarBox .normal td {
    padding: 2px;
}
}

/* table for calendar */
.page_calender .content table{
	text-align:left;
	width:90%;
	margin: 20px auto;
}
.page_calender .content table caption{
	text-align:center;
	font-size:1.5em;
	padding: 10px 0;
	color: #fff;
    background: -webkit-gradient(linear, left top, right bottom, from(#f6bad9), to(#9ba9e5));
    background: -moz-linear-gradient(left, #f6bad9, #9ba9e5);
    background: linear-gradient(left, #f6bad9, #9ba9e5);
}
.page_calender .content table tr:hover{
	background-color:auto;
}
.page_calender .content table th {
    background-color: #fffae7;
    text-align: center;
    padding: 5px 0;
    border: 1px solid #e6e4df;
	border-bottom: 3px double #e6e4df;
}
.page_calender .content table td{
	border: 1px solid #e6e4df;
	width: 50px;
	height:80px;
	vertical-align:top;
	text-align: center;
	background: #fff;
    padding: 3px;
}
.page_calender .content table td span.schedule{
	font-size:0.8em;
}
.page_calender .content table input[type="text"],
.page_calender .content table input[type="password"]{
	border:solid 1px #bbb;
}
.page_calender .content table .sun, 
.page_calender .content table th:first-child {
    background: #fff1fb;
}
.page_calender .content table .sat {
    background: #f1f5ff;
}
.page_calender .content table th:first-child {
    color: #ff2b95;
}
.page_calender .content table th.sat {
    color: #0049ff;
}

#inquiry_form_wrapper table {
    margin: 15px 0;
}
input:not(.button), select, textarea {
    padding: 10px!important;
    margin: 0 10px 0 0;
    box-sizing: border-box;
    background: #f1f1f1!important;
    border: 0!important;
    width:80%;
    box-sizing:border-box;
}
input.button {
    width: auto;
    margin: 0 auto;
    display: block;
}
input[type="email"]:last-child {
    margin-top: 10px;
}
input[type="radio"] {
	width: auto;
}
@media only screen and (max-width: 767px) {
table.table01.inquiry_form th, table.table01.inquiry_form td {
	width: 100%;
	display: block;
	text-align: left;
}
input:not(.button), select, textarea {
    width:100%;
}	
input[type="radio"] {
	width: auto;
}	
}

section.app {
    background: #fff;
    padding: 3% 0;
    margin: 0;
	text-align: center;
}
section.app ul {
    display: table;
    margin: 20px auto;
}
section.app ul li {
    float: left;
    margin: 0 10px;
}
@media only screen and (max-width: 767px) {
section.app ul li {
    float: none;
    margin: 10px 0;
}
}

/* instagram調整 */
#instafeed {
    display: flex;
    flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
#instafeed .box5:last-child {
    display: none;
}
}