@charset "UTF-8";


body {
/*	text-align: center;*/
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 15px;
	letter-spacing: .05em;
	line-height: 2.0em;
	padding: 0;
	margin: 0;
	background: #fff;
	color: #312f2f;
	-webkit-text-size-adjust: 100%;
}


div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font-style:normal;
	font-weight: normal;
}

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;
}
table {
    font-size:inherit;
    font:100%;
	border-collapse: collapse;
}
address{
	font-style:normal;
}
ul,ol{
	list-style :none;
}
a{
	color: inherit;
	text-decoration:none;
	outline:0;
	transition: color 0.6s, background-color 0.6s;
}
a:hover{
	transition: color 0.4s, background-color 0.4s;
}

.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;}
/*</group>*/
.sp_txt_l{text-align:center;}

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

.blocklink,
.blocklink_out,
.blocklink_ank {
	cursor:pointer;
}

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

.red {color: #df6749;}

/* スマホで電話をかけるボタン：画像対応 */
.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;
}
.com_txt_link {	text-decoration: underline;}
.com_txt_link:hover { text-decoration: none;}

.fs17 {
	font-size: 113%;
}
.fs14 {
	font-size: 93%;
	line-height: 1.7;
}

.flex_box {
	display: flex;
}

.com_time_txt {
    font-size:95%;
	margin-top: .8em;
}
.com_time_txt span {
	color: #df6749;
}
.com_time_txt small{
    margin: 0 -0.3em;
}
.com_time_txt .icon-sat{
    margin-right: -0.4em;
}
.com_time_txt li{
    display: inline-block;
    line-height: 1.6em;
    margin-right: 1em;
}


/*アコーディオン*/
.open_btn {
	position: relative;
	cursor: pointer;
}
.open_btn .icon_open {
	letter-spacing: normal;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	right: 1.0em;
	top: 50%;
	transform: translateY(-50%);
}
.open_btn .icon_open::before,
.open_btn .icon_open::after {
	content: "";
	position: absolute;
	width: .8em;
	height: 1px;
	background: #ff968a;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.open_btn .icon_open::after {
	transform: rotate(90deg);
	transition: all 0.4s;
}
.open_btn.active .icon_open::after {
	transform: rotate(0deg);
}
.open_box {
	display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_time_txt {
	font-size: 95%;
}
.fs17 {
	font-size: 105%;
}
}

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

.fs17 {
	font-size: 105%;
}
}




/* ========================================================
  
  Variable

======================================================== */
:root {
	--font-min: normal normal 400 100%/1.6 "Noto Serif JP", serif;
	--font-en: normal normal 400 100%/1 "Baloo Tamma 2", system-ui;

	--accent-color: #ff968a;
}





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




/* ========================================================
  
  global_parts

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

/* timetable
---------------------------------------------------------*/
.c-timetable {
	--color-time: var(--accent-color);
	--color-red: #df6749;
}
footer .c-timetable {
	width: 100%;
}

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

.c-timetable .c-schedule {
	font-size: min(1.45vw,15px) !important;
}
}




/* ========================================================
  
  Navi

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

/*header
---------------------------------------------------------*/
header {
	position: relative;
	box-sizing: border-box;
	padding: 40px 0 25px;
}

.h_logo {
	position: relative;
	display: block;
	width: 21%;
	max-width: 309px;
	box-sizing: border-box;
	margin-left: min(85px,5%);
	margin-bottom: 1em;
	container-type: inline-size;
}
.h_logo .branch {
	position: absolute;
	display: block;
	width: 9.7em;
	text-align: center;
	font-size: clamp(10px, 5.2cqw, 16px);
	font-size: min(5.2cqw,16px);
	line-height: 1.4;
	letter-spacing: .1em;
	padding: .1em;
	border-radius: .3em;
	box-sizing: border-box;
	border: 1px solid #ff968a;
	left: 0;
	top: 69%;
	translate: 0 -50%;
}

header .m_nav_area {
	position: absolute;
	width: 100%;
	font-size: min(1.3vw,106%);
	right: 0;
	bottom: 0;
}
header .m_nav_area .m_nav {
	width: 72%;
	max-width: 1020px;
	box-sizing: border-box;
	padding: 0 3%;
	margin-left: auto;
}
header .m_nav_area .m_nav > li {
	padding-bottom: 1.5em;
}
header .m_nav_area .in_menu.in_long.rec_inmenu{
	left: auto;
	transform: translateX(0);
	right: -3em;
}

header .h_contact {
	position: absolute;
	z-index: 10;
	right: 0;
	top: 0;
	width: 70%;
	max-width: 770px;
	grid-template-columns: 66% 34%;
}
header .h_contact .tel_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
	column-gap: 4%;
	line-height: 1.0em;
	padding-left: 5%;
}

header .h_time {
	max-width: 200px;
}

header .h_contact > ul > li a {
	padding: 3% 9% 5%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1499px) {
header .m_nav_area .in_menu.in_long.rec_inmenu{
	right: -3vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
header {
	padding: 0 0 20px;
}
header .h_contact {
	position: relative;
	right: auto;
	top: auto;
	width: 80%;
	margin-left: auto;
	margin-right: 0;
	margin-bottom: 1.4em;
}
.h_logo {
	width: 20%;
	margin-left: 3%;
	margin-bottom: 0;
}
header .m_nav_area {
	font-size: 1.4vw;
}
header .m_nav_area .m_nav {
	width: 76%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
header .h_flex {
    display: block;
}
header .h_contact {
	display: none;
}
.h_logo {
	width: 80%;
	max-width: 569px;
	padding: 0;
	margin: 0;
}
header .m_nav_area {
	display: none;
}
}





/*メインナビ
---------------------------------------------------------*/
.m_nav {
	display: flex;
    justify-content: space-between;
	font-feature-settings: "halt";
}
.m_nav > li {
	padding: .5em 1%;
	position: relative;
}
.m_nav > li > a {
	position: relative;
	display: block;
	letter-spacing: .05em;
	line-height: 1.5;
	white-space: nowrap;
	padding: 2em 0 0;
	transition: all .4s;
}
.m_nav > li > a::before,
.m_nav > li > a::after {
	position: absolute;
	content: "";
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 1.4em auto;
	width: 100%;
	height: 1.5em;
	left: 0;
	top: 0;
	transition: all .4s;
}
.m_nav > li > a::after {
	opacity: 0;
}
.m_nav > li > a:hover,
.m_nav > li.select > a {
	color: #ff968a;
}
.m_nav > li > a:hover::after,
.m_nav > li.select > a::after {
	opacity: 1;
}

.m_nav > li.menu_hom > a::before {background-image: url("../images/common/icon_hom.svg");}
.m_nav > li.menu_fir > a::before {background-image: url("../images/common/icon_fir.svg");}
.m_nav > li.menu_stf > a::before {background-image: url("../images/common/icon_stf.svg");}
.m_nav > li.menu_cli > a::before {background-image: url("../images/common/icon_cli.svg");}
.m_nav > li.menu_med > a::before {background-image: url("../images/common/icon_med.svg");}
.m_nav > li.menu_acs > a::before {background-image: url("../images/common/icon_acs.svg");}
.m_nav > li.menu_rec > a::before {background-image: url("../images/common/icon_rec.svg");}

.m_nav > li.menu_hom > a:hover::after,
.m_nav > li.menu_hom.select > a::after {background-image: url("../images/common/icon_hom-o.svg");}
.m_nav > li.menu_fir > a:hover::after,
.m_nav > li.menu_fir.select > a::after {background-image: url("../images/common/icon_fir-o.svg");}
.m_nav > li.menu_stf > a:hover::after,
.m_nav > li.menu_stf.select > a::after {background-image: url("../images/common/icon_stf-o.svg");}
.m_nav > li.menu_cli > a:hover::after,
.m_nav > li.menu_cli.select > a::after {background-image: url("../images/common/icon_cli-o.svg");}
.m_nav > li.menu_med > a:hover::after,
.m_nav > li.menu_med.select > a::after {background-image: url("../images/common/icon_med-o.svg");}
.m_nav > li.menu_acs > a:hover::after,
.m_nav > li.menu_acs.select > a::after {background-image: url("../images/common/icon_acs-o.svg");}
.m_nav > li.menu_rec > a:hover::after,
.m_nav > li.menu_rec.select > a::after {background-image: url("../images/common/icon_rec-o.svg");}

/* アコーディオンメニュー */
.in_menu {
	display: none;
	position: absolute;
	z-index: 999;
	width: 100%;
	top: calc(100% + 10px);
	font-size: min(1.5vw,100%);
	font-feature-settings: "palt";
	background: #fdf6f4;
	box-sizing: border-box;
	border-radius: 10px;
	padding: 35px 1%;
	left: 50%;
	transform: translateX(-50%);
}
.in_menu li a {
	position: relative;
	display: block;
	letter-spacing: .08em;
	white-space: nowrap;
	box-sizing: border-box;
	line-height: 2.8;
	padding-left: 3em;
}
.in_menu li.txt_s a{
	line-height: 1.4em;
}
.in_menu li .com_arrow1 {
	position: absolute;
	font-size: 80%;
	background-color: #f8d8cf;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.in_menu li a:hover .com_arrow1 {
	background-color: #ff968a !important;
}
.in_menu li a:hover .com_arrow1::before {
	color: #FFF;
}

/* 横長 */
.in_menu.in_width {
	width: 98%;
	max-width: 1480px;
}
.in_menu.in_width ul {
	display: flex;
    flex-wrap: wrap;
}
.in_menu.in_width li {
	width: 20%;
}
.in_menu.in_width li:nth-of-type(n+6) {
	margin-top: 1em;
}

.in_menu.in_width li.menu_pri .com_arrow1 {
	background-color: #a18b8b;
}
.in_menu.in_width li.menu_pri .com_arrow1::before {
	color: #fff;
}

/* 縦長 */
.in_menu.in_long {
	width: 200%;
	padding: 25px;
}
.in_menu.in_long li:nth-of-type(n+2) {
	margin-top: .6em;
}
.in_menu.in_long.rec_inmenu {
	width: 245%;
}
.in_menu.in_long.stf_inmenu {
	width: 210%;
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1280px) {
.in_menu.in_long.rec_inmenu {
	width: 14em;
}
.in_menu.in_long.stf_inmenu {
	width: 17em;
}
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1280px) {
/* アコーディオンメニュー */
.in_menu {
	padding: 3% 1%;
}
.in_menu.in_width li.type_br br {
	display: block !important;
}
.in_menu.in_width li.type_br a {
	line-height: 1.4;
	letter-spacing: .05em;
}
}

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

.in_menu.in_width li a {
	padding-left: 2.5em;
}
.in_menu.in_width li a .com_arrow1 {
	font-size: 70%;
}
}

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





/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	display: none;
	position: fixed;
	z-index: 500;
	left: 0;
	top: 0;
	width: 100%;
	background: rgba(255,255,255,0.95);
	transform: translateY(-100%);
}
#scl_header.is-show {
	display: block;
	transform: translateY(0);
	opacity: 1;
    animation: sclAnimation 1.0s;
}
#scl_header .scl_flex {
	display: flex;
	align-items: center;
}
#scl_header .scl_nav_area {
	width: 64%;
	padding: 0 2%;
}
#scl_header .scl_nav_area .m_nav {
	max-width: 860px;
	font-size: min(1.2vw,100%);
}
#scl_header .scl_contact {
	width: 36%;
	max-width: 420px;
	margin-right: 0;
	grid-template-columns: 50% 50%;
}
#scl_header .scl_contact li a {
    padding: 9% 0 8%;
}

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

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





/*ドロワーメニュー
---------------------------------------------------------*/
#drawer-content .drw_bg {
	background-color: #fdf6f4;
	padding: 20% 5% 34%;
}
#drawer-content .med_tit {
	text-align: center;
	color: #ec9176;
	font-size: 180%;
	line-height: 1;
	letter-spacing: normal;
	margin-bottom: .3em;
}
#drawer-content .bdr_b {
	padding-bottom: 7%;
	margin-bottom: 6%;
	border-bottom: 1px solid rgba(140,128,128,0.5);
}
#drawer-content .com_menu1 {
	margin-bottom: 6%;
}

#drawer-content .com_bnr_rec {
	margin-top: 5%;
}




/* ========================================================
  
  共通パーツ

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

/*共通リンク
---------------------------------------------------------*/
.com_arrow1 {
	position: relative;
	display: inline-block;
	background-color: #FFF;
	text-align: center;
	box-sizing: border-box;
	border-radius: 50%;
	font-size: 100%;
	width: 2.6em;
	height: 2.6em;
	transition: all .5s;
}
.com_arrow1::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e800';
	letter-spacing: normal;
	line-height: 2.6;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: all .5s;
}
/*com_link1*/
.com_link1 {
	margin-top: 1.5em;
}
.com_link1 a {
	position: relative;
	display: inline-block;
	font-size: 133%;
	letter-spacing: .05em;
	line-height: 1.5;
	padding: .3em 0;
	padding-right: 2.6em;
}
.com_link1 .com_arrow1 {
	position: absolute;
	font-size: 78%;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.com_link1 .ft_en + .com_arrow1 {
	font-size: 58%;
}
.com_link1.wh .ft_min {
	color: #FFF;
}
.com_link1.wh .com_arrow1::before{
	color: #3e3a39;
}
.com_link1 a:hover .com_arrow1,
.hov_arrow:hover .com_arrow1 {
	background-color: #79595a;
}
.com_link1 a:hover .com_arrow1::before,
.hov_arrow:hover .com_arrow1::before {
	color: #FFF;
}

/*com_link2*/
.com_link2_list{
    text-align: center;
}
.com_link2_list li{
    display: inline-block;
    margin-right: 1em;
}
.com_link2_list li:last-child{
    margin-right: 0;
}
.com_link2_list li a{
    margin-top: 0;
}

.com_link2 a{
	display: inline-block;
	text-align: left;
	width: 100%;
    min-width: 340px;
	font-size: 115%;
	letter-spacing: 0.1em;
	line-height: 1em;
	padding: 1.4em 1.8em;
	padding-right: 3em;
	max-width: 18em;
	border-radius: 2em;
	border: 1px solid #D8D8D7;
	background: #FFFFFF;
	box-sizing: border-box;
	position: relative;
	margin-top: 2em;
}
.com_link2.link_c {
	text-align: center;
}
.com_link2 .com_arrow1 {
	position: absolute;
	font-size: 60%;
	color: #fff;
	right: 2em;
	top: 50%;
	transform: translateY(-50%);
	background-color: #EC9176;
}
.com_link2 a:hover {
	background: rgba(255,150,138,0.1);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*com_link1*/
.com_link1 a {
	font-size: 120%;
}
/*com_link2*/
.com_link2 a{
	font-size: 110%;
	padding: 1.2em 1.8em;
	padding-right: 3em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*com_link1*/
.com_link1 {
	margin-top: 1em;
}
.com_link1 a {
	font-size: 115%;
}
/*com_link2*/
.com_link2{
	text-align: center;
}
.com_link2 a{
	font-size: 105%;
	letter-spacing: .05em;
	padding: 1.2em 1.8em;
	padding-right: 3em;
}
    
.com_link2_list li{
    margin-right: 0;
    margin-bottom: 1em;
}
.com_link2_list li:last-child{
    margin-bottom: 0;
}
}





/*共通メニュー
---------------------------------------------------------*/
/*com_menu1*/
.com_menu1 {
	display: flex;
	flex-wrap: wrap;
}
.com_menu1 li a {
	position: relative;
	display: block;
	letter-spacing: .08em;
	white-space: nowrap;
	box-sizing: border-box;
	line-height: 2.8;
	padding: .4em 0;
	padding-left: 2.5em;
	border-bottom: 1px solid rgba(140,128,128,0.5);
}
.com_menu1 li.txt_s a{
	line-height: 1.4em;
}
.com_menu1 li .com_arrow1 {
	position: absolute;
	font-size: 70%;
	background-color: #f8d8cf;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
/*com_menu2*/
.com_menu2 {
	display: flex;
	flex-wrap: wrap;
}
.com_menu2 li a {
	position: relative;
	display: block;
	text-align: center;
	letter-spacing: .08em;
	white-space: nowrap;
	font-feature-settings: "palt";
	box-sizing: border-box;
	line-height: 2.2;
	background-color: rgba(255,255,255,0.5);
	border: 1px solid rgba(181,181,181,0.5);
	padding: .5em .2em;
	border-radius: 2em;
}
.com_menu2 li a span {
	font-size: 78%;
}
.com_menu2 li.type_br a {
	line-height: 1.1;
}
.com_menu2 li.menu_pri a {
	color: #FFF;
	background-color: #cfbc84;
	border-color: #cfbc84;
}

/*com_monshin*/
.com_monshin {
	line-height: 1.5;
	box-sizing: border-box;
}
.com_monshin dt {
	text-align: center;
	font-size: 130%;
	letter-spacing: .1em;
	line-height: 1.5;
	margin-bottom: .5em;
}
.com_monshin dd p {
	text-align: center;
	line-height: 1.5;
	margin-bottom: 1em;
	font-size: min(1.1vw,93%);
}
.com_mon_list {
	display: flex;
	justify-content: space-between;
	max-width: 420px;
	margin: 0 auto;
}
.com_mon_list li {
	width: 49%;
}
.com_mon_list li a {
	position: relative;
	display: block;
	color: #FFF;
	font-size: 85%;
	letter-spacing: .08em;
	line-height: 1.3;
	white-space: nowrap;
	font-feature-settings: "palt";
	box-sizing: border-box;
	background: #3c9ea8 url("../images/common/icon_site.svg") no-repeat right .8em center;
	background-size: 2.4em auto;
	padding: .9em 1em;
	padding-right: 2em;
	border-radius: .8em;
}
.com_mon_list li a .ft_min {
	font-size: 133%;
}
.com_mon_list li.mon_kodomo a {
	line-height: 2.4;
	background-color: #e3b105;
}
.com_mon_list li a:hover {background-color: #2f8e93;}
.com_mon_list li.mon_kodomo a:hover {background-color: #d19c05;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*com_monshin*/
.com_monshin dt {
	font-size: 115%;
}
.com_monshin dd p {
	font-size: 90%;
}
.com_mon_list li a {
	font-size: 1.3vw;
}
.com_mon_list li a .asterisk {
	font-size: 110%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_menu1 li,
.com_menu2 li {
	width: 49%;
}
.com_menu1 li a,
.com_menu2 li a {
	font-size: 86%;
	font-feature-settings: "halt";
}
.com_menu1 li:nth-of-type(odd),
.com_menu2 li:nth-of-type(odd) {
	margin-right: 2%;
}
.com_menu2 li:nth-of-type(n+3) {
	margin-top: 1.5%;
}
	
/*com_monshin*/
.com_monshin dt {
	font-size: 110%;
}
.com_monshin dd p {
	font-size: 85%;
}
.com_mon_list {
	max-width: none;
}
.com_mon_list li a {
	font-size: 72%;
}
}





/*共通：下層メインイメージ
---------------------------------------------------------*/
.contentpage .m_img_area {
	position: relative;
	width: 97.4%;
	margin: 0 auto;
	height: 450px;
	max-height: 35vw;
	z-index: 0;
}
.contentpage .m_img_area::before {
	position: absolute;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	margin: auto;
	top:50%;
	transform: translateY(-50%);
	z-index: -2;
}
.contentpage .m_img_area::after {
	position: absolute;
	content: "";
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 50%,rgba(0,0,0,0.3) 99%,rgba(0,0,0,0.3) 100%);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	z-index: -1;
}
.contentpage .m_img_area .m_title{
	font-size: 230%;
	letter-spacing: 0.1em;
	line-height: 1em;
	color: #fff;
	text-align: right;
	position: absolute;
	display: block;
	right: 3%;
	bottom: 1.5em;
}
.contentpage .m_img_area .m_title::before{
	position: absolute;
	content: "";
	background: url("../images/common/m_title_abs@2x.png")no-repeat right bottom;
	background-size: 100% auto;
	width: 400px;
	height: 220px;
	right: 1.2em;
	bottom: 1em;
	z-index: -1;
}
.contentpage .m_img_area .m_title .ft_en{
	margin-bottom: 0.1em;
}
.contentpage .m_img_area .m_title .ft_min{
	font-size: 165%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
.contentpage .pankuzu {
	margin-left: 1.3%;
	color: #999;
	font-size: min(95%,1.3vw);
	letter-spacing: .08em;
	line-height: 1.2em;
	font-feature-settings: "halt";
	display: flex;
    flex-wrap: wrap;
	margin: 1em auto 90px 1.3%;
}
.contentpage .pankuzu a {
	color: #9E9C9C;
	text-decoration: underline;
}
.contentpage .pankuzu a:hover {
	text-decoration: none;
}
.contentpage .pankuzu li::after {
	content: "ー";
	margin: 0 1.0em;
}
.contentpage  .pankuzu li:last-child::after {
	display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1499px) {
.contentpage .m_img_area .m_title{
	top:75%;
	transform: translateY(-50%);
	bottom: auto;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1000px) {
.contentpage .m_img_area .m_title{
	font-size: 3.4vw;
}
.contentpage .m_img_area .m_title::before{
	width: 40vw;
	height: 22vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.contentpage .pankuzu {
	margin: 1em auto 8% 1.3%;
}
}

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

.contentpage header{
		padding: 5vw 3%;
}
.contentpage .h_logo {
	width: 75%;
	max-width: 567px;
}
.contentpage .h_logo .branch {
	position: relative;
	font-size: 3.8cqw;
	left: 18%;
	top: auto;
	translate: none;
	margin-top: .5em;
}

.contentpage .m_img_area {
	width: 100%;
}
.contentpage .m_img_area .m_title{
	font-size: 130%;
	letter-spacing: 0.05em;
	top:65%;
	transform: translateY(-50%);
	bottom: auto;
}
.contentpage .m_img_area .m_title::before{
	width: 40vw;
	height: 22vw;
}
.contentpage .m_img_area .m_title .ft_en{
	margin-bottom: 0.1em;
}
.contentpage .m_img_area .m_title .ft_min{
	font-size: 145%;
}
.contentpage .pankuzu {
	font-size: 65%;
	margin-top: 0.8em;
	margin: 1em auto 10% 3%;
}
}





/*共通：リード
---------------------------------------------------------*/
.com_lead{
	position: relative;
	text-align: center;
	padding-top: 60px;
}
.com_lead::before {
	position: absolute;
	content: "";
	background-color: #3e3a39;
	width: 20%;
	height: 1px;
	left: 40%;
	top: 0;
}
.com_lead h1 {
	font-size: 270%;
	letter-spacing: 0.15em;
	line-height: 1.5em;
}
.com_lead h1 span{
	color: #DF6749;
}
.com_lead p{
	font-size: 113%;
	line-height: 2.4;
	margin-top: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_lead{
	padding-top: 5%;
}
.com_lead h1{
	font-size: 4vw;
}
.com_lead p{
	font-size: 105%;
	line-height: 2;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_lead{
	padding-top: 8%;
}
.com_lead::before {
	width: 30%;
	left: 35%;
}
.com_lead h1{
	font-size: 170%;
	letter-spacing: 0.05em;
}
.com_lead p{
	text-align: left;
	font-size: 105%;
	line-height: 2;
}
}





/*共通：下層パーツ
---------------------------------------------------------*/
/* インデックス */
.com_med_index {
	text-align: center;
	font-size: 200%;
	letter-spacing: .05em;
	line-height: 1;
	padding-bottom: 1em;
	background: url("../images/common/med_deco.svg") no-repeat center bottom;
	background-size: 2em auto;
	margin-bottom: 1em;
}
.com_index1{
	font-size: 215%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
	color: #fff;
	padding: 0.6em 1em;
	box-sizing: border-box;
	background-color: #EC9176;
	margin: 0 auto 60px;
}
.com_index2{
	font-size: 195%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
	color: #df6749;
	padding: 0.6em 1em;
	box-sizing: border-box;
	border-top: 1px solid #df6749;
	border-bottom: 1px solid #df6749;
	margin: 0 auto 40px;
}
.com_deco_title {
	text-align: center;
	font-size: min(4vw,266%);
	letter-spacing: .2em;
	line-height: 1.4;
	background: url("../images/contact/motif.svg") no-repeat center bottom;
	background-size: 5.6em auto;
	padding-bottom: .7em;
	margin-bottom: 1.2em;
}
.com_deco_title .ft_en {
	font-size: 75%;
	letter-spacing: .05em;
	line-height: 1;
	margin-top: .3em;
}

/*テキスト*/
.com_picktxt {
	text-align: center;
	font-size: min(2.4vw,166%);
	letter-spacing: .2em;
	font-feature-settings: "palt";
	line-height: 2em;
}
.com_picktxt span {
	color: #df6749;
}

/*ボックス*/
.com_inbox{
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/*com_style*/
.com_style1 dt{
	font-size: min(3vw,190%);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	margin-bottom: 0.4em;
}
.com_style2 dt{
	font-size: min(2.1vw,135%);
	letter-spacing: 0.1em;
	line-height: 1.6em;
	margin-bottom: 0.4em;
	padding-left: 1.3em;
	position: relative;
}
.com_style2 dt::before{
	position: absolute;
	content: "";
	background: #ec9176;
	width: 0.75em;
	height: 0.75em;
	border-radius: 0.75em;
	left: 0;
	top:0.8em;
}
.com_style2 dt span{
	font-size: 140%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
/*com_flot_box*/
.com_flot_box .img_l,
.com_flot_box .txt_l{
	float: left;
}
.com_flot_box .img_r,
.com_flot_box .txt_r{
	float: right;
}
.com_flot_box .img_l,
.com_flot_box .img_r{
	max-width: 440px;
	width: 37%;
}
.com_flot_box .txt_l,
.com_flot_box .txt_r{
	max-width: 695px;
	width: 60%;
}
.com_flot_box.img380 .img_l,
.com_flot_box.img380 .img_r{
	max-width: 380px;
	width: 31.7%;
}
.com_flot_box.img380 .txt_l,
.com_flot_box.img380 .txt_r{
	max-width: 64.3%;
	width: 64.3%;
}
.com_flot_box.img360 .img_l,
.com_flot_box.img360 .img_r{
	max-width: 360px;
	width: 30%;
}
.com_flot_box.img360 .txt_l,
.com_flot_box.img360 .txt_r{
	max-width: 790px;
	width: 66%;
}


/* メリット・デメリット */
.com_merit_li li,
.com_demerit_li li {
	position: relative;
	line-height: 1.6em;
	margin-bottom: .2em;
	padding-left: 1.5em;
}
.com_merit_li li:last-child,
.com_demerit_li li:last-child {
	margin-bottom: 0;
}
.com_merit_li li::before,
.com_demerit_li li::before {
	font-family: 'fontello';
	position: absolute;
	left: 0;
	top: 0;
}
.com_merit_li li::before {
	content: '\e808';
	color: rgba(255,123,172,0.5);
	font-size: 130%;
}
.com_demerit_li li::before {
	content: '\e80d';
	color: rgba(125,107,78,0.5);
	font-size: 90%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_index1{
	font-size: 3.3vw;
	margin: 0 auto 6vw;
}
.com_index2{
	font-size: 3vw;
	margin: 0 auto 4vw;
}

/*テキスト*/
.com_picktxt {
	letter-spacing: .15em;
}

/*com_style*/
.com_style2 dt span{
	display: block;
}
.com_style2 dt::before{
	top:0.4em;
}
	
/*com_flot_box*/
.com_flot_box .img_l,
.com_flot_box .img_r{
	margin-bottom: 1em;
}
.com_flot_box .img_l{
	margin-right: 4%;
}
.com_flot_box .img_r{
	margin-left: 4%;
}
.com_flot_box .txt_l,
.com_flot_box .txt_r{
	max-width: 100%;
	width: 100%;
	float: none;
}
.com_flot_box.img380 .txt_l,
.com_flot_box.img380 .txt_r,
.com_flot_box.img360 .txt_l,
.com_flot_box.img360 .txt_r{
	max-width: 100%;
	width: 100%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_index1{
	font-size: 150%;
	margin: 0 auto 7vw;
	padding: 0.6em 0.5em;
}
.com_index2{
	font-size: 145%;
	margin: 0 auto 5vw;
	padding: 0.6em 0.5em;
}
.com_deco_title {
	font-size: 150%;
}

/*テキスト*/
.com_picktxt {
	font-size: 120%;
	letter-spacing: .1em;
	line-height: 1.8;
}
	
/*com_style1*/
.com_style1 dt{
	font-size: 140%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
}
.com_style2 dt{
	font-size:105%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
}
.com_style2 dt span{
	display: block;
}
.com_style2 dt::before{
	top:0.4em;
}	

/*com_flot_box*/
.com_flot_box .img_l,
.com_flot_box .txt_l,
.com_flot_box .img_r,
.com_flot_box .txt_r{
	float: none;
}

.com_flot_box .img_l,
.com_flot_box .img_r{
	width: 70%;
	margin: 0 auto 4%;
	text-align: center;
}
.com_flot_box .txt_l,
.com_flot_box .txt_r{
	max-width: 100%;
	width: 100%;
}
.com_flot_box.img380 .img_l,
.com_flot_box.img380 .img_r,
.com_flot_box.img360 .img_l,
.com_flot_box.img360 .img_r{
	width: 70%;
}
.com_flot_box.img380 .txt_l,
.com_flot_box.img380 .txt_r,
.com_flot_box.img360 .txt_l,
.com_flot_box.img360 .txt_r{
	max-width: 100%;
	width: 100%;
}
}





/*共通：リスト
---------------------------------------------------------*/
.maru_list > li {
	position: relative;
	padding-left: 1.2em;
}
.maru_list > li::before {
	position: absolute;
	font-family: 'fontello';
	content: '\e808';
	color: rgba(223,103,73,0.5);
	left: 0;
	top: 0;
}

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

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

}





/*共通：診療ボタン
---------------------------------------------------------*/
.com_medlist {
	display: flex;
    justify-content: center;
	flex-wrap: wrap;
	column-gap: 1.06%;
	max-width: 1076px;
	margin-inline: auto;
}
.com_medlist li {
	width: 24.2%;
	margin-top: 1.115%;
}

.com_medlist li a {
	position: relative;
    display: block;
    background: #fff;
	border: solid 3px #f7f7f7;	
    text-align: center;
	font-size: min(1.8vw,120%);
	font-weight: normal;
	letter-spacing: .15em;
	line-height: 2.4;
	font-feature-settings: "palt";
	white-space: nowrap;
    box-sizing: border-box;
    padding: .9em 0;
}
.com_medlist li a::before {
	font-family: 'fontello';
	content: '\e801';
	position: absolute;
	right: 3px;
	top: 3px;
	color: #ff968a;
	font-size: 80%;
	letter-spacing: normal;
	line-height: 1.0em;
}
.com_medlist li.txt_s a {
	line-height: 1.2;
    letter-spacing: .05em;
}
.com_medlist li.item_price a,
.com_medlist li.item_first a {
	background-color: #faf4e3;
	border-color: #faf4e3;
}
.com_medlist li.item_price a::before,
.com_medlist li.item_first a::before {
	color: #a18b8b;
}
.com_medlist li.item_price span,
.com_medlist li.item_first span {
	padding: .2em 0;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 1.2em 1.2em;
	padding-left: 1.8em;
}
.com_medlist li.item_price span {
	background-image: url(../images/common/icon_pri.svg);
}
.com_medlist li.item_first span {
	background-image: url(../images/common/icon_fir.svg);
}
.com_medlist li a:hover {
	background: rgba(255,150,138,0.1);
}
.com_medlist li.item_price a:hover,
.com_medlist li.item_first a:hover {
	background: rgba(250,244,227,0.6);
}
.com_medlist li span.icon_out{
    position: relative;
    display: inline-block;
    padding-right: 1.3em;
    box-sizing:border-box; 
}
.com_medlist li span.icon_out::before{
    position: absolute;
	font-family: 'fontello';
	content: '\e819';	
	right: 0;
	font-size: 80%;
	top: 50%;
	transform: translateY(-50%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_medlist li a {
	letter-spacing: .1em;
	padding: .6em 0;
}
.com_medlist li.txt_s a {
    line-height: 1.2;
}
.com_medlist li.txt_s br {
    display: block !important;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_medlist {
	column-gap: 1%;
	max-width: 100%;
}
.com_medlist li {
	width: 49.5%;
	margin-top: 1%;
}
.com_medlist li a{
    font-size: 90%;
	letter-spacing: .1em;
    padding: .5em 0;
}
.com_medlist li.txt_s a {
    line-height: 1.2;
}
.com_medlist li.txt_s br {
    display: block !important;
}
}





/*---------------------------------------------------------
 共通：お問い合わせ
---------------------------------------------------------*/
/* temp */
#sp_footer a[href^="tel:"]::after,
.com_tel_no::after {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	content: "準備中";
	color: #FFF;
	font-size: min(43%,1rem);
	letter-spacing: .16em;
	white-space: nowrap;
	background-color: rgba(102,102,102,0.8);
	width: 100%;
	height: 100%;
	inset: 0;
	pointer-events: none;
}
@media(min-width: 768px) {

a[href^="tel:"] {
	pointer-events: none;
}
}

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

/* temp */
a[href^="tel:"] {
	pointer-events: none;
}
#sp_footer a[href^="tel:"]::after,
.com_tel_no::after {
	font-size: 3vw;
}
}

/*com_tel_no
---------------------------------------------------------*/
.com_tel_no {
	position: relative;
	display: block;
	max-width: max-content;
	font: var(--font-en);
	font-size: min(3.5vw,2.64rem);
	letter-spacing: normal;
	white-space: nowrap;
}
.com_tel_no::before {
	display: inline-block;
	content: "";
	background: url("../images/common/icon_tel2.svg") no-repeat center center;
	width: 1.4em;
	aspect-ratio: 1;
	vertical-align: -0.35em;
	margin-right: .2em;
}

.h_contact .com_tel_no {
	font-size: min(3vw,186%);
}
.scl_contact .com_tel_no {
	font-size: min(2.1vw,150%);
	margin: auto;
}
.scl_contact .com_tel_no::before {
	display: block;
	background-position: center top;
	margin: 0 auto .5em;
}

.h_contact .com_tel_no::before,
.scl_contact .com_tel_no::before {
	background-image: url(../images/common/icon_tel.svg);
	width: .8em;
	vertical-align: -0.1em;
}

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

.com_tel_no {
	font-size: 8vw;
}
}


/*com_contact
---------------------------------------------------------*/
.com_contact {
	width: 100%;
	max-width: 800px;
	margin-inline: auto;
	background: rgba(248,216,207,0.5);
	display: flex;
    justify-content: space-between;
    align-items: center;
	text-align: center;
	line-height: 1.0em;
}
.com_contact .tel_box {
    background-color: #FBE9E4;
	box-sizing: border-box;
	padding: 0 3%;
}
.com_contact .tel_style dt br {
	display: none;
}

.tel_style {
	text-align: center;
    font-size: min(1.5vw, 120%);
    letter-spacing: .15em;
    line-height: 1.4em;
	white-space: nowrap;
    background-color: #FBE9E4;
}
.tel_style .com_tel_no {
	margin-inline: auto;
}

.com_web a {background: #ff968a;}
.com_mail a {background: #947a7b;}
.com_line a {background: #6fcc8e;}
.com_web a:hover {background: #f47c73;}
.com_mail a:hover {background: #79595a;}
.com_line a:hover {background: #5dba7a;}

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

.com_contact {
	display: grid;
	grid-template-columns: 52% 48%;
    align-items: center;
}
}

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

.com_contact {
	display: block;
}
.com_contact .tel_box {
	width: 100%;
	padding: 1.0em 3% .6em;
	margin: 0 auto;
}
	
.tel_style {
    font-size: 90%;
}
}


/*com_ctc_list
---------------------------------------------------------*/
.com_ctc_list {
	display: flex;
}
.com_ctc_list > li {
	position: relative;
	flex: 1;
}
.com_ctc_list > li.com_web {
	width: 36.4%;
}
.com_ctc_list > li a {
	position: relative;
	display: block;
	height: 100%;
	box-sizing: border-box;
}
.com_ctc_list > li a::before {
	font-family: 'fontello';
	content: '\e801';
	position: absolute;
	right: 3px;
	top: 3px;
	color: rgba(255,255,255,0.6);
	font-size: 80%;
	letter-spacing: normal;
	line-height: 1.0em;
}
.com_ctc_list > li img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

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

.com_ctc_list > li img {
	width: 30vw;
}
}

/*com_con_txt
---------------------------------------------------------*/
.com_con_txt {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .2em 1em;
	max-width: 980px;
	margin-top: 1em;
	margin-inline: auto;
	line-height: 1.5;
}
.com_con_txt > li > span {
	font: var(--font-en);
	font-size: 120%;
}
.com_con_txt > li i {
	margin-left: -0.1em;
	margin-right: -0.4em;
}

header .com_con_txt {
	justify-content: flex-start;
	font-size: min(1.1vw,76%);
	line-height: 1.2;
	white-space: nowrap;
	margin: 0;
}
header .com_con_txt > li > span {
	font-size: 140%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

#sp_footer .com_con_txt {
	row-gap: 0;
	font-size: 3vw;
	padding: 1.3% 10%;
	margin: 0;
}
}





/*com_prc_tax
---------------------------------------------------------*/
.com_prc_tax {
	color: #df6749;
	text-align: right;
	margin-bottom: .5em;
}
.com_prc_index{
	color:#ffffff;
	text-align: center;
	background:#96ce9c;
	font-size: 215%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	padding: 0.5em 1em;
	margin-bottom: 20px;
}
.com_prc_box {
	display: flex;
    justify-content: space-between;
	margin-bottom: 20px;
	background: rgba(250,244,227,0.4);
}
.com_prc_box.mgn_no{
	margin-bottom: 0;
}
.com_prc_box .col_l {
	width: 73.33%;
	padding: 30px 2.8%;
	box-sizing: border-box;
}
.com_prc_box .col_l .flot_box{
	max-width: 810px;
	margin: 0 auto;
}
.com_prc_box .col_l .img_l{
	width: 33.4%;
	max-width: 270px;
	float: left;
}
.com_prc_box .col_l .img_l .img{
	text-align: center;
	max-width: 270px;
	margin: 0 auto;
} 
.com_prc_box .col_l .img_l table {
	margin-top: 1px;
	width: 100%;
}
.com_prc_box .col_l .img_l table:first-of-type{
	margin-top: 20px;
}
.com_prc_box .col_l .img_l th,
.com_prc_box .col_l .img_l td {
	width: 50%;
	box-sizing: border-box;
	padding:1em;
	text-align: left;
	font-size: 95%;
	font-weight: normal;
	letter-spacing: .05em;
	line-height: 1em;
}
.com_prc_box .col_l .img_l th {
	background: #cabca4;
	color: #fff;
}
.com_prc_box .col_l .img_l td {
	background: rgba(202,188,164,0.2);
	color: #96ce9c;
	letter-spacing: .15em;
}
.com_prc_box.hoken .col_l .img_l td{
	color: #86a7cd;
}
.com_prc_box .col_l .txt_r {
	width: 62.97%;
	max-width: 510px;
	float: right;
}
.com_prc_box .prc_style dt {
    color: #96ce9c;
    font-size: 150%;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.6em;
    margin-bottom: .5em;
}
.com_prc_box.hoken .prc_style dt{
	color: #86a7cd;
}
.com_prc_box .col_r {
	background: #faf4e3;
	width: 26.67%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px 2.8%;
	box-sizing: border-box;
	text-align: center;
}
.com_prc_box .col_r dl{
	margin-top: 1em;
}
.com_prc_box .col_r dl:first-of-type{
	margin-top: 0;
}
.com_prc_box .col_r dt{
	line-height: 1.5em;
	margin-bottom: 0.3em;
}
.com_prc_box .col_r p,
.com_prc_box .col_r dd,
.com_prc_set li p{
	color: #df6749;
	font-size: 135%;
	letter-spacing: .05em;
	line-height: 1.5em;
}
.com_prc_box .col_r p span,
.com_prc_box .col_r dd span,
.com_prc_set li p span{
	font-size: 140%;
	letter-spacing: .05em;
	line-height: 1em;
	padding-right: 0.1em;
}

/*prc_point*/
.com_prc_box .prc_point {
	display: flex;
    justify-content: space-between;
	align-items: center;
	color: #96ce9c;
	font-size: 95%;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.6em;
	margin: 25px 0 20px;
}
.com_prc_box.hoken .prc_point{
	color: #86a7cd;
}
.com_prc_box .prc_point dt {
	line-height: 1em;
	text-align: center;
	color: #fff;
	width: 7.5em;
	padding: 0.8em 0 0.8em 0.5em;
	box-sizing: border-box;
	background:  #96ce9c;
	position: relative;
}
.com_prc_box .prc_point dt::before{
	position: absolute;
	content: "";
	background: url("../images/price/point_arrow_jihi@2x.png")no-repeat right center;
	background-size: 100% 100%;
	width: 33px;
	height: 100%;
	left: 100%;
	top:50%;
	transform: translateY(-50%);
}
.com_prc_box.hoken .prc_point dt {
	background: #86a7cd;
}
.com_prc_box.hoken .prc_point dt::before{
	background-image: url("../images/price/point_arrow_hoken@2x.png");
}
.com_prc_box .prc_point dd {
	width: calc(100% - 9.0em);
	font-weight: bold;
}

/*prc_merit prc_demerit*/
.com_prc_box .prc_demerit {
	margin-top: 20px;
}
.com_prc_box .prc_merit dt,
.com_prc_box .prc_demerit dt {
	font-size: 110%;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1em;
	margin-bottom: .5em;
}
.com_prc_box .prc_merit dt {
	color: #ff7bac;
}
.com_prc_box .prc_demerit dt {
	color: #7d6b4e;
}

/*set_box*/
.com_prc_set{
	border:#cae6cd 3px solid;
	margin-top: 60px;
	padding: 35px 2.8%; 
}
.com_prc_set > dl,
.com_prc_set > ul{
	max-width: 1100px;
	margin: 0 auto;
}
.com_prc_set .set_title{
	display: flex;
	align-items: center;
	font-size: 110%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	margin-bottom: 20px;
}
.com_prc_set .set_title dt{
	font-size: 175%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	color: #96ce9c;
}
.com_prc_set .set_title dd{
	margin-left: 1em;
}
.com_prc_set li {
	background: #f7f7f7;
	padding: 20px 0;
	box-sizing: border-box;
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.com_prc_set li dl{
	width: 76%;
	display: flex;
	padding: 0 4%;
	font-size: 110%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
}
.com_prc_set li dl dt{
	font-size: 115%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	font-weight: bold;
	color: #96ce9c;
	width: 17em;
}
.com_prc_set li dl dd{
	width: calc(100% - 18em)
}
.com_prc_set li p{
	width: 20%;
	text-align: center;
	padding: 0 3% 0 0;
}

/* 1200px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1270px) {
.com_prc_box .col_l .img_l table {
	font-size: 1.2vw;
}
.com_prc_box .col_l .img_l th,
.com_prc_box .col_l .img_l td{
	padding: 1em 0.8em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_prc_index{
	font-size: 3.3vw;
	margin-bottom: 2vw;
}
.com_prc_box {
	margin-bottom: 2vw;;
}
.com_prc_box.mgn_no{
	margin-bottom: 0;
}
.com_prc_box .col_l {
	padding: 3% 2.8%;
}
.com_prc_box .col_l .img_l{
	width: 100%;
	max-width: 100%;
	float: none;
	margin-top: 3%;
	display: flex;
	justify-content: space-between;
}
.com_prc_box .col_l .img_l .img{
	width: 38%;
}
.com_prc_box .col_l .img_l .score{
	width: 58%;
}
.com_prc_box .col_l .img_l table{
	font-size: 100%;
}
.com_prc_box .col_l .img_l table:first-of-type{
	margin-top: 0;
}
.com_prc_box .col_l .txt_r {
	width: 100%;
	max-width: 100%;
	float: none;
}
.com_prc_box .prc_style dt {
    font-size: 140%;
    margin-bottom: .2em;
}
.com_prc_box .col_r {
	padding: 3% 2.8%;
}
.com_prc_box .col_r dt{
	line-height: 1.5em;
	margin-bottom: 0.3em;
}
.com_prc_box .col_r p,
.com_prc_box .col_r dd,
.com_prc_set li p{
	font-size: 125%;
}
	
/*prc_point*/
.com_prc_box .prc_point {
	margin: 2.5% 0 2%;
}

/*prc_merit prc_demerit*/
.com_prc_box .prc_demerit {
	margin-top: 2%;
}

/*set_box*/
.com_prc_set{
	margin-top: 6%;
	padding: 3.5% 2.8%; 
}
.com_prc_set .set_title{
	margin-bottom: 2%;
}
.com_prc_set li {
	padding: 2% 0;
	margin-bottom: 1%;
}
.com_prc_set li dl dt{
	width:45%;
}
.com_prc_set li dl dd{
	width:50%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_prc_tax {
	font-size: 90%;
	margin-bottom: 0.3em;
}
.com_prc_index{
	font-size: 150%;
	padding: 0.6em 0.5em;
	margin: 0 auto 3vw;
}
.com_prc_box {
	display: block;
	margin-bottom: 3vw;
}
.com_prc_box .col_l {
	width: 100%;
	padding: 6% 5%;
}
.com_prc_box .col_l .flot_box{
	max-width: 100%;
}
.com_prc_box .col_l .img_l{
	width: 100%;
	max-width: 100%;
	float: none;
}
.com_prc_box .col_l .img_l .img{
	width: 70%;
} 
.com_prc_box .col_l .img_l table:first-of-type{
	margin-top: 4vw;
}

.com_prc_box .col_l .txt_r {
	width: 100%;
	max-width: 100%;
	float: none;
	margin-bottom: 5%;
}
.com_prc_box .prc_style dt {
    font-size: 130%;
	margin-bottom: .2em;
}

.com_prc_box .col_r {
	width:100%;
	padding:4% 5% 3.5%;
	text-align: left;
}
.com_prc_box .col_r dl{
	margin-top: 0.8em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.com_prc_box .col_r dl.sp_flex_no{
	display: block;
	text-align: center;
}

.com_prc_box .col_r dt{
	line-height: 1.5em;
	margin-bottom: 0.3em;
	margin-right: 0.5em;
}
.com_prc_box .col_r p,
.com_prc_box .col_r dd,
.com_prc_set li p{
	font-size: 120%;
}
	
/*prc_point*/
.com_prc_box .prc_point {
	margin: 5.5% 0 5%;
}

/*prc_merit prc_demerit*/
.com_prc_box .prc_demerit {
	margin-top: 4%;
}
	
/*com_prc_set*/
.com_prc_set{
	margin-top: 8%;
	padding: 4% 5%; 
}
.com_prc_set > dl,
.com_prc_set > ul{
	max-width: 1100px;
	margin: 0 auto;
}
.com_prc_set .set_title{
	display:block;
	margin-bottom: 5%;
	font-size: 105%;
}
.com_prc_set .set_title dd{
	margin-left: 0;
}
.com_prc_set li {
	padding:5%;
	display: block;
	margin-bottom: 3%;
}
.com_prc_set li dl{
	width: 100%;
	display: block;
	padding: 0 0;
	font-size: 105%;
}
.com_prc_set li dl dt{
	width: 100%;
}
.com_prc_set li dl dd{
	width: 100%;
}
.com_prc_set li p{
	width: 100%;
	text-align: right;
	padding: 5% 0 0;
	margin-top: 5%;
	border-top: 1px solid #fff;
}
}





/*com_attention
---------------------------------------------------------*/
.com_attention {
	background-color: #fff;
	box-sizing: border-box;
	padding:  85px 6.5% 95px;
}
.com_attention .atte_title {
	position: relative;
	text-align: center;
	color: #df6749;
	font-size: min(3vw,220%);
	letter-spacing: .15em;
	line-height: 1.5;
	margin-bottom: 1.2em;
}
.com_attention .atte_title::before {
	position: absolute;
	content: "";
	background-color: #df6749;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
}
.com_attention .atte_title span {
	position: relative;
	display: inline-block;
	padding: 0 1em;
	background-color: #fff;
}
.com_attention .atte_title + p {
	font-size: min(2vw,126%);
	font-weight: bold;
	letter-spacing: .12em;
	line-height: 1.8;
}
.com_attention .maru_list {
	box-sizing: border-box;
	padding: 3.5% 5% 3.2%;
	border: 4px solid rgba(223,103,73,0.3);
	border-radius: 10px;
	margin-top: 45px;
	margin-bottom: 40px;
}
.com_attention .maru_list > li {
	padding-left: 2em;
}
.com_attention .maru_list > li:nth-of-type(n+2) {
	margin-top: .4em;
}
/* .com_attention .com_contact {
	width: 90%;
} */
.com_attention .com_con_txt {
	text-align: center;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_attention {
	padding:  8% 6.5% 9%;
}
.com_attention .atte_title + p {
	letter-spacing: .08em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_attention {
	padding:  10% 6.5%;
}
.com_attention .atte_title {
	font-size: 125%;
	letter-spacing: .1em;
}
.com_attention .atte_title + p {
	font-size: 105%;
	letter-spacing: .04em;
}
.com_attention .maru_list {
	padding: 7% 5%;
	border-width: 3px;
	margin-top: 6%;
	margin-bottom: 8%;
}
.com_attention .maru_list > li {
	padding-left: 1.4em;
}
.com_attention .com_con_txt {
    font-size: 80%;
    letter-spacing: normal;
    font-feature-settings: "palt";
}
}




/*---------------------------------------------------------
 共通 - クリニック情報
---------------------------------------------------------*/
.com_cliname {
	font-size: 105%;
	font-size: min(1.5vw,105%);
	letter-spacing: .15em;
	line-height: 1.5;
	white-space: nowrap;
	margin-bottom: .5em;
}
.com_cliname .name {
	/* font-size: min(2.7vw,187%); */
	font-size: 187%;
}
.com_cliname .location {
	max-width: 27.5em;
	text-align: center;
	padding: .2em;
	border-radius: 5px;
	border: 1px solid #ff968a;
	margin-top: .4em;
}

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

.com_cliname {
	font-size: 90%;
}
.com_cliname .name {
	font-size: 160%;
}
}


/* calendar
-----------------------------------------------*/
.xo-event-calendar .calendar-caption {
	font-size: 120%;
	font-family: "Baloo Tamma 2", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.xo-event-calendar table.xo-month button span.nav-prev {
	border-bottom: 1px solid #9e9c9c !important;
    border-left: 1px solid #9e9c9c !important;
    height: 10px !important;
    width: 10px !important;
}
.xo-event-calendar table.xo-month button span.nav-next {
	border-top: 1px solid #9e9c9c !important;
    border-right: 1px solid #9e9c9c !important;
    height: 10px !important;
    width: 10px !important;
}

/* 曜日 */
.xo-event-calendar table.xo-month {
	margin: 0;	/* 下のキャプションとの隙間 */
	font-size: 100%;
	border: none !important;
	border-bottom: 1px solid #d8d8d7 !important;
}
.xo-event-calendar table.xo-month th,
.xo-event-calendar table.xo-month td {
	border: none !important;	/* 罫線 */
}
.xo-event-calendar table.xo-month thead::after {
	content: "";
	height: 1px;
	width: 100%;
	padding: 10px 0;
	display: block;
}
.xo-event-calendar table.xo-month thead th {
	font-weight: bold;
	line-height: 1.2em;
	padding: 1em 0 !important;
	border-top: 1px solid #d8d8d7 !important;
	border-bottom: 1px solid #d8d8d7 !important;
}

/* .xo-month thead { font-size: 0; } */
.xo-month thead th {color: transparent !important;}
.xo-month thead th:before {
	color: #000;
	font-size: 1em;
	margin-right: -1em;
}
.xo-month th.sunday:before { content: "日"; }
.xo-month th.monday:before { content: "月"; }
.xo-month th.tuesday:before { content: "火"; }
.xo-month th.wednesday:before { content: "水"; }
.xo-month th.thursday:before { content: "木"; }
.xo-month th.friday:before { content: "金"; }
.xo-month th.saturday:before { content: "土"; }

/*日付*/
.xo-event-calendar table.xo-month .month-dayname td div {
    text-align: left !important;
	font-family: "Baloo Tamma 2", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.xo-event-calendar table.xo-month .month-week {
	border-bottom: .5px solid #FFF !important;
}
.xo-event-calendar table.xo-month .month-week table {
    height: 3em !important;
}
/* 今日 */
.xo-event-calendar .today {
	color: #333 !important;
	background-image: url(../images/common/today@2x.png) !important;
	background-repeat: repeat;
	background-position: center center;
	background-size: 100px 100px;
	font-weight: bold;
}

/* イベント日 */
.xo-event-calendar table.xo-month .month-event td {
    padding: 0 1px 1px 1px;
}
.xo-event-calendar span.month-event-title {
	color: #FFF !important;
	font-weight: bold;
	font-size: 90% !important;
	letter-spacing: .05em !important;
	border-radius: 0 !important;
	line-height: 1.8em;
}
/* イベントデフォルト背景色はプラグイン/inc/main.phpの259行目を変更する */

/* キャプション */
.cal_box .holiday-titles {
	padding-top: .5em;
	text-align: left;
}
.cal_box .holiday-titles p {
	display: inline-block;
	margin-right: 1.0em !important;
}
.cal_box .holiday-titles p span {
	border: none !important;
}
.cal_box .holiday-titles p:nth-of-type(1) span {background-color: #e99580 !important;}
.cal_box .holiday-titles p:nth-of-type(2) span {background-color: #f0d166 !important;}
.cal_box .holiday-titles p:nth-of-type(4) span {background-color: #466d9f !important;}
.cal_box .holiday-titles p:nth-of-type(3) span {background-color: #87b564 !important;}

/* リンクテキスト */
.cal_box .sub_link {
	text-align: left;
}
.cal_box .sub_link a {
	text-decoration: underline;
	font-size: 90%;
}
.cal_box .sub_link a:hover {
	text-decoration: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.xo-event-calendar table.xo-month .month-week table {
    height: 2em !important;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.xo-event-calendar {
	font-size: 90%;
}
.xo-event-calendar table.xo-month .month-week table {
    height: auto;
}
/* イベント日 */
.xo-event-calendar span.month-event-title {
	font-size: 70% !important;
	letter-spacing: normal !important;
	padding: 0 2px !important;
}
}



/*---------------------------------------------------------
 共通 - バナー
---------------------------------------------------------*/

/* com_bnr_s
-----------------------------------------------*/
.com_bnr_s {
	max-width: max-content;
	margin: 2em auto;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.com_bnr_s {
	width: 75vw;
	margin: 6% auto;
}
}

/* com_bnr_rec
-----------------------------------------------*/
.com_bnr_rec {
	position: relative;
	max-width: 500px;
}
.com_bnr_rec a {
	display: grid;
	grid-template-columns: 44% 56%;
	justify-content: space-between;
	color: #FFF;
	font-size: min(1.4vw,100%);
	line-height: 1.4;
	white-space: nowrap;
	background-color: var(--accent-color);
}
.com_bnr_rec .box_img {
	overflow: hidden;
}
.com_bnr_rec .box_img img {
	height: 100%;
	object-fit: cover;
	transition: scale .5s;
}
.com_bnr_rec .box_txt {
	align-self: center;
	padding: 9%;
}
.com_bnr_rec .box_txt .fw_bold {
	letter-spacing: .15em;
}
.com_bnr_rec .box_txt .ft_min {
	position: relative;
	display: inline-block;
	font-size: 186%;
	padding-right: 1.2em;
}
.com_bnr_rec .com_arrow1 {
	position: absolute;
	color: #6e6b6a;
	font-size: 35%;
	border: 0.5px solid currentColor;
	right: 0;
	top: 50%;
	translate: 0 -50%;
}
.com_bnr_rec a:hover img {
	scale: 1.05;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


.com_bnr_rec a {
	font-size: 72%;
}
.com_bnr_rec .box_txt .fw_bold {
	letter-spacing: .1em;
}
}



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

/* SNS - com_sns_list
-----------------------------------------------*/
.com_sns_list {
	display: flex;
}
.com_sns_list li {
	flex: 1;
}
.com_sns_list > li:nth-of-type(n+2) {
	padding-left: 6%;
	border-left: 1px solid currentColor;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.f_bnr .com_sns_list {
	font-size: min(1.35vw,100%);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}

/* SNS - com_sns
-----------------------------------------------*/
.com_sns a {
	position: relative;
	display: block;
	text-align: center;
	max-width: max-content;
	font-size: 93%;
	letter-spacing: .06em;
	line-height: 1.5;
	white-space: nowrap;
	margin: 0 auto;
}
.com_sns .ft_en {
	font-size: 228%;
	letter-spacing: .05em;
	line-height: 1;
	margin-bottom: .15em;
}
.com_sns .icon {
	position: relative;
	width: 7em;
	aspect-ratio: 1;
	border-radius: 50%;
	margin: 0 auto .5em;
	transition: all .4s;
}
.com_sns.insta .icon {background-color: #e698a6;}
.com_sns.insta_rec .icon {background-color: #4ca08c;}
.com_sns.line .icon {background-color: #6fcc8e;}

.com_sns i {
	position: absolute;
	/* font-size: 60%; */
	font-size: 120%;
	letter-spacing: normal;
	line-height: 1;
	right: -0.3em;
	top: -0.2em;
}
.com_sns .icon img {
	position: absolute;
	width: 27%;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.com_sns a:hover .icon {
	transform: scale(0.95);
}

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

.com_sns a {
	font-size: 75%;
}
}




/* ========================================================
  
  Footer

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


/*f_med
---------------------------------------------------------*/
.f_med{
	background-color: #F7F7F7;
	padding: 80px 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.f_med{
	padding: 7% 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.f_med{
	padding: 10% 0;
}
}


/*f_bnr
---------------------------------------------------------*/
.f_bnr {
	padding: 80px 4%;
	border-top: 1px solid rgba(121,89,90,0.2);
}
.f_bnr_index {
	font: var(--font-en);
	font-size: min(3vw,200%);
	margin-bottom: .4em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px){

.f_bnr_inner {
	max-width: 1090px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: 52% 46%;
	margin-inline: auto;
}
.f_bnr_inner > div {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
}
.f_bnr .com_sns_list {
	align-self: center;
}
.f_bnr .com_sns a {
	display: flex;
	align-items: center;
	text-align: left;
	column-gap: 1em;
	margin: 0;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.f_bnr {
	padding: 10% 5%;
}
.f_bnr_inner {
	display: grid;
	row-gap: 1.5em;
}
.f_bnr_index {
	font-size: 150%;
}
}



/*footer
---------------------------------------------------------*/
footer {
	position: relative;
}
/*f_bg*/
footer .f_bg {
	background: #fdf6f4;
	padding: 90px 0;
}
footer .f_bg .f_flex {
	display: flex;
	justify-content: space-between;
}
footer .f_bg .f_flex .box_l {
	width: 45%;
}
footer .f_bg .f_flex .box_r {
	width: 50%;
}
footer address {
	line-height: 1.8;
}
footer .c-timetable {
	margin-top: 1em;
}
footer .com_monshin {
	background-color: #fff;
	border-radius: .7em;
	padding: 1.5em 4%;
	margin-top: 1em;
}
footer .map_box {
	position: relative;
}
footer .map_box::before {
	display: block;
	content: "";
	padding-top: 76%;
}
footer .map_box iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
footer .map_box + .com_link1 {
	margin-top: .3em;
}
footer .map_box + .com_link1 .com_arrow1 {
	border: 1px solid #6e6b6a;
}
footer .f_acslist > li {
	position: relative;
	font-size: 113%;
	letter-spacing: .1em;
	line-height: 1.4;
	padding-left: 2.8em;
	margin-top: 1em;
}
footer .f_acslist > li::before {
	position: absolute;
	content: "";
	background: url("../images/common/icon_train.svg") no-repeat left center;
	background-size: contain;
	width: 2em;
	height: 2em;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
footer .f_acslist > li:nth-of-type(2)::before {
	background-image: url("../images/common/icon_park.svg");
}
/*f_bottom*/
footer .f_bottom {
	padding: 50px 0 80px;
}
/*sitemap*/
footer .f_sitemap {
	display: flex;
	justify-content: space-between;
	padding-bottom: 80px;
	border-bottom: 1px solid rgba(121,89,90,0.2);
}
footer .f_sitemap dl {
	position: relative;
	box-sizing: border-box;
	padding-left: 5%;
}
footer .f_sitemap dt {
	position: absolute;
	color: #f0a791;
	font-size: 126%;
	letter-spacing: .16em;
	line-height: 1;
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	left: .4em;
	top: .7em;
}
footer .f_sitemap ul {
	display: flex;
	flex-wrap: wrap;
	font-size: min(1.4vw,93%);
	letter-spacing: .14em;
	line-height: 1.5;
	font-feature-settings: "palt";
	white-space: nowrap;
}
footer .f_sitemap ul li {
	box-sizing: border-box;
	padding-right: 1em;
	margin-top: 1em;
}
footer .f_sitemap ul li a {
	color: #6e6b6a;
}
footer .f_sitemap ul li a:hover {
	color: #3e3a39;
}
footer .f_sitemap .box_l {
	width: 38%;
	max-width: 460px;
}
footer .f_sitemap .box_r {
	width: 62%;
	max-width: 670px;
}
footer .f_sitemap .box_l li {
	width: 50%;
}
footer .f_sitemap .box_r li {
	width: 30%;
}

.copyright {
	position: absolute;
	font-size: 80%;
	letter-spacing: .2em;
	line-height: 1.4;
}

#page_top {
	position: fixed;
	width: 8%;
	max-width: 80px;
	bottom: 30px;
	right: 10px;
	z-index: 10;
}

.infoadd_bnr {
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	font-size: 120%;
	letter-spacing: .04em;
	line-height: 1.2em;
	margin-top: 40px;
}
.infoadd_bnr a {
	display: block;
	padding: 1.5em 0;
	border: solid 1px #ddd;
	background: #fff;
	transition: all 0.4s;
}
.infoadd_bnr a:hover {
	background: #eee;
}
.infoadd_bnr span {
	font-size: 140%;
	display: inline-block;
	vertical-align: middle;
	margin-left: .3em;
	margin-top: -0.1em;
	color: #939393;
	line-height: 1;
	position: relative;
	width: 0.8em;
	height: 0.8em;
	border: 0.075em solid currentColor;
	background: currentColor;
	border-radius: 50%;
	box-sizing: content-box;
}
.infoadd_bnr span::before {
	content: '';
	color: #fff;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	border-width: 0.18em 0.31177em;
	border-right-color: currentColor;
	border-left: 0;
	transform: translateX(15%) rotate(180deg);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 1280px) {
.copyright {
	right: 2em;
	top: 10%;
	left: auto;
	bottom: auto;
	transform: rotate(-90deg);
	transform-origin: 100% 50%;
}
}
@media only screen and (max-width: 1279px) {
	
/*f_bottom*/
footer .f_bottom {
	position: relative;
}
.copyright {
	left: 3em;
	bottom: 1.5em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*f_bg*/
footer .f_bg {
	padding: 8% 0;
}
footer address {
	font-size: 95%;
}
footer .map_box::before {
	padding-top: 105%;
}
footer .f_acslist > li {
	font-size: 105%;
	letter-spacing: .1em;
}
/*f_bottom*/
footer .f_bottom {
	padding: 5% 0 8%;
}
footer .f_sitemap {
	padding-bottom: 6%;
}
footer .f_sitemap .box_l {
	width: 40%;
}
footer .f_sitemap .box_r {
	width: 60%;
}
footer .f_sitemap dl {
	padding-left: 2.8em;
}
footer .f_sitemap dt {
	font-size: 115%;
	left: .2em;
}
footer .f_sitemap ul {
	font-size: 1.5vw;
	letter-spacing: .1em;
}
footer .f_sitemap .box_r li {
	width: 33%;
}


#page_top {
	right: 2%;
	bottom: 10px;
}
.infoadd_bnr {
	margin-top: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer {
	padding-bottom: 15%;
}
/*f_bg*/
footer .f_bg {
	padding: 12% 0;
}
footer .f_bg .f_flex {
	display: block;
}
footer .f_bg .f_flex .box_l,
footer .f_bg .f_flex .box_r {
	width: 100%;
}
footer .f_bg .f_flex .box_l {
	margin-bottom: 8%;
}
footer .map_box + .com_link1 {
	margin-top: .3em;
}
footer .map_box + .com_link1 .com_arrow1 {
	border: 1px solid #6e6b6a;
}
footer .f_acslist > li {
	font-size: 105%;
	letter-spacing: .05em;
}
/*f_bottom*/
footer .f_bottom {
	padding: 8% 0 12%;
}
/*sitemap*/
footer .f_sitemap {
	display: block;
	padding-bottom: 8%;
}
footer .f_sitemap dl {
	padding-left: 0;
}
footer .f_sitemap dt {
	position: relative;
	font-size: 130%;
	letter-spacing: .1em;
	-ms-writing-mode: unset;
    writing-mode: unset;
	left: auto;
	top: auto;
	background-color: rgba(161,139,139,0.1);
	padding: .5em 1em;
}
footer .f_sitemap dd {
	display: none; /*初期表示*/
	padding: 0 5% 5%;
}
footer .f_sitemap ul {
	font-size: 90%;
	letter-spacing: .1em;
}
footer .f_sitemap ul li {
	width: 50% !important;
	padding-right: 1em;
	margin-top: 1em;
}
footer .f_sitemap .box_l,
footer .f_sitemap .box_r {
	width: 100%;
	max-width: none;
}
footer .f_sitemap .box_r {
	margin-top: 5%;
}
.copyright {
	position: relative;
	left: auto;
	bottom: auto;
	margin-top: 3em;
}

#page_top {
	width: 12%;
	bottom: 28vw;
	right: 5px;
}
	
.infoadd_bnr {
	max-width: 100%;
	font-size: 90%;
	letter-spacing: normal;
	margin-bottom: 6%;
}
}



/* f_linklist
---------------------------------------------------------*/
.f_linklist_ttl {
	text-align: center;
	line-height: 1.5;
	letter-spacing: .18em;
	margin-bottom: 2em;
}
.f_linklist {
	display: grid;
	justify-content: space-between;
	gap: 1em 1.3%;
	grid-template-columns: repeat(4,24%);
    margin: 0 auto;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 

.f_linklist {
	grid-template-columns: repeat(3,32%);
}
}
/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 

.f_linklist {
	gap: .4em 2%;
	grid-template-columns: repeat(2,49%);
}
.f_linklist_ttl {
	letter-spacing: .1em;
	margin-bottom: 1.2em;
}
}



/* footer:contact
---------------------------------------------------------*/
footer .com_contact {
	width: 80%;
	max-width: 1075px;
	grid-template-columns: 64% 36%;
	margin: 0 auto 0 0;
}
footer .com_contact .tel_style {
	display: flex;
    justify-content: center;
    align-items: center;
	column-gap: 1em;
	font-size: min(1.4vw, 120%);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

footer .com_contact {
	display: none;
}
}





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

#sp_footer {
	position: fixed;
	width: 100%;
	background-color: #fff;
	left: 0;
	bottom: 0;
	z-index: 100;
}

#sp_footer .com_ctc_list {
	background-color: rgba(248,216,207,0.5);
	height: 16vw;
}






/* ========================================================
  
  width / padding

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

/*共通
---------------------------------------------------------*/
.max_1500 {
	max-width: 1500px;
	margin: 0 auto;
}
.w1350 {
	width: 94%;
	padding: 0 3%;
	max-width: 1350px;
	margin: 0 auto;
}
.w1340 {
	width: 94%;
	padding: 0 3%;
	max-width: 1340px;
	margin: 0 auto;
}
.w1260 {
	width: 94%;
	padding: 0 3%;
	max-width: 1260px;
	margin: 0 auto;
}
.w1200 {
	width: 94%;
	padding: 0 3%;
	max-width: 1200px;
	margin: 0 auto;
}
.w1180 {
	width: 94%;
	padding: 0 3%;
	max-width: 1180px;
	margin: 0 auto;
}
.w1160 {
	width: 94%;
	padding: 0 3%;
	max-width: 1160px;
	margin: 0 auto;
}
.w1150 {
	width: 94%;
	padding: 0 3%;
	max-width: 1150px;
	margin: 0 auto;
}
.w1100 {
	width: 94%;
	padding: 0 3%;
	max-width: 1100px;
	margin: 0 auto;
}
.w1060 {
	width: 94%;
	padding: 0 3%;
	max-width: 1060px;
	margin: 0 auto;
}

.bg_yellow10 {
	background: rgba(250,237,0,0.1);
}
.bg_yellow50 {
	background: rgba(250,237,0,0.5);
}

.ft_min {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
.ft_en {
	font-family: "Baloo Tamma 2", system-ui;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: .05em;
}


.bg_hover,
.bg_hover_li li {
	-webkit-transition: background-color 1.0s;
	-moz-transition: background-color 1.0s;
	transition: background-color 1.0s;
}
.bg_hover:hover,
.bg_hover_li li:hover {
	-webkit-transition: background-color 0.4s;
	-moz-transition: background-color 0.4s;
	transition: background-color 0.4s;
}

.coral {color: #df6749;}
.icon-sat {color: #ff968a;}
.icon-star {color: #ff968a;}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.w1350, .w1340, .w1260, .w1200, .w1180, .w1160, .w1150,.w1100,.w1060{
    width: 92%;
    padding: 0 4%;
}
}




/*隙間
---------------------------------------------------------*/
.com_btm_150 {margin-bottom: 150px;}
.com_btm_120 {margin-bottom: 120px;}
.com_btm_100 {margin-bottom: 100px;}
.com_btm_90 {margin-bottom: 90px;}
.com_btm_80 {margin-bottom: 80px;}
.com_btm_70 {margin-bottom: 70px;}
.com_btm_60 {margin-bottom: 60px;}
.com_btm_50 {margin-bottom: 50px;}
.com_btm_40 {margin-bottom: 40px;}
.com_btm_30 {margin-bottom: 30px;}

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

.com_btm_150 {margin-bottom: 12%;}
.com_btm_120 {margin-bottom: 10%;}
.com_btm_100 {margin-bottom: 8%;}
.com_btm_90 {margin-bottom: 8%;}
.com_btm_80 {margin-bottom: 7%;}
.com_btm_70 {margin-bottom: 6%;}
.com_btm_60 {margin-bottom: 5%;}
.com_btm_50 {margin-bottom: 5%;}
.com_btm_40 {margin-bottom: 4%;
}.com_btm_30 {margin-bottom: 4%;}
}

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

.com_btm_150 {margin-bottom: 14%;}
.com_btm_120 {margin-bottom: 13%;}
.com_btm_100 {margin-bottom: 12%;}
.com_btm_90 {margin-bottom: 11%;}
.com_btm_80 {margin-bottom: 10%;}
.com_btm_70 {margin-bottom: 9%;}
.com_btm_60 {margin-bottom: 8%;}
.com_btm_50 {margin-bottom: 7%;}
.com_btm_40 {margin-bottom: 6%;}
.com_btm_30 {margin-bottom: 5%;}
}


/* PC
------------------------------------------*/
@media only screen and (min-width: 960px)  {
.tb_only{display:none !important;}
.sp_only{display:none !important;}
.sp_tb{display:none !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;}
}

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