@charset "UTF-8";
:root {
	--f-notosans: "Noto Sans JP", sans-serif;
	--f-zenkaku: "Zen Kaku Gothic New", sans-serif;
	--f-zenmaru: "Zen Maru Gothic", sans-serif;
	--main-color: #55c5e5;
	--clr1: #222222;
	--clr2: #cfab8a;
	--clr3: #c8d63d;
	--ttl_size: 28px;
	--wrapper: 120px;
	--border-radius: 10px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body::-webkit-scrollbar {
	display: block;
	width: 10px;
	height: 10px;
}
body::-webkit-scrollbar-track {
	border-radius: 10px;
	background: #fff;
	box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
body::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
	box-shadow: inset 0 0 6px #fff;
}
body::-webkit-scrollbar-thumb:window-inactive {
	background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
}
body {
	background-color: #ffffff;
	-webkit-text-size-adjust: none;
	letter-spacing: 0.1em;
	color: var(--clr1);
	font-family: var(--f-zenkaku);
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
	font-size: 100%;
	-webkit-text-size-adjust: none;
}

header,
section,
footer,
aside,
nav,
main,
article,
figure,
picture {
	display: block;
	padding: 0;
	margin: 0;
}

img {
	display: table;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

a.tel_click {
	text-decoration: none;
	color: inherit;
}

@media only screen and (min-width: 769px) {
	a:not(.tel_click, [target*="_blank"]) {
		transition: all 0.3s ease;
	}
	a:not(.tel_click, [target*="_blank"]):hover {
		opacity: 0.7;
	}
	a.tel_click {
		pointer-events: none;
	}
	a:not(.tel_click, [target*="_blank"]):hover,
	a:not(.tel_click, [target*="_blank"]):active {
		color: #64b5f7;
	}
}
a.logo:hover,
.logo a:hover,
a.ft_logo:hover,
.ft_logo a:hover,
a.tel_click:hover {
	opacity: 1 !important;
}

table {
	width: 100%;
}

iframe {
	width: 100%;
	height: 100%;
}

.captcha_box iframe {
	height: auto;
}

.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

p,
li {
	line-height: 2;
	letter-spacing: 0.1em;
	word-wrap: break-word;
	word-break: break-word;
	margin-bottom: 15px;
}
p:empty,
li:empty {
	display: none !important;
}
p:last-child,
li:last-child {
	margin-bottom: 0;
}

.red {
	color: #ca0a0a !important;
}

.bold {
	font-weight: bold !important;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

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

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
	overflow-x: auto !important;
}

.wrapper {
	padding-top: var(--wrapper);
	overflow: hidden;
}

.inner_max,
.inner_big,
.inner,
.inner_sm {
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

.inner_max {
	max-width: 1480px;
}

.inner_big {
	max-width: 1320px;
}

.inner {
	max-width: 1210px;
}

.inner_sm {
	max-width: 1020px;
}

.fullWidthBreak {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.txt_ver {
	writing-mode: vertical-rl;
}

@media only screen and (min-width: 769px) {
	.txt_ver_pc {
		writing-mode: vertical-rl;
	}
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           WordPress Core                                 */
/*==========================================================================*/
.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 35px;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}
a img.alignnone {
	margin: 5px 20px 20px 0;
}
a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}
a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #fff;
	border: 1px solid #f0f0f0;
	max-width: 96%;
	/* Image does not overflow the content area */
	padding: 10px;
	text-align: center;
	margin-bottom: 1em;
}
.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}
.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}
.wp-caption .wp-caption-text {
	font-size: 14px;
	line-height: 17px;
	margin: 0;
	padding: 10px 10px 0;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
	/* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
	background-color: #eee;
	clip: auto !important;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
@media only screen and (max-width: 768px) {
	.pc_only {
		display: none !important;
	}
}
@media only screen and (min-width: 769px) {
	.sp_only {
		display: none !important;
	}
}
.TabContainer .TabContent {
	position: relative;
	z-index: 2;
	overflow: hidden;
}
.TabContainer .TabContent .content {
	transition: all 0.3s ease-in-out;
	background-color: #ccc;
}
.TabContainer .TabContent .content > div {
	opacity: 0;
	z-index: -10;
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	transition: all 0.5s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
	opacity: 1;
	z-index: 1;
	visibility: visible;
}
.TabContainer .TabPager {
	display: flex;
	justify-content: center;
	width: 90%;
	margin: 0px auto;
	max-width: 1118px;
}
.TabContainer .TabPager > div {
	background-color: #a4c7ce;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	margin: 0;
	padding: 20px 20px;
	width: calc(50% - 0px);
	transition: all 0.3s ease;
	cursor: pointer;
	color: #ffffff;
	border-radius: 10px 10px 0px 0px;
}
.TabContainer .TabPager > div p {
	margin: 0;
	font-size: 1.5em;
	line-height: 2;
}
.TabContainer .TabPager > div.active {
	background-color: #fff;
	z-index: 1;
	color: #3d9e81;
}

.rel {
	position: relative;
}

.ovh {
	overflow: hidden !important;
}

.ovs {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	/* Lets it scroll lazy */
}

.lt0 {
	letter-spacing: 0 !important;
}

figure,
picture {
	text-align: center;
	line-height: 1;
}

.fblock {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.key {
	position: relative;
	max-width: calc(100% - 170px);
	margin-left: auto;
	margin-right: auto;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
	.key {
		max-width: calc(100% - 120px);
	}
}
@media only screen and (max-width: 1024px) {
	.key {
		max-width: calc(100% - 80px);
	}
}
@media only screen and (max-width: 480px) {
	.key {
		max-width: calc(100% - 40px);
	}
}

.txt_l {
	float: left;
	width: calc(100% - 385px);
}

.txt_r {
	float: right;
	width: calc(100% - 385px);
}

.link > a {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.tel_click {
	display: table;
	text-decoration: none;
}
.tel_click .icon {
	display: flex;
	align-items: center;
	font-weight: 700;
	color: var(--main-color);
	letter-spacing: 0.05em;
	font-size: 1.5em;
}
.tel_click .icon::before {
	content: "";
	display: block;
	margin-right: 0.3214em;
	margin-top: 0.1786em;
	width: 0.893em;
	height: 0.893em;
	--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 101' %3E%3Cpath d='M97.829,82.824 C98.198,91.823 96.073,94.826 87.308,97.205 C74.144,100.791 61.788,98.752 50.561,91.066 C33.671,79.497 19.384,65.207 7.912,48.225 C-0.287,36.096 -1.826,22.855 2.769,8.952 C4.752,2.953 8.059,0.771 14.407,0.925 C23.639,1.157 23.633,1.157 26.561,10.079 C27.869,14.063 29.100,18.078 30.561,22.007 C32.367,26.859 31.432,30.918 27.914,34.711 C22.303,40.765 22.378,40.854 26.680,47.891 C33.854,59.628 43.600,68.580 55.717,75.040 C57.758,76.123 59.178,76.250 60.774,74.416 C62.051,72.951 63.620,71.738 65.076,70.429 C68.123,67.696 71.576,66.743 75.537,68.072 C82.013,70.255 88.532,72.319 94.923,74.723 C96.087,75.162 97.048,76.900 97.511,78.240 C97.992,79.641 97.756,81.285 97.829,82.824 Z'/%3E%3C/svg%3E");
	mask-image: var(--mask);
	-webkit-mask-image: var(--mask);
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-size: 100% auto;
	-webkit-mask-size: 100% auto;
	mask-position: center;
	-webkit-mask-position: center;
	background-color: var(--main-color);
}
.btn-group.btnlist02 .btn {
	max-width: 650px;
}
.btnlist {
	width: 100%;
}
.btnlist.btn-group .btn {
	max-width: 550px;
	margin-right: 20px;
}
.btnlist.btn-group .btn:last-child {
	margin-right: 0;
	margin-bottom: 0;
}
.btn-group {
	font-size: 0.625em;
}
.btn-group .btn {
	max-width: 360px;
	width: 100%;
}
.btn-group .btn a {
	padding-right: 0.2em;
	line-height: 1.5;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.1em;
	min-height: 80px;
	border-radius: 40px;
	padding-top: 0.5em;
	padding-bottom: 0.55em;
	text-decoration: none;
	color: #fff;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	transition: 0.3s ease;
}
.btn-group .btn a::before {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	inset: 0;
	z-index: -2;
	background: linear-gradient(90deg, rgb(85, 197, 229) 0%, rgb(129, 216, 208) 50%, rgb(85, 197, 229) 100%);
	background-size: 200% 100%;
	background-position: left center;
	transition: background-position 0.4s ease;
}
.btn-group .btn a:hover {
	opacity: 1;
}
.btn-group .btn a::after {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	z-index: -1;
	width: 1.4em;
	height: 1.4em;
	right: 0.9em;
	top: calc(50% - 0.7em);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-image: url(../images/shared_btn_icon.png);
	background-color: #fff;
}
@media only screen and (min-width: 769px) {
	.btn-group .btn a:not([target="_blank"]):hover::before {
		background-position: right center;
	}
}
.btn-group .btn.white a::before {
	background: transparent;
}
.btn-group .btn.white a {
	border: 1px solid #fff;
}
.btn-group .btn.white a::after,
.btn-group .btn.white a::before {
	right: 17px;
}
.btn-group.col4 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 80px !important;
}
@media only screen and (min-width: 769px) {
	.btn-group .btn.white a:not([target="_blank"]):hover {
		color: var(--main-color);
		background-color: #fff;
	}

	.btn-group .btn.white a:not([target="_blank"]):hover::before {
		border-color: var(--main-color);
	}

	.btn-group .btn.white a:not([target="_blank"]):hover::after {
		background-color: var(--main-color);
	}

	.btn-group.col4 .btn {
		max-width: 100%;
		width: calc(25% - 5px);
		min-height: 100%;
	}
	.btn-group.col4 .btn a {
		width: 100%;
		letter-spacing: 0 !important;
		min-height: 100%;
	}
	.btn-group.col4 .btn a span {
		letter-spacing: 0 !important;
	}
	.btn-group.col4 .btn a::after {
		right: 0.5em;
	}
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
	.btn-group .btn {
		max-width: 300px;
	}
	.btn-group .btn a {
		letter-spacing: 0;
		font-size: 16px;
		min-height: 60px;
	}
	.btnlist.btn-group .btn {
		max-width: 410px;
	}
}
@media only screen and (max-width: 999px) and (min-width: 769px) {
	.btnlist.btn-group .btn a,
	.btn-group.btnlist02 .btn a {
		font-size: 12px;
	}
}
@media only screen and (max-width: 768px) {
	.btn-group.btnlist {
		display: block;
	}
	.btnlist.btn-group .btn {
		margin-right: 0;
		margin-bottom: 20px;
	}
	.btn-group {
		margin: 40px 0 0 0;
		display: flex;
		justify-content: center;
	}
	.btn-group .btn {
		max-width: 280px;
	}
	.btn-group .btn a {
		letter-spacing: 0;
		font-size: min(4.3vw, 16px);
		min-height: 60px;
	}
	.btn-group.col4 {
		gap: 10px;
	}
	.btn-group.col4 .btn {
		max-width: 100%;
		width: calc(50% - 5px);
		min-height: 100%;
	}
	.btn-group.col4 .btn a {
		width: 100%;
		letter-spacing: 0 !important;
		min-height: 100%;
	}
}
@media only screen and (max-width: 480px) {
	.btn-group.col4 .btn {
		max-width: 100%;
		width: 100%;
	}
}
@media only screen and (min-width: 769px) {
	.btn-group {
		display: flex;
		justify-content: center;
	}
	.btn-group.col2,
	.btn-group.col3 {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-left: auto;
		margin-right: auto;
	}
	.btn-group.col2 {
		max-width: 570px;
		margin-top: 31px;
	}
	.btn-group.col2 .btn {
		width: calc(50% - 4px);
		max-width: 280px;
	}
	.btn-group.col3 {
		max-width: 940px;
		margin-top: 31px;
	}
	.btn-group.col3 .btn {
		max-width: 300px;
		width: calc(33.3333333333% - 10px);
	}
}
@media only screen and (max-width: 768px) {
	.btn-group.col2,
	.btn-group.col3 {
		display: block;
	}
	.btn-group.col2 .btn:not(:last-child),
	.btn-group.col3 .btn:not(:last-child) {
		margin-bottom: 15px;
	}
	.btn-group.col2 .btn,
	.btn-group.col3 .btn {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
.yt {
	max-width: 960px;
	margin: 0px auto;
}

.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.slick-arrow {
	display: block;
	border: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-color: transparent;
	position: absolute;
	top: 37%;
	width: 2em;
	height: 2em;
	transform: translateY(-50%);
	cursor: pointer;
	color: transparent;
}
.slick-arrow:focus {
	outline: 0;
}

.slick-prev {
	left: -1em;
}

.slick-next {
	right: -1em;
}

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	body {
		font-size: 87.5%;
	}
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 {
	position: absolute;
	overflow: hidden;
	height: 1px;
	width: 1px;
	padding: 0;
	border: 0;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--wrapper);
	z-index: 20;
}

header.active,
.ovh header {
	background-color: #fff;
}

.header_top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	justify-content: space-between;
	margin: 0 auto;
	height: 100%;
	transition: all 0.3s ease-in-out;
}

.logo {
	width: 25%;
	max-width: 344px;
	display: flex;
	justify-content: center;
	margin-left: 39px;
}
.logo a {
	display: block;
	width: 100%;
	text-align: center;
}
.logo img {
	width: auto;
}

.right_head {
	width: 68%;
	max-width: 1247px;
	padding-right: 123px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.h_frm {
	width: 25%;
	max-width: 26em;
	font-size: min(0.55vw, 10px);
}
@media only screen and (min-width: 1440px) {
	.h_frm {
		font-size: min(1vw, 10px);
	}
}

.h_frm a {
	text-decoration: none;
	display: block;
	text-align: center;
	position: relative;
	padding-left: 3.125em;
	padding-top: 1em;
	padding-bottom: 1em;
	height: 5em;
	background-color: var(--main-color);
	border-radius: 0.75em;
	font-size: 1.6em;
}
.h_frm a::before {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	background: url(../images/h_icon_form.png) no-repeat center/contain;
	width: 2.5em;
	height: 2.5em;
	left: 1.5em;
	top: calc(50% - 1.3125em);
}
@media only screen and (min-width: 769px) {
	.h_frm a:hover {
		opacity: 0.8;
	}
}
.h_frm span {
	line-height: 1;
	color: #fff;
	display: block;
}
.h_frm .jp1 .jp {
	background-color: var(--main-color);
	display: table;
	margin: 0 auto 0.5em;
	font-size: 1em;
	letter-spacing: 0.2em;
	font-family: var(--f-notosans);
	padding: 0 0.3125em;
	position: relative;
	z-index: 1;
}
.h_frm .jp1 .jp::before {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	z-index: -1;
	height: 1px;
	width: 1.875em;
	background-color: #fff;
	left: calc(100% - 0.1875em);
	top: calc(50% - 0px);
}
.h_frm .jp1 .jp::after {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	z-index: -1;
	height: 1px;
	width: 1.875em;
	background-color: #fff;
	right: calc(100% + 0.1875em);
	top: calc(50% - 0em);
}
.h_frm .jp2 {
	font-weight: 500;
	font-size: 1.375em;
	letter-spacing: 0.1em;
	font-family: var(--f-notosans);
	font-feature-settings: "palt";
}

.pc_navi {
	width: 72%;
}
.pc_navi > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
	width: 100%;
}
.pc_navi > ul > li {
	position: relative;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
	opacity: 0.8;
	color: var(--main-color);
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='12px' height='12px'%3E%3Cpath fill-rule='evenodd' fill='rgb(128, 176, 214)' d='M0.1000,5.000 L10.1000,5.000 C11.552,5.000 12.000,5.447 12.000,6.000 C12.000,6.552 11.552,7.000 10.1000,7.000 L0.1000,7.000 C0.448,7.000 0.000,6.552 0.000,6.000 C0.000,5.447 0.448,5.000 0.1000,5.000 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(128, 176, 214)' d='M6.000,-0.000 C6.552,-0.000 7.000,0.448 7.000,0.1000 L7.000,11.000 C7.000,11.552 6.552,12.000 6.000,12.000 C5.448,12.000 5.000,11.552 5.000,11.000 L5.000,0.1000 C5.000,0.448 5.448,-0.000 6.000,-0.000 Z'/%3E%3C/svg%3E");
	width: 0.6667em;
	height: 0.6667em;
	bottom: 0em;
	right: 0.3333em;
	background-color: var(--clr);
}
.pc_navi > ul > li.menu-item-has-children > a,
.pc_navi > ul > li.menu-item-has-children > p {
	padding-right: 1.6667em;
}
.pc_navi > ul > li.menu-item-has-children:hover > a::after,
.pc_navi > ul > li.menu-item-has-children:hover > p::after {
	mask-image: url(../images/icon_minus.png);
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 0;
	text-decoration: none;
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0.1em;
	transition: all 0.3s ease;
	color: var(--clr1);

	font-family: var(--f-zenmaru);
}
.pc_navi > ul > li > a::before,
.pc_navi > ul > li > p::before {
	content: "";
	display: block;
	transition: all 0.3s;
	background: url(../images/h_icon1.png) no-repeat center/contain;
	width: 2.7778em;
	height: 2.7778em;
	margin: 0 auto 0.2222em;
}
.pc_navi > ul > li {
	margin-bottom: 0;
}
.pc_navi > ul > li.icon1 {
	--clr: #55c5e5;
}
.pc_navi > ul > li.icon1 > a::before,
.pc_navi > ul > li.icon1 > p::before {
	background-image: url(../images/h_icon1.png);
}
.pc_navi > ul > li.icon2 {
	--clr: #ffc000;
}
.pc_navi > ul > li.icon2 > a::before,
.pc_navi > ul > li.icon2 > p::before {
	background-image: url(../images/h_icon2.png);
}
.pc_navi > ul > li.icon3 {
	--clr: #80b0d6;
}
.pc_navi > ul > li.icon3 > a::before,
.pc_navi > ul > li.icon3 > p::before {
	background-image: url(../images/h_icon3.png);
}

.pc_navi > ul > li.icon4 {
	--clr: #c8d63d;
}
.pc_navi > ul > li.icon4 > a::before,
.pc_navi > ul > li.icon4 > p::before {
	background-image: url(../images/h_icon4.png);
}
.pc_navi > ul .subInner {
	position: absolute;
	width: 23em;
	right: 50%;
	top: 100%;
	padding-top: 1em;
	transform: translateX(50%);
	transition: all 0.2s ease-in-out;
	opacity: 0;
	visibility: hidden;
	z-index: 11;
}
.pc_navi > ul .subInner.active {
	opacity: 1;
	visibility: visible;
}
.pc_navi > ul .subInner ul {
	background-color: var(--main-color);
	padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
	padding: 0 10px;
	margin: 0;
}
.pc_navi > ul .subInner ul li.m_h a {
	/* min-height: 4.3707142857em; */
	display: flex;
	align-items: center;
}
.pc_navi > ul .subInner ul li a {
	position: relative;
	display: block;
	padding: 0.65em 0.6em 0.65em 1.6em;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
	transition: all 0.2s ease;
	font-size: 0.875em;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	text-align: left;
	letter-spacing: 0.05em;
	line-height: 1.5;
}
.pc_navi > ul .subInner ul li a::before {
	content: "›";
	display: block;
	position: absolute;
	top: 50%;
	left: 0.6em;
	transform: translateY(-54%);
}

@media only screen and (min-width: 769px) {
	.pc_navi > ul .col2 .subInner {
		width: 650px;
	}
	.pc_navi > ul .col2 .subInner ul {
		display: flex;
		flex-wrap: wrap;
	}
	.pc_navi > ul .col2 .subInner ul li {
		width: 50%;
	}
	.menu_toggle .inside .ft_link {
		width: 100%;
		max-width: 1300px;
		margin: auto;
		min-height: 100%;
		display: flex;
		align-items: center;
	}
	.menu_toggle .inside .ft_link .link_list {
		width: 100%;
	}
}
@media only screen and (max-width: 1600px) {
	.pc_navi > ul > li > a,
	.pc_navi > ul > li > p {
		letter-spacing: 0;
		font-size: 16px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	:root {
		--wrapper: 80px;
	}
	.btn-group.btnlist02 .btn {
		max-width: 490px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.pc_navi > ul .col2 .subInner {
		width: 40em;
	}
	.pc_navi > ul {
		font-size: 1.4vw;
	}
	.pc_navi > ul .subInner ul li a {
		font-size: 12px;
		letter-spacing: 0;
	}
}
@media only screen and (min-width: 769px) and (max-width: 999px) {
	.pc_navi > ul .col2 .subInner {
		width: 50em;
		right: 100%;
	}
	.btn-group.btnlist02 .btn {
		max-width: 380px;
	}
}

.idx_gallery .list {
	display: flex;
}
.idx_gallery .list .img {
	padding-top: 2em;
}
.idx_gallery .list .img img {
	overflow: hidden;
	border-radius: 0.625em;
	margin: 0 6px;
}

.time_sheet {
	margin: 0px auto;
	max-width: 464px;
}
.time_sheet .note {
	margin-top: 15px;
	margin-left: -2px;
	line-height: 2;
	font-size: 14px;
	letter-spacing: 0.1em;
}
.time_sheet .note span {
	display: inline-block;
}
.time_sheet table {
	font-feature-settings: "palt";
}
.time_sheet table th,
.time_sheet table td {
	border-top: none;
	border-right: none;
	border-left: none;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.1em;
	width: 9.9%;
	border-bottom: 1px solid var(--clr1);
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
	width: auto;
	padding-left: 1.9%;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
	width: 16.05%;
	padding-left: 0.8em;
	text-align: left;
}
.time_sheet table th {
	padding: 0.6em 0.2em;
}
.time_sheet table td {
	padding: 1.35em 0.2em 1.65em;
	color: var(--main-color);
}
.time_sheet table td:first-child {
	color: #333;
}
.time_sheet table tr:nth-child(3) td {
	padding-bottom: 1.6em;
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
	:root {
		--ttl_size: 22px;
		--wrapper: 80px;
	}
}
.totop {
	transition: all 0.3s ease;
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
	position: fixed;
	z-index: 19;
	bottom: 20px;
	right: 20px;
}
.totop.active {
	opacity: 1;
	visibility: visible;
}
.totop .icon {
	background-image: url(../images/totop.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	border: 0px;
	width: 66px;
	height: 66px;
	margin: 0;
}

@media only screen and (min-width: 769px) {
	.totop:hover .icon {
		opacity: 0.9;
		animation-name: bounces;
	}
}
.bounce {
	animation-name: bounces;
}

.animateds {
	animation-duration: 0.5s;
	animation-fill-mode: both;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@keyframes bounces {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-5px);
	}
}
@keyframes fixed_banner {
	0% {
		left: 0;
		opacity: 1;
	}
	100% {
		left: -3px;
		opacity: 0.7;
	}
}
.fixed_banner {
	position: fixed;
	top: calc(50% - 5em);
	right: 0px;
	z-index: 15;
	transition: right 0.3s ease-in-out;
}
.fixed_banner > div {
	position: relative;
	transition: all 0.3s ease;
}
.fixed_banner a {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	z-index: 2;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}
.fixed_banner p {
	display: block;
	width: 100%;
	height: 100%;
	margin-bottom: 0;
	color: #fff;
	letter-spacing: 0.1em;
	line-height: 1.2222222222;
	text-align: center;
	text-decoration: none;
}
.fixed_banner p:hover {
	color: #fff;
}
.fixed_banner p .tt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 100%;
	flex-direction: column;
	font-family: var(--f-zenkaku);
	font-weight: 700;
}
.fixed_banner p .tt::before {
	content: "";
	display: block;
	mask-image: var(--mask);
	-webkit-mask-image: var(--mask);
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-size: 100% auto;
	-webkit-mask-size: 100% auto;
	mask-position: center;
	-webkit-mask-position: center;
	background-color: #fff;
}
.fixed_banner .tel p {
	background-color: #55c5e5;
}
.fixed_banner .tel p .tt::before {
	margin-bottom: 0.5em;
	width: 2.5em;
	height: 2.5em;
	--mask: url(../images/fixed_icon_tel.png);
}
.fixed_banner .web p {
	background-color: #c8d63d;
}
.fixed_banner .web p .tt::before {
	margin-bottom: 0.5em;
	width: 2.5em;
	height: 2.5em;
	--mask: url(../images/fixed_icon_web.png);
}

@media only screen and (min-width: 769px) {
	.fixed_banner {
		font-size: 10px;
		--size: 7em;
		width: 7em;
		top: calc(50% - 18.2em);
	}
	.fixed_banner.active {
		top: calc(50% - 18.2em);
	}
	.fixed_banner > div {
		width: var(--size);
		height: auto;
		margin-bottom: 2px;
	}
	.fixed_banner p {
		width: var(--size);
		height: auto;
		text-transform: uppercase;
		font-weight: 700;
		writing-mode: vertical-lr;
		font-size: 1em;
		align-items: center;
		display: flex;
		border-radius: 12px 0 0 12px;
	}
	.fixed_banner p .tt {
		letter-spacing: 0.1em;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}
	.fixed_banner p .tt::before {
		margin-bottom: 2px;
	}
	.fixed_banner .tel p {
		padding-top: 1.4em;
		padding-bottom: 1.6em;
		margin-bottom: 0em;
	}
	.fixed_banner .tel p .tt {
		font-size: 2.2em;
	}
	.fixed_banner .tel p .tt::before {
		width: 1.3636em;
		height: 1.3636em;
		margin-bottom: 0.2273em;
	}
	.fixed_banner .web p {
		padding-top: 1.4em;
		padding-bottom: 1.4em;
	}
	.fixed_banner .web p .tt {
		font-size: 1.8em;
	}
	.fixed_banner .web p .tt::before {
		width: 1.6667em;
		height: 1.6667em;
		margin-bottom: 0.5556em;
	}
}
@media only screen and (min-width: 1919px) {
	.fixed_banner {
		top: 35.5em;
	}
	.fixed_banner.active {
		top: calc(50% - 18.2em);
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
	.fixed_banner {
		font-size: 8px;
	}
	.totop {
		bottom: 15px;
		right: 15px;
	}
	.totop .icon {
		width: 50px;
		height: 50px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.fixed_banner {
		font-size: 7px;
	}
}
footer {
	background: url(../images/shared_ft_bg.jpg) no-repeat top center/cover;
	padding: 69px 0 44px;
}
footer .left,
footer .right {
	width: 50%;
}
footer .ft_logo {
	display: table;
	margin: 0 auto;
}
footer .ft_address {
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.7777777778;
	color: #fff;
	margin: 11px 0 23px;
}
footer .idx_btn {
	margin-top: 0;
}
footer .ft_map {
	max-width: 100%;
	width: 550px;
	margin: 41px auto 0;
	height: 400px;
}
footer .ft_map iframe {
	display: block;
	border-radius: 12px;
}
footer .ft_tel {
	margin: 20px auto 0;
	max-width: 320px;
}
footer .ft_tel a {
	line-height: 1;
	width: 100%;
	height: 2.0625em;
	border-radius: 33px;
	color: #fff;
	border: 1px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 32px;
	letter-spacing: 0.05em;
	padding-bottom: 0.1563em;
}
footer .ft_tel a::before {
	content: "";
	display: block;
	background: url(../images/ft_tel.png) no-repeat center/contain;
	width: 0.7813em;
	height: 0.8438em;
	margin-right: 0.1563em;
	position: relative;
	top: 0.0938em;
}
footer .ft_menu {
	padding-top: 47px;
}

footer .copyright {
	margin-top: 77px;
}
footer .copyright .flex {
	align-items: center;
	justify-content: center;
}
footer .copyright p {
	line-height: 1;
	margin: 0;
}
footer .copyright img {
	max-width: 120px;
}
footer .copyright .grits {
		border-right: 1px solid #fff;
	margin-right: 1.6429em;
padding-right: 1.5714em;
	line-height: 1.6429em;

	font-size: 14px;
}

footer .copyright .textwidget p {
	color: #fff;
	line-height: 1.6429em;

	font-size: 14px;
}

.ft_link {
	--clr: #fff;
}
.ft_link a {
	text-decoration: none;
}
@media only screen and (min-width: 769px) {
	.ft_link .menu1 {
		width: 35%;
	}
	.ft_link .menu2 {
		width: 65%;
	}
	.ft_link .menu2 ul {
		display: flex;
		flex-wrap: wrap;
	}
	.ft_link .menu2 ul li {
		width: 48%;
	}
}
.ft_link .title {
	font-size: 22px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: var(--clr);
	margin-bottom: 28px;
	padding-left: 1em;
	position: relative;
}
.ft_link .title::before {
	content: "";
	position: absolute;
	width: 0.6818em;
	height: 0.6818em;
	background: var(--clr);
	top: 0.25em;
	left: 0;
}
.ft_link ul:last-child {
	margin-bottom: 0;
}
.ft_link li {
	margin-bottom: 1em;
	line-height: 1.6;
}

.ft_link .title_mn a {
	pointer-events: none;
	padding-left: 0 !important;
}
.ft_link .title_mn a::before {
	display: none !important;
}
.ft_link .title_child {
	padding-left: 1em;
}
.ft_link a {
	display: table;
	position: relative;
	color: inherit;
	letter-spacing: 0.1em;
	color: var(--clr);
	line-height: 1.625;
	padding-left: 1em;
	text-underline-offset: 3px;
}
.ft_link a::before {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background-color: var(--clr);
	top: 12px;
	left: 5px;
}
.ft_link a:hover {
	opacity: 1;
}
.ft_link a:hover {
	opacity: 1;
	color: var(--clr);
}
@media only screen and (min-width: 769px) {
	.ft_link a:hover {
		text-decoration: underline;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1280px) {
	.ft_link a {
		letter-spacing: 0;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.ft_link a span {
		display: block;
	}
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
	.ft_link a::before {
		top: 9px;
	}
}
.menu_toggle .ft_link {
	--clr: var(--clr1);
}
.menu_toggle .ft_link .title {
	color: var(--main-color);
}
.menu_toggle .ft_link .title::before {
	background-color: var(--main-color);
}
.menu_toggle .ft_link .link_list {
	width: 100%;
}

@media only screen and (min-width: 769px) {
	.ft_link .list_link_item:first-child {
		width: 79%;
	}
	.ft_link .list_link_item:nth-child(2) {
		width: 21%;
	}
	.ft_link .list_link_item .title {
		margin: 25px auto;
	}
	.ft_link .list_link_item .title:first-child {
		margin-top: 0;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
	.menu_toggle .ft_link li a {
		letter-spacing: 0.05em;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
	.menu_toggle .ft_link li a {
		letter-spacing: 0;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	.menu_toggle .ft_link li {
		margin-bottom: 10px;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.ft_link .menu1 {
		width: 30%;
	}
	.ft_link .menu2 {
		width: 70%;
	}
	.menu_toggle .ft_link li {
		margin-bottom: 5px;
	}
	.ft_link .menu2 li:nth-child(5),
	.ft_link .menu2 li:nth-child(7),
	.ft_link .menu2 li:nth-child(9),
	.ft_link .menu2 li:nth-child(11),
	.ft_link .menu2 li:nth-child(13),
	.ft_link .menu2 li:nth-child(15),
	.ft_link .menu2 li:nth-child(17) {
		margin-top: -1.5em;
	}
	.ft_link .menu2 li:nth-child(19) {
		margin-top: -3.2em;
	}
	.ft_link .title {
		font-size: 18px;
		margin-bottom: 15px;
		letter-spacing: 0;
		line-height: 1.5;
	}
	.ft_link .title::before {
		top: 0.5em;
	}
	.ft_link ul li a {
		font-size: 1.5604681404vw;
		letter-spacing: 0;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	.pc_navi > ul > li > a,
	.pc_navi > ul > li > p {
		font-size: 16px;
		letter-spacing: 0;
	}
	.pc_navi > ul > li > a::before,
	.pc_navi > ul > li > p::before {
		width: 2em;
		height: 2em;
	}
	.logo {
		margin-left: 20px;
		width: auto;
	}
	.logo img {
		width: auto;
		height: calc(var(--wrapper) - 20px);
	}
	.right_head {
		padding-right: 100px;
		width: 75%;
	}
	footer {
		padding: 40px 0 80px;
	}
	footer .ft_logo {
		max-width: calc(100% - 40px);
	}
	footer .ft_address {
		font-size: 16px;
		letter-spacing: 0;
	}
	footer .ft_tel {
		max-width: 288px;
	}
	footer .ft_tel a {
		font-size: 30px;
	}
	footer .left {
		width: 45%;
	}
	.pc_navi {
		width: 75%;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.pc_navi > ul > li > a,
	.pc_navi > ul > li > p {
		font-size: 1.43042912874vw;
		line-height: 1.3;
	}
	.pc_navi > ul > li.menu-item-has-children > a::after,
	.pc_navi > ul > li.menu-item-has-children > p::after {
		bottom: unset;
		top: 2.6em;
	}
	.pc_navi {
		width: 72%;
	}
	.logo {
		margin-left: 10px;
		max-width: 200px;
		height: auto;
		width: 22%;
	}
	.logo img {
		width: auto;
		height: auto;
	}
	.right_head {
		padding-right: 80px;
		width: 75%;
	}
	.h_frm {
		font-size: min(0.68vw, 10px);
	}
	.h_frm span {
		letter-spacing: 0 !important;
	}
	footer .copyright {
		margin-top: 40px;
	}
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
.ai_chat {
	position: absolute;
	bottom: 15.9em;
	right: 4.5em;
	width: 32em;
	border: 0;
	cursor: pointer;
	background: transparent;
}
.ai_chat img {
	display: block;
	width: 100%;
	transition: 0.3s all;
}
.ai_chat.active {
	position: fixed;
	z-index: 10;
	right: calc(var(--wrapper));
	bottom: 20px;
	font-size: 0.875em;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
	.ai_chat.active {
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.ai_chat.active {
	}
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
	.ai_chat {
		bottom: 5em;
	}
}
@media only screen and (min-width: 769px) {
	.ai_chat:hover img {
		opacity: 0.8;
	}
}

.shared_tbl table tr th,
.shared_tbl table tr td {
	line-height: 1;
	padding: 0;
	letter-spacing: 0.1em;
	text-align: center;
	width: 9.2%;
	font-weight: 500;
	border: 0;
	font-size: 18px;
}
.shared_tbl table tr th:first-child,
.shared_tbl table tr td:first-child {
	width: auto;
}
.shared_tbl table tr th:last-child,
.shared_tbl table tr td:last-child {
	width: 11%;
}
.shared_tbl table tr th {
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: var(--main-color);
	color: #fff;
}
.shared_tbl table tr th:first-child {
	border-radius: 6px 0 0 6px;
}
.shared_tbl table tr th:last-child {
	border-radius: 0 6px 6px 0;
}
.shared_tbl table tr td {
	border-bottom: 1px solid #e6f1f1;
	color: var(--main-color);
	padding-top: 18px;
	padding-bottom: 23px;
}
.shared_tbl table tr td.clr1 {
	color: var(--clr1);
}
@media only screen and (min-width: 1919px) {
	.shared_tbl table tr:nth-child(2) td {
		padding-top: 27px;
		padding-bottom: 23px;
	}
}
.shared_tbl p {
	margin-top: 15px;
	padding-left: 0.2em;
}
@media only screen and (max-width: 1366px) {
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		letter-spacing: 0;
		font-size: 16px;
		padding-top: 1em;
		padding-bottom: 1em;
		width: 9%;
	}
	.shared_tbl table tr th:first-child,
	.shared_tbl table tr td:first-child {
		padding-left: 0;
		padding-right: 0;
		text-align: center;
		letter-spacing: 0;
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr td:last-child {
		padding-left: 0;
		padding-right: 0;
		text-align: center;
		letter-spacing: 0;
	}
	.shared_tbl p {
		font-size: 14px;
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 1024px) {
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		font-size: 14px;
	}
}
@media only screen and (max-width: 480px) {
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		letter-spacing: 0;
		font-size: 16px;
		padding-top: 1em;
		padding-bottom: 1em;
		width: 8%;
	}
	.shared_tbl table tr th:first-child,
	.shared_tbl table tr td:first-child {
		padding-left: 0;
		padding-right: 0;
		text-align: center;
		letter-spacing: 0;
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr td:last-child {
		padding-left: 0;
		padding-right: 0;
		text-align: center;
		letter-spacing: 0;
		width: 14%;
	}
}
@media only screen and (max-width: 345px) {
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		font-size: 4.1vw;
	}
}

.idx_btn {
	display: table;
	margin: 29px auto 0;
}
.idx_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	background: #c8d63d;
	color: #fff;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.1em;
	width: 16em;
	border-radius: 50px;
	height: 3.3em;
	text-decoration: none;
	padding-left: 0.2em;
}
.idx_btn a::before {
	content: "";
	display: block;
	background: url(../images/idx2_btn_icon.png) no-repeat center/contain;
	width: 1.4em;
	height: 1.4em;
	margin-right: 0.4em;
}
.idx_btn a:hover {
	opacity: 1;
}
@media only screen and (max-width: 1366px) {
	.idx_btn a {
		letter-spacing: 0;
		font-size: 18px;
	}
}
@media only screen and (max-width: 768px) {
	.idx_btn {
		width: 260px;
		max-width: 100%;
	}
	.idx_btn a {
		width: 100%;
	}
}

.idx_address {
	font-size: 18px;
	line-height: 1.7777777778;
	font-weight: 500;
	margin-bottom: 20px;
}
@media only screen and (max-width: 1366px) {
	.idx_address {
		font-size: 16px;
		letter-spacing: 0;
		margin-bottom: 1em;
	}
}
@media only screen and (max-width: 768px) {
	.idx_address {
		margin: 20px auto;
		text-align: center;
	}
}

.idx_tel {
	line-height: 1;
}
.idx_tel a {
	text-decoration: none;
	line-height: 1;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--main-color);
	justify-content: center;
	display: flex;
	align-items: center;
}
.idx_tel a::before {
	content: "";
	display: block;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-image: url(../images/idx2_tel.png);
	background-color: var(--main-color);
	min-width: 0.75em;
	min-height: 0.75em;
	margin-right: 0.25em;
	position: relative;
	top: 0.15em;
	left: 0.2em;
}
@media only screen and (max-width: 1366px) {
	.idx_tel a {
		justify-content: flex-start;
		font-size: 36px;
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 1024px) {
	.idx_tel a {
		justify-content: flex-start;
		font-size: 30px;
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 768px) {
	.idx_tel a {
		display: flex;
		max-width: fit-content;
		margin: 0 auto;
	}
	.idx_tel a a {
		justify-content: center;
	}
}

.br769 {
	display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.br769 {
		display: block;
	}
}

.shared_tbl small {
	display: block;
	margin-top: 3px;
}
