/*
	Theme Name: mizuho-vet.jp Original
	Theme URI: https://mizuho-vet.jp
	Description: みずほ動物病院のテーマ
	Version: 1.0
*/



/* ---------------------------------------- [UNIVERSAL] */
* {
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-style: normal;
}
:root {
	--primary_color: #5cc0ef;
	--primary_color_filter: brightness(0) saturate(100%) invert(64%) sepia(75%) saturate(392%) hue-rotate(168deg) brightness(94%) contrast(100%);
	--dark_primary_color: #1C75BC;
	--dark_primary_color_filter: brightness(0) saturate(100%) invert(32%) sepia(86%) saturate(622%) hue-rotate(169deg) brightness(104%) contrast(96%);
	--light_primary_color: #B2E2EC;
	--white_color_filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(117deg) brightness(103%) contrast(102%);
	--dark_divider_color: #BDBDBD;
	--light_divider_color: #EEE;
	--primary_background_color: ;
	--secondary_background_color: #fff6e9;	/*#fffaf0*/
	--primary_text_color: #212121;
	--secondary_text_color: #7b7b7b;
	--primary_accent_color: #F9A638;
	--secondary_accent_color: #FFEA7C;	/*#F4C82D*/
	--vivid_color: #ff6900;
	--root_font_size: 14px;
	--section_width: 88vw;	/*94vw*/
	--narrow_section_width: 84vw;	/*86vw*/
	--wide_section_width: 88vw;	/*94vw*/
}
/* ---------------------------------------- [html, body] */
html {
	font-size: var(--root_font_size);
	overflow: auto;
}
body {
	line-height: 1.7;
	overflow-x: hidden;
	position: relative;
	color: var(--primary_text_color);
}
body a:link, body a:visited {
	color: #000;
	/*-webkit-transition: all 0.3s ease-in-out;*/
	transition: all 0.2s ease-in-out;
}
.rbody, .rbody a:link, .rbody a:visited {
	color: #FFF;
}
/*
:after {
	-webkit-transition: inherit;
	transition: inherit;
}
*/
/*
.preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-ms-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}
*/
/* ---------------------------------------- [PARAGRAPH / POSITION] */
p, .mb {
	margin-bottom: 15px;
}
.mt {
	margin-top: 60px !important;
}
.txtc {
	text-align: center;
}
.posr {
	text-align: right;
}
.posl {
	text-align: left;
}
.posc {
	margin-left: auto !important;
	margin-right: auto !important;
}
.postb {
	margin-top: 15px;
	margin-bottom: 15px;
}
.acenter {
	position: absolute;
	margin: auto;
	inset: 0;
}
.dspib {
	display: inline-block;
	font-weight: inherit;
}
.indent {
	margin-left: 1em;
	text-indent: -1em;
}
.vertical {
	writing-mode: vertical-rl;
}
/* ---------------------------------------- [img, video] */
img {
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	max-width: 100%;
	height: auto;
}
.ifit {
	position: relative;
	overflow: hidden;
}
.ifit img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
video {
	max-width: 100%;
	margin: 10px auto;
}
/* ---------------------------------------- [.ideco] */
.ideco1 {
	width: 70%;
	position: relative;
	margin: 50px auto 15px;
	transform: translateX(15px);	/*25px*/
}
.ideco2 {
	position: relative;
}
.ideco1:before, .ideco2:before {
	display: block;
	content: '';
	position: absolute;
	background-image: linear-gradient(120deg, #89f7fe 0%, #66a6ff 100%);
	border-radius: 60% 40% 50% 40%/50% 50% 50% 50%;
}
.ideco1:before {
	width: 85%;
	height: 85%;
	top: -7%;	/*-30px*/
	left: -14%;	/*-60px*/
}
.ideco2:before {
	width: 70%;
	height: 70%;
	bottom: -25%;
	left: -35%;
	filter: blur(10px);
}
.ideco1 img, .ideco2 img {
	position: relative;
	z-index: 1;
}
.ideco1 img {
	border-radius: 70% 70% 60% 80%/60% 60% 80% 70%;
}
.ideco3 {
	margin: 0 auto 5%;
}
.ideco3 figure {
	margin: 0;
	height: 250px;
}
.ideco3 figure:nth-child(1) {
	width: 57%;	/*60%*/
}
.ideco3 figure:nth-child(2) {
	width: 38%;	/*35%*/
}
.ideco3 figure:nth-child(3) {
	width: 100%;
	margin-top: 5%;
}
/* ---------------------------------------- [figure] */
figure {
	display: inline-block;
	margin: 0px 5px 15px 5px;
}
figcaption {
	font-size: 0.8em;
}
/* ---------------------------------------- [ul, ol] */
ul li, ol li {
	list-style-type: none;
}
/* ---------------------------------------- [iframe] */
.wrap_iframe {
	position: relative;
	overflow: hidden;
	padding-bottom: 56.25%;
	height: 0;
	margin: 15px auto;
}
.wrap_iframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.wrap_iframe.gmap {
	padding-bottom: 0;
	height: 300px;
	margin: 20px auto 0;
	width: 100vw;
}
/*
.wrap_iframe.gcolor {
	background-color: var(--secondary_background_color);
}
.wrap_iframe.gcolor iframe {
	filter: grayscale(1);
	opacity: 0.9;
	transition: all 0.3s ease-in-out;
}
.wrap_iframe.gcolor iframe:hover {
	filter: none;
	opacity: 1;
}
*/
/* ---------------------------------------- [BOX] */
.box1 {
	border: 1px solid rgba(255,255,255,0.4);
	border-radius: 25px;
	padding: 0.75em;
}
.box2 {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(150, 150, 150, 0.6);
}
.rbody .box2 {
	border-bottom: 1px solid rgba(255, 255, 255, 1);
}
.box3 {
	background-color: #fff;
	padding: 20px;
	margin-top: 30px;
	border-radius: 20px;
}
/*
.box2 {
	background-color: #77b76f;
	color: #FFF;
	font-size: 1.4em;
}
.box3 {
	border: 2px solid #77b76f;
	padding: 10px 20px;
}
*/
/* ---------------------------------------- [FONT] */
.fnt_family {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
	font-style: normal;
}
.fnt1 {
	background-color: #b2331b;
	color: #FFF;
	padding: 1px 3px;
	margin: 0px 3px;
	font-size: 0.75rem;	/*1.2rem*/
	vertical-align: middle;
	display: inline-block;
}
.fnt2 {
	font-size: 0.8em;
}
.fnt3 {
	background: linear-gradient(transparent 70%, var(--secondary_accent_color) 100%);
	font-weight: 800;
	padding: 0 0.25em;
	line-height: 2;
}
.fnt4 {
	/*font-size: 1.875rem;	/*3rem*/
	/*margin: 20px 0px;*/
	line-height: 1.4;
	
	
	
	font-size: 1.375rem;
}
.fnt5 {
	font-size: 0.9em;
	color: #e83a19;
}
.fnt6 {
	font-size: 1.6em;
	font-weight: bold;
	line-height: 1.5;
}
.fnt7 {
	padding: 0.05em 0.5em;
	display: inline-block;
	color: rgba(71, 40, 0, 0.8) !important;
	text-decoration: none !important;
	background-color: var(--light_primary_color);
	border-radius: 25px;	/*5px*/
}
.fnt8 {
	background-color: #ffefac;
	padding: 2px 20px;
	display: inline-block;
	color: rgba(71, 40, 0, 0.8) !important;
	text-decoration: none !important;
	margin-right: 1rem;
	border-radius: 25px;
	font-size: 0.8em;
	line-height: 1.6;
}
strong {
	background: linear-gradient(transparent 40%, #ffff66 40%);
	font-weight: 800;
	padding: 0px 2px 0px 2px;
}
/* ---------------------------------------- [COMMON] */
.bclear {
	clear: both;
}
.bradius {
	border-radius: 10px;
}
.no_txt_deco a {
	text-decoration: none !important;
	color: inherit !important;
}
.hbar {
	display: inline-block;
	background-color: var(--dark_divider_color);
	border-radius: 5px;
}
.no_disp {
	display: none;
}
/* ---------------------------------------- [SHADOW] */
.bshadow {
	box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
}
/* ---------------------------------------- [HOVER] */
.ohover {
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
a:hover, .ohover:hover {
/*a img:hover, .ohover:hover {*/
	cursor: pointer;
	opacity: 0.6;
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
}
/* ---------------------------------------- [hr] */
hr {
	height: 0;
	border: 0;
	margin: 20px 0px;
	border-top: 1px solid #666;
}
hr.hr1 {
	margin: 3px 0px;
	border-top: 1px solid #BEBEBE;
}
/* ---------------------------------------- [DIVIDER] */
.divider {
	position: relative;
}
.divider:has(> svg) {
	/*transform: translateY(1px);*/
	margin-bottom: -2px;
}
.divider svg {
	vertical-align: bottom;
}
.ddr1 svg, .ddr2 svg {
	background-color: var(--primary_color);
}
.ddr3 svg {
	background-color: var(--secondary_background_color);
}
.ddr1 path {
	fill: var(--secondary_background_color);
}
.ddr2 path, .ddr3 path {
	fill: #fff;
}
.ddr1:before, .ddr2:before, .ddr3:before {
	display: block;
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	top: 0;
	transform: translateY(-1px);
}
.ddr1:before {
	background-color: var(--secondary_background_color);
	border-top: 1px solid var(--secondary_background_color);
}
.ddr2:before, .ddr3:before {
	background-color: #fff;
	border-top: 1px solid #fff;
}
/* ---------------------------------------- [SLIDER] */
.slider, .slide_loop_list {
	display: flex;
	align-items: center;
}
.slider.sdr1 .slide_loop_list {
	animation: slide_loop 50s infinite linear 1s both;
}
.slider.sdr1 .slide_loop_list li {
	width: clamp(7.5rem, 2.045rem + 27.27vw, 22.5rem);
	margin: 0 0.5rem;
}
.slider.sdr1 .slide_loop_list img {
	border-radius: 25px 25px 0 0;
}
.slider.sdr2 {
	margin-bottom: 80px;
}
.slider.sdr2 .slide_loop_list {
	animation: slide_loop 40s infinite linear 1s both;
	height: 250px;
}
.slider.sdr2 .slide_loop_list li {
	margin: 0 1rem;
}
.slider.sdr2 .slide_loop_list img {
	border-radius: 15px;
}
.slider.sdr2 .slide_loop_list li.s1 {
	width: 150px;
}
.slider.sdr2 .slide_loop_list li.s2 {
	width: 200px;
}
.slider.sdr2 .slide_loop_list li.s3 {
	width: 140px;
}
.slider.sdr2 .slide_loop_list:nth-child(1), .slider.sdr2 .slide_loop_list img {
	position: relative;
	z-index: 1;
}
@keyframes slide_loop {
	from {
		translate: 0;
	}
	to {
		translate: -100%;
	}
}
/* ---------------------------------------- [FLEXBOX] */
.fbox {
	display: flex;
	/*display: -webkit-flex;
	display: -ms-flexbox;
	display: -webkit-box;*/
	justify-content: space-between;
	/*-webkit-justify-content: space-between;
	-ms-flex-pack: justify;*/
	flex-wrap: wrap;
	/*-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;*/
}
/*
.fbox_rev {
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	flex-direction: row-reverse;
	flex-wrap: wrap-reverse;
}
section.fbox_rev:after {
	content: none !important;
}
*/
/*
.fbox_gal1 {
	display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	flex-direction: column-reverse;
}
*/
.fbox.rev {
	flex-direction: row-reverse;
	flex-wrap: wrap-reverse;
	justify-content: start;
	align-items: start;
}
/* ---------------------------------------- [WIDTH] */
.fwidth {
	/*width: 280px;
	margin: 15px;*/
	
	
	
	margin: 10px auto;
}
/*
.fwidth img {
	width: 100%;
}
*/
.hwidth {
	width: 45%;
	margin: 5px;
}
.empty {
	height: 0;
	margin-top: 0px;
	margin-bottom: 0px;
}
/* ---------------------------------------- [H] */
h1 {
}
h2 {
	margin: 25px 0px;
	/*font-size: 2.375rem;	/*3.8rem*/
	
	
	
	font-size: 1.75rem;
}
h2.htitle {
	margin-bottom: 0.75em;
	padding-bottom: 0.75em;	/*40px*/
	color: var(--dark_primary_color);
}
h2.htitle:after {
	display: inline-block;
	content: '';
	position: absolute;
	width: 80px;
	height: 4px;
	background: var(--dark_primary_color);	/*#212121*/
	border-radius: 0.5em;
	bottom: 0;
	left: 0;
	/*transform: translate(0.25em, 0);*/
	transform: translateX(0.1em);
}
h2.htitle.txtc:after {
	left: 50%;
	transform: translate(-50%, 0);
}
h3 {
	/*font-size: 2rem;	/*3.2rem*/
	margin: 15px 0px;
	
	
	
	font-size: 1.5rem;
}
h4 {
	font-weight: bold;
	margin: 10px 0px;
}
h5 {
	margin: 5px 0;
	font-size: 1.1rem;
	color: var(--primary_accent_color);	/*#ec9819*/
	font-weight: 700;
	letter-spacing: .2em;
}
.hsub {
	font-size: 0.9em;
	color: #404040;
}
.hnotice {
	font-size: 0.9em;
	background-color: #fff;
	display: inline-block;
	border-radius: 15px 15px 15px 0;
	color: var(--primary_color);
	padding: 0.25em 1em;
}
h2, h3, h4 {
	position: relative;
	line-height: 1.2;
	/*font-family: 'M PLUS 1p', sans-serif;*/
}
/*
.hl1 {
	font-size: 2rem;
	color: #77b76f;
	position: relative;
}
.hl1:before {
	font-family: "icomoon";
	content: '\e9a4';
	padding-right: 5px;
}
.hl1:after {
	display: inline-block;
	content: '';
	position: absolute;
	top: 50%;
	background: #77b76f;
	width: 70px;
	height: 1px;
	margin-left: 10px;
}
*/
.rbody h2.htitle, .rbody .hsub {
	color: #fff;
}
.rbody h2.htitle:after {
	background: #fff;
}
/* ---------------------------------------- [MAIN] */
main {
	background-color: #FFF;
	display: block;
}
.home main {
	margin-top: 40px;
}
.home main, .pages main {
	padding-top: 40px;
}
article {
	text-align: left;
	background-color: #fff;
}
#site_foot {
	background: url("./images/common/bg/bg_site_foot.jpg") no-repeat center center/cover;
	padding-top: 360px;
	background-position-x: calc( 100vw - 1024px );
}
main.pages {
	background-image: linear-gradient(to top, #c1dfc4 0%, #deecdd 100%);
}
#page_gotop {
	/*position: fixed;*/
	z-index: 119;
	background-color: var(--dark_primary_color);
	border-radius: 60% 40% 50% 40% / 50% 50% 50% 50%;
	bottom: 7px;
	right: 10px;
	width: 40px;
	height: 40px;
}
#page_gotop img {
	width: 50%;
	filter: var(--white_color_filter);
}
#page_gotop a {
	opacity: 1 !important;
}
/*
#page_returntop {
	text-align: center;
	margin: 20px 0px 20px 0px;
}
*/
.page_tel {
	/*width: 180px;*/
	text-align: center;
	background-color: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(10px);
	padding: 0 0 0.5em;
	/*
	border-radius: 50px;
	border: 1px solid #fff;
	*/
}
/*
.page_tel.kv {
	margin-top: -170px;
	position: absolute;
	z-index: 2;
	transform: translateX(50%);
	right: 50%;
}
*/
.page_tel.foot {
	z-index: 119;
	bottom: 0;
	left: 0;
	width: 100%;
	border-top: 1px solid #fff;
}
.page_tel span {
	display: block;
}
div#overlayer {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.6;
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
}
.head_logo {
	background-color: #fff;
	width: 100vw;
	height: 84px;
	position: fixed;
	z-index: 119;
}
.head_logo.fixed {
	border-bottom: 1px solid var(--light_divider_color);
}
#logo {
	width: 200px;
	margin: 0.3125rem;
}
#catch {
	font-size: 0.75rem;	/*0.875rem*/
	padding: 0 1em 0;
}
.head_notice {
	background-color: #e9e9e9;
	color: #474747;
	font-size: 0.9em;
	position: relative;
	z-index: 3;
	padding: 0.25em;
	width: 260px;
	margin: 0.5em 0 1em;
	text-align: left;
	border-radius: 0 10px 10px 0;
}
.head_notice span {
	font-weight: bold;
}
.foot_notice {
	position: relative;
	width: var(--wide_section_width);
	height: 70px;
	background-color: var(--dark_primary_color);
	margin: 0 auto -1px;
	border-radius: 25px 25px 0 0;
}
.foot_notice .corner.cnr_rbr, .foot_notice .corner.cnr_lbl {
	bottom: 1px;
}
.foot_notice .corner.cnr_rbr::before {
	box-shadow: -25px 25px 0 0 var(--dark_primary_color) !important;
}
.foot_notice .corner.cnr_lbl::before {
	box-shadow: 25px 25px 0 0 var(--dark_primary_color) !important;
}
.mnu_linkto {
	background-color: rgba(255, 255, 255, 0.1);
	margin: 15px 0;
	padding: 15px 5px;
	border-radius: 15px;
}
.mnu_linkto li {
	display: inline-block;
	margin: 0 15px;
}
.mnu_linkto a {
	text-decoration: none;
	letter-spacing: 0.05em;
}
.bnr_linkto {
	text-align: center;
	background-color: var(--primary_color);
	padding: 25px 0;
}
.bnr_linkto .fbox {
	justify-content: center;
}
.bnr_linkto li {
	margin: 10px;
}
/* ---------------------------------------- [PAGES] */
/*
.bg_pages {
	background: url("./img/common/bg/bg_pages_common.jpg") no-repeat center top;
	text-align: center;
	padding-top: 200px;
	font-size: 2.125rem;
	font-weight: bold;
}
.wrap_pages, .bg_pages > div {
	width: 1150px;
	background-color: #fff;
	margin: auto;
}
.bg_pages > div {
	border-radius: 10px 10px 0 0;
	padding-top: 20px;
}
.bg_pages > div img {
	display: block;
	margin-bottom: 10px;
}
*/
.pages_dl {
	text-align: left;
	margin: 20px 0px;
	line-height: 30px;
}
.pages_dl dt {
	background-color: #f1ebdf;
	padding: 5px;
	margin-bottom: 10px;
}
.pages_dl dd {
	margin-bottom: 20px;
}
.pages_dl.side dt {
	width: 120px;
	min-height: 30px;
	background-color: transparent;
	padding: 0;
	margin: 0;
}
.pages_dl.side dd {
	margin: -30px 0px 5px 0px;
	padding: 0px 0px 0px 120px;
	min-height: 30px;
}
.pages_dl > div {
	border-bottom: 1px solid var(--dark_divider_color);
	display: flex;
	/*
	display: -webkit-flex;
	display: -ms-flexbox;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	*/
}
.pages_dl > div dt, .pages_dl > div dd {
	margin: 0;
	padding: 1em 0.25em;
}
.pages_dl > div dt {
	background-color: transparent;
}
.pages_dl > div dd {
	flex-grow: 1;
}
.pages_dl.block > div {
	border-bottom: none;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.pages_dl.block > div dt, .pages_dl.block > div dd {
	width: 100%;
	padding: 0 0.5em 0 0;
}
.pages_dl.block > div dt {
	font-size: 0.85em;
	font-weight: bold;
}
.pages_ul {
	padding-left: 1em;
	margin-top: 15px;
	margin-bottom: 15px;
	text-align: left;
}
.pages_ul li {
	text-indent: -1em;
	margin-bottom: 5px;
}
.pages_table {
	margin: 10px auto 15px;
	border-collapse: collapse;
	empty-cells: show;
	background-color: #FFF;
	width: 100%;
}
.pages_table th, .pages_table td {
	/*padding: 0.625rem;*/
	border: 1px solid var(--dark_divider_color);
	
	
	
	padding: 0.1875rem;
}
.pages_table th {
	background-color: var(--dark_primary_color);
	color: #fff;
}
.pages_table.radius {
	border-collapse: separate;
	border-radius: 10px;
	border-spacing: 0;
	border-top: 1px solid var(--dark_divider_color);
	border-left: 1px solid var(--dark_divider_color);
}
.pages_table.radius th, .pages_table.radius td {
	border-top: none;
	border-left: none;
}
.pages_table.radius tr:first-child > :first-child {
	border-radius: 10px 0 0 0;
}
.pages_table.radius tr:first-child > :last-child {
	border-radius: 0 10px 0 0;
}
.pages_table.radius tr:last-child > :first-child {
	border-radius: 0 0 0 10px;
}
.pages_table.radius tr:last-child > :last-child {
	border-radius: 0 0 10px 0;
}
/*
.pages_slide1 li {
	text-align: left;
	border-radius: 5px;
	border: 1px solid rgba(0,0,0,0.2);
	background-color: #fff;
}
.pages_slide1 li h4 {
	color: #3c2617;
	text-align: center;
}
.pages_slide1 li div {
	padding: 0px 10px;
}
.pages_slide1 li div:first-child {
	position: relative;
	padding-top: 16px;
	padding-bottom: 16px;
	text-align: center;
	font-weight: 600;
}
.pages_slide1 li div:first-child:after {
	content: '';
	position: absolute;
	left: 50%;
	border: 11px solid transparent;
	border-top: 13px solid #fff;
	margin-left: -11px;
	bottom: -24px;
}
*/
/* ---------------------------------------- [SECTION] */
/*section {*/
main > section {
	width: var(--section_width);	/*960px*/
	padding: 30px calc( (100vw - var(--section_width)) / 2 );
	margin-left: auto;
	margin-right: auto;
	/*padding: 30px 0px;*/
}
section:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
main > section:first-child {
	background-image: linear-gradient(to top, #fff 0%, #ace0f9 100%);
}
/* ---------------------------------------- [WRAP] */
.wrap1 {
	width: var(--narrow_section_width);
	padding: 1px calc( (100% - var(--narrow_section_width)) / 2 );
}
.wrap2 {
	margin-left: auto;
	margin-right: auto;
}
.wrap3 {
	margin: auto;
	padding: 20px;
}
.wrap_over {
	margin-left: -100%;
	margin-right: -100%;
}



.cl, .cr {
	width: var(--section_width);
	margin-bottom: 30px;
}
.ch {
	width: 100%;
	margin-bottom: 30px;
}
/* ---------------------------------------- [CORNER] */
.corner {
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
}
.corner.cnr_ltt {
	left: 0;
	top: 0;
	transform: translateY(-100%);
}
.corner.cnr_rbr {
	right: 0;
	bottom: 0;
	transform: translateX(100%);
}
.corner.cnr_ltl {
	left: 0;
	top: 0;
	transform: translateX(-100%);
}
.corner.cnr_rbb {
	right: 0;
	bottom: 0;
	transform: translateY(100%);
}
.corner.cnr_lbl {
	left: 0;
	bottom: 0;
	transform: translateX(-100%);
}
.corner.cnr_rtt {
	right: 0;
	top: 0;
	transform: translateY(-100%);
}
.corner::before {
	display: block;
	position: absolute;
	width: 200%;
	height: 200%;
	content: '';
	border-radius: 25px;
	overflow: hidden;
	background: transparent;
}
.corner.cnr_ltt::before, .corner.cnr_rbr::before {
	top: 0;
	right: 0;
	transform: translate(50%, -50%);
	box-shadow: -25px 25px 0 0 #fff;
}
.corner.cnr_ltl::before, .corner.cnr_rbb::before {
	bottom: 0;
	left: 0;
	transform: translate(-50%, 50%);
	box-shadow: 25px -25px 0 0 #fff;
}
.corner.cnr_lbl::before, .corner.cnr_rtt::before {
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	box-shadow: 25px 25px 0 0 #fff;
}
/* ---------------------------------------- [KV] */
#site_kv {
	position: relative;
	width: calc(100vw - 60px);
	margin: auto;
}
.kv_home {
	position: relative;
}
.kv_home span {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: block;
	width: 100%;
	border-radius: 25px;
}
/*@media screen and (max-width:768px) {*/
@media screen and (max-width:769px) {
	.kv_home span {height: 400px;}
	.kv_home span.kv_slide1 {background-image: url("./images/pages/home/kv_image1.jpg?250518");}
	.kv_home span.kv_slide2 {background-image: url("./images/pages/home/kv_image2.jpg?250518");}
	.kv_home span.kv_slide3 {background-image: url("./images/pages/home/kv_image3.jpg?250518");}
}
@media screen and (min-width:769px) {
	.kv_home span {height: 600px;}
	.kv_home span.kv_slide1 {background-image: url("./images/pages/home/kv_image1.jpg?250518");}
	.kv_home span.kv_slide2 {background-image: url("./images/pages/home/kv_image2.jpg?250518");}
	.kv_home span.kv_slide3 {background-image: url("./images/pages/home/kv_image3.jpg?250518");}
}
.kv_image {
	background-image: url("./images/pages/home/kv_image1.jpg?250518");
}
.kv_image.information {background-image: url("./images/pages/home/kv_image3.jpg?250518");}
.kv_image.access {background-image: url("./images/pages/home/kv_image4.jpg");}
.kv_image.otegamiokuru {background-image: url("./images/pages/home/kv_image2.jpg?250518");}
/*
.kv_layer {
	height: 100vh;
	background-image: linear-gradient(to top, #0ba360 0%, #3cba92 100%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 200;
}
.kv_layer.is-active {
	-webkit-transition: all 0.5s ease-in 1s;
	transition: all 0.5s ease-in 1s;
	height: 0 !important;
}
*/
.kv_logo {
	position: absolute;
	width: 90px;
	height: 75px;
	background-color: #fff;
	right: 0;
	top: 0;
	border-radius: 0 0 0 25px;
	z-index: 2;
}
.kv_logo img {
	width: 35px;	/*150px*/
	filter: var(--dark_primary_color_filter);
	display: block;
	margin: 0 auto 0.2em;
}
.kv_tel {
	color: var(--dark_primary_color);
	text-align: center;
	font-weight: bold;
	background-color: #fff;
	position: absolute;
	z-index: 4;
	width: 100%;
	height: 100%;
	top: -5px;
	right: -10px;
	font-size: 0.9em;
}
.page_title {
	position: absolute;
	background-color: #fff;
	left: 0;
	bottom: 0;
	border-radius: 0 25px 0 0;
	z-index: 2;
}
.kv_catchcopy {
	font-size: 1.375rem;
	line-height: 1.6;
	color: var(--dark_primary_color);	/*#465059*/
	background-color: #fff;
	position: absolute;
	z-index: 4;
}
.kv_catchcopy span {
	font-weight: inherit;
	font-size: 1.35em;
	margin: 0 0.25em;
}
.kv_catchcopy div {
	font-size: 0.8em;
	margin-top: 0.5em;
	color: #465059;
	position: absolute;
	width: var(--section_width);	/*380px*/
}
.home .page_title {
	width: 170px;
	height: 90px;
}
.pages .page_title {
	width: 140px;
	height: 60px;
}
.home .kv_catchcopy {
	left: -1em;
	top: 0.5em;
	width: calc( 100% + 0.65em );
}
.pages .kv_catchcopy {
	left: 0.25em;
	top: 0.75em;
	width: calc( 100% - 0.35em );
	height: 100%;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;	/*0.5em*/
}
.footprints {
	position: absolute;
	width: 0.9375rem;
	right: -1.5625rem;
	/*bottom: 150px;*/
	z-index: 2;
	
	
	
	bottom: 15px;
}
.footprints img {
	transform: rotate(180deg);
	opacity: 0;
	animation: footprints 3s infinite;
}
.footprints img:nth-child(1) {
	animation-delay: -1.5s;
	/*translate: 0.625rem;*/
}
.footprints img:nth-child(2) {
	animation-delay: -1s;
}
.footprints img:nth-child(3) {
	animation-delay: -0.5s;
}
.footprints img:nth-child(4) {
	animation-delay: 0s;
}
@keyframes footprints {
	0%   {opacity: 0;}
	40%  {opacity: 1;}
	80%  {opacity: 0;}
	100% {opacity: 0;}
}
/* ---------------------------------------- [SWIPER] */
.my_kv_swiper .swiper-wrapper/*, .my_kv_swiper .swiper-slide*/ {
	transform: none !important;
}
.my_pages_swiper {
	/*overflow: hidden;*/
	position: relative;
}
.my_pages_swiper .swiper-slide {
	height: auto;
}
.swiper-pagination-bullet-active {
	background-color: #fff;
}
/* ---------------------------------------- [LOADER] */
.loader, .loader:after {
	border-radius: 50%;
	width: 2em;
	height: 2em;
}
.loader {
	z-index: 210;
	border-top: 0.5em solid rgba(255, 255, 255, 0.2);
	border-right: 0.5em solid rgba(255, 255, 255, 0.2);
	border-bottom: 0.5em solid rgba(255, 255, 255, 0.2);
	border-left: 0.5em solid #ffffff;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load1 1.1s infinite linear;
	animation: load1 1.1s infinite linear;
	margin: 20px 0px 0px 20px;
}
.loader.is-loaded {
	opacity: 0;
	visibility: hidden;
	z-index: 0;
}
@-webkit-keyframes load1 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load1 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
/* ---------------------------------------- [HEADER] */
header {
	width: 100%;
	position: relative;
	text-align: center;
	border-top: 0.625rem solid var(--dark_primary_color);
	margin-top: 84px;
/*
	border-bottom: 1px solid var(--dark_divider_color);
*/
	background-color: #fff;
}
#mnu_header, .page_tel.foot, #page_gotop {
	position: fixed;	/*absolute*/
	opacity: 0;
	visibility: hidden;
	transition: all .5s;
}
#mnu_header {
	z-index: 120;
	width: 5.875rem;
	height: 5.875rem;
	text-align: center;
	top: 0;
	right: 0;
	color: #000;
}
#mnu_header.fixed, .page_tel.foot.fixed, #page_gotop.fixed {
	opacity: 1;
	visibility: visible;
	/*
	position: fixed;
	top: 15px;
	*/
}
#mnu_header svg {
	position: absolute;
	left: 0;
	right: 0;
	transition: transform .5s ease;
}
#mnu_header.active svg {
	transform: scale(40);
}
#mnu_header > span {
	display: block;
	/*margin-top: -8px;*/
	font-size: 0.5625rem;	/*0.75rem*/
	color: #fff;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(1rem);
}
#mnu_header.active > span {
	/*color: #fff;*/
}
.mnu_trigger, .mnu_trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.mnu_trigger, #mnu_header > span {
	z-index: 121;
}
.mnu_trigger {
	position: relative;
	/*background-color: var(--dark_primary_color);*/
	width: 46px;
	height: 46px;
	top: 50%;
	transform: translateY(-50%);
}
.mnu_trigger span {
	position: absolute;
	background-color: #fff;
	left: 8px;
	width: 30px;
	height: 2px;
}
.mnu_trigger span:nth-of-type(1) {top: 12px;}
.mnu_trigger span:nth-of-type(2) {top: 22px;}
.mnu_trigger span:nth-of-type(3) {top: 32px;}
#mnu_header.active .mnu_trigger span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);}
#mnu_header.active .mnu_trigger span:nth-of-type(2) {
	opacity: 0;}
#mnu_header.active .mnu_trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);}
/* ---------------------------------------- [NAV] */
nav ul li a:link, nav ul li a:visited {
	text-decoration: none;
}
#mnav {
	z-index: 120;
	width: 100vw;
	height: 100%;
	inset: 0;
	margin: auto;
	transform: translateX(-100vw);
	position: fixed;
	font-weight: 700;
	letter-spacing: .05em;
	opacity: 0;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	transition: all .5s ease .2s;
}
#mnav.active {
	opacity: 1;
	transform: translateX(0);
}
#mnav > section {
	text-align: left;
	background-color: #fff;
	color: var(--dark_primary_color);
	width: calc( 100vw - 6.25rem - 3em );
	margin: 3rem 0 0;
	border-radius: 0 25px 0 0;
	padding: 15px 1.5em;
}
#mnav > section > ul li {
	font-size: 1.25rem;
	margin: 10px 0;
}
/*
#mnav ul li a:before {
	font-family: "icomoon";
	content: '\ea42';
	padding-right: 15px;
}
*/
#mnav h2 {
	margin: 30px 0px 20px;
	border-top: 1px solid var(--dark_primary_color);
	padding-top: 30px;
	font-size: 1.375rem;
}
#mnav dl {
	margin: 15px 0;
}
#mnav dl dt {
	margin: 0.75em 0 0;
	font-size: 0.8em;
}
#mnav address {
	margin-bottom: 30px;
}
#mnav .lnk_tel {
	margin: 0.5em 0;
	font-size: 1.4em;	/*1.6em*/
	line-height: 1;
}
#gnav {
	display: none;
	padding: 10px 0;
	width: 100vw;
	height: 40px;
	z-index: 119;
	background-color: #fff;
	position: absolute;
}
#gnav.fixed {
	position: fixed !important;
	top: 0;
	border-bottom: 1px solid var(--light_divider_color);
}
#gnav ul {
	display: flex;
	justify-content: center;
}
#gnav ul li {
	margin: 0 20px;
}
/*
#gnav ul li img {
	width: 30px;
	margin-right: 5px;
}
#gnav ul li img:hover {
	opacity: 1;
}
*/
#gnav ul li a {
	font-size: 1.25rem;	/*2.0rem*/
	letter-spacing: 0.08em;
	/*
	margin: 0px 30px;
	width: 160px;
	display: block;
	*/
}
/*
.nsub_en {
	font-size: 0.6em;
	display: block;
}
*/
#gnav ul li a:after {
/*
	display: inline-block;
	content: '';
	width: 100%;
	height: 10px;
*/
}
#gnav ul li a:hover:after, #gnav ul li.current a:after {
/*
	background-image: url("./img/common/bg/bg1.png");
*/
}
/* ---------------------------------------- [FOOTER] */
footer {
	background-color: var(--dark_primary_color);
}
footer section {
	text-align: left;
	position: relative;
	top: -25px;
	width: var(--narrow_section_width);
	margin: auto;
}
footer section h2 {
	border-left: 6px solid #FFF;
	padding-left: 0.5em;
	margin: 0 0 0 0.5em;
}
footer .pages_dl.side dt {
	font-size: 0.9em;
	width: 5em;
}
footer .pages_dl.side dd {
	/*font-size: 1.1em;*/
	padding-left: 5em;
}
#copyright {
	font-size: 0.6875rem;
	text-align: center;
	display: block;
	padding: 30px 0 80px;
}
#fnav {
	background-color: var(--primary_color);
}
#fnav ul {
	padding: 20px 0px;
	border-top: 1px solid rgba(255,255,255,0.5);
	border-bottom: 1px solid rgba(255,255,255,0.5);
}
#fnav ul li {
	list-style-type: none;
	font-size: 0.875rem;	/*1.4rem*/
	padding: 5px 0px 0px 20px;
}
/* ---------------------------------------- [#greeting] */
section#greeting {
	/*padding-bottom: 60px;*/
}
section#greeting h4.mb {
	margin-bottom: 60px;
}
/* ---------------------------------------- [#foreword] */
section#foreword {
	position: relative;
	height: 320px;
}
section#foreword .vertical {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	line-height: 2.4;
	z-index: 2;
}
section#foreword .vertical span {
	color: var(--dark_primary_color);
}
/* ---------------------------------------- [#outro] */
section#outro {
	background-color: var(--secondary_background_color);
	padding-top: 40px;
	padding-bottom: 40px;
	position: relative;
	overflow: hidden;
}
section#outro * {
	position: relative;
	z-index: 1;
}
section#outro:before, section#outro:after {
	display: block;
	content: '';
	position: absolute;
	filter: sepia(1);
	visibility: visible;
}
section#outro:before {
	width: 400px;
	height: 400px;
	left: 0;
	bottom: 0;
	background: url("./images/common/pictures/blob4.svg") no-repeat center top/contain;
	translate: -30% 30%;
}
section#outro:after {
	width: 200px;
	height: 200px;
	right: 0;
	top: 0;
	background: url("./images/common/pictures/blob5.svg") no-repeat center top/contain;
	translate: 35% -45%;
}
/* ---------------------------------------- [#idea] */
section#idea {
	background-color: var(--primary_color);
}
section#idea > section {
	border-radius: 25px;
	background-color: rgba(255,255,255,0.2);
	padding: 10px 10px 5px;
}
section#idea .my_pages_swiper {
	width: 96%;
	margin: auto;
	border-radius: 25px;
}
section#idea ol {
	margin: 15px 0;
	padding: 0 0 30px;
}
section#idea ol.fbox {
	flex-wrap: nowrap;
}
section#idea ol li {
	padding: 30px;
	text-align: left;
	color: var(--primary_text_color);
	border-radius: 25px;
	background-color: #fff;
	width: 200px;
}
section#idea ol li img {
	filter: var(--primary_color_filter);
	max-width: 35%;
	margin: 20px auto;
	display: block;
}
section#idea ol li h4 {
	font-weight: bold;
	border-top: 8px solid var(--primary_color);
	padding-top: 20px;
}
/* ---------------------------------------- [#guidance] */
.home section#guidance {
	background-color: var(--secondary_background_color);
}
.pages_table.schedule {
	width: auto;
}
.home .pages_table.schedule {
	background-color: #fffdf8;
}
section#guidance .cr {
	color: var(--dark_primary_color);
}
.pages_table.schedule th, .pages_table.schedule td {
	text-align: center;
	font-size: 0.9em;
}
.pages_table.schedule th {
	width: 70px;
}
.pages_table.schedule tr td:not(:nth-child(2)) {
	color: var(--dark_primary_color);
	font-weight: 800;
}
.pages_table.schedule tr td:nth-child(2) {
	background-color: var(--light_divider_color);
	font-size: 0.8em;
	letter-spacing: 0.1em;
}
.pages_table.schedule img {
	width: 55%;
	filter: var(--dark_primary_color_filter);
}
.pages_table.schedule .hbar {
	width: 0.875rem;
	height: 0.125rem;
	transform: translateY(-0.3125rem);
}
section#guidance .pages_dl > div {
	border-bottom: 1px solid var(--dark_primary_color);
}
section#guidance .pages_dl > div dt {
	min-width: 90px;
	max-width: 90px;
}
/* ---------------------------------------- [#flow] */
.box_flow_step {
	margin: 30px auto 15px;
	counter-reset: num-count;
}
.box_flow_step section {
	position: relative;
	margin-bottom: 30px;
	padding: 36px 0 0 15px;
}
.box_flow_step .step_hl {
	position: static;
	color: var(--dark_primary_color);
	letter-spacing: .2em;
	margin-left: -5px;
	font-weight: 700;
	line-height: 1;
}
.box_flow_step .step_hl::after {
	content: "";
	width: calc( 100% - 30px );
	height: 1px;
	position: absolute;
	top: 20px;
	left: 30px;
	background: var(--dark_primary_color);
}
.box_flow_step .step_hl::before {
	letter-spacing: 0;
	counter-increment: num-count;
	content: counter(num-count);
	position: absolute;
	top: 0;
	left: -20px;
	width: 40px;
	height: 40px;
	line-height: 38px;
	text-align: center;
	color: var(--dark_primary_color);
	font-size: 18px;
	border-radius: 50%;
	border: 1px solid var(--dark_primary_color);
}
/* ---------------------------------------- [#price] */
section#price {
	background-color: var(--secondary_background_color);
}
section#price .pages_dl > div dt {
	max-width: 130px;	/*160px*/
	min-width: 110px;	/*130px*/
}
section#price .fnt7 {
	font-size: 0.9em;
	margin-right: 0.25em;
}
section#price h4 {
	margin-top: 3.5em;
}
section#price h5 {
	margin: 0;
	font-size: 1rem;
	letter-spacing: .1em;
	color: var(--vivid_color);
}
/* ---------------------------------------- [#about] */
section#about {
	background-color: var(--primary_color);
}
/* ---------------------------------------- [#staff] */
section#staff {
	background-color: var(--light_divider_color);
}
.staff_name {
	margin: 15px 0px 20px;
	font-weight: 700;
	font-size: 1.6rem;	/*2.2rem*/
	letter-spacing: .2em;
}
.staff_name_en {
	margin-left: 1rem;
	vertical-align: middle;
	color: #f6ca1c;
	font-size: 1rem;
	letter-spacing: .05em;
}
/* ---------------------------------------- [#plan] */
/*
section#plan {
	width: auto;
	background-color: #F5F5DC;
}
#recommend {
	position: relative;
	text-align: left;
}
#recommend h3 {
	padding: 10px 30px;
	border-top: 4px solid #ff5722;
	background-color: rgba(255,255,255,0.8);
}
#recommend h3 span {
	font-size: 0.7em;
	display: block;
}
*/
/* ---------------------------------------- [#important_notice] */
#important_notice {
	background-color: var(--dark_primary_color);
	border-radius: 25px;
	padding: 0 1em;
	align-items: center;
	z-index: 2;
	width: calc(100vw - 75px);
	max-width: 640px;
	margin: 70px auto 0;
	/*position: static;*/
}
#important_notice h2 {
	font-size: 1.25rem;	/*2rem*/
	text-align: center;
	width: 100%;
	margin: 20px auto;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.5em;
}
#important_notice .pages_dl {
	max-height: 160px;
	padding-right: 0.5em;
	overflow-y: auto;
	width: 100%;
	margin: 5px 0 15px;
}
#important_notice dt {
	width: 70px;
	height: 30px;
}
#important_notice dd {
	margin-bottom: 0.25em;
	padding-left: 80px;
}
#important_notice dd:not(:last-child) {
	border-bottom: 1px dotted #fff;
	padding-bottom: 0.25em;
}
/* ---------------------------------------- [#news] */
.box_news h4 {
	border-radius: 10px;
	height: 128px;	/*176px*/
}
.box_news a {
	text-decoration: none;
}
section#news .data {
	margin: 0.25em 0 1em;
	font-size: 0.8em;
}
/* ---------------------------------------- [#standard, #archive] */
#standard, #archive {
	background-image: none;
	background-color: #fff;
}
#standard h3 {
	border-bottom: 2px solid var(--dark_primary_color);
	padding: 0px 0px 10px;
	height: auto;
	color: var(--dark_primary_color);
	margin: 25px 0 20px;
}
#standard .meta+h3 {
	margin: 5px 0 30px;
}
#standard .meta, #archive .meta {
	font-size: 0.9em;
	justify-content: flex-start;
}
#standard .meta i, #archive .meta i {
	margin: 0 0.75em;
}
#archive article {
	margin: 30px auto;
	border-bottom: 1px solid var(--dark_divider_color);
	padding-bottom: 30px;
}
#archive h3 {
	margin-top: 0.15em;
}
#archive .fnt8 {
	margin: 0 1.5em;
}
#archive .post_data {
	width: 70%;
}
#archive .ifit {
	width: 25%;
	border-radius: 10px;
	margin-right: 15px;
}
/*
.diary .data a {
	padding: 3px 7px;
	display: inline-block;
	color: rgba(71, 40, 0, 0.8) !important;
	text-decoration: none !important;
}
.diary .category a {
	background-color: #fee474;
	border-radius: 5px;
}
.diary .tag a:before {
	content: '#';
	padding-right: 5px;
}
.diary .time {
	font-size: 1.2em;
	color: rgba(71, 40, 0, 0.5);
	margin: 12px 25px 0px 0px;
}
.diary .time:before {
	font-family: "icomoon";
	content: '\e907';
	padding-right: 5px;
}
*/
/* ---------------------------------------- [#company] */
/*
section#company {
	width: auto;
	background-image: linear-gradient(to top, #0ba360 0%, #3cba92 100%);
	padding-bottom: 0px;
}
*/
/* ---------------------------------------- [#access] */
/* ---------------------------------------- [#contact, #mailer] */
section#contact {
	/*padding: 20px 10px 40px;*/
}
.form_tag {
	border-radius: 4px;
	border: 1px solid var(--light_divider_color);	/*#A9A9A9*/
	outline: none;
	padding: 8px;
	margin-bottom: 10px;
	width: 100%;
	box-sizing: border-box;
	transition: 0.3s;
	background-color: #fff;	/*#edf7ee*/
	appearance: none;
}
.form_tag:focus {
	border-color: var(--dark_primary_color);	/*#388e3c*/
	box-shadow: 0 0 8px 0 var(--dark_primary_color);	/*#388e3c*/
}
.btn_submit {
	font-size: 1.1em;
	color: #FFF;
	border: none;
	padding: 7px 30px;
	border-radius: 4px;
	background-color: var(--primary_accent_color);	/*#73cf46*/
	outline: none;
	width: 100%;
	margin: 15px auto;
}
.grecaptcha-badge {
	z-index: 10;
	bottom: 70px !important;
}
.form_table {
	margin: 20px auto;
	border-collapse: collapse;
	empty-cells: show;
	width: 100%;
}
.form_table th, .form_table td {
	text-align: left;
	vertical-align: top;
	display: block;
}
.form_table th {
	/*color: #757575;*/
	font-weight: 800;
	padding-top: 20px;
}
.form_table td {
	border-bottom: 1px solid var(--dark_divider_color);
}
/* ---------------------------------------- [PAGINATION] */
.pagination {
	text-align: center;
	padding: 15px 10px;
	margin: 70px 0px 15px;
	font-size: 0.875rem;
	color: var(--dark_primary_color);
}
.pagination a.page-numbers, .pagination span.current {
	display: inline-block;
	text-decoration: none;
	background-color: #fff;
	border-radius: 5px;
	width: 40px;
	height: 40px;
	line-height: 40px;
}
.pagination span.current {
	background-color: var(--dark_primary_color);	/*#6E6E6E*/
	color: #fff;
	font-weight: 800;
}
/* ---------------------------------------- [a] */
a {
	color: inherit !important;
	font-weight: inherit !important;
}
a img {
	border: none;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
body a:hover, body a:active {
	/*color: var(--primary_color);*/
	text-decoration: underline;
}
.rbody a:hover, .rbody a:active {
	/*color: #ececec;*/
}
.lnk_normal {
	display: inline-block;
	margin: 10px auto;
	padding: 5px 0px;
	border-radius: 5px;
	text-decoration: none;
	background-color: var(--primary_color);
	color: #FFF !important;
	text-align: center;
	width: 100%;
	letter-spacing: 0.25em;
}
.lnk_tel {
	--circle_size: 1.25rem;
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: var(--circle_size);
	padding-left: calc( var(--circle_size) + 0.25em ) !important;
	text-decoration: none;
	font-size: var(--circle_size);
	font-weight: bold;
	color: var(--dark_primary_color) !important;
	letter-spacing: 0.15em;
	line-height: 0;
	vertical-align: middle;
}
.lnk_tel:before {
	display: block;
	content: '';
	width: var(--circle_size);
	height: var(--circle_size);
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
	background: url("./images/share/tel1.svg") no-repeat center top/contain;
	filter: var(--dark_primary_color_filter);
}
.lnk_page {
	--circle_size: 40px;
	--arrow_border_size: 0.625rem;	/*12px*/
	--arrow_border_width: 0.125rem;	/*3px*/
	position: relative;
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	min-height: var(--circle_size);
	/*padding-right: calc( var(--circle_size) + 0.8em ) !important;*/
	text-decoration: none !important;
	color: #fff !important;
	letter-spacing: 0.25em;
	width: 100%;
	height: 80px;
}
.lnk_page:before {
	display: block;
	content: '';
	width: var(--circle_size);
	height: var(--circle_size);
	position: absolute;
	/*top: 50%;*/
	right: -5px;
	background: url("./images/common/pictures/pads1.svg") no-repeat center top;
	background-size: contain;
	/*translate: 50% -50%;*/
	rotate: 45deg;
	transition: 0.1s linear !important;
	transform-origin: center;
	bottom: -5px;
}
.lnk_page:after {
	display: inline-block;
	content: '';
	width: var(--arrow_border_size);
	height: var(--arrow_border_size);
	position: absolute;
	/*top: 50%;*/
	/*right: calc( var(--circle_size) / 2 + var(--arrow_border_width) * 2 );*/
	border-top: var(--arrow_border_width) solid #fff;
	border-right: var(--arrow_border_width) solid #fff;
	/*translate: 0 -50%;*/
	rotate: 45deg;
	/*bottom: calc( (var(--circle_size) / 2) - (var(--arrow_border_size) / 2) - (var(--arrow_border_width) / 2) );*/
}
.lnk_page > span {
	position: absolute;
	left: calc( var(--arrow_border_size) * 2.5 );
	line-height: 0;
}
div:has(> .lnk_page) {
	display: block;	/*inline-block*/
	position: relative;
	/*background-color: var(--primary_color);*/
	background-image: linear-gradient(120deg, #89f7fe 0%, #66a6ff 100%);
	border-radius: 15px;	/*25px*/
	color: #FFF !important;
	width: 80%;
	padding-left: 0.5em;
	margin: auto;
	font-size: 1.125rem;
}
div:has(> .lnk_page) > div {
	position: absolute;
	width: 45px;	/*50px*/
	height: 45px;	/*50px*/
	background-color: #fff;
	right: 0;
	bottom: 0;
	border-radius: 25px 0 0 0;
}
div:has(> .lnk_page) .corner {
	width: 15px !important;
	height: 15px !important;
}
div:has(> .lnk_page) .corner.cnr_lbl::before, div:has(> .lnk_page) .corner.cnr_rtt::before {
	box-shadow: 15px 15px 0 0 #fff !important;
}
.lnk_more {
	--circle_size: 38px;
	--arrow_border_size: 6px;
	--arrow_border_width: 2px;
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: var(--circle_size);
	padding-right: calc( var(--circle_size) + 0.8em ) !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.5em;
	color: #000 !important;
	letter-spacing: 0.25em;
	margin: var(--circle_size) 0;
}
.lnk_more:after {
	display: inline-block;
	content: '';
	width: var(--arrow_border_size);
	height: var(--arrow_border_size);
	position: absolute;
	top: 50%;
	right: calc( var(--circle_size) / 2 - var(--arrow_border_width) * 2 + 2px );
	border-top: var(--arrow_border_width) solid #fff;
	border-right: var(--arrow_border_width) solid #fff;
	translate: 0 -50%;
	rotate: 45deg;
}
.lnk_more:before {
	display: block;
	content: '';
	width: var(--circle_size);
	height: var(--circle_size);
	position: absolute;
	top: 50%;
	right: 0;
	background-color: var(--primary_color);
	border-radius: 100%;
	translate: 0 -50%;
	/*transition: .2s;*/
	transition: 0.1s linear !important;
	transform-origin: center;
}
.lnk_more:hover:before, .lnk_page:hover:before {
	scale: 1.1;
}
.lnk_contact {
	display: block;
	padding: 7px 10px;
	border-radius: 5px;
	text-decoration: none !important;
	color: #FFF !important;
	background-color: var(--primary_accent_color);	/*#ff5722*/
	margin: 30px auto;
	text-align: center;
}
.lnk_contact:hover {
	background-color: #ff5722;	/*#ff9800*/
}
.lnk_newopen {
	position: relative;
	display: inline-block;
}
.lnk_newopen:after {
	content: '';
	background: url("./images/share/newopen1.svg") no-repeat center top/contain;
	width: 1.2em;
	height: 1.2em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	margin-left: 0.5em;
}
.lnk_site {
	--circle_size: 2rem;
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: var(--circle_size);
	padding-left: calc( var(--circle_size) + 0.8em ) !important;
	letter-spacing: 0.25em;
	line-height: 1.2;
}
.lnk_site:before {
	display: block;
	content: '';
	width: var(--circle_size);
	height: var(--circle_size);
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
}
.mnu_linkto .lnk_site {
	color: #fff !important;
}
.mnu_linkto .lnk_site.instagram:before {
	background: url("./images/share/logo_instagram1.svg") no-repeat center top/contain;
	filter: var(--white_color_filter);
}










/* ------------------------------------------------ */
/* ---------------------------------------- [MEDIA] */
/* ------------------------------------------------ */
@media screen and (max-width:960px) {
/*
	main > section, .wrap_pages, .bg_pages > div {
		padding-left: 20px;
		padding-right: 20px;
	}
*/
/*
	.wrap4 {
		width: auto;
		padding: 5px 15px;
		margin: 20px 5px;
	}
*/
	.wrap_over .wrap2 {
		width: 33%;
	}
/*
	.fbox:not(.data) {
		justify-content: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
	}
*/
}
/*
	.pages_table.attr {
		border-collapse: separate;
		border-spacing: 0px 0.625rem;
	}
	.pages_table.attr tr:first-child {
		display: none;
	}
	.pages_table.attr tr {
		background-color: #f0f0f0;
	}
	.pages_table.attr td {
		display: block;
		border: none;
		padding: 0px 10px;
	}
	.pages_table.attr td:before {
		content: attr(data-label);
		display: inline-block;
		background: #3c2617;
		color: #FFF;
		text-align: center;
		padding: 1px 12px;
		margin-top: 10px;
		border-radius: 3px;
		font-size: 0.875rem;
	}
	.pages_table.attr td > * {
		margin-top: 5px;
		margin-bottom: 5px;
	}
*/
/*
@media screen and (max-width:320px) {
	h1 {
		left: 0px;
	}
	h1 img {
		width: 150px;
	}
	.pages_dl.side dt {
		width: auto;
	}
	.pages_dl.side dd {
		margin: 0px 0px 15px 0px;
		padding: 0px;
	}
	.kv_catchcopy {
		font-size: 22px;
		left: 10px;
		font-weight: normal;
	}
}
*/
@media screen and (min-width:415px) {



/*
	.fwidth {
		width: 280px;
		margin: 15px;
	}
*/
	.pages_table th, .pages_table td {
		padding: 0.625rem;
	}
}
@media screen and (min-width:769px) {
	:root {
		--root_font_size: 16px;
	}
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
	body {
		line-height: 2;
	}
	.home main, .pages main {
		margin-top: 120px;
	}
	.on_disp {
		display: none !important;
	}
	.no_disp {
		display: block !important;
	}
	h2 {
		font-size: 2.375rem;
	}
	h3 {
		font-size: 2rem;
	}
	.fnt4 {
		font-size: 1.875rem;
	}
	.ideco1 {
		transform: translateX(0);
	}
	.ideco3 {
		width: 70%;
	}
	.cl, .cr {
		width: calc( (var(--section_width) - 60px) / 2 );	/*450px*/
		margin-bottom: 0;
	}
	.cl {
		float: left;
	}
	.cr {
		float: right;
	}
	.cl.wide {
		width: 60%;
	}
	.cr.narrow {
		width: 33%;
	}
	.ch {
		width: 50%;
		margin-bottom: 0;
	}
	.wrap3 {
		width: 600px;
	}
	.head_logo {
		height: auto;
		position: static;
	}
	.head_logo.fixed {
		border-bottom: none;
	}
	header {
		margin-top: auto;
	}
	#mnu_header {
		width: 6.25rem;	/*9.375rem*/
		height: 6.25rem;
		display: none;
	}
	#mnav {
		transform: translateY(100%);
	}
	#mnav.active {
		transform: translateY(0);
	}
	#mnav > section {
		width: 600px;
		margin: 8rem auto 0;
		border-radius: 25px 25px 0 0;
	}
	#logo {
		width: 360px;
	}
	.home .page_title {
		width: 320px;
		height: 140px;
	}
	.pages .page_title {
		width: 240px;
		height: 80px;
	}
	.kv_catchcopy {
		font-size: 1.875rem;
	}
	.footprints {
		bottom: 120px;
	}
	#gnav {
		display: block;
	}
	.head_notice {
		padding: 0.5em;
		width: 640px;
		margin: 60px auto 1em;
		text-align: center;
		border-radius: 10px;
	}
	/*
	.page_tel.kv {
		margin-top: -200px;
		right: calc( (250px + 1em) + 100px );
	}
	*/
	.wrap_iframe.gmap {
		height: 450px;
		margin: 20px auto 70px;
		width: var(--narrow_section_width);
		border-radius: 25px;
	}
	.page_tel.foot {
		bottom: 1.25rem;
		left: 1.25rem;
		width: 240px;
		border-radius: 50px;
		border: 1px solid #fff;
	}
	#page_gotop {
		bottom: 15px;
		right: 15px;
		width: 60px;
		height: 60px;
	}
	#copyright {
		padding: 40px 0;
	}
	.grecaptcha-badge {
		bottom: 100px !important;
	}
	.slider.sdr2 .slide_loop_list {
		height: 450px;
	}
	.slider.sdr2 .slide_loop_list li {
		margin: 0 1.5rem;
	}
	.slider.sdr2 .slide_loop_list li.s1 {
		width: 280px;
	}
	.slider.sdr2 .slide_loop_list li.s2 {
		width: 360px;
	}
	.slider.sdr2 .slide_loop_list li.s3 {
		width: 240px;
	}
	.pages_dl.block > div {
		flex-wrap: nowrap;
	}
	.pages_dl.block > div dt, .pages_dl.block > div dd {
		width: auto;
	}
	#important_notice h2 {
		width: 25%;
		margin: auto;
		text-decoration: none;
	}
	#important_notice .pages_dl {
		width: 70%;
		margin: 20px 0;
	}
	.box_news h4 {
		height: 176px;
	}
	.box_news a {
		text-decoration: underline;
	}
	section#idea > section {
		padding: 30px 0 5px;
		margin-top: 20px;
	}
	section#idea .my_pages_swiper {
		background-color: #fff;
	}
	section#idea .swiper-pagination {
		display: none;
	}
	section#idea ol.fbox {
		flex-wrap: wrap;
		padding: 0;
	}
	section#idea ol li {
		width: 280px;
		padding: 15px;
	}
	.box3 {
		padding: 70px;
	}
	section#foreword {
		height: 480px;
	}
	.form_table th, .form_table td {
		display: table-cell;
		padding: 20px 10px;
	}
	.form_table th {
		border-bottom: 1px solid var(--dark_divider_color);
	}
	section#outro:before, section#outro:after {
		width: 500px;
		height: 500px;
	}
}
@media screen and (min-width:961px) {
	.wrap2 {
		width: var(--wide_section_width);
	}
	#site_foot {
		background-position-x: 0px;
	}
	.foot_notice {
		/*padding: 0 60px !important;*/
	}
	footer section {
		/*width: auto;*/
		/*margin: auto;*/
	}
	.hwidth {
		width: calc( (var(--section_width) / 4) - (15px * 2) );	/*220px*/
		margin: 15px;	/*10px*/
	}
	#site_kv {
		width: calc(100vw - 320px);
	}
	#fnav {
		height: 150px;
		padding-top: 30px;	/*50px*/
	}
	#fnav ul li {
		display: inline-block;
		padding: 0px 10px;
	}
	#copyright {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 10px;
		padding: 0;
	}





	section#news ul.fbox {
		justify-content: flex-start;
	}
}
@media screen and (min-width:1281px) {
	:root {
		--section_width: 1180px;
		--narrow_section_width: 728px;
		--wide_section_width: 960px;
	}
	.kv_logo {
		width: 150px;
		height: 120px;
	}
	.kv_logo img {
		width: 60px;
		/*
		top: -25px;
		right: -25px;
		*/
	}
	.kv_tel {
		font-size: 1.2em;
	}
	#important_notice {
		width: 500px;
		margin: -100px 0 0 0;
		position: absolute;
		right: 100px;
	}
}