@charset "UTF-8";
:root {
	--f-jp: "Zen Kaku Gothic New", sans-serif;
	--f-en: "Zen Maru Gothic", sans-serif;
	--main-color: #2669a8;
	--clr1: #222222;
	--clr2: #1b365d;
	--clr3: #fbea00;
	--clr4: #50c878;
	--clr5: #c8d63d;
	--clr6: #009b77;
	--clr7: #7db84b;
	--ttl_size: 28px;
	--wrapper: 121px;
	--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-jp);
}

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: 5px 3px 10px;
	text-align: center;
}
.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 p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

/* 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;
}
.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;
}

.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-family: var(--f-en);
	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);
}

.en {
	font-family: var(--f-en);
}

.btn-group {
	font-size: 0.625em;
	display: flex;
	justify-content: center;
}
.btn-group .btn {
	max-width: 300px;
	width: 100%;
}
.btn-group .btn a {
	--clr: #fff;
	padding-left: 0.4em;
	line-height: 1.5;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: 0.1em;
	min-height: 66px;
	border-radius: 40px;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	text-decoration: none;
	color: var(--clr);
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	transition: 0.3s all;
}
.btn-group .btn a:hover {
	opacity: 1;
	color: var(--clr);
}
.btn-group .btn a::before {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	z-index: -1;
	inset: 0;
	opacity: 1;
	background: linear-gradient(90deg, rgb(38, 105, 168) 0%, rgb(0, 102, 197) 100%);
	transition: 0.6s all;
}
.btn-group .btn a::after {
	content: "";
	display: block;
	position: absolute;
	transition: all 0.3s;
	border-radius: 50%;
	width: 1.6em;
	height: 1.6em;
	top: calc(50% - 0.8em);
	right: 0.65em;
	background: #009b77 url(../images/shared_btn_icon.png) no-repeat center/1.7em;
}
@media only screen and (min-width: 769px) {
	.btn-group .btn a:not([target="_blank"]):hover {
		background: #009b77;
	}
	.btn-group .btn a:not([target="_blank"]):hover::before {
		opacity: 0;
	}
	.btn-group .btn a:not([target="_blank"]):hover::after {
		background-color: var(--main-color);
	}
}
.btn-group .btn.white a {
	border: 1px solid #fff;
	padding-left: 0.15em;
}
.btn-group .btn.white a::before {
	background: transparent;
}
.btn-group .btn.white a::after {
	background-color: transparent;
	border: 1px solid #fff;
	width: 1.6em;
	height: 1.6em;
	right: 0.6em;
	top: calc(50% - 0.8em);
	background-size: 1.7em;
}
@media only screen and (min-width: 769px) {
	.btn-group .btn.white a:not([target="_blank"]):hover {
		background: var(--main-color);
	}
	.btn-group .btn.white a:not([target="_blank"]):hover::before {
		opacity: 0;
	}
	.btn-group .btn.white a:not([target="_blank"]):hover::after {
		background-color: #009b77;
	}
}

.btn-group .btn.clr1 a {
	border: 1px solid #fff;
	padding-left: 0.15em;
}
.btn-group .btn.clr1 a::before {
	    background: #009b77;
}
.btn-group .btn.clr1 a::after {
	
	width: 1.6em;
	height: 1.6em;
	right: 0.6em;
	top: calc(50% - 0.8em);
	background-size: 1.7em;
	background-color: #2384bf;
}
@media only screen and (min-width: 769px) {
	.btn-group .btn.clr1 a:not([target="_blank"]):hover {
		background: var(--main-color);
	}
	.btn-group .btn.clr1 a:not([target="_blank"]):hover::before {
		opacity: 0;
	}
	.btn-group .btn.clr1 a:not([target="_blank"]):hover::after {
		background-color: #009b77;
	}
}
@media only screen and (max-width: 1366px) {
	.btn-group .btn {
		max-width: 280px;
	}
	.btn-group .btn a {
		letter-spacing: 0;
		font-size: 18px;
		min-height: 60px;
	}
}

@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);
	}
}
.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 {
	border: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-color: #2384bf;
	position: absolute;
	top: calc(50% - 2.2em);
	width: 64px;
	height: 64px;
	cursor: pointer;
	color: transparent;
	border-radius: 50%;
}
.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;
	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: 430px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 50px;
}
.logo a {
	display: block;
	width: 100%;
	text-align: center;
}
.logo img {
	width: auto;
	max-height: calc(var(--wrapper) - 35px);
}

.right_head {
	width: 70%;
	max-width: 941px;
	padding-right: 237px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.pc_navi {
	width: 100%;
}
.pc_navi > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	text-align: center;
	width: 100%;
}
.pc_navi > ul > li {
	position: relative;
	margin-bottom: 0;
}
.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: "";
	position: absolute;
	top: calc(100% + 0.0556em);
	left: calc(50% - 0.3333em);
	transition: all 0.3s ease;
	border-color: #333 transparent transparent transparent;
	border-style: solid;
	border-width: 0.3333em 0.3333em 0em 0.3333em;
}
.pc_navi > ul > li.menu-item-has-children:hover > a::after,
.pc_navi > ul > li.menu-item-has-children:hover > p::after {
	transform: translateY(2px);
	border-color: var(--main-color) transparent transparent transparent;
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0;
	height: 40px;
	text-decoration: none;
	text-align: center;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0.1em;
	transition: all 0.2s ease;
	color: #333333;
}
.pc_navi > ul > li > a:hover,
.pc_navi > ul > li > p:hover {
	opacity: 1;
	color: var(--main-color);
}
.pc_navi > ul .subInner {
	position: absolute;
	width: 18em;
	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: 590px;
		right: 200%;
	}
	.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 (min-width: 769px) and (max-width: 1600px) {
	:root {
		--wrapper: 100px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	:root {
		--wrapper: 80px;
	}
	.pc_navi > ul .col2 .subInner {
		right: 210%;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.pc_navi > ul .subInner {
		width: 23em;
	}
	.pc_navi > ul .col2 .subInner {
		width: 44em;
	}
	.pc_navi > ul .col2 .subInner {
		right: 250%;
	}
	.pc_navi > ul {
		font-size: 1.4vw;
	}
	.pc_navi > ul .subInner ul li a {
		font-size: 12px;
		letter-spacing: 0;
	}
}
.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.3333333333;
	text-align: center;
	text-decoration: none;
	font-weight: 700;
}
.fixed_banner p:hover {
	color: #fff;
}
.fixed_banner p .tt {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	flex-direction: column;
	letter-spacing: 0.1em;
}
.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;
	width: 40px;
	height: 40px;
}
.fixed_banner .tel p {
	background-color: #7db84b;
	font-weight: 500;
}
.fixed_banner .tel p .tt::before {
	--mask: url(../images/fixed_icon3.png);
}
.fixed_banner .web1 p {
	background-color: #1b365d;
}
.fixed_banner .web1 p .tt::before {
	--mask: url(../images/fixed_icon1.png);
}
.fixed_banner .web2 p {
	background-color: #009b77;
}
.fixed_banner .web2 p .tt::before {
	--mask: url(../images/fixed_icon2.png);
}

@media only screen and (min-width: 769px) {
	.fixed_banner {
		font-size: 10px;
		--size: 12em;
		width: 12em;
		top: calc(50% - 18.3em);
	}
	.fixed_banner.active {
		top: calc(50% - 18.3em);
	}
	.fixed_banner > div {
		width: var(--size);
		height: var(--size);
		margin-bottom: 2px;
	}
	.fixed_banner p {
		width: var(--size);
		height: var(--size);
		border-radius: 12px 0 0 12px;
	}
	.fixed_banner p .tt {
		font-size: 1.8em;
	}
	.fixed_banner p .tt::before {
		width: 2.2222em;
		height: 2.2222em;
	}
	.fixed_banner .web1 p {
		padding-bottom: 0.2em;
	}
	.fixed_banner .tel p .tt {
		font-size: 2.2em;
		line-height: 1.1818181818;
		padding-bottom: 0.1818em;
	}
	.fixed_banner .tel p .tt::before {
		width: 1.8182em;
		height: 1.8182em;
	}
}
@media only screen and (min-width: 1919px) {
	.fixed_banner {
		top: 44.3%;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
	.fixed_banner {
		font-size: 8.5px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
	.fixed_banner {
		font-size: 6.5px;
	}
	.totop .icon {
		width: 60px;
		height: 60px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	.fixed_banner p .tt::before {
		margin-bottom: 3px;
	}
}
.ft_link {
	--clr: #fff;
}
.ft_link a {
	text-decoration: none;
}
@media only screen and (min-width: 769px) {
	.ft_link .menu1 {
		width: 29%;
	}
	.ft_link .menu2 {
		width: 71%;
	}
	.ft_link .menu3 {
		width: 57%;
	}
	.ft_link .menu4 {
		width: 43%;
	}
}
.ft_link .title {
	margin-bottom: 28px;
	padding-left: 0;
	font-size: calc(var(--ttl_size) + 8px);
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1;
	pointer-events: none;
	font-family: var(--f-en);
	color: var(--clr);
}
.ft_link .title::before {
	display: none;
}
.ft_link ul:last-child {
	margin-bottom: 0;
}
.ft_link li {
	margin-bottom: 1em;
	letter-spacing: 0.1em;
	line-height: 1.6;
}
.ft_link a {
	display: table;
	position: relative;
	color: inherit;
	letter-spacing: 0.05em;
	color: var(--clr);
	line-height: 1.625;
	padding-left: 15px;
	text-underline-offset: 3px;
	font-weight: 500;
}
.ft_link a::before {
	content: "";
	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;
	}
	.ft_link a:hover span {
		text-decoration: underline;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	.ft_link a {
		letter-spacing: 0;
		font-size: 14px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.ft_link a span {
		display: inline-block;
	}
}

@media only screen and (min-width: 769px) and (max-width: 1366px) {
	header .logo {
		margin-left: 20px;
	}
	header .right_head {
		width: 65%;
		padding-right: 140px;
	}
	header .pc_navi > ul > li > a,
	header .pc_navi > ul > li > p {
		font-size: 16px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	header .logo {
		margin-left: 10px;
	}
	header .right_head {
		width: 70%;
		padding-right: 110px;
	}
	header .pc_navi > ul > li > a,
	header .pc_navi > ul > li > p {
		font-size: 14px;
		letter-spacing: 0;
	}
}
.ft_gallery {
	padding-top: 60px;
}
.ft_gallery .item {
	margin-right: 2px;
}
.ft_gallery img {
	border-radius: 10px;
	max-width: 50vw;
}

footer {
	padding: 128px 0 0;
	background: url(../images/shared_ft_bg.jpg) no-repeat top center/cover;
	margin-top: -48px;
}
footer .ft_logo {
	display: table;
}
footer .left,
footer .right {
	max-width: 600px;
	width: 47%;
}
footer .right {
	max-width: 601px;
}
footer .idx_address {
	color: #fff;
	margin-top: 41px;
}
footer .idx_tel a {
	color: #fff;
}
footer .idx_tel a::before {
	background-color: #fff;
}
footer .shared_tbl table tr th,
footer .shared_tbl table tr td {
	background: transparent;
	color: #fff;
	border-bottom: 1px solid #e6f1f1;
}
footer .shared_tbl table tr td:not(:first-child) {
	color: #fff;
}
@media only screen and (min-width: 1919px) {
	footer .shared_tbl table tr th {
		padding-bottom: 22px;
	}
}
footer .shared_tbl .shared_tbl_p {
	color: #fff;
}
footer .shared_tbl .shared_tbl_p .mark {
	color: #fff;
}
@media only screen and (min-width: 1919px) {
	footer .shared_tbl table tr:nth-child(2) td {
		padding-top: 19px;
	}
}
footer .idx_veh {
	display: block;
	margin-top: 15px;
}
footer .idx_veh .item {
	color: #fff;
}
footer .idx_veh .item:not(:last-child) {
	margin-bottom: 30px !important;
}
footer .idx_veh .item .img {
	background-color: #fff;
}
footer .idx_veh .item .ttl1 {
	color: #fff;
}
@media only screen and (min-width: 1919px) {
	footer .idx_veh .item ul {
		width: 100.3%;
	}
}
footer .idx_veh .item ul li {
	color: #fff;
	border-color: #fff;
	background-color: #fff;
	color: var(--main-color);
}
footer .map {
	height: 299px;
	border-radius: 20px;
	overflow: hidden;
	margin-top: 44px;
}
footer .ft_menu {
	padding: 62px 0 0 0;
}
footer .copyright {
	padding: 20px 0 36px;
}
footer .ft_banner {
	width: 43.7%;
}
footer .ft_copy {
	order: -1;
	display: flex;
	align-items: center;
}
@media only screen and (min-width: 1919px) {
	footer .ft_copy {
		position: relative;
		left: 4px;
		top: 4px;
	}
}
footer .ft_copy .grits {
	line-height: 1;
	margin: 0;
	max-width: 120px;
}
footer .ft_copy .textwidget p {
	font-size: 14px;
	line-height: 23px;
	border-left: 1px solid #fff;
	margin-left: 23px;
	padding-left: 22px;
	color: #fff;
}

.menu_toggle .ft_link {
	--clr: #333;
}
.menu_toggle .ft_link .title {
	color: var(--main-color);
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
	footer .right {
		width: 49%;
	}
	footer .copyright {
		padding-bottom: 90px;
	}
	footer .copyright .grits {
		max-width: 100px;
	}
	footer .copyright .textwidget p {
		margin-left: 10px;
		padding-left: 10px;
		font-size: 12px;
		letter-spacing: 0;
	}
}
@media only screen and (min-width: 769px) and (max-height: 400px) {
	.fixed_banner {
		font-size: 5px;
	}
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
.br1920 {
	display: none;
}

@media only screen and (min-width: 1919px) {
	.br1920 {
		display: block;
	}
}
.br769 {
	display: none;
}

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

@media only screen and (min-width: 769px) and (max-width: 850px) {
	.br850 {
		display: block;
	}
}
.idx_address {
	position: relative;
	line-height: 1.7777777778;
	font-weight: 500;
	font-size: 18px;
	padding-left: 68px;
	margin-top: -3px;
	letter-spacing: 0.1em;
}
.idx_address .jp {
	position: absolute;
	left: 0;
	top: 0;
}
@media only screen and (max-width: 1366px) {
	.idx_address {
		font-size: 16px;
		letter-spacing: 0;
	}
}

.idx_tel {
	max-width: fit-content;
	margin-top: 24px;
}
.idx_tel a {
	display: flex;
	align-items: center;
	line-height: 1;
	text-decoration: none;
	font-weight: 500;
	font-size: 40px;
	color: #009b77;
	letter-spacing: 0.05em;
}
.idx_tel a::before {
	content: "";
	display: block;
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-image: url(../images/idx11_icon.png);
	background-color: #009b77;
	width: 0.75em;
	height: 0.75em;
	margin-right: 0.25em;
	align-self: center;
	margin-top: 0.25em;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	.idx_tel a {
		font-size: 32px;
	}
}
@media only screen and (max-width: 768px) {
	.idx_tel {
		margin: 20px 0 25px;
	}
	.idx_tel a {
		font-size: 30px;
	}
}

.shared_tbl {
	margin-top: 41px;
}
.shared_tbl table tr th,
.shared_tbl table tr td {
	line-height: 1;
	text-align: center;
	margin: 0;
	padding: 0;
	width: 8.8%;
	border: 0;
	border-radius: 0;
	font-weight: 500;
	font-size: 18px;
	padding-top: 1em;
	padding-bottom: 1em;
}
.shared_tbl table tr th:first-child,
.shared_tbl table tr td:first-child {
	width: auto;
	padding-left: 0.8em;
}
.shared_tbl table tr th:last-child,
.shared_tbl table tr td:last-child {
	width: 17.5%;
}
.shared_tbl table tr th:nth-child(7),
.shared_tbl table tr td:nth-child(7) {
	width: 13.8%;
	padding-left: 11px;
}
.shared_tbl table tr th {
	background-color: #2669a8;
	color: #fff;
	padding-top: 1em;
	padding-bottom: 1em;
}
.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;
}
@media only screen and (min-width: 1919px) {
	.shared_tbl table tr th {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}
.shared_tbl table tr td {
	border-bottom: 1px solid #e6f1f1;
}
@media only screen and (min-width: 1919px) {
	.shared_tbl table tr td {
		padding-top: 18px;
		padding-bottom: 23px;
	}
}
.shared_tbl table tr td:not(:first-child) {
	color: #2669a8;
}
.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 .shared_tbl_p {
	font-weight: 500;
	padding: 20px 0px 0px 20px;
}
.shared_tbl .shared_tbl_p p {
	line-height: 1.875;
	margin: 0;
}
.shared_tbl .shared_tbl_p .mark {
	color: #2669a8;
}
@media only screen and (max-width: 1366px) {
	.shared_tbl {
		margin-top: 25px;
	}
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		letter-spacing: 0;
		font-size: 16px;
	}
	.shared_tbl .shared_tbl_p {
		padding: 1em 0px 0px 1em;
		font-size: 14px;
	}
}
@media only screen and (max-width: 1024px) {
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		letter-spacing: 0;
		font-size: 14px;
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr th:first-child,
	.shared_tbl table tr td:last-child,
	.shared_tbl table tr td:first-child {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl table tr th:nth-child(7),
	.shared_tbl table tr td:nth-child(7) {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr td:last-child {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl .shared_tbl_p {
		padding: 0.5em 0px 0px 0.5em;
	}
}
@media only screen and (max-width: 768px) {
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		letter-spacing: 0;
		font-size: 16px;
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr th:first-child,
	.shared_tbl table tr td:last-child,
	.shared_tbl table tr td:first-child {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl table tr th:nth-child(7),
	.shared_tbl table tr td:nth-child(7) {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr td:last-child {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl .shared_tbl_p {
		padding: 0.5em 0px 0px 0.5em;
	}
}
@media only screen and (max-width: 480px) {
	.shared_tbl table tr th,
	.shared_tbl table tr td {
		letter-spacing: 0;
		font-size: min(4vw, 14px);
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr th:first-child,
	.shared_tbl table tr td:last-child,
	.shared_tbl table tr td:first-child {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl table tr th:nth-child(7),
	.shared_tbl table tr td:nth-child(7) {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl table tr th:last-child,
	.shared_tbl table tr td:last-child {
		padding-left: 0;
		padding-right: 0;
	}
	.shared_tbl .shared_tbl_p {
		padding: 0.5em 0px 0px 0.5em;
	}
}

.idx_veh {
	margin-top: 37px;
	display: grid;
	grid-template-columns: 46% 52.7%;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0;
}
.idx_veh .item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.idx_veh .item .img {
	background: #eaf1fa;
	border-radius: 50%;
	min-width: 80px;
}
.idx_veh .item .txt {
	width: 84%;
	max-width: calc(100% - 94px);
}
.idx_veh .item .ttl1 {
	line-height: 1.5;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 24px;
	margin-bottom: 11px;
	color: #333333;
}
.idx_veh .item .ttl2,
.idx_veh .item .idx_veh_txt p {
	font-weight: 500;
}
.idx_veh .item1 {
	margin-bottom: 52px;
}
.idx_veh .item2 {
	grid-row: 1 / span 3;
	grid-column-start: 2;
}
.idx_veh ul {
	gap: 6px 0;
	align-items: flex-start;
	margin-top: 25px;
	margin-bottom: 18px;
}
.idx_veh ul li {
	width: 49.4%;
	font-size: 14px;
	letter-spacing: 0.05em;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	border: 1px solid #2669a8;
	color: #2669a8;
	border-radius: 40px;
	padding: 6px 0 7px;
	margin-bottom: 0px;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
	.idx_veh .item .ttl1 {
		font-size: 20px;
	}
	.idx_veh .item .ttl2 {
		font-size: 14px;
	}
	.idx_veh .item .idx_veh_txt {
		font-size: 14px;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
	.idx_veh .item .ttl1 {
		font-size: 20px;
		margin-top: 12px;
		margin-bottom: 10px;
	}
	.idx_veh .item p {
		letter-spacing: 0;
	}
	.idx_veh .item ul li {
		letter-spacing: 0;
	}
	.idx_veh .item .ttl2 {
		font-size: 14px;
	}
	.idx_veh .item .img {
		min-width: 50px;
		max-width: 50px;
	}
	.idx_veh .item .idx_veh_txt {
		font-size: 14px;
	}
	.idx_veh .item .txt {
		width: 100%;
		max-width: calc(100% - 60px);
	}
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
	.idx_veh .item ul li {
		width: 100%;
	}
}
@media only screen and (max-width: 768px) {
	.idx_veh {
		display: block;
	}
	.idx_veh .item {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.idx_veh .item.item1 {
		margin-bottom: 0;
	}
	.idx_veh .item:not(:last-child) {
		margin-bottom: 25px;
	}
	.idx_veh .item .txt {
		width: 100%;
		max-width: 100%;
	}
	.idx_veh .item .img {
		min-width: 60px;
		max-width: 60px;
	}
	.idx_veh .item .ttl1 {
		margin: 10px auto;
		text-align: center;
	}
	.idx_veh .item ul {
		margin: 10px 0;
	}
	.idx_veh .item ul li {
		max-width: 100%;
	}
	.idx_veh .item .ttl1 {
		font-size: 20px;
		letter-spacing: 0;
	}
	.idx_veh .item p {
		letter-spacing: 0;
	}
}
@media only screen and (max-width: 480px) {
	.idx_veh {
		display: block;
	}
	.idx_veh .item {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.idx_veh .item .txt {
		width: 100%;
		max-width: 100%;
	}
	.idx_veh .item .img {
		min-width: 60px;
		max-width: 60px;
	}
	.idx_veh .item .ttl1 {
		margin: 10px auto;
		text-align: center;
	}
	.idx_veh .item ul {
		margin: 10px 0;
	}
	.idx_veh .item ul li {
		width: 100%;
		max-width: 100%;
	}
}
