body {
	width: 100%;
	height: 100%;
	color: #6d323e;
	margin: 0; 
	-webkit-font-feature-settings: "palt";/* 文字詰め */
	font-feature-settings: "palt";/* 文字詰め */
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Noto Sans JP",
		Meiryo,
		sans-serif;
	font-size: 0.95rem;
	line-height: 1.8;
	font-weight:400;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: auto;
	font-smoothing: subpixel-antialiased;
	-webkit-font-kerning: normal;
	font-kerning: normal;
	-ms-overflow-style: none;
	overscroll-behavior-y: none;
	cursor: default;
}
@media screen and (min-width: 768px) {
body {
	font-size: 1rem;
	letter-spacing: 0.01em;
	font-weight: 500;
	font-family: "Helvetica Neue", Helvetica, Arial, "a-otf-gothic-bbb-pr6n", "游ゴシック", YuGothic, sans-serif;
}
}
@media screen and (min-width: 1300px) {
body {
	font-size: 1.05rem;
	letter-spacing: 0.03em;
	font-weight: 500;
	font-family:"游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}
}
@media all and (-ms-high-contrast: none) {
  body {
}
}

header, 
main,
footer, 
nav, 
section, 
article, 
aside {
  display: block;
}

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

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  line-height: 1;
  color: inherit; }

li > ul, li > ol {
  margin-bottom: 0; }

dd {
  margin-left: 0; }

table {
  width: 100%;
  border-collapse:  collapse; /* セルの線を重ねる */
  text-align: left;
}
th,td {
  border: 0px solid #999;  /* 枠線指定 */
  padding: 10px;      /* 余白指定 */
}


a {
	text-decoration: none;
	color: #c8406d;
	transition-property: all;
	transition: 0.2s linear;
}
a:link,a:visited{
	color: #c8406d;
	text-decoration: none;
}
a:hover,a:active{
	filter:alpha(opacity=60);
	opacity:0.6;
	color: #c8406d;
	text-decoration: none;
}
h1, h2, h3, h4, h5, h6,
ul, ol, dl,
blockquote, p, address,
hr,
table, {
  margin-top: 0;
  margin-bottom: 0; }

ul, li, dl, dt, dd {
  padding: 0; }
ul li{
  list-style:none;
 }
button {
  outline: none;
  border: none;
  background: none; }

input {
  border: none;
  outline: none; }

a:hover img{
	cursor:pointer;
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
	-ms-filter: "alpha(opacity=80)"; /* IE8 */
	zoom:1;
}
.clear-all {
	clear: both;
}
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

::before , ::after {
	box-sizing: inherit;
}

button {
	margin: 0;
	padding: 0;
	outline: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	vertical-align: middle;
	text-align: inherit;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}

/*************************************
/* アンカーリンクの着地
*************************************/

.anchor {
  scroll-margin-top: 100px; /* 下にずらしたい分 */
}
@media screen and (min-width: 768px) {
.anchor {
  scroll-margin-top: 130px; /* 下にずらしたい分 */
}
}
@media screen and (min-width: 1300px) {
.anchor {
  scroll-margin-top: 170px; /* 下にずらしたい分 */
}
}

/*************************************
/* 文章の揃え
*************************************/
.txt-center {
  text-align: center;
}
.txt-left{
text-align: left;
}
.txt-right{
text-align: right;
}

/*************************************
/* 線
*************************************/

.line-gray{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #CCCCCC;
	margin-left: auto;
	margin-right: auto;
}
.line-wt{
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #fff;
	margin-left: auto;
	margin-right: auto;
}
.line-pink{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #fbeaf0;
	margin-left: auto;
	margin-right: auto;
}
.line-pink02{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #f87a96;
	margin-left: auto;
	margin-right: auto;
}
.line-red{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #c8406d;
	margin-left: auto;
	margin-right: auto;
}
img-line {
	padding: 2%;
	border: 1px solid #CCCCCC;
}
.line-outline{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #c8406d;
	padding-top:30px;
}
.line-outline02{
	padding-left:15px;
	padding-right:15px;
	margin-top: auto; 
}
.line-bottom{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #F7D2DF;
	margin-left: auto;
	margin-right: auto;
	padding-bottom:10px;

}
/*************************************
/* 画像
*************************************/

.ofi{
	width: 100%;
	max-height:150px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.ofi2{
	width: 100%;
	max-height:350px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.ofi3-box{
   padding:10px;
	border: 1px solid #CCCCCC;
	height:125px;
	margin-bottom:5px;
	position: relative;
    text-align: center;
    align-items: center;
    display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    justify-content: center;
}
.ofi3{
	width: 100%;
	max-height:120px;
	   
}
.ofi4{
	width: 100%;
	height:80px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.ofi5{
	width: 100%;
	max-height:auto;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
@media screen and (min-width: 768px) {
.ofi{
	width: 100%;
	max-height:200px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.ofi2{
	width: 100%;
	max-height:450px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.ofi3-box{
   padding:10px;
	border: 1px solid #CCCCCC;
	height:175px;
	margin-bottom:5px;
	position: relative;
    text-align: center;
    align-items: center;
    display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    justify-content: center;
}
.ofi3{
	width: 100%;
	max-height:155px;
	   
}
.ofi4{
	width: 100%;
	max-height:155px;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.ofi5{
	width: 100%;
	max-height:auto;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
.line-outline{
	padding:50px;
	border: 1px solid #c8406d;
	border-radius: 20px;
}
}


/*************************************
/* 共通　スペース
*************************************/

.space-big{
	height:50px;
}
.space{
	height:30px;
}
.space-small{
	height:15px;
}
.space-mini{
	height:10px;
}
.space-puti{
	height:5px;
}

@media screen and (min-width: 1300px) {
.space-big{
	height:100px;
}
.space{
	height:40px;
}
.space-small{
	height:20px;
}
.space-mini{
	height:15px;
}
.space-puti{
	height:7px;
}
}

/*************************************
/* 共通　背景
*************************************/

.back-wt{
	background-color: #ffffff;
}
.back-pink{
	background-color: #FBEAF0;
}
.back-bk{
	background-color: #2A2B2B;
}
.back-beige{
	background-color: #FEF9E7;	
}
.back-gray{
	background-color: #fbf8f9;	
}
.back-gray2{
	background-color: #F3F3F3;	
}
.back-wt-opacity{
background-color:rgba(255, 255, 255, 0.4);
}


/*************************************
/* 個別　背景
*************************************/

.back-header{
	background-image: url(../images/bg_img_header_sp.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position:bottom;  
}
@media screen and (min-width: 768px) {
.back-header{
	background-image: url(../images/bg_img_header.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position:bottom;  
}
}
.back-footer{
	background-image: url(../images/bg_img_footer.png);
	background-repeat: no-repeat;
	background-size:  cover; 
	background-position: center top;
}
.back-other{
	background-image: url(../images/bg_img_other.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center top;
}
.back-single{
	background-image: url(../images/bg_img_single.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center top;
}
.back-navi{
	background-image: url(../images/bg_navi.jpg);
	background-repeat: no-repeat;
	background-size:  cover;  
}
.back-intro{
	background-image: url(../images/bg_img01.jpg);
	background-repeat: no-repeat;
	background-size:  cover;   
}
.back-services{
	background-image: url(../images/bg_img02.jpg);
	background-repeat: no-repeat;
	background-size:  cover;   
}
.back-message{
	background-image: url(../images/bg_img03.jpg);
	background-repeat: no-repeat;
	background-size:  cover;
}
.back-features{
	background-image: url(../images/bg_img_features.png);
	background-repeat: no-repeat;
	background-size:  cover;
}
.back-contact{
	background-image: url(../images/bg_img_contact_sp.jpg);
	background-repeat: no-repeat;
	background-size:  cover;   
}
@media screen and (min-width: 768px) {
.back-contact{
	background-image: url(../images/bg_img_contact.jpg);
	background-repeat: no-repeat;
	background-size:  cover;   
}
}

/*************************************
/* 幅
*************************************/

.back-max{
	max-width:1500px;
	margin-left:auto;
	margin-right:auto;
	padding-left:25px;
	padding-right:25px;
}
@media screen and (min-width: 768px) {
.back-max{
	max-width:1500px;
	margin-left:auto;
	margin-right:auto;
	padding-left:50px;
	padding-right:50px;
}
}
@media screen and (min-width: 1300px) {
.back-max{
	max-width:1500px;
	margin-left:auto;
	margin-right:auto;
	padding-left:50px;
	padding-right:50px;
}
}
.back-max-small{
	max-width:600px;
	margin-left:auto;
	margin-right:auto;
	padding-left:30px;
	padding-right:30px;
}
@media screen and (min-width: 768px) {
.back-max-small{
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
	padding-left:50px;
	padding-right:50px;
}
}
@media screen and (min-width: 1300px) {
.back-max-small{
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	padding-left:50px;
	padding-right:50px;
}
}

/*************************************
/* 余白
*************************************/

.outline{
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 15px;
	padding-left: 30px;
	flex-grow:1;
}
.outline p{
	flex-grow:1;
}
.outline-big{
	padding-top: 15px;
	padding-right: 20px;
	padding-bottom: 15px;
	padding-left: 20px;
	flex-grow:1;
}
.outline-small{
	padding-top: 15px;
	padding-right: 15px;
	padding-bottom: 15px;
	padding-left: 15px;
	flex-grow:1;
}
.outline-breadcrumb{
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 15px;
	padding-left: 30px;
	flex-grow:1;
}
.outline-info{
	padding-right: 30px;
	padding-left: 30px;
	flex-grow:1;
}
.outline-pc{
	padding-top: 15px;
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
	flex-grow:1;
}
.outline-pc2{
	padding-top: 15px;
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
	flex-grow:1;
}
.outline-pc3{
	padding-top: 15px;
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
	flex-grow:1;
}
.outline-line{
	border: 1px solid #6d323e;	
}

@media screen and (min-width: 768px) {
.outline{
	padding:30px;
	flex-grow:1;
}
.outline-info{
	padding-top: 0px;
	padding-right: 30px;
	padding-bottom: 0px;
	padding-left: 30px;
	flex-grow:1;
}
.outline-big{
	padding-top: 30px;
	padding-right: 30px;
	padding-bottom: 0px;
	padding-left: 30px;
	flex-grow:1;
}
.outline-small{
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 18px;
	padding-left: 30px;
}
.outline-breadcrumb{
	padding-top: 0px;
	padding-right: 30px;
	padding-bottom: 0px;
	padding-left: 30px;
	flex-grow:1;
}
.outline-pc{
	padding:30px;
	flex-grow:1;
}
.outline-pc2{
	padding-top: 30px;
	padding-right: 50px;
	padding-bottom: 30px;
	padding-left: 50px;
	flex-grow:1;
}
.outline-pc3{
	padding-top: 30px;
	padding-right: 70px;
	padding-bottom: 30px;
	padding-left: 70px;
	flex-grow:1;
}
}

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

.outline-info{
	padding-top: 0px;
	padding-right: 30px;
	padding-bottom: 0px;
	padding-left: 30px;
	flex-grow:1;
}
.outline-big{
	padding-top: 30px;
	padding-right: 60px;
	padding-bottom: 0px;
	padding-left: 60px;
	flex-grow:1;
}
.outline-breadcrumb{
	padding-top: 0px;
	padding-right: 60px;
	padding-bottom: 0px;
	padding-left: 60px;
	flex-grow:1;
}
.outline-pc3{
	padding-top: 30px;
	padding-right: 100px;
	padding-bottom: 30px;
	padding-left: 100px;
	flex-grow:1;
}
}


/*************************************
/* 共通　タイトル・コピー装飾
*************************************/

/* タイトル */

.big-title{
	font-size:2em;
	line-height:1.5;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.middle-title{
	font-size:1.8em;
	line-height:1.5;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 400;
}
.big-copy-left{
	font-size:1.4em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	line-height:1.8;
}
.middle-copy-left{
	font-size:1.4em;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	line-height:1.8;
	padding-bottom:5px;
}
.small-copy-left{
	font-size:1.1rem;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	line-height:1.5;
}
@media screen and (min-width: 768px) {
.big-copy-left{
	font-size:1.7em;
}
.small-copy-left{
	font-size:1.3rem;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	line-height:1.5;
}
}


/* 装飾文字 */

.cercle-line  {
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 1.2em;
	color: #fff;
	padding-bottom:7px;
	padding-left:15px;
	padding-top:6px;
	line-height: 1.3;
	background-image:url(../images/btn_yoko.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	vertical-align: middle;
	border-radius: 0px 20px 20px 0px;
}

.cercle-line :before {
	content: '●';
	color: white;
	margin-right: 8px;
}



/* 文章など */

.point-no{
	font-size:1.05em;
	color:#fff;
	background-color:#f87a96;
	letter-spacing: 0.2em;
	font-family: "Zen Maru Gothic", sans-serif;
	border-radius: 15px;
	max-width:70px;
	text-align:center;
}
.point-category{
	font-size:0.8em;
	color:#fff;
	background-color:#f87a96;
	letter-spacing: 0.1em;
	border-radius: 10px;
	text-align:center;
	padding:3px;
	max-width:120px;
	margin-right:15px;
	margin-bottom:5px;
}

.point-txt{
	font-size:1.2em;
	letter-spacing: 0.1em;
	font-family: "Zen Maru Gothic", sans-serif;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #6d323e;
	padding-left:2px;
	padding-bottom: 7px;
	display: inline-block;
}
.point-txt-pink{
	font-size:1.05em;
	color:#f87a96;
	letter-spacing: 0.2em;
	font-family: "Zen Maru Gothic", sans-serif;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #F76888;
	padding-left:2px;
	padding-bottom: 7px;
	display: inline-block;
}

.copy-sentence{
	font-size:1.05em;
	line-height:1.8;
	letter-spacing: 0.01em;
	text-align: justify;
}
.copy-sentence-light{
	line-height:1.8;
}
.copy-sentence li{
	line-height:1.8;
	padding-bottom:10px;
}
.basic-sentence{
	font-size:0.95em;
	-webkit-font-feature-settings: "palt";/* 文字詰め */
  font-feature-settings: "palt";/* 文字詰め */
}
.basic-sentence-small{
	font-size:0.8em;
	text-align:left;
	color: #333;	
	line-height: 1.7;
}
.small-sentence{
	font-size:0.8em;	
}
.puti-sentence{
	font-size:0.75em;
	letter-spacing:normal;
	letter-spacing: 0.05em;
}
.gray-txt{
	color: #666666;
}
a .big-copy-left{
	color: #333;
}
a .copy-sentence{
	color: #6d323e;
}
a .basic-sentence{
	color: #6d323e;
}

/* 文章の向き */

.font-tate{
writing-mode: horizontal-tb;
}

@media screen and (min-width: 768px) {
.font-tate{
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
}
.copy-sentence{
	font-size:1em;
	letter-spacing: 0.03em;
}
.point-category{
	font-size:0.8em;
	color:#fff;
	background-color:#f87a96;
	letter-spacing: 0.1em;
	border-radius: 10px;
	text-align:center;
	padding:5px;
	max-width:150px;
	margin-right:15px;
	margin-bottom:0px;
}
}
@media screen and (min-width: 1300px) {

.copy-sentence{
	line-height:2.3;
}
.copy-sentence-light{
	line-height:2.1;
}


}
/* 文字サイズ */

.font-small{
	font-size: 0.8em; /* 親文字サイズ基準 */
}
.font-big {
	font-size: 1.2em; /* 親文字サイズ基準 */
}

/* 文字カラー */

.font-bk{
color:#000;
}
.font-wt{
color:#FFF;
}
.font-wt a{
color:#FFF;
}
.font-gray{
color:#888888;
}
.font-pink{
color:#f87a96;
}
.font-red{
color:#c8406d;
}
.font-orange{
color:#E85855;
}
.font-purple{
color:#BC43A0;
}
.font-blue{
color:#8F70D1;
}
.font-brown{
color:#6d323e;
}
a.font-brown{
color:#6d323e;
}


/* 文字のフェードイン */
.fade {
	filter:alpha(opacity=0); /* IE 6,7*/
	-ms-filter: "alpha(opacity=0)"; /* IE 8,9 */
	-moz-opacity:0; /* FF , Netscape */
	-khtml-opacity: 0; /* Safari 1.x */
	opacity:0;
	zoom:1; /*IE*/
	-webkit-transform: translateY(30px);
	transform: translateY(30px);
	-webkit-transition: opacity 1.2s, transform 1.2s;
	transition: opacity 1.2s, transform 1.2s;
}
.fade.active {
	filter:alpha(opacity=100); /* IE 6,7*/
	-ms-filter: "alpha(opacity=100)"; /* IE 8,9 */
	-moz-opacity:1; /* FF , Netscape */
	-khtml-opacity: 1; /* Safari 1.x */
	opacity:1;
	zoom:1; /*IE*/
	-webkit-transform: translateY(0px);
	transform: translateY(0px);
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.fade {
	opacity:1;
}
}



/*************************************
/* ブログ記事
*************************************/

/* swiperのサイズ */
.swiper-all{
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: block;
  width: 100%;
  height:auto;
}
.swiper-custom-parent{
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
  max-width:1500px;
  height:auto;
  padding-left:15px;
  padding-right:15px;
}
@media screen and (min-width: 768px) {
.swiper-custom-parent{
  padding-left:25px;
  padding-right:25px;
}
}
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  width: 100%;
  max-width: 1500px;
  height:auto;
}

/* swiperのドット位置を枠下に */
.slider1{
    --add-bottom: 50px;
    padding-bottom: var(--add-bottom);
}
.slider1 [class^="swiper-button-"]{
    top: calc(50% - var(--add-bottom) / 2);
}
.slider2{
    --add-bottom: 50px;
    padding-bottom: var(--add-bottom);
}
.slider2 [class^="swiper-button-"]{
    top: calc(50% - var(--add-bottom) / 2);
}
.slider3{
    --add-bottom: 50px;
    padding-bottom: var(--add-bottom);
}
.slider3 [class^="swiper-button-"]{
    top: calc(50% - var(--add-bottom) / 2);
}
.slider4{
    --add-bottom: 50px;
    padding-bottom: var(--add-bottom);
}
.slider4 [class^="swiper-button-"]{
    top: calc(50% - var(--add-bottom) / 2);
}

/* ページネーションのサイズと色 */

.swiper-pagination-bullet {
  background-color: #000;
  height: 8px;
  width: 8px;
  margin: 0 5px!important;
}

/* ページネーションがアクティブな時の色 */
.swiper-pagination-bullet-active {
  background-color: #000;
}


/* swiperのリンク */
.swiper-slide a{
	text-decoration: none;
}
.swiper-slide a:hover,a:active{
	filter:alpha(opacity=60);
	opacity:0.6;
	text-decoration: none;
	color: #717171;
}


/*************************************
/* 写真の角丸装飾
*************************************/
.kadomaru{
	border-radius: 20px;
}

.kadomaru img{
	border-radius: 20px;
}
.kadomaru-ue img{
	border-radius: 20px 20px 0px 0px;
}

.slider3 .kadomaru img {
	padding-left:5px;
}


/*************************************
/* 共通ボタン装飾
*************************************/

/*ボタン1*/
.btn01 a {
	display: flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height:auto;
	max-width:300px;
	border-radius: 25px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-right: auto;
	padding-left: auto;
	padding-top:15px;
	padding-bottom:15px;
	background-image:url(../images/btn_yoko.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	color:#FFF;
	font-size:1em;
	letter-spacing: 0.1em;
	font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    Meiryo,
    sans-serif;
}
.btn01 a:link,.btn01 a:visited {
	text-decoration: none;
}
.btn01 a:hover,.btn01 a:active {
	text-decoration: none;
}
@media screen and (min-width: 768px) {
.btn01 a {
	max-width:500px;
}
}
@media screen and (min-width: 1300px) {
.btn01 a {
}
}

/*ボタン2*/

.btn02 a {
	display: flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height:auto;
	max-width:400px;
	border-radius: 25px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-right: 0px;
	padding-left: 0px;
	padding-top:15px;
	padding-bottom:15px;
	background-color: #fff;
	color:#c8406d;
	font-size:1em;
	letter-spacing: 0.1em;
	border: 1px solid #c8406d;
  font-style: normal;
  font-weight: 500;
}
.btn02 a:link,.btn02 a:visited {
	text-decoration: none;
	background-color: #fff;
	color:#c8406d;
}
.btn02 a:hover,.btn02 a:active {
	text-decoration: none;
	filter:alpha(opacity=60);
	opacity:0.6;
}
@media screen and (min-width: 768px) {
.btn02 a {
	max-width:600px;
}
}
@media screen and (min-width: 1300px) {
.btn02 a {
	font-size:16px;
}
}

/*ボタン3*/
.btn03 a {
	display: flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height:auto;
	max-width:300px;
	border-radius: 25px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-right: auto;
	padding-left: auto;
	padding-top:15px;
	padding-bottom:15px;
	background-image:url(../images/btn_yoko_orange.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	color:#FFF;
	font-size:1.3em;
	letter-spacing: 0.1em;
	font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    Meiryo,
    sans-serif;
}
.btn03 a:link,.btn03 a:visited {
	text-decoration: none;
}
.btn03 a:hover,.btn03 a:active {
	text-decoration: none;
}
@media screen and (min-width: 768px) {
.btn03 a {
	max-width:500px;
}
}

/*ボタン4*/
.btn04 a {
	display: flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height:auto;
	max-width:300px;
	border-radius: 25px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-right: auto;
	padding-left: auto;
	padding-top:15px;
	padding-bottom:15px;
	background-image:url(../images/btn_yoko_purple.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	color:#FFF;
	font-size:1.3em;
	letter-spacing: 0.1em;
	font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    Meiryo,
    sans-serif;
}
.btn04 a:link,.btn04 a:visited {
	text-decoration: none;
}
.btn04 a:hover,.btn04 a:active {
	text-decoration: none;
}
@media screen and (min-width: 768px) {
.btn04 a {
	max-width:500px;
}
}
/*フッターナビ用　ボタン5*/

.btn05 a {
	display:block;
	justify-content: start;
	align-items: center;
	width: max-content;
	min-width: 100%;
	max-width: 100%;
	margin-inline: auto;
	height:auto;
	transition: 0.3s;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-right: 15px;
	padding-left: 0px;
	padding-top:10px;
	padding-bottom:10px;
	background-color: #FFF;
	color:#c8406d;
	font-size:1em;
	letter-spacing: 0.1em;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #fbeaf0;
}
.btn05 a:link,.btn05 a:visited {
	text-decoration: none;
	background-color:; 
	color:#c8406d;
}
.btn05 a:hover,.btn05 a:active {
	text-decoration: none;
	background-color: #FDF2F7;
	color:#c8406d;
}
@media screen and (min-width: 768px) {
.btn05 a {
	padding-left: 15px;
}
.btn05 a:hover,.btn05 a:active {
	text-decoration: none;
	background-color:#FDF2F7;
	color:#c8406d;
}
}


/*ボタン6*/
.btn06 a {
	display: flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height:auto;
	max-width:300px;
	border-radius: 25px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-right: auto;
	padding-left: auto;
	padding-top:15px;
	padding-bottom:15px;
	background-image:url(../images/btn_yoko.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	color:#FFF;
	font-size:1.3em;
	letter-spacing: 0.1em;
	font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    Meiryo,
    sans-serif;
}
.btn06 a:link,.btn06 a:visited {
	text-decoration: none;
}
.btn06 a:hover,.btn06 a:active {
	text-decoration: none;
}
@media screen and (min-width: 768px) {
.btn06 a {
	max-width:500px;
}
}


.p-post-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height:auto;
	max-width:425px;
	font-weight: 700;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	padding-right: 0px;
	padding-left: 0px;
	padding-top:15px;
	padding-bottom:15px;
	border: 1px solid #333;
	background-color: #333;
	color:#FFF;
}
.p-post-btn:link,.p-post-btn a:visited {
	text-decoration: none;
	background-color: #333;
	color:#FFF;
}
.p-post-btn:hover,.p-post-btn a:active {
	text-decoration: none;
	background-color: #333;
	color:#FFF;
}


/*************************************
/* ヘッダー部分
*************************************/

#top-pink{
	position:fixed;	
	width:100%;
	z-index:20;
}
#top-pink img{
	width:100%;
	height:95px;
}

@media screen and (min-width: 1300px) {
#top-pink img{
	width:100%;
	height:120px;
}
}

#header{
	position:relative;
	width:100%;
	height:100%;
	left:0;
	top:0;
	margin:0;
	padding:0;
}

#headerBar-all{
	position:absolute;
	width:100%;
	height:100%;
	left:0;
	top:0;
	z-index: 110;
}

#navi-bg{
	position:relative;
}
#navi-bg-wt{
	position:fixed;
	top:15px;
	left:2%;
	width:96%;
	height:60px;
	background-color: #fff;
	z-index:100;	
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #fbeaf0;
	border-radius: 20px;
}
@media screen and (min-width: 1300px) {
#navi-bg-wt{
	position:fixed;
	top:20px;
	left:2%;
	width:96%;
	height:80px;
	background-color: #fff;
	z-index:100;	
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #fbeaf0;
	border-radius: 20px;
}
}
/* ロゴ */

.logo{
	position: fixed;
	width:200px;
	height:auto;
	left:5%;
	top:23px;
	z-index: 100;
	line-height: 2.2;
	text-align:center;
}
/* h１ */
.header-h1{
	position: absolute;
	height:auto;
	right:2.2%;
	padding-top:20px;
	z-index: 50;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 12px;
}
.header-h1.open {
/* ナビボタンをクリックすると色が変わって見えなくなる */
	color: #464848;
}
.clinic-definition{
	position: absolute;
	width:100%;
	left: 50%;
 	transform: translateX(-50%);
	bottom:30px;
	height:auto;
	padding-top:10px;
	padding-left:30px;
	padding-right:30px;
	font-size:13px;
}

@media screen and (min-width: 768px) {
.logo{
	position: fixed;
	width:200px;
	height:auto;
	left:3.5%;
	top:23px;
	z-index: 1300;
	line-height: 2.2;
	text-align:center;
}
.header-h1{
	position: absolute;
	height:50px;
	left:260px;
	padding-top:35px;
	z-index: 100;
	font-size: 8px;
	font-weight: 400;
	color:#6d323e;
}
.clinic-definition{
	position: absolute;		
	width:100%;
	max-width:1500px;
	left: 50%;
 	transform: translateX(-50%);
	bottom:50px;
	height:auto;
	padding-top:10px;
	padding-left:50px;
	padding-right:50px;
	font-size:13px;
	text-align:center;
}
}
@media screen and (min-width: 1300px) {
.logo{
	position: fixed;
	width:250px;
	height:auto;
	left:3.2%;
	top:33px;
	z-index: 1200;
	line-height: 2.2;	
}
/* h１ */
.header-h1{
	position: absolute;
	height:20px;
	left:auto;
	right:2.2%;
	padding-top:3px;
	z-index: 800;
	color:#fff;
	font-size: 10px;
	letter-spacing: 0em;
}
.header-h1-other{
	position: absolute;
	height:20px;
	left:auto;
	right:2.2%;
	padding-top:28px;
	z-index: 800;
	color:#fff;
	font-size: 10px;
	letter-spacing: 0em;
}
}
@media screen and (min-width: 1500px) {
.header-h1{

	right:21px;
	font-size: 11px;
	letter-spacing: 0.1em;
}
.header-h1-other{
	right:21px;
	font-size: 11px;
	letter-spacing: 0.1em;
}
}
/* 固定のお問い合わせなど */
#side-info{
	display:none;
	opacity:0;
	
}
#side-online-btn{
	display:none;
	opacity:0;
}


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

#side-info{
	display:block;
	opacity:1;
	position: fixed;
	bottom:30px;
	left: 30px;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	font-size:10px;
	color:#f87a96;
}
#side-online-btn{
	display:block;
	opacity:1;
	position: fixed;
	bottom: 100px;
	right: 0px;
	z-index:200;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	letter-spacing: 0.3em;
}
#side-online-btn a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 300px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
  	border-top-left-radius: 20px;
 	border-bottom-left-radius: 20px;
 	font-size:16px;
	font-weight:500;
	letter-spacing: 0.3em;
	border-top-width: 2px;
	border-bottom-width: 2px;
	border-left-width: 2px;
	border-right-width: 1px;
	border-top-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-right-style: solid;
	border-top-color: #c8406d;
	border-bottom-color: #c8406d;
	border-left-color: #c8406d;
	border-right-color: #ccc;		
}
#side-online-btn a:link,#side-online-btn a:visited {
	text-decoration: none;
	color: #c8406d;
	background-color:#fff;
	opacity:1;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	letter-spacing: 0.15em;
}
#side-online-btn a:hover,#side-online-btn a:active {
	text-decoration: none;
	opacity:0.7;
	border-top-left-radius: 20px;
  	border-bottom-left-radius: 20px;
	letter-spacing: 0.15em;
}
}

@media screen and (min-width: 1900px) {
#mainvg-stock-btn{
	display:block;
	position:absolute;
	top: 360px;
	left: 230px;
	z-index:50;
	width:260px;
	height:260px;
}
#mainvg-stock-btn a:hover img{
	cursor:pointer;
	filter: alpha(opacity=95);
	-moz-opacity:0.9;
	opacity:0.9;
	-ms-filter: "alpha(opacity=95)"; /* IE8 */
	zoom:1;
}

#header-contact-btn{
	top: 210px;
}

#header-stock-btn{
	top: 430px;
}
}

/*************************************
/* SPのときの電話番号・WEB予約表記
*************************************/

#footer-contact-btn{
	display:block;
	position: fixed;
	left: 0px;
	z-index:100;
	width:100%;
	height: 60px;
	background-color: #fff;
	bottom: 0!important;
	bottom: calc(env(safe-area-inset-bottom) + 0px);
}
/* さらに保険 */
@supports (height: 100dvh) {
	#footer-contact-btn{
		bottom: env(safe-area-inset-bottom);
	}
}

#footer-contact-btn .box3-3-info a {
	display: flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	height: 60px;
	padding-top:0px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	background-image:url(../images/btn_yoko.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	color:#FFF;
 	font-size:13px;
	font-weight:500;
	z-index:100;
}
#footer-contact-btn .box3-3-info a:link,#footer-contact-btn .box3-3-info a:visited {
	text-decoration: none;
	background-image:url(../images/btn_yoko.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	color:#FFF;
	opacity:1;
}
#footer-contact-btn .box3-3-info a:hover,#footer-contact-btn .box3-3-info a:active {
	text-decoration: none;
	opacity:0.7;
}
@media screen and (min-width: 1300px) {
#footer-contact-btn {
	visibility:hidden;
}
}

/* ----------
JavaScriptでスクロール方向を検知して表示/非表示を切り替える
----------*/

.fixed-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  transition: transform 0.3s ease;
}

.fixed-footer.hide {
  transform: translateY(100%);
}


/*************************************
/* PCのときの電話番号・WEB予約表記
*************************************/

#top-tel,#top-web {
	visibility:hidden;
	
}


@media screen and (min-width: 1300px) {
#top-tel {
	visibility:visible;
	position:fixed;
	z-index:200;
	right:170px;
	top:20px;
	background-image:url(../images/btn_yoko.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	border-bottom-right-radius: 10px 10px;
	border-bottom-left-radius: 10px 10px;
	text-align:center;
	padding-top:7px;
	padding-bottom:5px;
	padding-right: 10px;
	padding-left: 10px;
	font-size:16px;
	line-height:1.8;
	letter-spacing:0.05em;
}
#top-tel .puti-sentence{
	font-size: 11px;
	padding-top:7px;
	letter-spacing: 0.1em;
}
#top-web {
	visibility:visible;
	position:fixed;
	z-index:200;
	right:20px;
	top:20px;
	background-image:url(../images/btn_yoko.jpg);
	background-repeat:no-repeat;
	background-size:cover;
	border-bottom-right-radius: 10px 10px;
	border-bottom-left-radius: 10px 10px;
	text-align:center;
	padding-top:7px;
	padding-bottom:5px;
	padding-right: 30px;
	padding-left: 30px;
	font-size:16px;
	line-height:1.8;
	letter-spacing:0.05em;
}
#top-web .puti-sentence{
	font-size: 11px;
	padding-top:7px;
	letter-spacing: 0.1em;
}
}



/*************************************
/* page-top
*************************************/
#page-top{
display:none;
	
}

@media screen and (min-width: 1300px) {
#page-top{
	position: fixed;
	display:block;
	width: 50px;
	height: 50px;
	bottom: 15px;
	right: 0px;
	z-index:200;
	color: #FFF;
	background-color: #fff;
	
}
#page-top a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	transition: 0.3s;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	background-color: #fff;
	background-image: url(../images/common/chevron-up-solid.svg);
	background-repeat: no-repeat;
	background-position: bottom 50% right 50%;
	background-size: 12px;
	border: 1px solid #c8406d;
	
}
#page-top a:link,#page-top a:visited {
	text-decoration: none;
	background-color: #fff;
	opacity:0.9;
}
#page-top a:hover,#page-top a:active {
	text-decoration: none;
	background-color: #fbeaf0;
	opacity:1;
}
}

/*************************************
/* navi01
*************************************/



#top-navigation{
	display: none;
}

@media screen and (min-width: 1300px) {
#top-navigation{
	position:fixed;
	z-index:200;
	right:320px;
	top:20px;
	list-style: none;
	display: flex;
	font-size:0.95em;
}

#top-navigation li {
  text-align: center;
  height: 80px;
  line-height: 80px;
  margin-right: 2px;
}
 
#top-navigation li a {
	text-decoration: none;
	color:#c8406d;
	padding-top: 20px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
}
}
@media screen and (min-width: 1600px) {
#top-navigation{
	right:330px;
}
#top-navigation li a {
	text-decoration: none;
	color:#c8406d;
	padding-top: 20px;
	padding-right: 15px;
	padding-bottom: 20px;
	padding-left: 15px;
}
}
#menu-right{

}

/* SPハンバーガーメニュー */
	
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	border: 0;
	background: transparent;
	outline: 0;
	border-radius: 0;
	text-align: inherit;
	z-index: 1200;
}

button:hover {
	cursor: pointer;
}

/**************** 以下、ハンバーガーボタンのスタイリング ****************/

.btn {
	/* ボタンの配置位置  */
	position: fixed;
	top: 32px;
	right: 6%;
	/* ボタンの大きさ  */
	width: 40px;
	height: 24px;
	/* バーガーの線をボタン範囲の中心に配置 */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	/* 最前面に */
	z-index: 1200;
}

@media screen and (min-width: 768px) {
.btn {
	/* ボタンの配置位置  */
	position: fixed;
	top: 25px;
	right: 5%;
	/* ボタンの大きさ  */
	width: 40px;
	height: 40px;
	/* バーガーの線をボタン範囲の中心に配置 */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	/* 最前面に */
	z-index: 1200;
}
}
@media screen and (min-width: 1300px) {
.btn {
	/* ボタンの配置位置  */
	visibility:hidden;
	position: fixed;
	top: 18px;
	right: 20px;
	/* ボタンの大きさ  */
	width: 40px;
	height: 40px;
	/* バーガーの線をボタン範囲の中心に配置 */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	/* 最前面に */
	z-index: 1200;
}
}

/***** 真ん中のバーガー線 *****/
	.btn-line {
	/* 線の長さと高さ */
	width: 100%;
	height: 2px;
	/* バーガー線の色 */
	background-color: #6d323e;
	/* バーガー線の位置基準として設定 */
	position: relative;
	transition: .2s;
	z-index: 1200;
}

/***** 上下のバーガー線 *****/
.btn-line::before,
.btn-line::after {
	content: "";
	/* 基準線と同じ大きさと色 */
	position:absolute;
	width: 100%;
	height: 100%;
	background-color: #6d323e;
	transition: .2s;
	z-index: 1200;
}


.btn-line::before {
/* 上の線の位置 */
	transform: translateY(-8px);
}


.btn-line::after {
/* 下の線の位置 */
	transform: translateY(8px);
}

/***** メニューオープン時 *****/
.btn-line.open {
/* 真ん中の線を透明に */
	background-color: transparent;
	
}

.btn-line.open::before,
.btn-line.open::after {
	content: "";
	transition: .2s;
}

.btn-line.open::before {
/* 上の線を傾ける */
	transform: rotate(45deg);
}

.btn-line.open::after {
/* 上の線を傾ける */
	transform: rotate(-45deg);
}

/**************** ここまで、ハンバーガーボタンのスタイリング ****************/


/**************** 以下、メニューのスタイリング ****************/

/* メニューが開いたときの黒い半透明の背景 */

.menu-bg {
	  position: fixed;
	  left: 0;
	  top: 0px;
	  width: 100vw;
	  height: 100vh;
	  z-index: 400;
	  background: #333;
	  opacity: 0;
	  visibility: hidden;
	  transition: all .3s;
	  cursor: pointer;
	  
	}
.menu {
	position: fixed;
	/* メニューの位置マイナス指定で画面外に */
	top: 0px;
	right: -100%;
	width: 100%;
	height: 100vh;
	visibility: hidden;
	/* メニューを縦に */
	display: flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	z-index: 500!important;
	padding-top:50px;
	padding-bottom:100px;
	overflow: auto;
	
}
@media screen and (min-width: 768px) {
.menu {
	padding-top:80px;
	padding-bottom:80px;
	right: -75%;
	width: 50%;
}
}
@media screen and (min-width: 1000px) {
.menu {

	background-position: top 0% left 0px;
	width: 50%;
}
}
@media screen and (min-width: 1300px) {
.menu {

	background-position: top 50% left 60px;
	width: 50%;
}
}
@media screen and (min-width: 1500px) {
.menu {
	
	background-position: top 50% left 50px;
	width: 30%;
}
}

.menu a{
	text-decoration: none;		
}
.menu a:hover,a:active{
	filter:alpha(opacity=100);
	opacity:1;
}
.menu-list {
	width: 70%;
	max-width:500px;
	margin-left:auto;
	margin-right:auto;
	height: 100%;
	/* メニューテキスト位置をリスト内中心に */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 768px) {
.menu-list {
	width: 70%;
}
}
.menu .menu-list .menu-item01 {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	align-items: center;
	transition: .3s ease-in;
	color: #c8406d;
	padding-top:3px;
	padding-bottom:3px;
	padding-left:10px;
	padding-right:10px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size:16px;
}
.menu .menu-list .menu-item01:link,.menu .menu-list .menu-item01:visited {
	transition: .3s;
	cursor: pointer;
	color: #c8406d;
}
.menu .menu-list .menu-item01:hover,.menu .menu-list .menu-item01:active {
	transition: .3s;
	cursor: pointer;
	background-color: #fff;
	color: #c8406d;
}

.menu .menu-list .menu-item02 {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	align-items: center;
	color: #c8406d;
	transition: .3s ease-in;
	padding-left:12%;
	padding-top:2px;
	padding-bottom:2px;
}
.menu .menu-list .menu-item02:link,.menu .menu-list .menu-item02:visited {
	transition: .3s;
	cursor: pointer;
	color: #c8406d;
}
.menu .menu-list .menu-item02:hover,.menu .menu-list .menu-item02:active {
	transition: .3s;
	cursor: pointer;
	background-color: #fff;
	color: #c8406d;
}
.menu .menu-list .menu-item03 {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: .3s ease-in;
	color: #363534;
	padding-top:0px;
	padding-bottom:0;
	padding-left:10px;
}
.menu .menu-list .menu-item03:link,.menu .menu-list .menu-item03:visited {
	transition: .3s;
	cursor: pointer;
	color: #363534;
}
.menu .menu-list .menu-item03:hover,.menu .menu-list .menu-item03:active {
	transition: .3s;
	cursor: pointer;
	background-color: #fff;
	color: #363534;
}
.menu .menu-list .menu-item04 {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	align-items: center;
	transition: .3s ease-in;
	color: #363534;
	padding-top:3px;
	padding-bottom:3px;
	padding-left:10px;
}
.menu.open {
	transition: .3s ease-in;
	visibility: visible;
	right: 0;
}
/* メニューが開いた時の背景 */
.menu-bg.open  {
  opacity: 0.8;
  visibility: visible;
}


/*************************************
/* main
*************************************/

main{
	position:relative;
	width:100%;
	padding:0;
	margin-top: 0px;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}
.main_contents{
	position: relative;
	width: 100%;
	height: auto;
	margin:0;
	padding:0;
}
.max1200{
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}
.max1400{
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}




/*************************************
/* OTHER-PAGE
*************************************/


.other-page .back-max{
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}
.other-page .box7030-inner,.other-page .box5050-inner{
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:0px;
}
@media screen and (min-width: 768px) {
.other-page .back-max,.other-page .box7030-inner,.other-page .box5050-inner{
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	padding-left:50px;
	padding-right:50px;
}
}
@media screen and (min-width: 1300px) {
.other-page .back-max,.other-page .box7030-inner,.other-page .box5050-inner{
	max-width:1360px;
	margin-left:auto;
	margin-right:auto;
	padding-left:50px;
	padding-right:50px;
}
}


/*************************************
/* box2
*************************************/
.box2-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	justify-content: start;
}
.box2-info{
	width:100%;
	height:auto;
	position:relative;
	padding-bottom: 15px;
	margin-left:0px;
	margin-right:0px;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.box2-info p{

}
@media screen and (min-width: 768px) {
.box2-inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}
/* 最後のコンテンツを左寄せにする指定 */
.box2-inner:after {
    content: "";
    display: block;
    width: 47%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}
.box2-info{
	width:47%;
	height:auto;
	padding-bottom: 25px;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}


.box2-info p{

}
}


/*************************************
/* box3
*************************************/
.box3-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	justify-content: start;
}
.box3-info{
	width:100%;
	position:relative;
	padding-bottom: 5px;
	margin-bottom:5px;
	margin-left:0px;
	margin-right:0px;
	display:flex;
	flex-direction: column;
}

@media screen and (min-width: 768px) {
.box3-inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}
/* 最後のコンテンツを左寄せにする指定 */
.box3-inner:after {
    content: "";
    display: block;
    width: 49%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}
.box3-info{
	width:49%;
	padding-bottom: 5px;
	margin-bottom:5px;
	display:flex;
	flex-direction: column;
}

.box3-info p{
flex-grow: 1;
}
}
@media screen and (min-width: 1300px) {
.box3-inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
}
/* 最後のコンテンツを左寄せにする指定 */
.box3-inner:after {
    content: "";
    display: block;
    width: 32%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}
.box3-info{
	width:32%;
	padding-bottom: 5px;
	margin-bottom:5px;
	display:flex;
	flex-direction: column;
}


}
/*************************************
/* box3-3　SP時から3列のまま
*************************************/
.box3-3-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: space-evenly;
	flex-wrap: wrap;
}

.box3-3-info{
	width:33%;
	position:relative;
	margin-left:auto;
	margin-right:auto;
	display:flex;
	flex-direction: column;
}

/*************************************
/* box6
*************************************/

#footer{
	position:relative;
	width:100%;
	height:auto;
	padding-bottom: 80px;/* 固定ボタン設置のため余白を確保*/
}
@media screen and (min-width: 768px) {
#footer{
	padding-bottom: 0px;
}
}
#footer .footer-leftline h2{
	padding-left:20px;
}
.footer-logo{
max-width:300px;
}
@media screen and (min-width: 768px) {
.footer-logo{
max-width:400px;
}
}

.box6-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	justify-content: start;
}
.box6-info{
	width:100%;
	padding-bottom: 15px;
	margin-left:0px;
	margin-right:0px;
}
.box6-info .blog-ttl2{
	padding-left:20px;
	padding-right:20px;
}
.box6-info .blog-sub{
	display:block;
	padding-left:20px;
	padding-right:20px;	
}
@media screen and (min-width: 768px) {
.box6-inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: space-between;
}
.box6-info{
	width:16%;
	padding-bottom: 15px;
}
#footer .box6-inner .box6-info{
	display: flex;　/* 直下の要素を並列に */
	flex-direction: column; /* 直下の要素を縦積みに */
}
#footer .box6-inner .box6-info p{
	flex-grow: 1; /* 比率を指定 */
}
.box6-info .blog-ttl2{
	padding-right: 20px;
	padding-left: 20px;
}
.box6-info .blog-sub{
	display:block;
	padding-right: 20px;
	padding-left: 20px;	
}
}
.footer-leftline{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCCCCC;
	padding-left:0px;
	padding-bottom:0px;
}
.footer-leftline .blog-ttl3{
	padding-left:15px;
}
.footer-leftline .btn04{
	padding-left:0px;
	padding-top:0px;
	padding-bottom:0px;
}
@media screen and (min-width: 768px) {
.footer-leftline{
	border-bottom-width: 0px;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #CCCCCC;
	padding-left:0px;
	padding-bottom:0px;
}
.footer-leftline .btn04{
	padding-left:5px;
}
}


/*************************************
/* BOX2080
*************************************/

.box2080{

}
.box2080-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.box2080-left{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}
.box2080-right{
	width:100%;
	padding-left:20px;
	padding-right:20px;
}

@media screen and (min-width: 768px) {
.box2080-inner{
	width:100%;
	max-width:1500px;
	padding-left:50px;
	padding-right:50px;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: start;
}

.box2080-left{
	width:20%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:0px;
	
}
.box2080-right{
	width:80%;
	padding-left:10px;
	padding-right:0px;
}
}

/*************************************
/* BOX8020
*************************************/

.box2080{

}
.box8020-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.box8020-left{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}
.box8020-right{
	width:100%;
	padding-left:20px;
	padding-right:20px;
}

@media screen and (min-width: 768px) {
.box8020-inner{
	width:100%;
	max-width:1500px;
	padding-left:50px;
	padding-right:50px;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: start;
}

.box8020-left{
	width:80%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:0px;
	
}
.box8020-right{
	width:20%;
	padding-left:10px;
	padding-right:0px;
}
}

/*************************************
/* BOX3070
*************************************/

.box3070{

}
.box3070-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.box3070-left{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}
.box3070-right{
	width:100%;
	padding-left:20px;
	padding-right:20px;
}

@media screen and (min-width: 768px) {
.box3070-inner{
	width:100%;
	max-width:1500px;
	padding-left:50px;
	padding-right:50px;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: start;
}
.box3070-left{
	width:30%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:0px;
	
}
.box3070-right{
	width:65%;
	padding-left:10px;
	padding-right:0px;
}
}

/*************************************
/* BOX7030
*************************************/

.box7030{


}
.box7030-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.box7030-left{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
}

.box7030-right{
	width:100%;
	padding-left:20px;
	padding-right:20px;
}
@media screen and (min-width: 768px) {
.box7030-inner{
	width:100%;
	max-width:1500px;
	padding-left:50px;
	padding-right:50px;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: start;
}

.box7030-left{
	width:70%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:50px;
	
}
.box7030-right{
	width:30%;
	padding-left:0px;
	padding-right:0px;
}
}
@media screen and (min-width: 1300px) {
.box7030-inner{
	width:100%;
	max-width:1500px;
	padding-left:50px;
	padding-right:50px;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: start;
}

.box7030-left{
	width:70%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:70px;
	
}
.box7030-right{
	width:30%;
	padding-left:0px;
	padding-right:0px;
}
}
/*************************************
/* BOX5050
*************************************/

.box5050{
}
.box5050-inner{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: start;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	align-items: stretch; /*高さを揃える */
}
.box5050-left{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding-left:20px;
	padding-right:20px;
	padding-bottom:15px;
}
.box5050-right{
	width:100%;
	padding-left:20px;
	padding-right:20px;
}

@media screen and (min-width: 768px) {
.box5050-inner{
	width:100%;
	max-width:1500px;
	padding-left:50px;
	padding-right:50px;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: start;
}

.box5050-left{
	width:50%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:15px;
	padding-bottom:0px;
}
.box5050-right{
	width:50%;
	padding-left:15px;
	padding-right:0px;
}
}
@media screen and (min-width: 1300px) {
.box5050-inner{
	width:100%;
	max-width:1500px;
	padding-left:50px;
	padding-right:50px;
	margin-left:auto;
	margin-right:auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	justify-content: start;
}
.box5050-left{
	width:50%;
	margin-left:auto;
	margin-right:auto;
	padding-left:0px;
	padding-right:25px;
	padding-bottom:0px;
}
.box5050-right{
	width:50%;
	padding-left:25px;
	padding-right:0px;
}
}


/*************************************
/* パンくず
*************************************/

.breadcrumb {
  font-size: 0.7rem;
}
@media screen and (min-width: 768px) {
.breadcrumb {
  font-size: 0.8rem;
}
}
@media screen and (min-width: 1300px) {
.breadcrumb {
  font-size: 0.85rem;
}
}
.breadcrumb ol {
  list-style: none;
  display: flex;
  gap: 0.5em;
  padding: 0;
  margin: 0;
}

.breadcrumb li::after {
  content: "›";
  margin-left: 0.5em;
}

.breadcrumb li:last-child::after {
  content: "";
}

/*************************************
/* MAP
*************************************/
#map iframe{
	border-radius: 20px;
}


/*************************************
/* INFO
*************************************/
.schedule {
  width: 100%;
  max-width: 700px;
  border-collapse: collapse;
  font-family: sans-serif;
}

.schedule th,
.schedule td {
  padding: 12px 5px;
  text-align: left;
  border-bottom: 1px solid #e6dcdc;
}

.schedule thead th {
  font-weight: 500;
}

.schedule tbody th {
  text-align: left;
  font-weight: normal;
  white-space: nowrap;
}

/* ● */
.circle {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-color: #f87a96;
  border-radius: 50%;
}

/* ／ */
.slash {
  display: inline-block;
  width: 14px;
  height: 14px;
  position: relative;
}

.slash::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6px;
  width: 2px;
  height: 16px;
  background-color: #f87a96;
  transform: rotate(45deg);
}

/*************************************
/* CLINIC-HOURS
*************************************/
#clinic-hours{
margin-top:-80px;
}
@media screen and (min-width: 768px) {
#clinic-hours{
margin-top:-80px;
}
}
@media screen and (min-width: 1300px) {
#clinic-hours{
margin-top:-140px;
}
}

/*************************************
/* ニュースページ共通
*************************************/


.latestNews{
	display: flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	justify-content: center;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCCCCC;
	padding-top:10px;
	padding-bottom:10px;
}
.latestNews-date{
	width:100%;
}
.latestNews-txt{
	width:100%;
}
@media screen and (min-width: 768px) {
.latestNews{
	display: flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	align-items: center;
	justify-content: start;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCCCCC;
	padding-top:40px;
	padding-bottom:10px;
}
.latestNews-date{
	width:20%;
}
.latestNews-txt{
	width:80%;
}
}

/*************************************
/* 診療案内（archive-medcical.php)
*************************************/

#obstetrics-info a:link,#obstetrics-info a:visited{
	color: #6d323e;
	text-decoration: none;
}
#obstetrics-info a:hover,#obstetrics-info a:active{
	filter:alpha(opacity=60);
	opacity:0.6;
	color: #6d323e;
	text-decoration: none;
}

#gynecology-info a:link,#gynecology-info a:visited{
	color: #6d323e;
	text-decoration: none;
}
#gynecology-info a:hover,#gynecology-info a:active{
	filter:alpha(opacity=60);
	opacity:0.6;
	color: #6d323e;
	text-decoration: none;
}

#checkups-vaccinations-info a:link,#checkups-vaccinations-info a:visited{
	color: #6d323e;
	text-decoration: none;
}
#checkups-vaccinations-info a:hover,#checkups-vaccinations-info a:active{
	filter:alpha(opacity=60);
	opacity:0.6;
	color: #6d323e;
	text-decoration: none;
}



/*************************************
/* PC/SP切り替え
*************************************/

@media screen and (max-width: 1299px) {
  .header-pc-only {
    display: none !important; } }
	
@media screen and (min-width: 1300px) {
  .header-sptb-only {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important; } }
@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important; } }
#footerNavi small {
	font-size: 12px;
}

/*改行*/

.br-pc { display:none; }
.br-sp { display:inline; }

@media screen and (min-width: 768px){   
  .br-pc { display:inline; }
  .br-sp { display:none; }
}