@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
:root {
	--primary-color: #66d3d3; /* メインカラー */
	--sub-color: #003366; /* サブカラー */
	--accent-color: #FF7F50; /* アクセント */
	--text-main: #334455; /* テキストカラー */
	--text-link: #0077bb; /* リンク色 */
	--bg-light: #f8f9fa; /* 薄い背景色 */
	--bg-white: #ffffff; /* 白背景 */
	--border-color: #dddddd; /* 線の色 */
	--radius: 10px; /* 角丸の大きさ */
	--transition: all 0.3s ease; /* アニメーション速度 */
}
._color_main {
	color: #66d3d3; /* 水色 */
}
._color_sub {
	color: #003366; /* 紺色 */
}
._color_accent {
	color: #FF7F50;
}
._color_link {
	color: #0077bb; /* 青 */
}
._color_text {
	color: #334455;
}
._color_base {
	color: #f8f9fa;
}
._color_line {
	color: #dddddd;
}

._bg_main {
	background-color: #66d3d3!important; /* 水色 */
}
._bg_sub {
	background-color: #003366!important; /* 紺色 */
}
._bg_accent {
	background-color: #FF7F50!important;
}
._bg_link {
	background-color: #0077bb!important; /* 青 */
}
._bg_text {
	background-color: #334455!important;
}
._bg_base {
	background-color: #f8f9fa!important;
}
._bg_line {
	background-color: #dddddd!important;
}
.sectionMargin {
	margin-top: 80px;
}
.sectionBox {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #f8f9fa;
}
.sectionBox + #cta.sectionMargin {
	margin-top: 0;
}
.inner {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.innerNarrow {
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.innerWide {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}
.innerMax {
	padding-right: 20px;
	padding-left: 20px;
}
* {
	margin: 0;
	padding: 0;
	word-break: break-all;
}
html {
	scroll-behavior: smooth;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
audio, canvas, progress, video {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */
}
body {
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-feature-settings: "palt";
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.75em;
	color: #334455;
	text-align: justify;
	text-justify: inter-ideograph;
	min-width: 1200px;
	letter-spacing: 0.1em;
}
a {
	color: #0077bb;
	text-decoration: none;
}
p {
	margin-top: 20px;
}
p + p {
	margin-top: 10px;
}
.h2 {
	font-size: 160%;
	line-height: 1.5em;
	font-weight: bold;
}
.h2 .en {
	font-size: 300%;
	line-height: 1.2em;
	display: block;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: normal;
}
.h3 {
	margin-top: 40px;
	font-size: 140%;
	line-height: 1.5em;
	font-weight: bold;
}
.h3 .en {
	font-size: 50%;
	line-height: 1.5em;
	opacity: 0.8;
	display: block;
	font-weight: normal;
}
.h4 {
	font-weight: bold;
	margin-top: 30px;
	font-size: 120%;
	line-height: 1.5em;
}
img, a img {
	border: none;
	display: block;
	max-width: 100%;
	height: auto;
}
table {
	border-collapse: collapse;
	border: none;
	border-spacing: 0;
}
table td * {
	margin-top: 0!important;
}
table.waku {
	margin-top: 20px;
	line-height: 1.5em;
}
table.waku th, table.waku td {
	background-color: #fff;
	padding: 1em;
	border: 1px solid #ddd;
}
table.waku th {
	background-color: rgba(0, 0, 0, 0.05);
	text-align: center;
	font-weight: normal;
}
table.waku2 {
	margin-top: 20px;
	line-height: 1.5em;
}
table.waku2 th, table.waku2 td {
	background-color: #fff;
	padding: 1em;
	border: 1px solid #ddd;
}
table.waku2 th {
	background-color: rgba(0, 0, 0, 0.05);
	text-align: center;
	font-weight: normal;
}
iframe {
	display: block;
}
ul, ol, dl {
	margin-top: 20px;
	line-height: 1.5em;
}
ul ul, ul ol, ol ul, ol ol {
	margin-top: 5px;
}
li {
	margin-left: 1.5em;
}
li + li {
	margin-top: 5px;
}
sup, sub {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
input, select, textarea {
	font-size: 16px !important;
	line-height: 1.5em;
}
input[type="submit"] {
	padding: 5px 10px;
}
/* ============================================================================================ */
#header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
	position: fixed;
	left: 0;
	top: 0;
	height: 100px;
	width: 100%;
	min-width: 1200px;
	z-index: 40;
	box-sizing: border-box;
	transition: 1.0s;
}
#logo {
	position: relative;
}
#logo .color {
	opacity: 0;
	transition: 1.0s;
}
#logo .mono {
	position: absolute;
	left: 0;
	top: 0;
	transition: 1.0s;
}
#globalNav ul {
	margin: 0px;
	padding: 0px;
	display: flex;
	align-items: center;
}
#globalNav ul li {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}
#globalNav ul li a {
	text-decoration: none;
	color: #fff;
	margin-left: 1.5em;
	transition: 1.0s;
}
#globalNav ul li.btn a {
	display: block;
	background-color: #FF7F50;
	color: #fff!important;
	padding: 10px 2em;
	border-radius: 999px;
}
#globalNav ul li:last-child.btn a {
	background-color: #66d3d3;
	margin-left: 5px;
}
#header.scroll {
	background-color: rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	height: 80px;
}
#header.scroll #globalNav ul li a {
	color: inherit;
}
#header.scroll #logo .color {
	opacity: 1;
}
#header.scroll #logo .mono {
	opacity: 0;
}
#pageTitle {
	padding: 100px 10% 0;
	border-bottom: solid 1px #ddd;
	position: relative;
}
#pageTitle::before {
	content: "";
	display: block;
	width: 100%;
	height: 100px;
	background-color: #0077bb;
	position: absolute;
	left: 0;
	top: 0;
}
#pageTitle .sub {
	font-weight: 900;
	font-size: calc(10vw - 0px);
	line-height: 0.5em;
	letter-spacing: 0;
	margin: 0;
	padding: 0;
	color: #66d3d3;
	mix-blend-mode: multiply;
}
#pageTitle h1 {
	font-weight: 100;
	font-size: calc(3vw - 0px);
	line-height: 1.5em;
	margin: 0;
	padding: 0;
}
#pageTitle a {
	color: inherit;
	text-decoration: none;
}
#breadcrumb {
	font-size: 70%;
	line-height: 1.5em;
	padding: 10px 20px;
}
#breadcrumb ol {
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0 0.5em;
}
#breadcrumb ol li {
	margin: 0;
	padding: 0px;
	list-style-type: none;
	display: flex;
}
#breadcrumb ol li:before {
	content: "＞";
	margin-right: 0.5em;
}
#breadcrumb ol li:first-child:before {
	display: none;
}
#footerNav {
	background-color: #66d3d3;
	color: #fff;
}
#footerNav a {
	color: #fff;
}
#footerNav ul {
	margin: 0 auto;
	padding: 0;
}
#footerNav ul li {
	margin: 0;
	padding: 0;
	list-style: none;
}
#footerNav ul li a {
	text-decoration: none;
}
#footerNav > ul {
	display: flex;
	justify-content: space-between;
}
#footerNav > ul > li {
	padding: 10px;
	font-weight: bold;
}
#footerNav ul li ul {
	margin-left: 0.5em;
	padding-left: 0.5em;
	padding-top: 0.5em;
	font-size: 90%;
	font-weight: normal;
	border-left: solid 1px #fff;
}
#footerNav ul li ul li {
	margin-top: 10px;
}
#ciBox .logo img {
	margin: auto;
}
#ciBox .officeBox {
	display: flex;
	justify-content: center;
	text-align: center;
}
#ciBox .officeBox .card {
	padding: 0 10px;
}
#ciBox .officeBox .card h3 {
	font-size: 100%;
	line-height: 1.5em;
	font-weight: bold;
	text-align: center;
	border-bottom: solid 1px #ccc;
	padding-bottom: 10px;
}
#ciBox .officeBox .card p {
	font-size: 80%;
	line-height: 1.5em;
	margin-top: 10px;
	letter-spacing: normal;
}
#ciBox .snsBox {
	margin-top: 10px;
}
#ciBox .snsBox ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 10px;
}
#ciBox .snsBox ul li {
	margin: 0;
	padding: 0;
	font-size: 30px;
	line-height: 30px;
}
#ciBox .snsBox ul li a {
	color: inherit;
}
#footer {
	background-color: #f8f9fa;
}
address {
	padding: 20px 20px 100px;
	font-style: normal;
	font-size: 80%;
	line-height: 1.5em;
	text-align: center;
	letter-spacing: normal;
}
address a {
	color: #000;
}
#pageTop {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 2;
}
#pageTop a {
	display: block;
	padding-top: 40px;
	height: 0px;
	width: 40px;
	overflow: hidden;
	position: relative;
	background-color: rgba(0, 0, 0, 0.5);
}
#pageTop a::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -5px;
	margin-top: -2.5px;
	transform: rotate(45deg);
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	box-sizing: border-box;
}
#pageTop:hover {
	cursor: pointer;
}
#spNav {
	width: 300px;
	height: 100%;
	top: 0px;
	right: -300px;
	position: fixed;
	z-index: 50;
	overflow: auto;
	background-color: rgba(255, 255, 255, 1);
}
#spNav a {
	text-decoration: none;
	color: #334455;
	text-align: center;
	display: block;
}
#spNav ul {
	margin: 0px;
	padding: 0px;
	font-size: 110%;
}
#spNav ul li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
#spNav > ul {
	margin-top: 60px;
	border-bottom: solid 1px #DDD;
}
#spNav > ul > li > a {
	border-top: solid 1px #DDD;
	line-height: 80px;
}
#spNav > ul > li.btn > a {
	color: #FFF;
	background-color: #0077bb;
}
#spNav ul li ul {
	position: relative;
	margin: 0 20px 20px;
	font-size: 90%;
}
#spNav ul li ul::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background-color: #0077bb;
	transform: rotate(45deg);
	position: absolute;
	top: -5px;
	left: 50%;
	margin-left: -5px;
}
#spNav ul li ul li a {
	color: #FFF;
	background-color: #0077bb;
	line-height: 50px;
	margin-top: 1px;
}
#responsiveMenu {
	display: none;
	position: fixed;
	z-index: 51;
	top: 0px;
	right: 0px;
	overflow: hidden;
}
#slideSideMenuBg {
	display: none;
	position: fixed;
	z-index: 49;
	left: 0px;
	top: 0px;
	height: 100%;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}
.columnBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -10px;
	margin-right: -10px;
}
.columnBox > div {
	padding-right: 10px;
	padding-left: 10px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.c22, .c21 {
	width: 50%;
}
.c33, .c32, .c31 {
	width: 33.333%;
}
.c44, .c42, .c41 {
	width: 25%;
}
.imgLeft {
	float: left;
	margin-right: 20px;
}
.imgRight {
	float: right;
	margin-left: 20px;
}
.imgCenter {
	margin-right: auto;
	margin-left: auto;
}
.skewY_left {
	transform: skewY(-5deg);
}
.skewY_right {
	transform: skewY(5deg);
}
.align_left {
	text-align: left;
}
.align_right {
	text-align: right;
}
.align_center {
	text-align: center;
}
.align_center-justify {
	text-align: center;
}
.valign_top {
	vertical-align: top;
}
.valign_middle {
	vertical-align: middle;
}
.valign_bottom {
	vertical-align: bottom;
}
.nowrap {
	white-space: nowrap;
}
.margin_top00 {
	margin-top: 0px !important;
}
.margin_top05 {
	margin-top: 5px !important;
}
.margin_top10 {
	margin-top: 10px !important;
}
.margin_top20 {
	margin-top: 20px !important;
}
.margin_top30 {
	margin-top: 30px !important;
}
.margin_top40 {
	margin-top: 40px !important;
}
.margin_top60 {
	margin-top: 60px !important;
}
.margin_top80 {
	margin-top: 80px !important;
}
.attentionList {
	text-indent: -1em;
	padding-left: 1em;
	list-style-type: none;
	margin-left: 0px;
}
.w30percent {
	width: 30%;
}
.w80percent {
	width: 80%;
}
.w100percent {
	width: 100%;
}
.text_small {
	font-size: 80%;
	line-height: 1.5em;
	margin-top: 5px;
	font-weight: normal;
	letter-spacing: normal;
}
.text_caption {
	line-height: 1.5em;
	margin-top: 10px;
}
.text_large {
	font-size: 200%;
	line-height: 1.2em;
}
.text_tel {
	font-size: 240%;
	line-height: 1.5em;
	font-weight: bold;
	letter-spacing: normal;
}
.box_waku01 {
	padding: 20px;
	margin-top: 20px;
	background-color: rgba(0, 0, 0, 0.05);
}
.formBox {
	padding: 20px;
	margin-top: 20px;
	background-color: rgba(0, 0, 0, 0.05);
}
.formBox dl {
	margin: 0px;
	padding: 0px;
	display: flex;
	flex-wrap: wrap;
}
.formBox dt {
	font-weight: bold;
	color: #000;
	width: 25%;
	padding: 10px;
	box-sizing: border-box;
}
.formBox dd {
	padding: 10px;
	width: 75%;
	box-sizing: border-box;
}
.img_waku01 {
	border: 1px solid #ddd;
}
.icon_link {
	margin-left: 1.5em;
	list-style-type: none;
	text-indent: -1.5em;
}
.icon_link::before {
	content: "≫";
	display: inline-block;
	width: 1.5em;
	text-indent: 0;
}
.button {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 40px;
}
.button a {
	text-align: center;
	display: block;
	padding: 10px 20px;
	text-decoration: none;
	color: #FFF;
	background-color: #0077bb;
	min-width: 200px;
	border-radius: 999px;
}
.youtubeBox iframe {
	aspect-ratio: 16/9;
	width: 100%;
}
/*テーブル横スクロール*/
.table-scroll {
	overflow: auto; /*スクロールさせる*/
	white-space: nowrap; /*文字の折り返しを禁止*/
	width: 100%; /*今回の設置を分かりやすくするためワザと狭い幅を指定。本来は不必要な指定です。*/
}
/* 以下、スクロールバーを追加 */
.table-scroll::-webkit-scrollbar {
	height: 5px;
}
.table-scroll::-webkit-scrollbar-track {
	background: #ccc;
}
.table-scroll::-webkit-scrollbar-thumb {
	background: #334455;
}
.zoom img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-animation: zoom 60s ease-out;
	animation: zoom 60s ease-out;
	animation-fill-mode: forwards;
	mix-blend-mode: multiply;
}
@keyframes zoom {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.5);
	}
}
/* ============================================================================================ */
@media screen and (max-width: 700px) {
	#width-----700px----- {}
	.sectionMargin {
		margin-top: 40px;
	}
	.sectionBox {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	body {
		min-width: inherit;
		font-size: 14px;
		line-height: 1.5em;
		letter-spacing: 0.05em;
	}
.h2 .en {
	font-size: 150%;
}
	#responsiveMenu {
		display: block;
	}
	#header {
		min-width: inherit;
		height: 60px;
		position: absolute;
	}
	#logo img {
		height: 40px;
		width: auto;
	}
#header.scroll {
	height: 60px;
}
	#globalNav {
		display: none;
	}
#pageTitle {
	padding: 60px 20px 0;
}
#pageTitle::before {
	height: 60px;
}
#pageTitle .sub {
	font-weight: 100;
	line-height: 1em;
	padding-bottom: 5px;
	padding-top: 5px;
}
#pageTitle h1 {
	font-weight: 700;
	font-size: 100%;
	line-height: 1.5em;
	padding-bottom: 10px;
}
	#footerNav {
		display: flex;
		justify-content: center;
	}
	#footerNav > ul {
		flex-direction: column;
	}
	#ciBox .officeBox {
		flex-direction: column;
		align-items: center;
	}
	#ciBox .officeBox .card {
		padding: 0;
	}
	table.waku th, table.waku td {
		display: block;
		white-space: normal;
		width: auto;
	}
	table.waku {
		margin-top: 0px;
	}
	table.waku th {
		margin-top: 10px;
	}
	table.waku td {
		border-top: none;
	}
	.align_center-justify {
		text-align: left;
	}
	.align_center-justify br {
		display: none;
	}
	.text_tel {
		font-size: 180%;
	}
	.formBox {
		padding: 10px;
	}
	.formBox dl {
		display: block;
	}
	.formBox dt {
		width: 100%;
		text-align: left;
		padding-bottom: 0;
	}
	.formBox dd {
		width: 100%;
		padding-top: 5px;
	}
	.imgLeft, .imgRight {
		margin-right: 0px;
		float: none;
	}
	.imgLeft img, .imgRight img {
		margin-right: auto;
		margin-left: auto;
	}
	.c21, .c31, .c41 {
		width: 100%;
	}
	.c32, .c42, .c62, .c82 {
		width: 50%;
	}
	.table-scroll::before {
		content: "SCROLL →";
		width: 100%;
		font-size: 70%;
		line-height: 20px;
		display: block;
		color: #CCC;
		margin-top: 20px;
		margin-bottom: -20px;
	}
}