@charset "UTF-8";



*{margin:0;padding:0;text-decoration:none}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none}address{font-style:normal}
html{font-size: 62.5%;}
body{font-size: 1.6em;}


/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */



/* マージン */
.margin02 {	margin-bottom: 2px; }
.margin05 {	margin-bottom: 5px; }
.margin06 {	margin-bottom: 6px; }
.margin08 {	margin-bottom: 8px; }
.margin10 {	margin-bottom: 10px; }
.margin15 {	margin-bottom: 15px; }
.margin20 {	margin-bottom: 20px; }
.margin30 {	margin-bottom: 30px; }
.margin40 {	margin-bottom: 40px; }


/* 文字装飾 */
strong {
	font-weight: 500;
	color: #0f4aa2;
}

ul {
}
ul li {
	list-style:none;	
}

img {
	width: 100%;
	height: auto;
}


/* float解除 */
.cbox { 
}
* html .cbox {
	zoom: 100%;
}
*:first-child+html .cbox {
	display: inline-block;
}
.cbox:after {
	content: "."; 
	clear: both; 
	height: 0; 
	display: block; 
	visibility: hidden;
}

input[type="button"],input[type="text"],input[type="submit"],input[type="image"],area__text{
    -webkit-appearance: none;
    border-radius: 0;
}

/* box-sizing */ 
* {
	box-sizing: border-box;
}




/* リンク */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
a {
	color: #0f4aa2;
	transition: 0.3s;
	-webkit−transition: 0.3s;
}
a:hover {
}
a.jump_point {
	height: 1px;
	display: block;
	margin-top: -150px;
	padding-top: 150px;
}
.cap {
	font-size: 1.4rem;
}
.right {
	text-align: right;
}
#Main strong {
	color: #5f889f;
	font-size: 1.8rem;
}




/* テキスト装飾 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */


.pc {
	display: block;
}
.sp {
	display: none;
}
table {
	margin: 10px 0;
	width: 100%;
	border-collapse: collapse;
	border-top: solid 1px #d9e4ec;
}
	table th {
		text-align: left;
		color: #0f4aa2;
		padding: 20px 0;
		font-weight: 500;
		border-bottom: solid 1px #d9e4ec;
		width: 15%;
	}
	table td {
		text-align: left;
		border-bottom: solid 1px #d9e4ec;
		padding: 20px 0;
		font-size: 1.4rem;
	}







/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	position: relative;
	font-family: "Noto Sans JP";
	font-weight: 500;
	background: #FFF url("../img/bg.svg") no-repeat top left;
	background-size: 640px;
	color: #000;
	padding: 0;
	margin: 0;
	letter-spacing: 0.1em;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	/*text-align: justify;*/
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}







/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
header {
	position: fixed !important;
	width: 100%;
	top: 0;
	z-index: 10000;
	padding: 20px 40px;
	font-weight: 500;
	
}

	header #logo {
		float: left;
		width: 90px;
	}
	header p {
		position: fixed;
		top: 30px;
		right: 100px;
		text-align: center;
		line-height: 1.4;
	}
	header p span {
		display: block;
		font-size: 1.2rem;
	}
	header p a {
		display:inline-block;
		background: #00a0df;
		color: #FFF;
		height: 50px;
		padding: 5px 60px;
		border-radius: 25px;
	}










/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

.inner {
	width: 1140px;
	max-width: 90%;
	margin: 0 auto;
}
.cell {
	margin-top: 40px;
}

.section__title {
	text-align: left;
	padding: 100px 0 150px 0;
}
.section__title.web {
	background: url("../img/title_web.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.grant {
	background: url("../img/title_grant.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.staff {
	background: url("../img/title_human.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.recruitment {
	background: url("../img/title_human.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.sns {
	background: url("../img/title_sns.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.news {
	background: url("../img/title_news.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.works {
	background: url("../img/title_works.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.about {
	background: url("../img/title_about.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.recruit {
	background: url("../img/title_recruit.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.contact {
	background: url("../img/title_contact.svg") no-repeat 95% center;
	background-size: 440px;
}
.section__title.policy {
	background: url("../img/title_recruit.svg") no-repeat 95% center;
	background-size: 440px;
}


.section__title h2 {
	background: url("../img/img_tit01.svg") no-repeat top left;
	background-size: 40px;
	padding-top: 20px;
	
	font-size: 7rem;
	font-weight: 900;
	line-height: 1;
}
.section__title h2 span {
	display: block;
	font-size: 2.4rem;margin-top: 20px;
}




.section__bg {
	padding: 60px 0;
}
.section__bg--gray {
	background: #f7f8fa;
	
	padding: 60px 0;
}
.section__bg--black {
	background: #2f353f;
	padding: 60px 0;
}



.box {
	background: #FFF;
	padding: 50px;
}





h3 {
	border-left: solid 2px #0f4aa2;
	font-weight: 700;
	font-size: 3rem;
	padding: 5px 0 10px 15px;
	margin-bottom: 30px;
}
h3 span {
	display: block;
	font-size: 1.2rem;
	color: #b2b2b2;
}
h4 {
	background: #2f353f;
	text-align: center;
	color: #FFF;
	font-size: 2rem;
	padding: 10px 0;
	margin-bottom: 30px;
}







.set {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	
	-webkit-flex-wrap: wrap; 
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}


.area__text {
	float: left;
	width: 50%;
}
.area__photo {
	float: right;
	width: 45%;
}




ul.dot {
}
	ul.dot li {
		margin-bottom: 5px;
	}
	ul.dot li:last-child {
		margin-bottom: 0;
	}
	ul.dot li::before {
		display: inline-block;
		content: "";
		margin-top: 12px;
		margin-right: 7px;
		width: 6px;
		height: 6px;
		vertical-align: top;
		border-radius: 5px;
		background-color: #00a0df;
	}



.btn {
	margin: 0 auto;
	max-width: 370px;
	position: relative;
	display: block;
	width: 100%;
	background: #00a0df;
	border-radius: 30px;
	color: #0f4aa2;
	text-align: center;
	
	transition: 0.3s;
	-webkit−transition: 0.3s;
}
.btn a {
	display: block;
	padding: 15px;
	color: #FFF;
}
.btn:after {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	position: absolute;
	top: 45%;
	right: 3%;
	transform: rotate(45deg);
	
	transition: 0.3s;
	-webkit−transition: 0.3s;

}
.btn:hover {
	background: #0f4aa2;
	color: #FFF;
}
.btn:hover:after {
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	position: absolute;
	top: 45%;
	right: 1%;
	transform: rotate(45deg);
}


#partner {
}
#partner li {
	text-align: center;
}
#partner li img {
	width: 90%;
}








/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#area__contact {
	background: #00a0df;
	text-align: center;
}
#area__contact a {
	display: block;
	color: #FFF;
	padding: 100px 0;
}
#area__contact a h3 {
	font-size: 7rem;
	border: none;
	margin: 0;
	padding: 0;
}


#footer {
	font-size: 1.2rem;
	text-align: center;
	padding: 60px 0;
	position: relative;
}
#footer p {
	margin-bottom: 30px;
}
#footer .instagram img {
	width: 28px;
}
#footer img {
	width: 104px;
}
#footer .inner {
	position: relative;
}
#footer .inner .policy {
	position: absolute;
	bottom: 0;
	right: 0;
}
.block {
	position: absolute;
	top: -50px;
	right: 100px;
  width: 160px;
  height: 160px;
  margin: auto;
}

.circleText {
  overflow: visible;
  animation: rotation 18s linear infinite;
}
.circleText__circle {
  fill: none;
}
.circleText__text {
  fill: #000;
  font-size: 12px;
  letter-spacing: 0.08em;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}






.slider02,
.slider03 {
	margin: 100px 0 !important;
	
}





/* max 1023px */
@media screen and (max-width: 1023px) {
.pc {
	display: none;
}
.sp {
	display: block;
}
table {
	margin: 10px 0;
	width: 100%;
	border-collapse: collapse;
	border-top: solid 1px #d9e4ec;
}
	table th {
		display: block;
		width: 100%;
		text-align: left;
		color: #0f4aa2;
		padding: 20px 0 0 0;
		font-weight: 500;
		border-bottom: none;
	}
	table td {
		display: block;
		width: 100%;
		text-align: left;
		border-bottom: solid 1px #d9e4ec;
		padding: 0 0 20px 0;
		font-size: 1.4rem;
	}
	
	
body {
	font-size: 1.2rem;
}
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
header {
	width: 100%;
	top: 0;
	z-index: 10000;
	padding: 15px;
	font-weight: 500;
	
}

	header #logo {
		float: left;
		width: 60px;
	}
	header p {
		position: fixed;
		top: 10px;
		right: 70px;
	}
	header p a {
		display:inline-block;
		background: #00a0df;
		color: #FFF;
		padding: 8px 60px;
		border-radius: 25px;
	}
	

	

	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

.inner {
	width: 900px;
	max-width: 90%;
	margin: 0 auto;
}
.article {
	margin-bottom: 15%;
}
.cell {
	margin-top: 20px;
}

.section__title {
	text-align: left;
	padding: 100px 0 100px 0;
}
.section__title.web {
	background: url("../img/title_web.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.grant {
	background: url("../img/title_grant.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.staff {
	background: url("../img/title_human.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.recruitment {
	background: url("../img/title_human.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.sns {
	background: url("../img/title_sns.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.news {
	background: url("../img/title_news.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.works {
	background: url("../img/title_works.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.about {
	background: url("../img/title_about.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.recruit {
	background: url("../img/title_recruit.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.contact {
	background: url("../img/title_contact.svg") no-repeat right center;
	background-size: 40%;
}
.section__title.policy {
	background: url("../img/title_policy.svg") no-repeat right center;
	background-size: 40%;
}

	
	
.section__title h2 {
	background: url("../img/img_tit01.svg") no-repeat top left;
	background-size: 40px;
	padding-top: 20px;
	
	font-size: 4rem;
	font-weight: 900;
	line-height: 1;
}
.section__title h2 span {
	display: block;
	font-size: 1.6rem;margin-top: 20px;
}

	
	
.section__bg {
	padding: 60px 0;
}
.section__bg--gray {
	background: #f7f8fa;
	
	padding: 60px 0;
}
.section__bg--black {
	background: #2f353f;
	padding: 60px 0;
}



.box {
	background: #FFF;
	padding: 5%;
}





h3 {
	border-left: solid 2px #0f4aa2;
	font-weight: 700;
	font-size: 2rem;
	padding: 5px 0 10px 15px;
	margin-bottom: 30px;
}
h3 span {
	display: block;
	font-size: 1.0rem;
	color: #b2b2b2;
}
h4 {
	background: #2f353f;
	text-align: center;
	color: #FFF;
	font-size: 1.6rem;
	padding: 10px 0;
	margin-bottom: 30px;
}

	
	
	
	
	
	
	
	
	
ul.dot {
}
	ul.dot li {
		margin-bottom: 10px;
	}
	ul.dot li::before {
		display: inline-block;
		content: "";
		margin-top: 8px;
		margin-right: 7px;
	}
	

.area__text {
	float: none;
	width: 100%;
}
.area__photo {
	float: none;
	width: 100%;
	margin-top: 5%;
}

	
.btn {
	position: relative;
	display: block;
	width: 100%;
	background: #0f4aa2;
	border-radius: 6px;
	color: #0f4aa2;
	text-align: left;
}
	
.page {
}
.page ul {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: left;
	
	-webkit-flex-wrap: wrap; 
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.page ul li {
	width: 100%;
	margin-right: 0%;
	margin-bottom: 1%;
}
.page ul li:nth-child(2n) {
	margin-right: 0%;
}
.page:not(body) li a {
	position: relative;
	display: block;
	width: 100%;
	background: #0f4aa2;
	border-radius: 6px;
	color: #FFF;
	padding: 10px;
	text-align: center;
	font-size: 1.4rem;
}
.page:not(body) li a:after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 1px #FFF;
	border-right: solid 1px #FFF;
	position: absolute;
	top: 45%;
	right: 5%;
	transform: rotate(45deg);
}
.page:not(body) li a:hover {
	background: #FFF;
	color: #0f4aa2;
}
.page:not(body) li a:hover:after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 1px #0f4aa2;
	border-right: solid 1px #0f4aa2;
	position: absolute;
	top: 45%;
	right: 5%;
	transform: rotate(45deg);
}

	
	





/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#area__contact {
	background: #00a0df;
	text-align: center;
}
#area__contact a {
	display: block;
	color: #FFF;
	padding: 50px;
}
#area__contact a h3 {
	font-size: 4rem;
	border: none;
	margin: 0;
}


#footer {
	font-size: 1.2rem;
	text-align: center;
	
	padding: 30px 0;
}
#footer p {
	margin-bottom: 30px;
}
#footer .instagram img {
	width: 28px;
}
#footer img {
	width: 60px;
}
#footer .inner {
	position: relative;
}
#footer .inner .policy {
	position: relative;
	bottom: 0;
	right: 0;
}
.block {
	position: absolute;
	top: -20px;
	right: 20px;
  width: 100px;
  height: 100px;
  margin: auto;
}

.circleText {
  overflow: visible;
  animation: rotation 18s linear infinite;
}
.circleText__circle {
  fill: none;
}
.circleText__text {
  fill: #000;
  font-size: 11px;
  letter-spacing: 0.1em;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
	
	
	
	
	
	
}

/* === ボタン類をブランドネイビー#0f4aa2に統一＋ホバーで濃紺に変化（cantik 2026-06-11） === */
header p a,
#area__contact,
.btn,
#contact .mfp_buttons button { background: #0f4aa2 !important; transition: background-color .25s ease, opacity .25s ease !important; }
header p a:hover,
#area__contact:hover,
.btn:hover,
#contact .mfp_buttons button:hover { background: #0a3576 !important; }

/* レスポンシブ安全策：横スクロール暴発防止（全ページ共通） */
html, body { overflow-x: hidden; }

/* ===== タイトル帯 文字×イラスト重なり防止（2026-07-23・全ページ共通） ===== */
@media screen and (min-width:1024px){
	.section__title{ background-position:right 24px center !important; background-size:380px !important; }
	.section__title h2{ max-width:calc(100% - 480px); }
}
@media screen and (max-width:1023px){
	.section__title{ background:none !important; }
	.section__title h2{ max-width:100% !important; }
}

/* 2026-09-25 H1重複の解消（ck26の50ページでH1が2本あった）。
   ヘッダーのロゴを p に落とし、ヒーローの見出し（検索語入り）を本来のH1にする。
   common.css の `header p{position:fixed…}` と `header p a{青いピルボタン}` に
   ロゴが捕まって画面外へ飛び画像が0×0になるため、#logo だけ元の見た目へ戻す。
   ロゴがh1のままのページではこのセレクタは一致しないので無害。 */
header p#logo{position:static !important;top:auto !important;right:auto !important;left:auto !important;
  text-align:left !important;line-height:normal !important;}
header p#logo a{display:inline !important;background:none !important;background-color:transparent !important;
  color:inherit !important;height:auto !important;padding:0 !important;border-radius:0 !important;}
header p#logo a:hover{background:none !important;background-color:transparent !important;}
