/* CSS Document */

/*----------------------------------------------------
 basic
----------------------------------------------------*/
html , body{
	width: 100%;
	height:100%;
}
html {
	font-size: 62.5%;
}

body {
	font-feature-settings : "palt";
	color: #0032af;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	/*font-family: "游明朝",Yu Mincho,'Noto Serif',"ヒラギノ明朝 ProN W3","HiraMinProN-W3","ヒラギノ明朝 ProN W6","HiraMinProN-W6","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;*/
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.8;
	-webkit-text-size-adjust: none; /* フォントサイズ自動調整 */
    /*position: relative;*/
    width: 100%;
    text-align: center;
 	letter-spacing: 0.1em; 
	word-wrap : break-word;
	overflow-wrap : break-word;
	background-color: #efefef;
}
	@media screen and (min-width: 768px) {
			body{
				min-width: 1024px;
		}
	}
	@media screen and (max-width: 768px) {
		body{
			font-size: 14px;
			/*-webkit-text-size-adjust: 100%;  フォントサイズ自動調整 */
		}
		#wrapper{
			z-index: 1;
			-webkit-transition: 0.2s ease-in-out;  
			   -moz-transition: 0.2s ease-in-out;  
			     -o-transition: 0.2s ease-in-out;  
			        transition: 0.2s ease-in-out; 
		}
		#wrapper.closeCon{
			border-right: 1px solid #ccc;
			-webkit-transform: translate(-280px);
			   -moz-transform: translate(-280px);
			    -ms-transform: translate(-280px);
			     -o-transform: translate(-280px);
			        transform: translate(-280px);
		}
	}

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


a:link {
	color: #0032af;
	text-decoration: none;
}
a:visited {
	color: #0032af;
}
a:hover{
	text-decoration: none;
	color: #000000;
}
a:focus { outline:none;}



/*a {
	-webkit-tap-highlight-color: rgba(200,200,200,.6);
}
a { outline: none; }

a {
	-moz-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
	transition: all 0.2s ease-in-out, color 0.2s ease-in-out;
}*/



img {
	vertical-align: top;
}

img:not([width]) {
	/*zoom: .5; /* Retinaディスプレイ対応のためimg要素は半分の大きさに */
}

p, dl, ol, ul {
	margin:0;
	list-style:none outside;
}
em{
	font-style: normal;
}
ul{
text-align: left;
}

li {
	margin:0;
	list-style:none outside;
}


h1,h2,h3,h4,p.txt,ul,dl{
	text-align: left;
}
h1,h2,h3,h4{
/*font-weight: bold;*/
}
p.ttl{
	font-size: 100%;
	font-weight: bold;
	margin-bottom: 0.3em;
}
p.txt{
	margin-bottom: 2em;
	font-size: 100%;
}
p.img{
	margin-bottom: 2em;
}

	@media screen and (max-width: 768px) {
		* {
		   -webkit-appearance: none;
		}
	}
a:hover {  
    opacity: 0.7;  
    filter: alpha(opacity=70);  
	-ms-filter: "alpha( opacity=70 )";
	/*
    -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out; 
	*/
}
	@media screen and (max-width: 768px) {
		a:hover {  
		    opacity: 1;  
		    filter: alpha(opacity=100);  
			-ms-filter: "alpha( opacity=100 )";
		} 
	}


/*アニメーション*/
/*
*::before,
*::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
*::before,
*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
*/


/* ローディング
----------------------------------------- */
body #fade {
width: 100%;
height: 100%;
display: block;
background: #FFFFFF;
position: fixed;
top: 0px;
left: 0px;
z-index: 9999;
}

/*wrapper ローディング用*/
body #wrapper {
width: 100%;
/*min-width: 100rem;*/
margin: auto;
overflow: auto;
opacity: 0;
filter: alpha(opacity=0);  
-ms-filter: "alpha( opacity=0 )";
}

.loading {
position: fixed;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}

.loading span {
  display: block;
  opacity: 0;
  margin: 0;
  animation: loading 1.2s infinite ease-in-out alternate;
}
@keyframes loading {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#top .loading span {
  display: block;
  opacity: 0;
  margin: 0;
  animation: loading2 3s ease-in-out alternate forwards;
}
@keyframes loading2 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}

article p.txt {
margin-bottom: 1em;
text-align: left;
line-height: 1.9;
font-size: 105%;
}
@media screen and (max-width: 768px) {
article p.txt{
font-size: 0.85rem;
}
body #wrapper {
min-width: 100%;
}
}



/* 画像、テキスト振り分け
----------------------------------------- */
.pcShow{
}
.spShow{
	display: none !important;
}

	@media screen and (max-width: 768px) {
		.pcShow{
			display: none !important;
		}
		.spShow{
			display: block !important;
		}
		.spShow.br{
			display: inline;
		}
	}
.pcShow_tw{
}
.twShow{
	display: none;
}
	@media screen and (max-width: 768px) {
		.pcShow_tw{
			display: none;
		}
		.twShow{
			display: block;
		}
	}
.dsnone{
	display: none;
}

/* スペース
----------------------------------------- */
.mb0{
	margin-bottom: 0 !important;
}
.mb1em{
	margin-bottom: 1em !important;
}
.mb2em{
	margin-bottom: 2em !important;
}
.mb3em{
	margin-bottom: 3em !important;
}
.mb4em{
	margin-bottom: 4em !important;
}
.mt1em{
	margin-top: 1em !important;
}
.mt2em{
	margin-top: 2em !important;
}
.mt3em{
	margin-top: 3em !important;
}
.mt4em{
	margin-top: 4em !important;
}

.mb0{
	margin-bottom: 0 !important;
}
.mb1rem{
	margin-bottom: 1rem !important;
}
.mb2rem{
	margin-bottom: 2rem !important;
}
.mb3rem{
	margin-bottom: 3rem !important;
}
.mb4rem{
	margin-bottom: 4rem !important;
}
.mt1rem{
	margin-top: 1rem !important;
}
.mt2rem{
	margin-top: 2rem !important;
}
.mt3rem{
	margin-top: 3rem !important;
}
.mt4rem{
	margin-top: 4rem !important;
}

/* フォント
----------------------------------------- */
.fAbc{
	font-family: 'Keania One', cursive;
	font-weight: 400;
}
.fJos{
	font-family: 'Koh Santepheap', cursive;
	font-weight: 400;
}
.fMin{
	font-family: "游明朝",Yu Mincho,'Noto Serif',"ヒラギノ明朝 ProN W3","HiraMinProN-W3","ヒラギノ明朝 ProN W6","HiraMinProN-W6","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;
}

/* 文字
----------------------------------------- */
.bold{
	font-weight: bold;
}
.fwNormal{
	font-weight: normal;
}
.fs12{
	font-size: 1.2rem;
}
.fs13{
	font-size: 1.3rem;
}
.fs14{
	font-size: 1.4rem;
}
.fs15{
	font-size: 1.5rem;
}
.fs16{
	font-size: 1.6rem;
}
.fs17{
	font-size: 1.7rem;
}
.fs18{
	font-size: 1.8rem;
}
.fs19{
	font-size: 1.9rem;
}
.fs20{
	font-size: 2.0rem;
}
.fs21{
	font-size: 2.1rem;
}
.fs22{
	font-size: 2.2rem;
}
.fs24{
	font-size: 2.4rem;
}
.fs26{
	font-size: 2.6rem;
}
.fs28{
	font-size: 2.8rem;
}
.fs38{
	font-size: 3.8rem;
	line-height: 1.7;
}
.fs42{
	font-size: 4.2rem;
	line-height: 1.7;
}
.fs48{
	font-size: 4.8rem;
    line-height: 1.7;
}
.fs60{
	font-size: 6.0rem;
    line-height: 1.5;
}
.fs120{
	font-size: 12.0rem;
    line-height: 1.2;
}

.txtC{
	text-align: center !important;
}
.txtL{
	text-align: left !important;
}
.txtR{
	text-align: right !important;
}
/*float*/
.fL{
	float: left;
}
.fR{
	float: right;
}

.fc_pink{
	color: #e7243e;
}

.red {
    color: #fb2501 !important;
	font-weight: bold;
}

.lead {
	font-weight: bold;
	text-align: left;
}

@media screen and (max-width: 768px){
	.fs38{
	font-size: 2.6rem;
	line-height: 1.4;
}
    .fs48{
    font-size: 3.2rem;
    line-height: 1.4;
}
	.fs60{
	font-size: 3.6rem;
    line-height: 1.5;
}
    .fs120{
	font-size: 5.0rem;
    line-height: 1.2;
}
    .fs28{
	font-size: 2.0rem;
}
	.fs20{
	font-size: 1.6rem;
}
	.fs42{
	font-size: 3.0rem;
	line-height: 1.7;
}
}





/* flexCover
----------------------------------------- */
.flexCover{
	/*overflow: hidden;*/
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content: space-between;
}
.flexCover.colum2 > li{
	width: 48%;
}
.flexCover.colum3 > li{
	width: 32%;
}
.flexCover.colum3::after{
  content:"";
  display: block;
  width: 32%;
}

.flexCover.colum4 > li{
	width: 23.5%;
}
.flexCover.colum4::before{
  content:"";
  display: block;
  width: 23.5%;
	order:1;
}
.flexCover.colum4::after{
  content:"";
  display: block;
  width: 23.5%;
}

.flexCover.colum5 > li{
	width: 20%;
}

.flexCover.colum6 > li{
	width: 15%;
}

.flexCover.colum1 > li{
	width: 100%;
}
.flexCover li img,
.flexCover li.txt{
	width: 100%;
	height: auto;
}
.flexCover.flexS{
  justify-content: flex-start;
}

	@media screen and (max-width: 768px) {
		.flexCover.colum2 > li{
			width: 100%;
			margin-bottom: 10px;
		}
		.flexCover.colum3 > li{
			width: 48%;
			margin-bottom: 10px;
		}
		.columBox.colum2 > li{
			width: 100%;
		}
		.flexCover.colum4 > li{
			width: 48%;
			margin-bottom: 30px;
		}
		.flexCover.colum6 > li{
			width: 48%;
			margin-bottom: 30px;
		}

}


.column2_wrap > li.left_navi {
	width: 100%;
	max-width: 175px;
}

.column2_wrap > li.main_con {
	width: 100%;
	max-width: 680px;
}

.column2_wrap > li.left_navi h3 {
	font-size: 1.4rem;
	border-bottom: 1px solid #000000;
	padding-bottom: 1em;
	margin-bottom: 2em;
}

.column2_wrap > li.left_navi .categories li {
    font-size: 1.4rem;
    margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
	.column2_wrap > li.left_navi {
	width: 100%;
	max-width: 100%;
		margin-bottom: 40px;
}

.column2_wrap > li.main_con {
	width: 100%;
	max-width: 100%;
}
}

/* header .fixed
----------------------------------------- */
/*header .fixed{
	position: fixed;
	width: 100%;
}
	@media screen and (max-width: 768px) {
		header .fixed{
			position: static;
		}
	}*/


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

header {
    position: absolute;
    height: 110px;
    -webkit-transition: all .6s;
    transition: all .6s;
}

header .g_navi {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 102;
    /*background: rgba(255,255,255,1.00);*/
    /*height: 110px;*/
	padding: 3rem 0;
    display: flex;
    align-items: center;
    -webkit-transition: all .6s;
    transition: all .6s;
}

header.fixed_navi {
}

header.fixed_navi .g_navi {
    /*height: 80px;*/
    /*background: rgba(255,255,255,0.90);*/
	padding: 2rem 0 1rem;
}

header .navi_wrap {
	display: flex;
    align-items: flex-start;
	height: auto;
}

header .navi_wrap > li {
}


header .navi_wrap li svg {
	-webkit-transition: all .6s;
    transition: all .6s;
}

/*header .navi_wrap li svg {
	width: 16rem;
	max-width: 100%;
	height: auto;
	-webkit-transition: all .6s;
    transition: all .6s;
}
header .navi_wrap li svg#logo .cls-1 {
	fill:#FFFFFF;
}*/

header.fixed_navi .navi_wrap li svg {
	width: 9rem;
	max-width: 100%;
	height: auto;
}
header.fixed_navi .navi_wrap li svg#logo .cls-1 {
	fill:#000000;
}

/*header .navi_wrap > li h1 a {
	font-size: 10rem;
	line-height: 1.1;
	-webkit-transition: all .6s;
    transition: all .6s;
}

header.fixed_navi .navi_wrap > li h1 a {
	font-size: 2rem;
	line-height: 1.1;
}*/

header .navi_wrap li .address {
	font-size: 1.2rem;
	text-align: right;
	line-height: 1.5rem;
	margin-top: 55px;
	-webkit-transition: all .6s;
    transition: all .6s;
}

header.fixed_navi .navi_wrap li .address {
    margin-top: 35px;
}

header .navi_wrap li .address > li {
    margin-bottom: 0rem;
}

header .g_navi nav {
	width: 100%;
	height: 100%;
}

header .g_navi ul.navigation {
	display: flex;
    align-items: center;
    margin-top: 1rem;
}

header .g_navi ul.navigation li {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1em;
	margin-left: 1.5em;
    -webkit-transition: all .6s;
    transition: all .6s;
    position: relative;
    text-align: center;
}

header .g_navi ul.navigation li a,
header .g_navi ul.navigation li a span {
	color: #0032af !important;
}
/*header.fixed_navi .g_navi ul.navigation li a {
	color: #666666 !important;
}
header.fixed_navi .g_navi ul.navigation li a span {
	color: #000000 !important;
}*/


header .g_navi ul.navigation li a span {
	color: #000000 !important;
    font-size: 1.0rem;
    margin-top: 0.2rem;
    display: block;
    text-align: center;
    opacity: 0;
    -webkit-transition: all .5s;
    transition: all .5s;
}

header .g_navi ul.navigation li a:hover span {
	opacity: 1;
}


/*#top header .g_navi ul.navigation li:first-child a,
#top header .g_navi ul.navigation li:first-child a span {
	color: #000000 !important;
    opacity: 1;
}*/

#treatment header .g_navi ul.navigation li:nth-child(2) a,
#treatment header .g_navi ul.navigation li:nth-child(2) a span {
	color: #000000 !important;
    opacity: 1;
}

#charge header .g_navi ul.navigation li:nth-child(3) a,
#charge header .g_navi ul.navigation li:nth-child(3) a span {
	color: #000000 !important;
    opacity: 1;
}

#staff header .g_navi ul.navigation li:nth-child(4) a,
#staff header .g_navi ul.navigation li:nth-child(4) a span {
	color: #000000 !important;
    opacity: 1;
}

#access header .g_navi ul.navigation li:nth-child(5) a,
#access header .g_navi ul.navigation li:nth-child(5) a span {
	color: #000000 !important;
    opacity: 1;
}

#faq header .g_navi ul.navigation li:nth-child(6) a,
#faq header .g_navi ul.navigation li:nth-child(6) a span {
	color: #000000 !important;
    opacity: 1;
}

header .g_navi ul.navigation li a:hover {
	color: #000000 !important;
}


header .g_navi ul.navigation li::after {
	content: "";
	display: block;
    height: 2px;
    width: 0;
    background: #000000;
    margin-top: 5px;
    margin-left: -1px;
    -webkit-transition: all .5s;
    transition: all .5s;
}

header .g_navi ul.navigation li:hover::after {
	width: 100%;
}

/*#top ul.navigation li:first-child::after {
	width: 100%;
}*/

#treatment ul.navigation li:nth-child(2)::after {
	width: 100%;
}

#charge ul.navigation li:nth-child(3)::after {
	width: 100%;
}

#staff ul.navigation li:nth-child(4)::after {
	width: 100%;
}

#access ul.navigation li:nth-child(5)::after {
	width: 100%;
}

#faq ul.navigation li:nth-child(6)::after {
	width: 100%;
}

header .g_navi ul.navigation li:first-child {
	margin-left: 0;
}

@media screen and (max-width: 768px) {
.clone-nav {
	display: none;
}
header {
}
header.fixed_navi {
}
header .g_navi {
	padding: 2rem 0;
}
header.fixed_navi .g_navi {
    padding: 1rem 0 1rem;
}
header .g_navi ul.navigation {
	display: none;
}
.g_navi ul li {
	width: 100%;
}
	
.g_navi ul li:last-child .address {
	display: none;
}

header .navi_wrap li svg {
    width: 50vw;
	height: auto
}
header.fixed_navi .navi_wrap li svg {
    width: 6rem;
}
	
header .drawer-hamburger-icon,
header .drawer-hamburger-icon:before,
header .drawer-hamburger-icon:after {
    background-color: #FFFFFF;
}
header.fixed_navi .drawer-hamburger-icon,
header.fixed_navi .drawer-hamburger-icon:before,
header.fixed_navi .drawer-hamburger-icon:after {

}
.drawer-open header .drawer-hamburger-icon,
.drawer-open header.fixed_navi .drawer-hamburger-icon {
    background-color: transparent;
}
header .drawer-nav {
    top: 0;
}
.drawer-open header .drawer-nav {
    width: 100vw;
    margin-right: 0;
}
}


/* .pure-drawer カスタマイズ
----------------------------------------- */
.pure-drawer ul{
	padding: 20px;
	margin-top: 120px;
}

.pure-drawer li{
	padding-bottom: 20px;
}

.pure-drawer li img{
	width: auto;
	max-width: 100%;
}

.pure-toggle-label::before {
	background: url(../images/daruma_navi.svg) no-repeat;
	background-size: contain;
	display: block;
	width: 60px;
	height: 85px;
	margin-left: 5px;
	z-index: 1;
	margin-top: -75px;
}



/* layout
----------------------------------------- */
main {
	display: block;
}

#conWrap{
	overflow: hidden;
	clear: both;
	z-index: 2;
    padding: 0px;
    position: relative;
}

#conWrap .inner{
	width: 100%;
	/*max-width: 1160px;*/
	max-width: 92%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 8rem;
    padding-bottom: 8rem;
	-webkit-transition: all .6s;
	transition: all .6s;
}

header .inner{
	width: 100%;
	max-width: 96%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

section .ttl_wrap {
	width: 100%;
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-bottom: 40px;
	background-position: center center;
    background-repeat: no-repeat;
	background-size: cover;
}

section .ttl_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url(../images/dot-black.png);
    background-repeat: repeat;
    z-index: 1;
}

section .ttl_wrap h2 {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	font-size: 3.0rem;
	line-height: 1em;
    color: #ffffff;
	text-align: center;
	z-index: 2;
    font-family: 'Lato', sans-serif;
}

section .ttl_wrap h2 span {
	display: block;
	font-size: 1.2rem;
	line-height: 1em;
}

section .ttl_wrap h2 span::before {
	content: "";
	display: block;
	margin: 15px auto;
	width: 60px;
	height: 2px;
	background: #FFFFFF;
}


section .ttl_wrap h3 {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	font-size: 3.0rem;
	line-height: 1em;
    color: #ffffff;
	text-align: center;
	z-index: 2;
    font-family: 'Lato', sans-serif;
}

section .ttl_wrap h3 span {
	display: block;
	font-size: 1.2rem;
	line-height: 1em;
}

section .ttl_wrap h3 span::before {
	content: "";
	display: block;
	margin: 15px auto;
	width: 60px;
	height: 2px;
	background: #FFFFFF;
}


section .page_ttl_wrap {
	width: 100%;
	height: 400px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-bottom: 40px;
    background-position: center center;
    background-repeat: no-repeat;
	background-size: cover;
}

section .page_ttl_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url(../images/dot-black.png);
    background-repeat: repeat;
    z-index: 1;
}

section .page_ttl_wrap h2 {
	position: absolute;
    width: 100%;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	font-size: 3.0rem;
	line-height: 1em;
    color: #ffffff;
	text-align: center;
	z-index: 2;
    font-family: 'Lato', sans-serif;
}

section .page_ttl_wrap h2 img {
	width: auto;
    max-width: 180px;
    height: auto;
    display: block;
    margin: auto;
    margin-bottom: 15px;
}

section .page_ttl_wrap h2 span {
	display: block;
	font-size: 1.2rem;
	line-height: 1em;
}

section .page_ttl_wrap h2 span::before {
	content: "";
	display: block;
	margin: 15px auto;
	width: 60px;
	height: 0;
	background: #FFFFFF;
}

section .txt_ttl_wrap {
	margin-bottom: 40px;
}
section .txt_ttl_wrap h3 {
	font-size: 2.6rem;
    font-weight: bold;
	line-height: 1.8;
    color: #4d4d4d;
	text-align: center;
    font-family: 'Lato', sans-serif;
}

section .txt_ttl_wrap h4 {
	font-size: 2.6rem;
    font-weight: bold;
	line-height: 1.8;
    color: #4d4d4d;
	text-align: center;
    font-family: 'Lato', sans-serif;
}

.btn {
	position: relative;
	width: 100%;
	height: 55px;
    padding-left: 8%;
    font-weight: bold;
	margin: auto;
	background-color: #000000;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	color: #ffffff !important;
	 -webkit-transition: all .3s;
    transition: all .3s;
	opacity: 1;
    z-index: 1;
}
.btn p {
  display: flex;
	align-items: center;
	justify-content: flex-start;
}
.btn::before {
  background: #b7222a;
  content: "";
  display: block;
  position: absolute;
  z-index: -2;
	height: 100%;
  left: 0;
  top: 0;
  width: 100%;
}

.btn::after {
  background: #0032af;
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
	height: 100%;
  left: 0;
  top: 0;
  width: 0;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.btn:hover {
  color: #ffffff;
  opacity: 1;
	background-color: transparent;
}

.btn:hover:before {
  opacity: 1;
}

.btn:hover:after {
  width: 100%;
  opacity: 1;
}


.btn.org {
padding-left: 0;
background-color: #b7222a;
justify-content: center;
}

.btn.org:hover {
	background-color: transparent;
}



.img_box {
	-webkit-transition: all .6s;
	transition: all .6s;
}

.img_box img {
	width: 100%;
	height: auto;
}

.bg_box {
	background: #000000;
	-webkit-transition: all .6s;
	transition: all .6s;
}


section#intro .catch {
    margin-bottom: 1em;
    font-weight: bold;
}

section#intro .txt_box {
    font-weight: bold;
}


/*:root {
  --width: 100vw;
  --height: 100px;
  --top-color: #ededed;
  --bottom-color: #FFFFFF;
}
.separator {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: var(--height) var(--width) 0 0;
  border-color: var(--top-color) var(--bottom-color) transparent transparent;
}

.separator2 {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: var(--height) var(--width) 0 0;
  border-color: var(--bottom-color) var(--top-color) transparent transparent;
}*/

.separator {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 100vw 0 0;
  border-color: #ededed #FFFFFF transparent transparent;
}

.separator2 {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 100vw 0 0;
  border-color: #FFFFFF #ededed transparent transparent;
}

.separator.reverse,
.separator2.reverse {
  transform: rotateY(180deg);
}

#conWrap #sns .inner {
    max-width: 980px;
}

#sns .sns_wrap h2 {
    text-align: center;
	
}

#sns .sns_wrap li {
    width: 48%;
}

.iframe_wrap{
    position:relative;
    width:100%;
    height:0;
    padding-top:100%;
	text-align: center;
}
.iframe_wrap iframe {
    position:absolute;
    top:0;
    left:0;
    width:100% !important;
    height:100% !important;
}

.movie_wrap {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.movie_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.side_bn {
    position:fixed;
    top:20%;
    right:0;
    z-index: 1000;
    -webkit-transition: all .6s;
    transition: all .6s;
}

.side_bn .bn_wrap {
    width: 100%;
}

.side_bn .bn_wrap li a {
	display: block;
	transform: rotate(15deg);
    -webkit-transition: all .6s;
    transition: all .6s;
}
.side_bn .bn_wrap li a:hover {
	opacity: 1;
}

.side_bn .bn_wrap li svg {
}
.side_bn .bn_wrap a #yoyaku_btn .cls-1{
	fill:#0032af;
	-webkit-transition: all .6s;
    transition: all .6s;
}
.side_bn .bn_wrap a:hover #yoyaku_btn .cls-1{
	fill:#b7222a;
	opacity: 1;
}


.bottom_navi_wrap {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 1000;
}
.bottom_navi_wrap .bottom_navi_list {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	animation: buruburu 2s linear 1s infinite alternate;
}
.bottom_navi_wrap .bottom_navi_list > li {
	width: 50%;
}
.bottom_navi_wrap .bottom_navi_list > li a {
	width: 100%;
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	font-weight: bold;
	color: #FFFFFF;
}
.bottom_navi_wrap .bottom_navi_list > li a.tel {
	background-color: #0032af;
}
.bottom_navi_wrap .bottom_navi_list > li a.web {
	background-color: #b7222a;
}

@keyframes buruburu {
    0% {
      transform: rotate(0);
    }
    40% {
      transform: rotate(0);;
    }
    50% {
      transform: rotate(2deg)
    }
    60% {
      transform: rotate(-1deg);
    }
    70% {
      transform: rotate(3deg);
    }
    80% {
      transform: rotate(-2deg);
    }
    90% {
      transform: rotate(0);
    }
    100% {
      transform: rotate(0);
    }
}


img.gray {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
-webkit-transition: all .6s;
    transition: all .6s;
}


img.gray:hover {
-webkit-filter: grayscale(0);
-moz-filter: grayscale(0);
-ms-filter: grayscale(0);
-o-filter: grayscale(0);
filter: grayscale(0);
}


@media screen and (max-width: 768px) {
		#conWrap .inner{
	width: 92%;
	padding-top: 4rem;
    padding-bottom: 4rem;
}
	header .inner {
	width: 92%;
}
        #top #conWrap{
          padding-top: 0px;
        }
        #conWrap #wrap article{
            padding-top: 40px;
            padding-bottom: 50px;
        }
        #conWrap #wrap article:first-child{
             padding-top: 35px; 
        }
        .conBox .whiteBox{
            padding: 15px;
            margin-bottom: 30px;
        }
        section .page_ttl_wrap {
	height: 200px;
    margin-bottom: 0px;
}
        section .page_ttl_wrap h2 {
	font-size: 2.6rem;
}
        
        section h2 {
}
        section .page_ttl_wrap h2 img {
	width: auto;
    max-width: 80px;
    height: auto;
    display: block;
    margin: auto;
    margin-bottom: 10px;
}
        #sns .sns_wrap li {
    width: 100%;
}#sns .sns_wrap li:last-child {
    margin-top: 40px;
}
/*:root {
  --height: 60px;
}*/
.separator {
  border-width: 60px 100vw 0 0;
}
.separator2 {
  border-width: 60px 100vw 0 0;
}
        
.side_bn {
    position: fixed;
    top: 15%;
    right: -0.5rem;
    z-index: 1000;
    -webkit-transition: all .6s;
    transition: all .6s;
	
	display: none;
}
        
.side_bn .bn_wrap li svg {
	width: 12rem;
	height: auto;
}
}



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

footer {
	position: relative;
	margin-top: 6rem;
	display: block;
	padding: 1.5rem 0 3rem;
	background-color: #E2E2E2;
}

footer .inner {
    width: 100%;
    /*max-width: 116rem;*/
	max-width: 92%;
	margin: auto;
}

footer a {
	/*color: #000000 !important;*/
}

footer .foot_wrap {
	display: flex;
	align-items: flex-start;
    justify-content: space-between;
	margin: 5rem auto 5rem;
}

footer .foot_wrap > li h2 {
	margin-bottom: 2rem;
}

footer .foot_wrap > li h2 svg {
	width: 20rem;
	max-width: 100%;
	height: auto;
}
footer .foot_wrap > li h2 a {
	font-size: 6rem;
    line-height: 1.1;
    -webkit-transition: all .6s;
    transition: all .6s;
}

footer .address {
    padding-bottom: 10px;
}

footer .bn_wrap {
    margin-top: 10px;
    width: 220px;
}

footer .f_navi {
	font-size: 1.2rem;
	overflow: visible;
	display: inline-flex;
	margin: auto;
	-webkit-transition: all .6s;
    transition: all .6s;
}

footer .f_navi li a {
    border-left: #ffffff 1px solid;
    padding: 0 1rem;
}

footer .f_navi li:first-child a {
    border-left: none;
}

#page_top{
  position: fixed;
  right: 3%;
  bottom: 20px;
  z-index: 1100;
}

#page_top a{
  position: relative;
  display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #666666;
  width: 25px;
  height: 25px;
    border-radius: 50%;
  text-decoration: none;
    -webkit-transition: all .3s;
    transition: all .3s;
}

#page_top a:hover{
  background: #b7222a;
    border: 1px solid #b7222a;
}

#page_top a::before{
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f106";
  font-size: 1.2rem;
    padding-left: 0.1rem;
    line-height: 1em;
  color: #666666;
  margin: auto;
  text-align: center;
	width: 100%;
    display: block;
}
#page_top a:hover::before{
  color: #ffffff;
}

footer .reception_time_table {
    border-top: 1px solid #666666;
}

footer .reception_time_table li {
    width : -webkit-calc(calc(100% - 130px) / 7);
	width : calc(calc(100% - 130px) / 7);
	text-align: center;
	padding: 1.2em 0.2em;
    color: #666666;
    font-size: 1.6rem;
    background: #FFFFFF;
    border-bottom: 1px solid #666666;
	border-left: 1px solid #666666;
}

footer .reception_time_table li:first-child,
footer .reception_time_table li:nth-child(9){
    width: 130px;
}

footer .reception_time_table li:nth-child(8n) {
	border-right: 1px solid #666666;
}

footer .reception_time_table li.ttl {
    font-size: 1.6rem;
	font-weight: bold;
}

footer .info_wrap {
    margin: 20px 0;
    align-items: flex-end;
}

footer .info_wrap li:first-child {
    margin-right: 3rem;
}

footer .info_wrap li .tel {
    font-weight: bold;
    line-height: 1em;
    display: flex;
    align-items: center;
    margin-top: 10px;
}

footer .info_wrap li .tel::before {
  content: "";
    background: url(../images/tel_icon.svg) no-repeat;
    background-size: contain;
    width: 23px;
    height: 30px;
    display: block;
    margin-right: 10px;
   padding-bottom: 5px;
}

footer .copyright {
	width: 100%;
	font-size: 1.1rem;
    text-align: center;
	letter-spacing: 0.03rem;
	padding: 0;
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
	footer {
		padding: 1.5rem 0 6rem;
}
	footer .inner{
	width: 92%;
	padding: 3rem 0 2rem;
}
    footer .foot_wrap {
	display: block;
	margin: 0px auto 30px;
}
	
	footer .foot_wrap li h2 {
	margin-right: 0rem;
	text-align: center;
	margin-bottom: 2rem;
}
	footer .foot_wrap > li h2 a {
    font-size: 4rem;
}
	footer .foot_wrap > li {
	width: 100%;
}
	footer .info_wrap li:first-child {
    margin-right: 0;
	margin-bottom: 1rem;
}
	footer .foot_wrap > li:nth-child(2) {
	margin: 30px 0;
}
	footer .address {
	font-size: 1.0rem;
    text-align: center;
}
	footer .link_navi {
	width: 92%;
}

	footer .link_navi li {
	width: 48%;
		margin-top: 10px;
}
	
	footer .link_navi li:first-child,
	footer .link_navi li:nth-child(2) {
	width: 48%;
		margin-top: 0px;
}
    
    footer .bn_wrap {
    margin-top: 10px;
    width: 100%;
}
	
	footer .sns_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
	margin-bottom: 2rem;
}
	footer .copyright {
	margin-top: 1rem;
	font-size: 1.0rem;
	text-align: center;
}
	footer .f_navi {
	font-size: 1.0rem;
	letter-spacing: 0;
	justify-content: center;
}

footer .f_navi li a {
    padding: 0 0.5rem;
}
	
	footer .foot_wrap > li h2 svg {
    width: 12rem;
}
	
	#page_top{;
  bottom: 6rem;
}
}



/* #breadcrumbs
----------------------------------------- */

#breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 40px;
    width: 100%;
    font-size: 1.0rem;
    color: #B3B3B3;
    padding-left: 2%;
    font-family: 'Roboto Condensed', sans-serif;
}

#breadcrumbs a {
    color: #B3B3B3 !important;
}

@media screen and (max-width: 768px) {
    #breadcrumbs {
    padding-left: 4%;
}
}



/* #breadcrumbs
----------------------------------------- */

#breadcrumbs {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 40px;
    width: 100%;
    font-size: 1.0rem;
    color: #B3B3B3;
    padding-left: 2%;
    font-family: 'Josefin Sans', sans-serif;
}

#breadcrumbs a {
    color: #B3B3B3 !important;
}

@media screen and (max-width: 768px) {
    #breadcrumbs {
    padding-left: 4%;
}
}