@charset "UTF-8";

body {
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #473219;
	font-size: 15px;
	letter-spacing: .12em;
	line-height: 1.9;
	padding:0;
	margin:0;
	-webkit-text-size-adjust: 100%;
}

div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote,
figure,figcaption{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font-weight: inherit;
}
picture {
	display: block;
}
img{
    max-width: 100%;
    height: auto;
    width: auto\9; /* ie8 */
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
	display: block;
	margin: auto;
}
img.radi-50 {border-radius: 50%;}
img.radi-10px {border-radius: 10px;}
img.radi-25px {border-radius: 25px;}
img.radi-30px {border-radius: 30px;}

table {
    font-size:inherit;
    font:100%;
	border-collapse: separate;
	border-spacing: 0;
}

address{
	font-style:normal;
}

ul{
	list-style:none;
}

a{
	color: inherit;
	text-decoration: none;
	outline: 0;
	transition: color 0.4s, background-color 0.4s;
}
a:hover{
	transition: color 0.4s, background-color 0.4s;
}

i {font-weight: normal !important;}	/*アイコンフォント*/

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/*<group=style>*/
.fw_bold{font-weight: bold;}
.fw_normal{font-weight: normal;}	
/*</group>*/

/*<group=text_align>*/
.txt_al_l{text-align:left;}
.txt_al_r{text-align:right;}
.txt_al_c{text-align:center;}
.sp_txt_l{text-align:center;}
/*</group>*/

/*<group=float>*/
.flt_l{float:left;}
.flt_r{float:right;}	
/*</group>*/

.blocklink,
.blocklink_out {
	cursor:pointer;
}

.img_max {
	width: 100% !important;
	max-width: initial !important;
}
.change_img img {margin-left: auto; margin-right: auto;}

/* スマホで電話をかけるボタン：画像対応 */
.sp_tel_btn {
	position: relative;
}
.sp_tel_btn img {
	position: relative;
	z-index: 0;
}
.sp_tel_btn span,
.sp_tel_btn a {
	display: block;
}
.sp_tel_btn a {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.ank_adjust {
    /*padding-top: 150px;
    margin-top: -150px;*/
}

.fs14 {
	font-size: 93%;
}
.fs16 {
	font-size: 106%;
}

.flex_box {
	display: flex;
}
.aster_txt {
	position: relative;
	color: #A89E96;
	font-size: 93%;
	line-height: 1.6;
	margin-top: .2em;
}

.site-bg {
	position: absolute;
	background-color: var(--color-ivo);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -10;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
	font-size: 15px;
	letter-spacing: .05em;
	line-height: 2.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
	font-size: 4.1vw;
	letter-spacing: .02em;
	line-height: 1.8em;
}
.sp_txt_l{text-align:left;}	

}

/* ========================================================
  
  variable

======================================================== */
:root {
	--font-min: normal normal 400 100%/1.6 "shippori-mincho", sans-serif;
	--font-eng: normal normal 500 100%/1 "agenda-one", sans-serif;

	--color-base: #473219;
	--color-red: #e04943;
	--color-pnk: #ff9383;
	--color-borg: #ff7759;
	--color-org: #fc890f;
	--color-porg: #ffb753;
	--color-och: #d2a000;
	--color-lgrn: #a6ce16;
	--color-grn: #3eb18c;
	--color-blu: #35aeee;
	--color-ppl: #7f6d9e;
	--color-lyel: #ffffd9;
	--color-ivo: #f9faf9;
	--color-lgry: #f4f5f3;
	--color-gry: #888;
}

.ft_min {
	font: var(--font-min);
}
.ft_ag {
	font: var(--font-eng);
}

.gray {color: var(--color-gry);}
.red {color: var(--color-red);}
.red_b {color: var(--color-red);font-weight: bold;}
.orange {color: var(--color-org);}
.org_b {color: var(--color-org);font-weight: bold;}
.ocher {color: var(--color-och);}
.blue {color: var(--color-blu);}
.green {color: var(--color-grn);}
.purple {color: var(--color-ppl);}
.pink {color: var(--color-pnk);}

.bg_white {	background-color: #fff;}
.bg_beige {	background-color: #fff6e7;}
.bg_orange { background-color: var(--color-org);}




/*共通
---------------------------------------------------------*/

.com_txt_link {
	text-decoration: underline;
}
.com_txt_link:hover {
	text-decoration: none;
	color: #f5837b;
}
/*スクロール*/
.scl_area {	position: relative;}

/*テキスト*/
.lh_l {	line-height: 2.3;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*テキスト*/
.lh_l {	line-height: 2;}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

/*スクロール*/
.scl_area {	padding-bottom: 10%;}
.scl_area .aster_txt {	margin-bottom: 1em;}

/*テキスト*/
.lh_l {	line-height: 1.8;}
}



/* ========================================================
  
  components

======================================================== */

/*アニメーション
---------------------------------------------------------*/
/*その場でフェードしながら出てくる*/
.fadein,
.fade_list > li {
	opacity: 0;
	transition: opacity 1s ease;
}
.anime_on .fadein,
.anime_on.fadein,
.fade_list.anime_on > li {
	opacity: 1;
}
.fade_list > li:nth-of-type(2) {transition-delay: .2s;}
.fade_list > li:nth-of-type(3) {transition-delay: .4s;}
.fade_list > li:nth-of-type(4) {transition-delay: .6s;}
.fade_list > li:nth-of-type(5) {transition-delay: .8s;}
.fade_list > li:nth-of-type(6) {transition-delay: 1.0s;}
.fade_list > li:nth-of-type(7) {transition-delay: 1.2s;}
.fade_list > li:nth-of-type(8) {transition-delay: 1.4s;}
.fade_list > li:nth-of-type(9) {transition-delay: 1.6s;}
.fade_list > li:nth-of-type(10) {transition-delay: 1.8s;}
.fade_list > li:nth-of-type(11) {transition-delay: 2.0s;}
.fade_list > li:nth-of-type(12) {transition-delay: 2.2s;}

/*下からフェードしながら出てくる*/
.fadeup {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s cubic-bezier(0.25, 1, 0.5, 1);
}
.anime_on .fadeup,
.anime_on.fadeup {
	opacity: 1;
	transform: translateY(0px);
}

/*その場でズームしながら出てくる*/
.fadezoom {
	opacity: 0;
	transform: scale(0.9);
	transition: all .6s ease;
}
.anime_on .fadezoom,
.anime_on.fadezoom {
	opacity: 1;
	transform: scale(1.0);
}


/*com_wave
---------------------------------------------------------*/
.com_wave {
	color: var(--color-porg);
	/* --color-wave: #ffb753; */

	position: relative;
	background: url("../images/common/bg_wave_grd@2x.png") no-repeat right bottom;
	background-size: 92% 100%;
	width: 100vw;
	height: min(18vw,273px);
	pointer-events: none;
	margin-inline: calc(50% - 50vw);
}
.com_wave::before {
	position: absolute;
	content: "";
	background: linear-gradient(to top, currentColor, transparent);
	width: 100%;
	height: 30%;
	right: 0;
	bottom: 0;
}
.com_wave::after {
	position: absolute;
	content: "";
	background-color: currentColor;

	-webkit-mask: url("../images/common/bg_wave.svg") no-repeat bottom;
	mask: url("../images/common/bg_wave.svg") no-repeat bottom;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;

	width: 100%;
	height: 50%;
	left: 0;
	bottom: -1px;
	opacity: 0;
	transition: height 1.5s, opacity 2s;
}
.com_wave.anime_on::after {
	opacity: 1;
	height: 74%;
}
/*
.com_wave {
	position: relative;
	width: 100%;
	height: min(15vw,230px);
	pointer-events: none;
}
.com_wave::before {
	position: absolute;
	content: "";
	background: url("../images/common/bg_wave_grd@2x.png") no-repeat right bottom;
	background-size: 100% 100%;
	width: 92%;
	height: min(20vw,303px);
	right: 0;
	bottom: 0;
}
.com_wave::after {
	position: absolute;
	content: "";
	background: url("../images/common/bg_wave_yel@2x.png") repeat-x left bottom;
	background-size: 100% 100%;
	width: 180vw;
	height: 100%;
	left: 0;
	bottom: -1px;
	animation: waveAnm linear 20s infinite;
}

@keyframes waveAnm {
	from {background-position: 0 bottom;}
	to {background-position: -180vw bottom;	}
}
*/


/*スライド共通設定
---------------------------------------------------------*/
.com_slide_box {
	height: auto;
}

/*swiper*/
.swiper {
    overflow: visible !important;
}
.swiper-wrapper {
	z-index: 0 !important;
}
.swip_ticker .swiper-wrapper {
	transition-timing-function: linear !important;	/*滑らかに流れ続ける*/
}
.swiper-fade .swiper-slide {
    transition-property: opacity !important;	/* フェードモード時 共通調整 */
}
/*bxslider*/
.com_bx_wrap {
	position: relative;
}


/*wrapper
---------------------------------------------------------*/
#wrapper{overflow: hidden;}



/*丸アイコン
---------------------------------------------------------*/
.arw_list > li > a {
	position: relative;
}
.com_menu1 > li > a::before,
.com_medmenu > li > a::before,
.com_btn1 a span::before,
.com_btn2 a::before,
.arw_list > li > a::before,
.com_bnr_qa a::before {
	position: absolute;
	display: inline-block;
	font-family: 'fontello';
	content: '\e800';
	text-align: center;
	color: #FFF;
	background-color: var(--color-org);
	border-radius: 50%;
	font-size: 100%;
	font-weight: normal;
	letter-spacing: normal;
	line-height: 1.4;
	width: 1.4em;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color .4s, color .4s;
}
.com_arw1 {
	position: relative;
	display: inline-block;
	text-align: center;
	color: #FFF;
	background-color: var(--color-org);
	border-radius: 50%;
	font-size: 80%;
	font-weight: normal;
	letter-spacing: normal;
	width: 1.4em;
	height: 1.4em;
	line-height: 1.4;
	transition: background-color .4s;
}
.com_arw1::before {
	font-family: 'fontello';
	content: '\e800';
}
a:hover .com_arw1,
.com_arw1:hover {
	background-color: #ef521b;
}
.com_arw1.out::before {
	content: '\e80b';
}


/*リンク、ボタン
---------------------------------------------------------*/
/*com_btn1*/
.com_btn1 {
	position: relative;
	margin-top: 1.5em;
}
.com_btn1 a {
	position: relative;
	display: inline-block;
	min-width: 14.8em;
	max-width: 100%;
	text-align: center;
	font-size: min(1.6vw,113%);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.3;
	box-sizing: border-box;
	padding: 1.1em 1.2em;
	border-radius: 2em;
	border: 1px solid #473219;
	transition: all .4s;
}
.com_btn1 a span {
	position: relative;
	display: inline-block;
	padding-right: 2.2em;
}
.com_btn1 a span::before {
	right: 0;
}
.com_btn1 a:hover {
	color: #FFF;
	background-color: var(--color-org);
	border-color: var(--color-org);
}
.com_btn1 a:hover::before,
.com_btn1 a:hover::after{
    width: 100%;
	height: 100%;
	border-radius: 10px;
	border-color: var(--color-org);
}
.com_btn1 a:hover span::before {
	color: var(--color-org);
	background-color: #FFF !important;
}
.com_btn1.wh a {
	color: #FFF;
	border-color: #FFF
}
.com_btn1.wh a span::before {
	color: var(--color-org);
	background-color: #FFF;
}
.com_btn1.wh a:hover {
	border-color: #ff7759
}
.com_btn1.out a span::before {
	content: '\e80b';
}
/*com_btn2*/
.com_btn2 {
	position: relative;
	margin-top: 1em;
}
.com_btn2 a {
	position: relative;
	display: inline-block;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
	padding-right: 2em;
}
.com_btn2 a::before {
	right: 0;
}
.com_btn2 a:hover::before {
	background-color: var(--color-org);
}
/*com_btn_bg*/
.com_btn_bg {
	position: relative;
	margin-top: 1.2em;
}
.com_btn_bg a {
	position: relative;
	display: inline-block;
	min-width: 18em;
	max-width: 100%;
	text-align: center;
	font-size: min(1.6vw,88%);
	font-weight: bold;
	letter-spacing: .14em;
	line-height: 1.3;
	background-color: rgba(252,137,15,0.1);
	box-sizing: border-box;
	padding: 1.1em 1.5em;
	border-radius: 2em;
	transition: all .4s;
}
.com_btn_bg a > div {
	position: relative;
	display: inline-block;
	padding-right: 2em;
}
.com_btn_bg .com_arw1 {
	position: absolute;
	font-size: 110%;
	right: 0;
	top: 50%;
	translate: 0 -50%;
}
.com_btn_bg a:hover {
	background-color: rgba(252,137,15,0.2);
}

/*リスト*/
.com_btnlist {
	display: flex;
	flex-wrap: wrap;
}
.com_btnlist.jus_c {
	justify-content: center;
}
.com_btnlist > li {
	margin-right: 1.6em;
}
.com_btnlist > li:last-of-type {
	margin-right: 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*com_btn1*/
.com_btn1 {
	margin-top: 1.2em;
}
.com_btn1 a,
.com_btn2 a,
.com_btn_bg a {
	letter-spacing: .1em;
}
.com_btn_bg a {
	min-width: 14em;
}
	
/*リスト*/
.com_btnlist > li {
	margin-right: 1.3em;
}

}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
	
.com_btn1 {
	margin-top: 1.2em;
}
.com_btn1 a {
	font-size: 95%;
	letter-spacing: .1em;
	padding: .8em 1.4em;
}	
.contentpage .com_btn1 {
	text-align: center !important;
}
.com_btn2 a {
	letter-spacing: .1em;
}
/*com_btn_bg*/
.com_btn_bg {
	margin-top: 1em;
}
.com_btn_bg a {
	font-size: 80%;
	letter-spacing: .1em;
}
/*com_btnlist*/
.com_btnlist {
	display: block;
	text-align: center;
}
.com_btnlist > li {
	margin-right: 0;
}
.com_btnlist > li:nth-of-type(n+2) {
	margin-top: 4%;
}

}


/*com_btn_ccl
---------------------------------------------------------*/
.com_btn_ccl {
	--color-btn: var(--color-org);

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 5.4em;
	text-align: center;
	color: #FFF;
	font-size: min(2.6vw,200%);
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: .1em;
	background-color: var(--color-btn);
	border-radius: 50%;
	aspect-ratio: 1;
}
.com_btn_ccl:hover {
	background-color: var(--color-base);
}
.com_btn_ccl .com_arw1 {
	color: var(--color-btn);
	font-size: 60%;
	background-color: #FFF !important;
	margin: .5em auto -0.5em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_btn_ccl {
	font-size: 4vw;
}
}


/*共通メニュー
---------------------------------------------------------*/
.com_menu1,
.com_medmenu {
	display: flex;
	flex-wrap: wrap;
}
.com_menu1 > li > a,
.com_medmenu > li > a {
	position: relative;
	display: block;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: .1em;
	white-space: nowrap;
	background-color: #fff;
	box-sizing: border-box;
}
/*com_menu1*/
.com_menu1 > li > a {
	height: 4.2em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid #bdbab9;
	border-radius: 1em;
	padding: .5em 1.5em;
}
.com_menu1 > li > a::before {
	right: .8em;
}

/*診療メニュー*/
.com_medmenu {
	max-width: 1340px;
	margin: 0 auto;
}
.com_medmenu > li > a {
	text-align: center;
	font-size: min(1.4vw,105%);
	font-feature-settings: "halt";
	border-radius: 1.5em;
	padding: 1.2em 1em;
}
.com_medmenu > li > a::before {
	right: 1em;
	top: auto;
	bottom: 0;
	transform: translateY(50%);
}
.com_medmenu > li > a:hover {
	background-color: rgba(255,255,255,0.8);
}
.com_medmenu > li > a:hover::before {
	background-color: #73603c;
}
.com_medmenu > li.menu_etc > a {
	color: #FFF;
	background-color: #e1c32a;
}
.com_medmenu > li.menu_etc > a::before {
	color: #e1c32a;
	background-color: #FFF;
}
.com_medmenu > li.menu_etc > a:hover {
	background-color: #d6ad00;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_medmenu > li {
	width: 18.8%;
}
.com_medmenu > li:not(:nth-of-type(5n)) {
	margin-right: 1.5%;
}
.com_medmenu > li:nth-of-type(n+6) {
	margin-top: 2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

.com_menu1 > li > a,
.com_medmenu > li > a {
	letter-spacing: .06em;
}
/*診療メニュー*/
.com_medmenu > li > a {
	padding-top: 1.2em;
	padding-bottom: 1.2em;
}

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.com_menu1 > li,
.com_medmenu > li {
	width: 48.5%;
}
.com_menu1 > li:nth-of-type(odd),
.com_medmenu > li:nth-of-type(odd) {
	margin-right: 3%;
}
.com_menu1 > li > a,
.com_medmenu > li > a {
	font-size: 70%;
	letter-spacing: .06em;
	font-feature-settings: "halt";
	padding: 1.2em;
}
.com_menu1 > li:nth-of-type(n+3) {
	margin-top: 2%;
}
.com_medmenu > li:nth-of-type(n+3) {
	margin-top: 4%;
}
.com_medmenu > li > a {
	font-size: 80%;
}
}

/*title
---------------------------------------------------------*/
.com_tit1 {
	text-align: center;
	margin-bottom: 4em;
}
.com_tit1 .fw_bold {
	font-size: 105%;
	letter-spacing: .1em;
	line-height: 1.5;
	margin-top: 1em;
}
.com_tit2 {
	font-size: min(2.2vw,166%);
	letter-spacing: .15em;
	line-height: 1.5;
	margin-bottom: 2em;
}
.com_tit2 .ft_ag {
	font-size: min(8vw,400%);
	letter-spacing: .1em;
	line-height: 1;
	margin-bottom: .15em;
}
.com_deco_txt1 {
	text-align: center;
    font-family: "agenda-one", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: min(5vw,433%);
	letter-spacing: .1em;
	line-height: 1;
}
/*com_index*/
.com_index1 {
	text-align: center;
	color: #FFF;
 	font-size: min(2.8vw,200%);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4;
	background-color: #817050;
	padding: 1em 0;
	margin-bottom: 1.7em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_tit1 {
	margin-bottom: 3em;
}

}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_tit1 {
	margin-bottom: 1.5em;
}
.com_tit1 .fw_bold {
	font-size: 85%;
	letter-spacing: .08em;
	margin-top: .6em;
}
.com_tit2 {
	font-size: 100%;
	letter-spacing: .1em;
}
.com_tit2 .ft_ag {
	font-size: 250%;
}
.com_deco_txt1 {
	font-size: 220%;
}
/*com_index*/
.com_index1 {
	font-size: 125%;
	letter-spacing: .05em;
	background-size: 30% auto;
	padding: .8em 0;
	margin-bottom: 1.2em;
}
}

/*com_style
---------------------------------------------------------*/
.com_style1 > dt,/*25px*/
.com_style1_txt,
.com_style2 > dt {
	font-size: min(2.2vw,166%);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6;
	margin-bottom: .6em;
}
.com_style2 > dt {/*30px*/
	font-size: min(2.8vw,200%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_style1 > dt,
.com_style1_txt,
.com_style2 > dt {
	letter-spacing: .1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_style1 > dt,
.com_style1_txt {
	font-size: 120%;
	letter-spacing: .05em;
	margin-bottom: .4em;
}
.com_style2 > dt {
	font-size: 125%;
	letter-spacing: .05em;
}
}

/*リスト
---------------------------------------------------------*/
.com_dotlist > li {
	position: relative;
	line-height: 1.6;
	padding-left: 1em;
	margin-top: .8em;
}
.com_dotlist > li::before {
	position: absolute;
	content: "・";
	left: 0;
	top: 0;
}
.com_marulist > li {
	position: relative;
	line-height: 1.6;
	padding-left: 1.4em;
	margin-top: .8em;
}
.com_marulist > li::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e803';
	color: #ffb117;
	left: 0;
	top: 0;
}
.aster_list > li,
.asterisk {
	line-height: 1.6;
	text-indent: -1em;
    padding-left: 1em;
	margin-top: .8em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_marulist > li {
	margin-top: .5em;
}
}

/*com_flt
---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_flt .img_r,
.com_flt .img_l {
	margin-bottom: .8em;
}
.com_flt .img_r {
	float: right;
	margin-left: 4%;
}
.com_flt .img_l {
	float: left;
	margin-right: 4%;
}
.com_flt .txt_r {
	float: right;
}
.com_flt .txt_l {
	float: left;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_flt .txt_r,
.com_flt .txt_l {
	width: 100%;
	float: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_flt .img_l,
.com_flt .img_r {
	width: 70%;
	margin: 0 auto 6%;
}
.sp_img_w {
	width: 90% !important;
}
}


/*com_qalist
---------------------------------------------------------*/
.com_qalist > dt,
.com_qalist > dd {
	position: relative;
	box-sizing: border-box;
	padding: .8rem 5%;
	padding-left: min(11vw,130px);
}
.com_qalist > dt {
	font-size: min(2.2vw,133%);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4;
	margin-bottom: 1.2em;
}
.com_qalist > dt::before,
.com_qalist > dd::before {
	position: absolute;
	content: "Q";
	text-align: center;
	color: #FFF;
	font-family: "agenda-one", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: min(3.2vw,2rem);
	letter-spacing: normal;
	line-height: 1.7;
	background-color: var(--color-org);
	width: 1.7em;
	border-radius: 50%;
	left: min(4.5vw,3.8rem);
	top: 0;
}
.com_qalist > dd {
	background-color: #fff7d6;
	padding-top: 2rem;
	padding-bottom: 2rem;
	margin-bottom: 3.6rem;
}
.com_qalist > dd::before {
	content: "A";
	background-color: var(--color-och);
	top: 1.8rem;
}
.com_qalist .com_contact {
	width: 100%;
	max-width: 730px;
	margin-left: 0;
	margin-top: 1em;
}
.com_qalist .com_time_txt {
	max-width: 730px;
	font-size: 93%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_qalist > dt::before,
.com_qalist > dd::before {
	left: 4%;
}
.com_qalist > dt {
	letter-spacing: .1em;
}
.com_qalist > dd {
	margin-bottom: 2rem;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_qalist > dt,
.com_qalist > dd {
	padding: .8rem 5%;
	padding-left: 15vw;
}
.com_qalist > dt {
	font-size: 110%;
	letter-spacing: .1em;
	margin-bottom: .4em;
}
.com_qalist > dt::before,
.com_qalist > dd::before {
	font-size: 5vw;
	left: 4vw;
	top: .2em;
}
.com_qalist > dt::before {
	top: .4em;
}
.com_qalist > dd {
	padding-top: 8%;
	padding-bottom: 8%;
	margin-bottom: 7%;
}
.com_qalist > dd::before {
	top: 7vw;
}

.com_qalist .com_time_txt {
	justify-content: flex-start;
	font-size: 85%;
}
}


/*com_cardlist
---------------------------------------------------------*/
.com_cardlist {
	display: flex;
	flex-wrap: wrap;
	gap: .6em;
	margin-top: 2.5%;
}
.com_cardlist > li {
	width: min(10vw,126px);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_cardlist {
	gap: .6em 1.3%;
}
.com_cardlist > li {
	width: 24%;
}
}



/*アコーディオン
---------------------------------------------------------*/
.open_btn {
	position: relative;
	cursor: pointer;
	transition: all .5s;
}
.open_btn > span {
	position: relative;
	display: inline-block;
	padding-right: 1.8em;
}
.open_btn .icon_open {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.open_box {
	display: none;
}
.open_btn.active + .open_box {
	display: block;
}

/*開閉アイコン*/
.icon_open {
	letter-spacing: normal;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	margin-left: .5em;
	transform: translateY(-.1em);
	position: relative;
	transition: all .4s;
}
.icon_open::before,
.icon_open::after {
	content: "";
	position: absolute;
	width: .8em;
	height: 2px;
	background: #473219;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.icon_open::after {
	transform: rotate(90deg);
	transition: all 0.4s;
}
.active .icon_open::after {
	transform: rotate(0deg);
}

/*医院情報
---------------------------------------------------------*/
address {
	line-height: 1.7;
}
/*診療時間*/
.com_timetable {
	width: 100%;
	max-width: 730px;
	margin-left: auto;
	margin-right: auto;
	background-color: #FFF;
	/* border-radius: 4.2% / 11%; */
	border-radius: 1.5em;
	border: 1px solid #a3998c;
	box-sizing: border-box;
	padding: 7% 4%;
}
.com_time_txt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .2em 1em;
	font-size: 105%;
	letter-spacing: .15em;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 1em;
}
.com_time_txt .icon-tri {
	color: var(--color-lgrn);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
	
address {
	font-size: 92%;
}
/*診療時間*/
.com_time_txt {
	font-size: 95%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

address {
	text-align: left;
	font-size: 90%;
}
/*診療時間*/
.com_timetable {
	border-radius: 4vw;
}
.com_time_txt {
	font-size: 85%;
}	
}

/*---------------------------------------------------------
 bg / border
---------------------------------------------------------*/
.com_bg_color {
	position: absolute;
	background-color: var(--color-ivo);
	width: 100vw;
	height: 100%;
	left: calc(50% - 50vw);
	bottom: 0;
	z-index: -2;
}
/*com_pdg*/
.com_pdg {
	position: relative;
	padding: min(10vw,100px) 0;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

/*com_pdg*/
.com_pdg {
	padding: 12% 0;
}
}



/*med_footer
---------------------------------------------------------*/
.med_footer {
	background-color: #fff579;
	padding: 80px 0;
	border-top-left-radius: 90px;
	border-top-right-radius: 90px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_footer {
	padding: 7% 0;
	border-top-left-radius: 70px;
	border-top-right-radius: 70px;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_footer {
	padding: 12% 0;
	border-top-left-radius: 12vw;
	border-top-right-radius: 12vw;
}
}

/*com_bnr_qa
---------------------------------------------------------*/
.com_bnr_qa a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 21.6em;
	height: 5.8em;
	text-align: center;
	color: #FFF;
	font-size: min(2vw,146%);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.3;
	border-radius: 3em;
	background-color: #fb9c0f;
	box-sizing: border-box;
	white-space: nowrap;
	padding: 1em;
	margin: auto;
}
.com_bnr_qa img {
	width: 6em;
	margin: 0;
	margin-right: 1em;
}
.com_bnr_qa a::before {
	color: #d6ad00 !important;
	font-size: 80% !important;
	background-color: #fff !important;
	right: 2em;
	top: 50%;
}
.com_bnr_qa a::after {
	position: absolute;
	content: "";
	background: url("../images/common/icon_qa.svg") no-repeat;
	background-size: contain;
	width: 3.5em;
	height: 3.6em;
	left: -4%;
	top: 0;
}
.com_bnr_qa a:hover {
	background-color: var(--color-org) !important;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_bnr_qa a {
	font-size: 80%;
}
}

/*com_bnr_rec
---------------------------------------------------------*/
.com_bnr_rec {
	position: relative;
	overflow: hidden;
}
.com_bnr_rec a {
	display: block;
	text-align: center;
	color: #FFF;
	font-size: 140%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
	padding: 1.6em 3%;
}
.com_bnr_rec a::before {
	position: absolute;
	content: "";
	background: url("../images/common/bnr_rec_bg@2x.jpg") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transition: scale .5s;
}
.com_bnr_rec a:hover::before {
	scale: 1.05;
}
.com_bnr_rec a > * {
	position: relative;
	font-weight: bold;
}
.com_bnr_rec a span {
	position: relative;
	display: block;
	font-family: "agenda-one", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 190%;
	line-height: 1;
	letter-spacing: .1em;
	margin-bottom: .1em;
}
.com_bnr_rec a span::before,
.com_bnr_rec a span::after {
	position: absolute;
	content: "";
	background: url("../images/common/kira1.svg") no-repeat center center;
	background-size: contain;
	width: 0.85em;
	height: 1em;
}
.com_bnr_rec a span::before {
	left: 0;
	bottom: 75%;
}
.com_bnr_rec a span::after {
	background-image: url("../images/common/kira2.svg");
	right: 2%;
	top: 80%;
}
.com_bnr_rec .com_arw1 {
	color: #e0a100;
	font-size: 90%;
	background-color: #fff;
	margin-left: .4em;
}
.com_bnr_rec a:hover .com_arw1 {
	color: #FFF;
	background-color: #e0a100;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_bnr_rec {
	width: 96%;
	margin: 0 auto;
}
.com_bnr_rec a {
	font-size: 100%;
	padding: 10% 5%;
}
}


/*お問い合わせパーツ
---------------------------------------------------------*/
.ctc_tel {
	text-align: center;
}
.ctc_tel dt {
	font-size: min(1.9vw,133%);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.5;
	font-feature-settings: "halt";
	margin-bottom: .8em;
}

.com_ctc_btn a {
	position: relative;
	display: block;
}
.com_ctc_btn a img {
	position: relative;
}
.com_ctc_btn a::before {
	position: absolute;
	content: "";
	width: 91.6%;
	height: 88.2%;
	border-radius: .8em;
	inset: 0;
	margin: auto;
}
.ctc_web a {background-color: #473219;}
.ctc_web a::before {background: radial-gradient(rgba(115,96,60,0.2) 40%, rgba(115,96,60,0.6));}
.ctc_web a:hover {background-color: #38220a;}
.ctc_line a {background-color: #1b9644;}
.ctc_line a::before {background: radial-gradient(rgba(27,191,68,0.2) 40%, rgba(27,191,68,0.6));}
.ctc_line a:hover {background-color: #1f873f;}

/*com_contact*/
.com_contact {
	display: flex;
	background-color: #ffff6f;
	width: 86%;
	max-width: 1040px;
	margin-inline: auto;
}
.com_contact .ctc_tel {
	align-self: center;
	box-sizing: border-box;
	padding: 1em 5%;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
/*com_contact*/
.com_contact > li {
	width: 23%;
}
.com_contact .ctc_tel {
	width: 54%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.ctc_tel dt {
	font-size: 90%;
	letter-spacing: .08em;
}
.com_ctc_btn a::before {
	border-radius: .5em;
}
/*com_contact*/
.com_contact {
	width: 96%;
	flex-wrap: wrap;
}
.com_contact > li {
	width: 50%;
}
.com_contact .ctc_tel {
	width: 100%;
	padding: 1em 8%;
}
}



/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	position: relative;
}
.m_img_area::after {
	
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area::after {
	
}
}

/*下層メインイメージ
---------------------------------------------------------*/
.contentpage .m_img_area {
	
}
.contentpage .m_img_area::before,
.contentpage .m_img_area::after {
	position: absolute;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: min(28vw,410px);
	height: 100%;
}
.contentpage .m_img {
	position: relative;
	height: 280px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.contentpage .m_title {
	position: relative;
	font-size: min(4.6vw,333%);
	letter-spacing: .15em;
	line-height: 1.4;
	white-space: nowrap;
}
.contentpage .m_title h2 {
	font-weight: bold;
}
.contentpage .m_title .ft_ag {
	font-size: 40%;
	letter-spacing: .2em;
	line-height: 1.2;
}
/*type1*/
.contentpage .m_img_area.type1 .m_img {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	color: #FFF;
}
/*type2*/
.contentpage .m_img_area.type2 {
	display: flex;
	justify-content: space-between;
	padding: 0 5.2% 0 13%;
}
.contentpage .m_img_area.type2::before {
	position: absolute;
	content: "";
	background: url("../images/common/m_bg1@2x.png") no-repeat center bottom;
	background-size: 100% 100%;
	width: 100%;
	height: min(13vw,184px);
	left: 0;
	bottom: 0;
}
.contentpage .m_img_area.type2 .m_img {
	width: 56%;
	border-radius: 30px;
}
.contentpage .m_img_area.type2 .m_title {
	align-self: center;
}
.contentpage .m_img_area.type2 .m_title .ft_ag {
	color: #ff8163;
}
/*no_bg*/
.contentpage .m_img_area.no_bg {
	text-align: center;
	padding-top: 30px;
}
.contentpage .m_img_area.no_bg::before,
.contentpage .m_img_area.no_bg::after {
	display: none;
}
.contentpage .m_img_area.no_bg .m_title {
	margin-bottom: 70px;
}
.contentpage .m_img_area.no_bg .m_title .ft_ag {
	color: var(--color-org);
}

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1240px) {
.contentpage .m_img_area.type2 {
	padding-left: 7%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.contentpage .m_img {
	height: 220px;
}
.contentpage .m_title {
	letter-spacing: .1em;
}
/*no_bg*/
.contentpage .m_img_area.no_bg {
	padding-top: 20px;
}
.contentpage .m_img_area.no_bg .m_title {
	margin-bottom: 50px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contentpage .m_img {
	height: 35vw;
}
.contentpage .m_title {
	font-size: 150%;
	letter-spacing: .12em;
}
.contentpage .m_title .ft_ag {
	font-size: 60%;
}
/*type2*/
.contentpage .m_img_area.type2 {
	padding-left: 8%;
}
.contentpage .m_img_area.type2::before {
    background-size: 120% 100%;
    height: 22vw;
}
.contentpage .m_img_area.type2 .m_img {
	width: 56%;
	border-radius: 5vw;
}
.contentpage .m_img_area.type2 .m_title {
	position: relative;
	width: 44%;
	z-index: 1;
}
/*no_bg*/
.contentpage .m_img_area.no_bg {
	padding-top: 3%;
}
.contentpage .m_img_area.no_bg .m_title {
	margin-bottom: 8%;
}
}



/* ========================================================
  
  contentpage

======================================================== */
.contentpage #pagebody {
	position: relative;
	padding-top: 40px;
}
.contentpage #pagebody::before {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom, #fff6e7, transparent);
	width: 100%;
	height: 360px;
	left: 0;
	top: 0;
	z-index: -1;
}
/*パンクズ*/
.pankuzu {
	position: relative;
	font-size: 93%;
	letter-spacing: .1em;
	line-height: 1.4;
	display: flex;
	justify-content: flex-end;
    flex-wrap: wrap;
	margin-right: 3em;
	margin-bottom: 3em;
	z-index: 1;
}
.pankuzu a {text-decoration: underline;}
.pankuzu a:hover {text-decoration: none;color: var(--color-org);}
.pankuzu li::after {
	content: "-";
	margin-left: .4em;
	margin-right: .4em;
}
.pankuzu li:last-of-type::after {
	display: none;
}
/*リード*/
.com_lead_box {
	text-align: center;
}
.com_lead > dt {
	text-align: center;
	color: var(--color-org);
    font-size: min(3.2vw,233%);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4;
    margin-bottom: .8em;
}
/*ボックス*/
.com_inbox1 {
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}
.bdr_b {
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: 1px dashed #473219;
}
/*丸ポイント*/
.ccl_txt {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #FFF;
    letter-spacing: .1em;
    line-height: 1.2;
    width: 5em;
    height: 5em;
    box-sizing: border-box;
    background-color: #31b6a0;
    border-radius: 50%;
}
/*吹き出し*/
.fuki {
	position: relative;
	display: inline-block;
	padding: 0 1.4em;
}
.fuki::before,
.fuki::after {
	position: absolute;
	content: "";
	border-left: 1px dashed #473219;
	width: 1px;
	height: 1.8em;
	bottom: -0.1em;
}
.fuki::before {
	left: 0;
	transform: rotate(-20deg);
}
.fuki::after {
	right: 0;
	transform: rotate(20deg);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*パンクズ*/
.pankuzu {
	letter-spacing: .05em;
}
/*ボックス*/
.bdr_b {
	padding-bottom: 6%;
	margin-bottom: 6%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contentpage #pagebody {
	padding-top: 6%;
}
.contentpage #pagebody::before {
	height: 50vw;
}
/*パンクズ*/
.pankuzu {
	font-size: 70%;
	letter-spacing: normal;
	margin-right: 2em;
}
/*リード*/
.com_lead > dt {
    font-size: 135%;
    letter-spacing: .05em;
}
.com_lead > dd {
	text-align: left;
}
/*ボックス*/
.bdr_b {
	padding-bottom: 10%;
	margin-bottom: 10%;
}
}

/*f_bnr
---------------------------------------------------------*/
.f_bnr {
	background-color: #fffde6;
	padding: 50px 0;
}
.f_bnr ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.f_bnr ul a {
	position: relative;
	display: block;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.3;
	box-sizing: border-box;
}
/*bnr_topi*/
.f_bnr .bnr_topi a {
	text-align: center;
	color: #FFF;
	font-size: 113%;
	letter-spacing: .3em;
	background-color: #f7ac3b;
	border-radius: 1.8em;
	padding: 1em 1.5% 2em;
}
.f_bnr .bnr_topi a span {
	display: block;
	font-family: "agenda-one", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 264%;
	letter-spacing: .1em;
	line-height: 1.2;
}
.f_bnr .bnr_topi .com_arw1 {
	position: absolute;
	font-size: 130%;
	background-color: #ff8000;
	margin: auto;
	left: 0;
	right: 0;
	bottom: -0.4em;
}
.f_bnr .bnr_topi a:hover .com_arw1 {
	background-color: #e86e00;
}
.f_bnr .bnr_topi:nth-of-type(2) a {	background-color: #b3d640;}
.f_bnr .bnr_topi:nth-of-type(2) .com_arw1 {	background-color: #6ecf00;}
.f_bnr .bnr_topi:nth-of-type(2) a:hover .com_arw1 {background-color: #6fa507;}

/*bnr_insta*/
.f_bnr .bnr_insta img {
	position: relative;
}
.f_bnr .bnr_insta a::before {
	position: absolute;
	display: block;
	content: "";
	background-color: #ffe5e0;
	width: min(132px,10vw);
	height: min(132px,10vw);
	box-sizing: border-box;
	border-radius: 50%;
	left: 0;
	top: 0;
	transition: scale .5s, background .5s;
}
.f_bnr .bnr_insta a:hover::before {
	background-color: #ffdcd7;
	scale: 0.95;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.f_bnr ul {
	font-size: min(100%,1.2vw);
}
.f_bnr ul > li.bnr_topi {
	width: 17.5%;
}
.f_bnr ul > li.bnr_insta {
	width: 27%;
	align-self: center;
}
.f_bnr ul > li.com_bnr_rec {
	width: 30%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.f_bnr {
	padding: 5% 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.f_bnr {
	padding: 10% 0;
}
/*bnr_topi*/
.f_bnr .bnr_topi {
	width: 48%;
}
.f_bnr .bnr_topi a {
	font-size: 90%;
	letter-spacing: .2em;
}
.f_bnr .bnr_topi a span {
	font-size: 220%;
}
/*bnr_insta*/
.f_bnr .bnr_insta {
	width: 75%;
	margin: 8% auto;
}
.f_bnr .bnr_insta a::before {
	width: 28vw;
	height: 28vw;
}
}



/* ========================================================
  
  header / nav / drawer

======================================================== */

/*header
---------------------------------------------------------*/
header {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}
header .h_left {
	text-align: center;
}
header .h_logo {
	max-width: 434px;
	margin: auto;
}
header h1 {
	font-size: min(1.2vw,86%);
	line-height: 1.5;
	margin-top: 1em;
}
header .h_right {
	width: 68%;
	max-width: 890px;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
}
header .h_time {
	width: 32%;
	font-size: 76%;
	align-self: center;
}
header .h_time {
	width: 32%;
}
header .h_time .com_time_txt {
	font-size: 105%;
}
header .h_time .com_time_txt > li {
    font-weight: normal;
	letter-spacing: .05em;
}
.h_contact {
	display: flex;
	width: 66%;
}
.h_contact > li {
	width: 27.4%;
}
.h_contact .h_tel {
	width: 45.2%;
	align-self: center;
	box-sizing: border-box;
	padding-right: 2.2%;
 }
.h_contact .ctc_tel dt {
	font-size: 93%;
}
.h_point {
	display: flex;
	justify-content: center;
	column-gap: 2%;
	margin-top: 5%;
}
.h_point > li {
	color: #FFF;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .1em;
	white-space: nowrap;
	font-feature-settings: "halt";
	background-color: #5a85c8;
	padding: .2em 1em;
	border-radius: 1em;
}
.h_point > li > span {
	color: #ffff49;
}
.h_point > li:first-of-type .ft_ag {
	display: inline-block;
	font-size: 173%;
	font-weight: bold;
	letter-spacing: .075em;
	line-height: 1;
	transform: translateY(0.07em);
}

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

header .h_inbox {
	font-size: min(1.2vw,100%);
}
header .h_left {
	position: absolute;
	text-align: center;
	width: 30%;
	left: 0;
	top: 15px;
	box-sizing: border-box;
	padding-left: 2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
header h1 {
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

header {
	padding: 4% 5% 3%;
}
header .h_logo {
	width: 60%;
	margin: 0 auto;
}
header h1 {
	text-align: center;
	width: 100%;
	font-size: 2.3vw;
	letter-spacing: normal;
	margin-top: 1em;
}
header .h_right {
	display: none !important;
}
}


/*nav
---------------------------------------------------------*/
.m_nav {
	position: relative;
	width: 100%;
	display: flex;
	font-size: min(94%,1.3vw);
	letter-spacing: .15em;
	line-height: 1.4;
	z-index: 10;
	box-sizing: border-box;
}
.m_nav > li {
	position: relative;
	margin: 0 1.2em;
}
.m_nav > li > a {
	position: relative;
	display: block;
	text-align: center;
	font-weight: bold;
	white-space: nowrap;
}
.m_nav > li > a span {
	display: block;
	color: var(--color-org);
	font-size: 81%;
	font-family: "agenda-one", sans-serif;
	font-weight: 500;
	font-style: normal;
	letter-spacing: .15em;
	margin-top: .2em;
}
.m_nav > li > a.select,
.m_nav > li > a:hover {
	color: var(--color-org);
}
.m_nav .menu_med {
	position: static;
}
.m_nav > li > a > .com_arw1 {
	position: absolute;
	font-size: 135%;
	width: 1.2em;
	height: 1.2em;
	line-height: 1.2;
	background-color: #73603c;
	right: 0;
	top: -0.2em;
}
.m_nav > li > a > .com_arw1::before {
	content: '\e801';
}
.m_nav > li > a:hover > .com_arw1 {
	background-color: var(--color-org);
}
.m_nav > li.menu_cli > a,
.m_nav > li.menu_med > a {
	padding-right: 2em;
}

.m_nav_area {
	margin-right: 2%;
	padding-top: min(2.6vw,40px);
	padding-bottom: 30px;
}
.m_nav_area .m_nav {
	justify-content: flex-end;
}

/* アコーディオンメニュー */
.in_menu {
	display: none;
	position: absolute;
	font-size: min(16.5px,1.2vw);
	z-index: 999;
	width: 100%;
	left: 50%;
	top: calc(100% + 1.2em);
	transform: translateX(-50%);
	line-height: 1.4em;
	background-color: var(--color-org);
	box-sizing: border-box;
	border-radius: 25px;
	padding: 2em;
}
/*縦メニュー*/
.in_menu.in_long {
	width: 19em;
	padding-top: 1em;
}
.in_menu.in_long li {
	border-bottom: 1px dotted #FFF;
}
.in_menu.in_long a {
	position: relative;
	display: block;
	color: #FFF;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .08em;
	padding: 1em .5em;
	padding-right: 2em;
}
.in_menu.in_long a::before {
	right: 0;
	color: #ff7759 !important;
	background-color: #fff !important;
}
.in_menu.in_long a:hover::before {
	color: #fff !important;
	background-color: #ed4a2f !important;
}
/*診療メニュー*/
.in_menu.med_inmenu {
	width: 90vw;
	max-width: 1300px;
	background-color: #fff579;
	padding: 2em 3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

.m_nav {
	font-size: 1.5vw;
	letter-spacing: .1em;
}
.m_nav > li {
    margin: 0 .8em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_nav_area {
	display: none !important;
}
}


/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	position: fixed;
	z-index: 500;
	left: 0;
	top: 0;
	width: 100%;
	font-size: min(1.25vw,100%);
	background-color: #f9faf9;
	transform: translateY(-101%);
}
#scl_header.is-show {
	display: block;
	transform: translateY(0);
	opacity: 1;
    animation: sclAnimation 1.0s;
}
#scl_header .scl_flex {
	display: flex;
    justify-content: space-between;
}
#scl_header .scl_nav_area {
	width: 60%;
    align-self: center;
	padding: 0 2%;
}
#scl_header .m_nav {
	position: static;
}
#scl_header .m_nav > li {
	padding: min(1.6vw,2.5em) 0;
}
#scl_header .scl_contact {
	display: flex;
	width: 40%;
	max-width: 612px;
	background-color: #ffff6f;
}
#scl_header .scl_contact > li {
	width: 25.5%;
}
#scl_header .scl_contact .scl_tel {
	width: 49%;
	box-sizing: border-box;
	padding: 0 5%;
	align-self: center;
}
#scl_header .scl_contact .scl_tel dt {
	font-size: 94%;
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#scl_header {
	font-size: min(1.3vw,100%);
}
#scl_header .scl_nav_area {
	width: 62%;
}
#scl_header .scl_flex .h_contact {
	width: 36%;
}
#scl_header .m_nav {
	font-size: 1.3vw;
}
#scl_header .m_nav > li {
	padding: 1.5vw 0;
    margin: 0 .8em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#scl_header {
	display: none !important;
}
}

/* スクロールメニューアニメーション */
@keyframes sclAnimation {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}


/*drawer
---------------------------------------------------------*/
.drw_bg {
	background: var(--color-org);
}
.drw_inbox {
	position: relative;
	box-sizing: border-box;
	padding: 12vw 5% 10vw;
}
.drw_inbox::before {
	position: absolute;
	content: "";
	background: url("../images/common/drw_abs1@2x.png") no-repeat left top;
	background-size: contain;
	width: 19vw;
	height: 23vw;
	left: -10px;
	top: 5vw;
}
.drw_inbox > * {
	position: relative;
}
.drw_index {
	color: #FFF;
	font-size: 90%;
	letter-spacing: .18em;
	line-height: 1.2;
	margin-bottom: 1.2em;
}
.drw_inbox.bg_grd {
	background: linear-gradient(to bottom, #ffffd9 30%, #FFF 60%);
	border-top-left-radius: 8vw;
	border-top-right-radius: 8vw;
}
.drw_inbox.bg_grd::before {
	background-image: url("../images/common/drw_abs2@2x.png");
}
.drw_inbox.bg_grd .drw_index  {
	color: var(--color-och);
}
.bg_grd .com_menu1 > li > a::before {
	background-color: var(--color-och);
}
.drw_other {
	display: flex;
	justify-content: space-between;
	margin-top: 10%;
	margin-bottom: 10%;
}
.drw_other li {
	width: 28%;
}
.drw_other a {
	position: relative;
	display: block;
	color: #cbcbb7;
	font-family: "agenda-one", sans-serif;
	font-size: 120%;
	font-weight: 500;
	font-style: normal;
	line-height: 1.8;
	letter-spacing: .08em;
	white-space: nowrap;
	box-sizing: border-box;
	padding: .6em .1em;
}
.drw_other .com_arw1 {
	font-size: 65%;
	margin-left: .4em;
	vertical-align: 0.1em;
}
.drw_other .topi {
	border-top: 1px solid #73603c;
	border-right: 1px solid #73603c;
	border-top-right-radius: .8em;
}
.drw_other .topi a::first-letter {
	color: #b6dd20;
}
.drw_other .topi .com_arw1 {
	background-color: #b6dd20;
}
.drw_other .topi:nth-of-type(2) a::first-letter {color: #8bc7ed;}
.drw_other .topi:nth-of-type(2) .com_arw1 {background-color: #8bc7ed;}

.drw_other .insta {
	width: 34%;
}
.drw_other .insta a {
	color: #ff9383;
	line-height: .9;
	padding-left: 1.8em;
}
.drw_other .insta a::before {
	position: absolute;
	content: "";
	background-color: #ffe5e0;
	border-radius: 50%;
	width: 2.4em;
	height: 2.4em;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
}
.drw_other .insta a::after {
	position: absolute;
	content: "";
	background: url("../images/common/icon_insta@2x.png") no-repeat left center;
	background-size: contain;
	width: .9em;
	height: .9em;
	left: .5em;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
}
.drw_other .insta a span {
	display: inline-block;
	background: linear-gradient(#F29B71, #F19A9C);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	mix-blend-mode: multiply;
}
.drw_other .insta .com_arw1 {
	background-color: #ff9383;
}


/* ========================================================
  
  footer

======================================================== */

/*footer / f_info
---------------------------------------------------------*/
footer {
	padding-top: 110px;
}
footer .f_info {
	padding-bottom: 120px;
}
footer .cli_name {
	text-align: center;
	font-size: min(3.6vw,266%);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.5;
	margin-bottom: .4em;
}
footer .cli_name span {
	display: inline-block;
	font-size: 42%;
	letter-spacing: .15em;
	vertical-align: 0.5em;
	margin-right: 1em;
}
footer .f_info .f_grid {
	display: grid;
}
.f_acslist {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	max-width: 530px;
	margin: 2em auto 0;
}
.f_acslist > li {
	position: relative;
	text-align: left;
	font-size: 105%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.5;
	white-space: nowrap;
	padding-left: 5.5em;
}
.f_acslist > li:nth-of-type(n+2) {
	margin-top: .5em;
}
.f_acslist > li span {
	font-size: 125%;
}
.f_acslist > li::before {
	position: absolute;
	content: "";
	background: url("../images/common/icon_acs_bus.svg") no-repeat center center;
	background-size: 99% auto;
	width: 4.3em;
	height: 4.3em;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.f_acslist > li:nth-of-type(1) {
	margin-right: 8%;
}
.f_acslist > li:nth-of-type(2)::before {
	background-image: url("../images/common/icon_acs_car.svg");
}
footer iframe {
	display: block;
}
footer .com_btn2 a::before {
	background-color: #473219;
}

/* PC
------------------------------------------*/
@media only screen and (min-width: 960px) {
.f_acslist > li {
	padding-left: 6.5em;
}
.f_acslist > li::before {
	width: 5.1em;
	height: 5.1em;
}
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

footer .f_info .f_grid {
	justify-content: space-between;
	align-items: flex-start;
	grid-template-columns: 46% 50%;
}
footer .f_info .f_sche {
	grid-row: 1 / 2;
	grid-column: 1 / 2;
}
.f_acslist {
	grid-row: 2 / 3;
	grid-column: 1 / 2;
	font-feature-settings: "halt";
}
.f_acslist > li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 5.2em;
}
footer .f_info .box_r {
	grid-row: 1 / 3;
	grid-column: 2 / 3;
}
footer .f_info .com_contact {
	grid-row: 3 / 4;
	grid-column: 1 / 3;
	margin-top: 5%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
	
footer {
	padding-top: 10%;
}
footer .f_info {
	padding-bottom: 11%;
}
.f_acslist > li {
	font-size: 100%;
	letter-spacing: .05em;
}
.f_acslist > li:nth-of-type(2) {
	margin-left: 0;
	margin-top: 3%;
}
.f_acslist > li span {
	font-size: 115%;
}
footer iframe {
	height: 320px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer {
	padding-top: 12%;
}
footer .f_info {
	padding-bottom: 10%;
}
footer .cli_name {
	text-align: left;
	font-size: 160%;
	letter-spacing: .1em;
}
footer .cli_name span {
	display: block;
}
footer .f_info .f_sche {
	order: 1;
	margin-bottom: 6%;
}
.f_acslist {
	width: 100%;
	order: 3;
}
footer .f_info .box_r {
	order: 4;
}
footer .f_info .com_contact {
	order: 2;
}
.f_acslist {
	display: flex;
	align-items: flex-start;
	margin: 10% auto;
}
.f_acslist > li {
	width: 50%;
	text-align: center;
	font-size: 85%;
	letter-spacing: .02em;
	box-sizing: border-box;
	padding: 5.2em 3% .6em;
	margin: 0 !important;
}
.f_acslist > li:first-of-type {
	border-right: 1px dashed #473219;
}
.f_acslist > li::before {
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.f_acslist > li span {
	margin-top: .3em;
}
footer .f_info .box_l {
	margin-bottom: 10%;
}
footer iframe {
	height: 70vw;
}

}

/*footer : f_bg
---------------------------------------------------------*/
footer .f_bg {
	background-color: var(--color-lgry);
	padding: 75px 0;
	border-top-left-radius: 90px;
	border-top-right-radius: 90px;
}
footer .f_sitemap {
	display: flex;
}
footer .f_sitemap li {
	margin-bottom: .8em;
}
footer .f_sitemap a {
	position: relative;
	display: block;
	font-size: min(1.28vw,93%);
	line-height: 1.5;
	padding-left: 1.5em;
}
footer .f_sitemap a::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e800';
	left: 0;
	top: 0;
}
footer .f_sitemap a:hover {
	color: var(--color-org);
}
footer .copyright {
	display: block;
	text-align: right;
	font-size: 93%;
	letter-spacing: .18em;
	line-height: 1.3;
}
footer .f_btm {
	position: relative;
	padding-right: 4.5em;
	margin-top: 3em;
}
#page_top {
	position: absolute;
	right: 0;
	bottom: 0;
}
#page_top a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 4.2em;
	height: 4.8em;
	text-align: center;
	color: #9a8e80;
	font-size: 80%;
	letter-spacing: normal;
	line-height: 1;
	border: 1px solid #9a8e80;
	border-radius: 1.6em;
	box-sizing: border-box;
	padding-bottom: .5em;
}
#page_top a::before {
	font-family: 'fontello';
	content: '\e801';
	font-size: 280%;
	display: block;
	line-height: 0.7;
	transform: scale(1,-1);
}
#page_top a:hover {
	color: #FFF;
	background-color: #9a8e80;
}
#page_top a p {
	letter-spacing: .18em;
	padding-left: .2em;
}
footer .sp_openbox {
	display: block;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
footer .f_sitemap ul {
	margin-right: 3em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
footer .f_sitemap ul {
	margin-right: 1.8em;
}
footer .f_sitemap a {
	font-size: 1.5vw;
	letter-spacing: .01em;
	font-feature-settings: "halt";
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer .f_bg {
	padding: 12% 0 22%;
	border-top-left-radius: 12vw;
	border-top-right-radius: 12vw;
}
footer .f_sitemap {
	flex-wrap: wrap;
	margin-bottom: 0;
}
footer .f_sitemap ul {
	width: 50%;
}
footer .f_sitemap ul:nth-of-type(1),
footer .f_sitemap ul:nth-of-type(2) {
	padding-bottom: 3%;
	margin-bottom: 6%;
	border-bottom: 1px solid #594a39;
}
footer .f_sitemap li {
	margin-bottom: .7em;
}
footer .f_sitemap a {
	font-size: 82%;
	font-feature-settings: "halt";
	padding-left: 1.5em;
}
footer .f_btm {
	padding-right: 10vw;
	margin-top: 12%;
}
footer .copyright {
	text-align: left;
	font-size: 66%;
	letter-spacing: .14em;
}
#page_top a {
	font-size: 60%;
}
footer .sp_openarea {
	border: 1px solid #473219;
	margin-bottom: 7%;
}
footer .open_btn {
	text-align: center;
	letter-spacing: .2em;
	line-height: 1;
	padding: 1em;
}
footer .sp_openbox {
	display: none;
	padding: 5%;
}
}


/*footer : f_site_bnr
---------------------------------------------------------*/
footer .f_site_bnr {
	display: flex;
	flex-wrap: wrap;
}
footer .f_site_bnr > li {
	margin: 0;
	max-width: 260px;
}
footer .f_site_bnr > li.f_bnr_group {
	background: linear-gradient(90deg, rgba(107,188,75,1) 0%, rgba(76,166,165,1) 100%);
	position: relative;
}
footer .f_site_bnr > li.f_bnr_group::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: linear-gradient(90deg, rgba(76,166,165,1) 0%, rgba(107,188,75,1) 100%);
	opacity: 0;
	transition: opacity 0.4s;
}
footer .f_site_bnr > li.f_bnr_group:hover::before {
	opacity: 1;
}
footer .f_site_bnr > li.f_bnr_group a {
	background: transparent;
	position: relative;
	z-index: 1;
}
/*com_bnr_lp*/
.com_bnr_lp {
	max-width: 260px;
	margin: 0 auto;
}
.com_bnr_lp a {
	display: block;
	background: #E9E9E9;
}
.com_bnr_lp a:hover {
	background: #E2E1E0;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
footer .f_site_bnr > li {
	width: 24%;
	margin-right: 1.33%;
}
footer .f_site_bnr > li:nth-of-type(4n) {
	margin-right: 0;
}
footer .f_site_bnr > li:nth-of-type(n+5) {
	margin-top: 1.33%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer .f_site_bnr > li {
	width: 49%;
	margin-right: 2%;
}
footer .f_site_bnr > li:nth-of-type(even) {
	margin-right: 0;
}
footer .f_site_bnr > li:nth-of-type(n+3) {
	margin-top: 2%;
}
}


/*スマホフッター
---------------------------------------------------------*/
@media only screen and (min-width: 768px) {
#sp_footer {display: none !important;}
footer .f_sitemap .open_box {display: block !important;}
}

#sp_footer {
	position: fixed;
	width: 100%;
	text-align: center;
	font-size: 90%;
	background-color: #ffff6f;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.spf_contact {
	display: flex;
}
.spf_contact > li {
	width: 24%;
	box-sizing: border-box;
}
.spf_contact > li.spf_tel {
	align-self: center;
	width: 52%;
	padding: 0 4%;
}
.spf_contact > li.spf_tel dt {
	margin-bottom: .5em;
}


/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1500px) and (min-aspect-ratio: 1024/750) {
header {
	padding-bottom: 10px;
}
header h1 {
    font-size: 75%;
    margin-top: .8em;
}
.m_nav_area {
	margin-top: .6em;
}
footer .f_sitemap a {
	font-size: 90%;
	letter-spacing: .02em;
}
footer .copyright br {
	display: block !important;
}
}


/*chatbase
---------------------------------------------------------*/
#chatbase-message-bubbles,
#chatbase-bubble-button {
	z-index: 10 !important;
}
@media only screen and (max-width: 767px) {
#chatbase-bubble-button {
	right: 4vw !important;
	bottom: auto !important;
	top: 18vw !important;
}
}


/* ========================================================
  
  utilities

======================================================== */

/*width
---------------------------------------------------------*/
.max_1500 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.max_width,.w1500,.w1400,.w1380,.w1350,.w1340,.w1310,.w1300,
.w1280,.w1260,.w1240,.w1220,.w1200,.w1180,.w1150,.w1100,.w1050 {
	width: 92%;
	padding: 0 4%;
	margin-left: auto;
	margin-right: auto;
}
.w1500 {max-width: 1500px;}
.w1400 {max-width: 1400px;}
.w1380 {max-width: 1380px;}
.w1350 {max-width: 1350px;}
.w1340 {max-width: 1340px;}
.w1310 {max-width: 1310px;}
.w1300 {max-width: 1300px;}
.w1280 {max-width: 1280px;}
.w1260 {max-width: 1260px;}
.w1240 {max-width: 1240px;}
.w1220 {max-width: 1220px;}
.w1200 {max-width: 1200px;}
.w1180 {max-width: 1180px;}
.w1150 {max-width: 1150px;}
.w1100 {max-width: 1100px;}
.w1050 {max-width: 1050px;}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1500px) and (min-aspect-ratio: 1024/750) {
.max_width,
.w1500,.w1400,.w1380,.w1350,.w1340,.w1310,.w1300,
.w1260,.w1240,.w1220,.w1200,.w1180,.w1150,.w1100,.w1050 {
	width: 88%;
	padding: 0 6%;
}	
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.max_width,
.w1500,.w1400,.w1380,.w1350,.w1340,.w1310,.w1300,
.w1280,.w1260,.w1240,.w1220,.w1200,.w1180,.w1100,.w1050 {
	width: 90%;
	padding: 0 5%;
}
}

/*margin
---------------------------------------------------------*/
.com_b_200 {margin-bottom: 200px;}
.com_b_150 {margin-bottom: 150px;}
.com_b_120 {margin-bottom: 120px;}
.com_b_110 {margin-bottom: 110px;}
.com_b_100 {margin-bottom: 100px;}
.com_b_90 {margin-bottom: 90px;}
.com_b_80 {margin-bottom: 80px;}
.com_b_70 {margin-bottom: 70px;}
.com_b_60 {margin-bottom: 60px;}
.com_b_50 {margin-bottom: 50px;}
.com_b_40 {margin-bottom: 40px;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_b_200 {margin-bottom: 15%;}
.com_b_150 {margin-bottom: 12%;}
.com_b_120 {margin-bottom: 10%;}
.com_b_110 {margin-bottom: 9%;}
.com_b_100 {margin-bottom: 8%;}
.com_b_90 {margin-bottom: 8%;}
.com_b_80 {margin-bottom: 7%;}
.com_b_70 {margin-bottom: 6%;}
.com_b_60 {margin-bottom: 5%;}
.com_b_50 {margin-bottom: 4%;}
.com_b_40 {margin-bottom: 4%;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_b_200 {margin-bottom: 18%;}
.com_b_150 {margin-bottom: 14%;}
.com_b_120 {margin-bottom: 13%;}
.com_b_110 {margin-bottom: 12%;}
.com_b_100 {margin-bottom: 12%;}
.com_b_90 {margin-bottom: 11%;}
.com_b_80 {margin-bottom: 10%;}
.com_b_70 {margin-bottom: 9%;}
.com_b_60 {margin-bottom: 8%;}
.com_b_50 {margin-bottom: 7%;}
.com_b_40 {margin-bottom: 6%;}
}


/* PC
------------------------------------------*/
@media only screen and (min-width: 960px)  {
.tb_only{display:none !important;}
.sp_only{display:none !important;}
.sp_tb{display:none !important;}
.sp_pc{display:block !important;}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pc_only{display:none !important;}
.sp_only{display:none !important;}
.sp_pc{display:none !important;}
.sp_pc{display:none !important;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pc_only{display:none !important;}
.tb_only{display:none !important;}
.tb_pc{display:none !important;}
.sp_pc{display:block!important;}
}

