
@charset "utf-8";
:root {
	--main-color: #0c234a;
}
/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_not_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* メインの日本語フォント */
.f_min { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; }
.f_hira { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; }
.f_hirago { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; }

/* メインの日本語フォント 太字 */
.f_min_bold { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; font-weight: 600; }
.f_hira_bold { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; font-weight: 600; }
.f_gothic_bold { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; font-weight: 600; }
.f_hirago_bold { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; font-weight: 600; }

/* 英字用フォント */
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }

/* 画像フィット用 */
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }

/*===========
inview
===========*/

.inview {
	opacity: 0;
	transform: translate(0, 20%);
	transition: 1s;
}
.inview.is-show {
	transform: translate(0, 0);
	opacity: 1;
}
/* ズレ表示用sample */
.works_list .parts:nth-child(2) {
	transition-delay: .2s;
}
.works_list .parts:nth-child(3) {
	transition-delay: .4s;
}


/*PC用*/
@media print, screen {
	.pc { display: block !important }
	.sp { display: none !important }
	.h_menu, #sp_global_nav { display: none; }

	#header {
		position: relative;
		margin: 0 auto;
		width: 892px;
		max-width: 90%;
		padding-top: 17px;
		height: 69px;
	}
	#header ul {
		align-items: center;
	}
	main {
		background: #fdeef4;
	}
	.wrapper {
		width: 1200px;
		margin: 0 auto;
		position: relative;
		background: url("../../images/src/bg_wrap.png") center top no-repeat;
	}
	.members {
		width: 1120px;
		margin: 12px auto 0;
		background: #fff;
		border-radius: 1em;
	}
	.members div {
		position: relative;
		border-radius: 0;
	}
	.btn1,
	.btn2 {
		width: 666px;
		margin: 0 auto;
		position: absolute;
		right: 0;
		left: 0;
		bottom: 37px;
	}
	.facility_map {
		width: 1200px;
		margin: 0 auto;
		padding-top: 3px;
		background: #fff;
	}
	.attension {
		margin-top: 2em;
		text-align: center;
		font-size: 0.7rem;
	}
	.pagetop {
		position: absolute;
		top: -45px;
		right: 50px;
		z-index: 999;
		display: none;
	}
	#footer {
		margin: 60px 0;
		text-align: center;
	}
	#footer ul {
		justify-content: center;
		align-items: center;
		gap: 0 32px;
	}
	#footer ul + ul {
		margin: 15px 0 27px;
	}
	#footer ul li {
		position: relative;
	}
	#footer ul li::after {
		content:'';
		position: absolute;
		right: -16px;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1px;
		height: 11px;
		background: #000000;
	}
	#footer ul li a {
		color: #000000;
		font-size: 14px;
		font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
	}
	#footer ul li a:hover {
		text-decoration: underline;
	}
	#footer #copyright {
		margin-top: 10px;
		color: #000000;
		font-size: 12px;
		font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif;
	}
	
}

@media screen and (min-width: 829px) and (max-width: 1200px) {
	.wrapper {
		width: 100vw;
		background-size: 100%;
	}
	.members {
		width: 93.33vw;
		margin: 1vw auto 0;
		border-radius: 1em;
	}
	.btn1,
	.btn2 {
		width: 55.5vw;
		bottom: 3.08vw;
	}
	.facility_map {
		width: 100vw;
		padding-top: 0.25vw;
	}
}
/*SP用*/
@media screen and (max-width:828px) {
	.pc { display: none !important }
	.sp { display: block !important }
	img { max-width: 100%; height: auto; width: 100%; }
	body { min-width: auto !important; overflow: inherit !important; }
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }

	#header {
		margin: 0 3.382vw;
		padding: 0;
		width: auto;
		max-width: initial;
		height: 12.56vw;
	}
	#header ul {
		height: 12.56vw;
	}
	#header li {
		width: 16.184vw;
	}
	#header li:nth-child(2) {
		width: 17.391vw;
	}
	#header li:nth-child(3) {
		width: 19.082vw;
	}
	#header li:nth-child(4) {
		width: 19.082vw;
	}
	#header li a {
		display: flex;
		align-items: center;
	}

	.wrapper {
		width: 100vw;
		background-size: 100%;
	}
	.members {
		width: 93.33vw;
		margin: 1vw auto 0;
		border-radius: 1em;
	}
	.btn1,
	.btn2 {
		width: 55.5vw;
		bottom: 3.08vw;
	}
	.facility_map {
		width: 100vw;
		padding-top: 0.25vw;
	}
	.attension {
		font-size: 2vw;
	}

	.pagetop {
		width: 15.942vw;
		top: 6.039vw;
		right: 3.623vw;
	}

	#footer {
		margin: 2em 8.8vw 11.6vw;
		text-align: center;
	}
	#footer ul {
		display: block;
	}
	#footer ul + ul {
		margin: 0 0 9.333vw;
	}
	#footer ul li {
		position: relative;
		text-align: left;
		margin-bottom: 3vw;
	}
	#footer ul li::after {
		display: none;
	}
	#footer ul li a {
		font-size: 3.733vw;
	}
	#footer .ft_logo {
		margin: 0 auto;
		width: 56.467vw;
	}
	#footer #copyright {
		margin-top: 2.867vw;
		font-size: 3.2vw;
	}
	
}

/* 印刷用 */
@media print {
	body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}



