/* ======================================
   etc
====================================== */
@import url(./src/jQ.HumbergerNav.css);
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400..700;1,400..700&family=Zen+Kaku+Gothic+New&display=swap");

/*=======================*/
/* Loading                */
/*=======================*/
#loading {
	visibility : hidden;
	z-index : 9999;
	position : fixed;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	        transition : opacity 1.5s, visibility 0s ease 1.5s;
	opacity : 0;
	background-color : #83c7e0;

	-webkit-transition : opacity 1.5s, visibility 0s ease 1.5s;
}
#loading.fadeout {
	visibility : visible;
	opacity : 1;
}
.loader {
	position : absolute;
	top : 50%;
	left : 45%;
	overflow : hidden;
	font-size : 50px;
	width : 1em;
	height : 1em;
	        transform : translateZ(0)translate(-50%,-50%);
	        animation : load 1.7s infinite ease, round 1.7s infinite ease;
	text-indent : -9999em;
	color : #ffffff;
	border-radius : 50%;

	-webkit-animation : load 1.7s infinite ease, round 1.7s infinite ease;
	-webkit-transform : translateZ(0)translate(-50%,-50%);
	    -ms-transform : translateZ(0)translate(-50%,-50%);
}
@-webkit-keyframes load {
	0% {
		box-shadow : 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
	}
	5%,
	95% {
		box-shadow : 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
	}
	10%,
	59% {
		box-shadow : 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
	}
	20% {
		box-shadow : 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
	}
	38% {
		box-shadow : 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
	}
	100% {
		box-shadow : 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
	}
}
@keyframes load {
	0% {
		box-shadow : 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
	}
	5%,
	95% {
		box-shadow : 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
	}
	10%,
	59% {
		box-shadow : 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
	}
	20% {
		box-shadow : 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
	}
	38% {
		box-shadow : 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
	}
	100% {
		box-shadow : 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
	}
}
@-webkit-keyframes round {
	0% {
		        transform : rotate(0deg);

		-webkit-transform : rotate(0deg);
	}
	100% {
		        transform : rotate(360deg);

		-webkit-transform : rotate(360deg);
	}
}
@keyframes round {
	0% {
		        transform : rotate(0deg);

		-webkit-transform : rotate(0deg);
	}
	100% {
		        transform : rotate(360deg);

		-webkit-transform : rotate(360deg);
	}
}
.__pc {
	display : unset;
}
.__tab {
	display : none;
}
.__sp {
	display : none;
}

.anchor {
	scroll-margin-top : 94px;
}

/* pagetop */
#pageTop a {
	display : flex;
	z-index : 100;
	position : fixed;
	right : 0;
	bottom : 0;
	overflow : hidden;
	justify-content : center;
	align-items : center;
	width : 60px;
	height : 60px;
	background-color : rgba(0, 0, 0, 0.3);
}

/* jQPopupContent */
#jqPopupContent_window {
	z-index : 200;
	background : rgba(0, 0, 0, 0.4);
}
#jqPopupContent_container {
	padding : 32px;
	background : #ffffff;
}
#jqPopupContent_inner {
	overflow : auto;
	margin-bottom : 16px;
	padding : 32px;
	border : 1px solid #cccccc;
}
#jqPopupContent_container .__buttons {
	display : flex;
	justify-content : space-between;
}
#jqPopupContent_container .__buttons > div {
	width : 30%;
	min-width : 10em;
	margin : 0 auto;
	padding : 0.5em;
	cursor : pointer;
	text-align : center;
	color : #ffffff;
	background-color : #333333;
}

/* ======================================
   common
====================================== */

body {
	font-family : "Zen Kaku Gothic New", sans-serif;
	background-color : #ffffff;
}
body * {
	box-sizing : border-box;
}
main {
	overflow-x : hidden;
}
main > section:not(:last-child) {
	margin-bottom : 80px;
}

#pageBottom > .inner,
#pageFooter > .inner,
main > section > .inner,
#contentHeader > .inner {
	width : 100%;
	max-width : 1220px;
	margin : 0 auto;
	padding : 0 32px;
}

/* .anim {
	transition : 0.4s ease-out;
	transform : translateY(60px);
	opacity : 0;
}
.anim.fire {
	transform : translateY(0);
	opacity : 1;
} */

/* pagenation */
.pagenation {
	display : flex;
	justify-content : center;
	align-items : center;
	margin-top : 40px;
}
.pagenation .pagenation__body {
	display : flex;
	justify-content : center;
}

.pagenation a {
	position : relative;
	transition : 0.2s ease-in-out;
}

.pagenation a,
.pagenation span {
	display : flex;
	justify-content : center;
	align-items : center;
	height : 45px;
	margin : 0 5px;
	padding : 15px 10px;
	text-decoration : none;
	border : #cccccc 1px solid;
	background-color : #ffffff;
}
.pagenation .current a,
.pagenation .current span {
	color : #ffffff;
	border : none;
	background-color : #1684b2;
}

.pagenation .pagenation__prev a {
	padding-left : 30px;
}

.pagenation .pagenation__prev a,
.pagenation .pagenation__next a {
	position : relative;
	width : auto;
}

.pagenation .pagenation__prev a::before,
.pagenation .pagenation__next a::before {
	position : absolute;
	top : 50%;
	left : 0.2em;
	font-family : "Material Icons";
	content : "\e314";
	transform : translateY(-50%);
}

.pagenation .pagenation__next a {
	padding-right : 30px;
}

.pagenation .pagenation__next a::before {
	right : 0.2em;
	left : auto;
	content : "\e315";
}

.pagenation span.is-current,
.pagenation a:hover {
	font-weight : 700;
	color : #ffffff;
	border-color : #535353;
	background-color : #535353;
}

.pagenation .notNumbering span {
	border : none;
	background-color : transparent;
}

#contentHeader {
	margin-bottom : 100px;
}
#contentHeader .pagetitle {
	font-family : "Noto Sans JP" , sans-serif;
	font-size : 2.55rem;
	font-weight : 600;
	padding : 80px 0 50px 0;
	letter-spacing : 1px;
	color : #2d64af;
}
#contentHeader .pagetitle .en {
	display : block;
	font-family : "Oswald" , "Noto Sans JP" , sans-serif;
	font-size : 1rem;
	font-weight : 300;
	margin-top : 5px;
	color : #333333;
}
#breadcrumb {
	display : flex;
	justify-content : flex-end;
	width : 100%;
	padding : 0 0 20px;
	border-bottom : 1px solid #6c6c6c;
}
#breadcrumb ul {
	display : flex;
	flex-wrap : wrap;
	margin : 0;
}
#breadcrumb ul li {
	position : relative;
	font-size : 0.75rem;
	line-height : 1.45;
}
#breadcrumb ul li:not(:first-child) {
	padding-left : 2em;
}
#breadcrumb ul li:not(:first-child)::before {
	position : absolute;
	top : 50%;
	left : 8px;
	width : 6px;
	height : 6px;
	margin-top : -3px;
	content : "";
	transform : rotate(45deg);
	border-top : solid 1px #333333;
	border-right : solid 1px #333333;
}
#breadcrumb ul li a {
	text-decoration : none;
	color : #2d64af;
}
#breadcrumb ul li a:hover {
	text-decoration : underline;
}



/* anchornav */
#anchornav ul {
	display : flex;
	justify-content : center;
	max-width : 1220px;
	margin : 0 auto 80px;
	padding : 0 32px;
}
#anchornav ul > li:not(:last-child) {
	margin-right : 24px;
}
#anchornav ul > li a {
	display : block;
	position : relative;
	min-width : 12em;
	padding : 15px 40px;
	transition : 0.2s ease-in-out;
	text-align : center;
	text-decoration : none;
	color : #ffffff;
	border : 1px solid #2d64af;
	border-radius : 3em;
	background-color : #2d64af;
}
#anchornav ul > li a:hover {
	text-decoration : none;
	color : #2d64af;
	border : 1px solid #2d64af;
	background-color : #ffffff;
}
#anchornav ul > li a::after {
	position : absolute;
	top : 50%;
	right : 25px;
	width : 7px;
	height : 7px;
	content : "";
	transform : translateY(-50%) rotate(45deg);
	border-width : 1px 1px 0 0;
	border-style : solid solid none none;
	border-color : #ffffff #ffffff transparent transparent;
	vertical-align : middle;
}
#anchornav ul > li a:hover::after {
	border-color : #2d64af #2d64af transparent transparent;
}

/* linkBtn */
.linkBtn {
	display : block;
	position : relative;
	font-weight : bold;
	width : 260px;
	padding : 12px 40px;
	transition : 0.2s ease-in-out;
	text-align : center;
	text-decoration : none;
	color : #ffffff;
	border-radius : 3em;
	background-color : #333333;
}

.linkBtn:hover {
	background-color : #777777;
}

input.long,
select.long,
textarea.long {
	width : 24em;
}
input.middle,
select.middle,
textarea.middle {
	width : 16em;
}
input.short,
select.short,
textarea.short {
	width : 8em;
}
input.tel {
	width : 4em;
}
input.zipcode {
	width : 4em;
}

.hl02 {
	font-family : "Libre Baskerville", serif;
	font-size : 3em;
	font-weight : bold;
	line-height : 1;
	margin-bottom : 1em;
}
.hl02 .sub {
	font-family : "Zen Kaku Gothic New", sans-serif;
	font-size : 0.425em;
}

.hl03 {
	font-size : 2em;
	font-weight : bold;
	margin-bottom : 1em;
}

.text > p:not(:last-child) {
	margin-bottom : 1em;
}


.marker {
	background : linear-gradient(transparent 70%, #ebdf41 70%);
}

.table01 {
	width : 100%;
	border-top : 3px solid #2d64af;
	border-collapse : collapse;
}
.table01 tr th {
	text-align : left;
}
.table01 tr th,
.table01 tr td {
	padding : 2em 1em;
	border-bottom : 1px solid #cccccc;
}

.__hscroll {
	overflow-x : auto;
}
.__hscroll table {
	white-space : nowrap;
}

/* ======================================
   pageHeader
====================================== */

#pageHeader {
	z-index : 7;
	position : fixed;
	top : 0;
	width : 100%;
	height : 91px;
}
#pageHeader > .inner {
	display : grid;
	grid-template-columns : auto 1fr;
	height : 100%;
	margin-left : 40px;
	padding : 0 24px;
	border-radius : 0 0 0 20px;
	background-color : #ffffff;
}
#pageHeader .logo {
	display : flex;
	align-items : center;
	margin-right : 40px;
}

#globalNav {
	display : grid;
	grid-template-columns : 1fr auto;
	grid-gap : clamp(1em, 1.2vw, 2em);
	padding : 12px 0;
}
#globalNav .main {
	display : flex;
}
#globalNav .main > li {
	display : flex;
}
#globalNav .main > li:not(:last-child) {
	margin-right : 0.875em;
}
#globalNav .main a {
	display : flex;
	position : relative;
	font-weight : bold;
	justify-content : center;
	align-items : center;
	text-decoration : none;
	letter-spacing : 0.05em;
}
#globalNav .main a::after {
	display : block;
	position : absolute;
	bottom : 0;
	left : 50%;
	width : 0;
	height : 1px;
	content : "";
	transition : 0.2s ease-out;
	background-color : #000000;
}
#globalNav .main a:hover::after {
	left : 0;
	width : 100%;
}



#globalNav .main .has-submenu {
	position : relative;
}
#globalNav .main .submenu {
	visibility : hidden;
	position : absolute;
	top : 100%;
	left : 0;
	width : max-content;
	min-width : 200px;
	transition : opacity 0.3s ease, visibility 0.3s, transform 0.3s ease;
	transform : translateY(10px);
	opacity : 0;
	background-color : rgba(255, 255, 255, 1);
	box-shadow : 0 1px 5px rgba(0,0,0,0.1);
}
#globalNav .main .submenu li a {
	display : block;
	width : auto;
	min-width : 200px;
	padding : 15px 15px;
	white-space : nowrap;
}

#globalNav .main .has-submenu:hover .submenu {
	visibility : visible;
	transform : translateY(0);
	opacity : 1;
}




#globalNav .sub {
	display : flex;
	align-items : center;
}
#globalNav .sub > li {
	display : flex;
}
#globalNav .sub > li a {
	display : flex;
	align-items : center;
}
#globalNav .sub > li.mail a {
	text-decoration : none;
}
#globalNav .sub > li.mail img {
	margin-right : 8px;
}

/* ======================================
   pageBody
====================================== */

#pageBody {
	padding-bottom : 80px;
}
/* ======================================
   pageTitle
====================================== */
/* ======================================
   pageFooter
====================================== */

#pageFooter {
	position : relative;
	overflow : hidden;
}
#pageFooter::after {
	display : block;
	z-index : -2;
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	content : "";
	transform : translateY(120px);
	background-color : #d3a226;
}

#footerContact {
	display : grid;
	grid-template-columns : 1fr auto auto;
	grid-gap : 40px;
	position : relative;
	padding : 80px;
	border-radius : 30px;
	background-color : #f3edd7;
}
#footerContact::after {
	display : block;
	z-index : -1;
	position : absolute;
	top : 0;
	left : 0;
	width : 100%;
	height : 100%;
	content : "";
	transform : translateX(-50%);
	background-color : #f3edd7;
}
#footerContact > * {
	display : flex;
	justify-content : center;
	align-items : center;
}
#footerContact .hl02 {
	margin : 0;
}
#footerContact .tel {
	font-weight : bold;
	flex-direction : column;
	align-items : flex-start;
	margin : 0;
}
#footerContact .tel a {
	display : block;
	font-family : "Libre Baskerville", serif;
	font-size : 3em;
	font-weight : normal;
	line-height : 1;
	text-decoration : none;
}


#pageFooter .content {
	display : flex;
	flex-direction : column;
	align-items : center;
	margin-bottom : 24px;
	padding : 40px 0 0;
}

#pageFooter .content .logo {
	margin-bottom : 24px;
}

#pageFooter .content .name {
	font-size : 1.6em;
	font-weight : bold;
}

#footerNav {
	margin-bottom : 40px;
	text-align : center;
}
#footerNav > ul:first-child {
	margin-bottom : 12px;
}
#footerNav ul > li {
	display : inline-block;
}
#footerNav ul > li:not(:last-child) {
	margin-right : 2em;
}
#footerNav ul > li a {
	text-decoration : none;
}


/* footerNav */
#copyright {
	font-size : 0.75em;
	padding : 1.5em 0;
	text-align : center;
	color : #ffffff;
	background-color : #333333;
}

@media screen and (max-width: 767px) {
	.__pc {
		display : none;
	}
	.__tab {
		display : none;
	}
	.__sp {
		display : unset;
	}
	.anchor {
		scroll-margin-top : 80px;
	}
	#jqPopupContent_container {
		padding : 16px;
	}
	#jqPopupContent_inner {
		padding : 16px;
	}
	#pageHeader > .inner,
	#pageBottom > .inner,
	#pageFooter > .inner,
	main > section > .inner,
	#contentHeader > .inner {
		padding : 0 25px;
	}

	#anchornav ul {
		display : block;
	}
	#anchornav ul > li:not(:last-child) {
		margin-right : 0;
		margin-bottom : 12px;
	}
	#anchornav ul > li a {
		display : block;
		width : 100%;
	}

	.hl02 {
		font-size : 1.8em;
	}
	.table01 tr th {
		display : block;
		font-weight : bold;
		padding : 1.5em 0;
	}
	.table01 tr td {
		display : block;
		line-height : 2;
		padding : 1.5em 0;
	}

	#pageHeader .logo img {
		width : 100%;
		max-width : 417px;
	}

	#contentHeader {
		margin-bottom : 60px;
	}
	#contentHeader .pagetitle {
		font-size : 1.875em;
		padding : 1em 0 30px;
	}
	#contentHeader .pagetitle::after {
		right : -36px;
		bottom : -34px;
		transform : rotate(-60deg) scale(0.5);
	}

	#breadcrumb {
		width : 100%;
		padding : 0 0 10px;
	}


	/* pageHeader */
	#pageHeader {
		height : 80px;
	}
	#pageHeader .logo {
		width : clamp(240px, 42vw, 320px);
	}
	#pageHeader .logo a {
		font-size : 1em;
		padding : 0;
	}
	#globalNav {
		display : block;
		grid-template-columns : 1fr;
	}
	#globalNav .main {
		display : block;
		height : auto;
	}
	#globalNav .main > li {
		display : block;
	}
	#globalNav .main > li a {
		display : block;
		padding : 1em;
		border-bottom : 1px solid #dddddd;
	}
	#globalNav .main > li:not(:last-child) {
		margin-right : 0;
	}


	#globalNav .main .submenu {
		visibility : visible !important;
		display : block !important;
		position : static;
		width : 100%;
		transition : none !important;
		transform : translateY(0) !important;
		opacity : 1 !important;
		background : #f9f9f9;
		box-shadow : none;
	}
	#globalNav .main .submenu li a {
		padding-left : 40px;
	}



	#globalNav .sub {
		display : block;
		height : auto;
		margin : 16px;
	}
	#globalNav .sub > li:not(:last-child) {
		border-right : none;
		border-bottom : 4px solid #2d64af;
	}
	#globalNav .sub > li {
		display : block;
	}

	main > section:not(:last-child) {
		margin-bottom : 60px;
	}


	#footerContact {
		grid-template-columns : 1fr;
		grid-gap : 20px;
		padding-right : 0;
		padding-left : 0;
	}
	#footerContact::after {
		width : 200%;
		transform : translateX(-25%);
	}
	#footerContact h2 {
		text-align : center;
	}
	#footerContact .tel {
		align-items : center;
	}
}

@media screen and (min-width: 768px) and (max-width: 1219px) {
	.__pc {
		display : unset;
	}
	.__tab {
		display : unset;
	}
	.__sp {
		display : none;
	}
	#pageHeader .logo img {
		max-width : 30vw;
	}
	#globalNav .main a {
		font-size : clamp(0.5em, 1.4vw, 1em);
	}
	#globalNav .sub a {
		font-size : clamp(0.5em, 1.4vw, 1em);
	}


	#contentHeader .pagetitle {
		top : 120px;
		padding : 1em 30px 30px;
	}
	#contentHeader .pagetitle::after {
		right : -36px;
		bottom : -34px;
		transform : rotate(-60deg) scale(0.5);
	}
	#breadcrumb {
		padding : 0 30px 10px;
	}
}

@media screen and (min-width: 1220px) and (max-width: 1920px) {
	.__pc {
		display : unset;
	}
	.__tab {
		display : unset;
	}
	.__sp {
		display : none;
	}
}
@media screen and (min-width: 1921px) {
	.__pc {
		display : unset;
	}
	.__tab {
		display : unset;
	}
	.__sp {
		display : none;
	}
	body {
		font-size : 1.2em;
	}
}
