@charset "utf-8";
/* CSS Document */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	scroll-behavior: smooth;
}
body {
	font-family: "Noto Sans JP","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color: #3D3D3D;
}
a {
	color: #38BDF8;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}
a:hover { color: #FACC15; }
/* header -------------------- */
header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1200px;
	height: 80px;
	margin: 0 auto;
}
header h1 {
	margin: 0;
	line-height: 0;
}
header h1 img { height: 40px; }
header #global_navi { width: 570px; }
header #global_navi nav ul {
	display: flex;
  align-items: center;
  justify-content: space-around;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}
header #global_navi nav ul li { text-align: center; }
header #global_navi nav ul li a {
	text-decoration: none;
	color: #000000;
}
header #global_navi nav ul li a:hover { color: #38BDF8; }
/* top_main_img -------------------- */
#top_contents #top_main_img {
  position: relative;
	height: 750px;
	background: #36ADE4;
}
/* 基本線 */
#top_contents #top_main_img .line {
  position: absolute;
	bottom: 250px;
  width: 100%;
  height: 3px;
}
/* アニメ前 */
#top_contents #top_main_img .line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: #FFFFFF;
  transition: width 4s;
}
/* アニメ開始 */
#top_contents #top_main_img .line.is-animated::after { width: 100%; }
/* 中央要素の初期状態（下に隠して非表示） */
#top_contents #top_main_img .center_item {
  position: absolute;
  left: 50%;
  bottom: 245px;
  margin-left: -171px;
  opacity: 0;
  transform: translateY(50px); /* 下からスタート */
  transform-origin: center;
}
/* バウンドで上に飛び出す */
#top_contents #top_main_img .center_item.is-show {
  opacity: 1;
  animation: bounceUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
/* 下から上へのバウンドキーフレーム */
@keyframes bounceUp {
  0% {
    opacity: 0;
    transform: translateY(0px);
  }
	/* 少し上に跳ねる */
  60% {
    opacity: 1;
    transform: translateY(-10px);
  }
	/* ちょっと戻る */
  80% { transform: translateY(5px); }
	/* 最終位置で安定 */
  100% { transform: translateY(0); }
}
/* top -------------------- */
#top_contents h2 {
	margin: 0 0 40px 0;
	text-align: center;
	font-size: 36px;
}
#top_contents h2::first-letter { color: #38BDF8; }
#top_contents h2 span {
	display: block;
	padding-top: 10px;
	color: #ACACAC;
	font-weight: normal;
	font-size: 14px;
}
/* top_company */
#top_contents #top_company {
	padding: 100px 0;
	background-image: url("../img/top_company_img01.jpg"), url("../img/top_company_img02.jpg");
	background-repeat: no-repeat, no-repeat;
	background-position: top left, bottom right;
	text-align: center;
}
#top_contents #top_company p {
	margin: 0 0 40px 0;
	font-size: 26px;
}
#top_contents #top_company a.btn_black { width: 250px; }
/* top_our_service */
#top_contents #top_our_service {
	padding: 100px 0;
	background: #F7F9FA;
}
#top_contents #top_our_service div {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	margin: 0 auto;
}
#top_contents #top_our_service div section {
	width: 590px;
	padding: 45px 0;
	background-color:rgba(15,23,42,0.4);
	background-blend-mode: overlay;
	background-repeat: no-repeat;
	border-radius: 10px;
	text-align: center;
}
#top_contents #top_our_service div section h3 {
	margin: 0 0 30px 0;
	color: #FFFFFF;
	font-size: 36px;
}
#top_contents #top_our_service div section h3 span {
	display: block;
	font-weight: normal;
	font-size: 20px;
}
#top_contents #top_our_service div section#system {
	background-image: url("../img/bg_system.jpg");
	background-position: bottom;
}
#top_contents #top_our_service div section#app {
	background-image: url("../img/bg_app.jpg");
	background-position: center;
}
/* top_news */
#top_contents #top_news {
	display: grid;
  grid-template-columns: 300px 1fr;
  grid-template-areas:
    "title list"
    "more  list";
	width: 1200px;
	margin: 0 auto;
	padding: 100px 0;
}
#top_contents #top_news h2 { grid-area: title; }
#top_contents #top_news div {
	grid-area: more;
	text-align: center;
}
#top_contents #top_news dl {
	grid-area: list;
	display: grid;
	grid-template-columns: 160px 1fr;
	font-size: 14px;
}
#top_contents #top_news dl dt ,
#top_contents #top_news dl dd {
	margin: 0 0 10px 0;
	padding: 10px 20px;
	background: #F7F9FA;
	border-top: solid 1px #E2E8F0;
	border-bottom: solid 1px #E2E8F0;
}
#top_contents #top_news dl dt {
	border-left: solid 1px #E2E8F0;
	border-radius: 6px 0px 0px 6px;
}
#top_contents #top_news dl dd {
	border-right: solid 1px #E2E8F0;
	border-radius: 0px 6px 6px 0px;
}
/* top_other */
#top_contents #top_other {
	padding: 50px 0;
	background: #F7F9FA;
}
#top_contents #top_other div {
	display: flex;
	justify-content: space-between;
	width: 1200px;
	margin: 0 auto;
}
#top_contents #top_other div p {
	position: relative;
	overflow: hidden;
	width: 590px;
	border-radius: 10px;
	font-size: 26px;
}
#top_contents #top_other div p#bp_link {
	display: flex;
	align-items: center;
	justify-content: center;
}
#top_contents #top_other div p a {
	position: relative;
	display: block;
	padding: 20px;
	text-decoration: none;
	color: #FFFFFF;
	z-index: 1;
}
#top_contents #top_other div p#erp_link:after ,
#top_contents #top_other div p#bp_link:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-size: cover;
  background-position: 50% 40%;
	background-color:rgba(15,23,42,0.5);
	background-blend-mode: overlay;
	background-repeat: no-repeat;
	transition: all .3s ease-out;
}
#top_contents #top_other div p#erp_link:after { background-image: url("../img/bg_erp.jpg"); }
#top_contents #top_other div p#bp_link:after { background-image: url("../img/bg_bp.jpg"); }
#top_contents #top_other div p#erp_link:hover:after ,
#top_contents #top_other div p#bp_link:hover:after { transform: scale(1.1); }
#top_contents #top_other div p#erp_link span {
	display: block;
	font-size: 16px;
}
/* 下層 -------------------- */
/* main_img */
#main_img {
	position: relative;
  line-height: 0;
}
#main_img h1 {
	position: absolute;
	top: 50%;
	width: 100%;
	color: #FFFFFF;
	text-align: center;
	z-index: 100;
}
#main_img h1::first-letter { color: #7CD5FE; }
#main_img h1 span {
	display: block;
	padding-top: 30px;
	font-weight: normal;
	font-size: 14px;
}
#main_img img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}
#main_img #overlay {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(15, 23, 42, 0.3);
}
/* パンくずリスト */
ul#breadcrumbs {
	display: flex;
	width: 1200px;
	margin: 0 auto;
	padding-top: 20px;
	list-style: none;
	font-size: 14px;
}
ul#breadcrumbs li {	margin: 0 10px 0 0; }
ul#breadcrumbs li::after {
	content: "/";
	margin-left: 10px;
}
ul#breadcrumbs li:last-child::after { content: ""; }
#contents {
	width: 1200px;
	margin: 0 auto;
	padding: 100px 0;
}
#contents #catchphrase {
	padding-bottom: 100px;
	text-align: center;
	font-weight: bold;
	font-size: 32px;
}
#contents h2 ,
#kenko_news h2 {
	margin-bottom: 30px;
	padding-left: 50px;
	background: url("../img/h2_icon.png") no-repeat left center;
	font-size: 30px;
}
#contents h3 {
	margin-bottom: 40px;
	font-size: 20px;
}
#contents p {
	padding-bottom: 10px;
	line-height: 1.8;
}
#contents table {
	width: 100%;
	border-top: 1px solid #0F172A;
	border-left: 1px solid #0F172A;
	border-spacing: 0;
}
#contents table th ,
#contents table td {
	padding: 10px 20px;
	border-right: 1px solid #0F172A;
	border-bottom: 1px solid #0F172A;
}
#contents table th {
	width: 200px;
	background: #E2E8F0;
	font-weight: normal;
	text-align: left;
}
#contents .contents_area { padding-bottom: 100px; }
#contents .contents_area:last-child { padding-bottom: 0; }
/* 代表メッセージ */
#president_message {
	display: grid;
	grid-template-columns: 1fr 400px;
}
#president_message div:first-child { margin-right: 20px; }
#president_message #president_photo {
	display: flex;
	align-items: center;
	justify-content: center;
	max-height: 400px;
}
/* 経営理念 */
#corporate_philosophy {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
#corporate_philosophy section {
	margin: 0 10px;
	padding: 10px;
	background: #38BDF8;
	border-radius: 10px;
}
#corporate_philosophy section h4 {
	padding: 0 0 15px 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 30px;
}
#corporate_philosophy section div {
	height: calc(100% - 60px);
	padding: 20px;
	background: #FFFFFF;
	border-radius: 10px;
}
/* 会社概要 */
#company_data {
	display: grid;
	grid-template-columns: 440px 1fr;
}
#company_data div {
	display: flex;
	align-items: center;
}
/* 沿革 */
dl#history dt {
	margin-top: 20px;
	padding: 5px 20px;
	background-image: linear-gradient(90deg, rgba(56, 189, 248, 1) 100px, rgba(255, 255, 255, 1) 100px);
	border-bottom: 1px solid #38BDF8;
	color: #FFFFFF;
}
dl#history dd { padding: 10px 20px; }
dl#history dd:nth-of-type(odd) {
	float: left;
	width: 120px;
}
dl#history dd:nth-of-type(even) { margin-left: 120px; }
/* アクセス */
#access {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
#access section {
	margin: 0 10px;
	background: #F7F9FA;
}
#access section iframe {
	width: 100%;
	height: 300px;
	border: 0;
}
#access section h4 {
	padding: 10px;
	font-size: 18px;
}
#access section p { padding: 10px; }
/* 親会社のご紹介 */
#parent_company section {
	display: grid;
	grid-template-columns: 370px 1fr;
	padding: 10px 0;
  border-top: 1px dashed #0F172A;
  border-bottom: 1px dashed #0F172A;
}
#parent_company section div {
	display: grid;
	align-items: center;
}
#parent_company section div:first-child { padding: 0 40px; }
#parent_company section div:first-child img {
	max-width: 220px;
	max-height: 80px;
}
#parent_company section div p { padding: 0; }
/* 資格取得状況 */
table#qualification_status th ,
table#qualification_status td:nth-of-type(2) { text-align: center; }
table#qualification_status th:first-child { width: 950px; }
/* 事業内容 */
#development_link section {
	display: grid;
	grid-template-columns: 500px 1fr;
	box-sizing: border-box;
	margin-bottom: 20px;
}
#development_link section div:first-child {
	display: grid;
  align-items: center;
	padding: 0 40px;
	height: 150px;
	background: #0F172A;
	border-radius: 10px 0 0 10px;
}
#development_link section div p {
	padding: 0;
	color: #FFFFFF;
	font-size: 32px;
	line-height: 1;
}
#development_link section div p span {
	display: block;
	padding-top: 20px;
	font-size: 20px;
}
#development_link section div#system ,
#development_link section div#app {
	position: relative;
	background-color: rgba(15, 23, 42, 0.4);
	background-repeat: no-repeat;
	background-size: cover;
	background-blend-mode: overlay;
	border-radius: 0 10px 10px 0;
}
#development_link section div#system {
	background-image: url("../img/bg_system.jpg");
	background-position: right bottom;
}
#development_link section div#app {
	background-image: url("../img/bg_app.jpg");
	background-position: right;
}
#development_link section div#system a ,
#development_link section div#app a {
	position: absolute;
  bottom: 20px;
  right: 20px;
	display: inline-block;
	width: 200px;
	padding: 10px 20px;
	border: 2px solid #FFFFFF;
	border-radius: 50px;
	text-align: center;
	text-decoration: none;
	color: #FFFFFF;
}
#development_link section div#system a:hover ,
#development_link section div#app a:hover {
	border: 2px solid #38BDF8;
	color: #38BDF8;
}
/* 開発体制、感染症対策について */
#project_structure ,
#infection_prevention {
	display: grid;
	grid-template-columns: repeat(2, 590px);
}
#project_structure div ,
#infection_prevention div {
	padding-left: 20px;
}
#project_structure div img ,
#infection_prevention div img { width: 100%; }
/* システム開発、アプリ開発 */
/* 開発スキル */
#dev_skill {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding-top: 20px;
}
#dev_skill section {
	margin: 0 10px;
	padding: 15px 0;
	background-position: top right 10px;
	background-repeat: no-repeat;
}
#dev_skill section#backend { background-image: url("../img/icon_backend.png"); }
#dev_skill section#frontend { background-image: url("../img/icon_frontend.png"); }
#dev_skill section#db { background-image: url("../img/icon_data_base.png"); }
#dev_skill section#design { background-image: url("../img/icon_design.png"); }
#dev_skill section h3 {
	margin-bottom: 10px;
	padding: 0 10px 10px 10px;
	border-bottom: 1px solid #0F172A;
	font-size: 16px;
}
#dev_skill section p {
	padding: 0 10px;
	font-size: 14px;
}
/* 開発の流れ */
#development_flow dt {
	margin-top: 20px;
	font-size: 24px;
}
#development_flow dt span {
	display: inline-block;
	width: 80px;
	height: 80px;
	margin-right: 20px;
	padding: 15px 0;
	background: #38BDF8;
	border-radius: 100%;
	text-align: center;
	font-size: 32px;
	color: #FFFFFF;
}
#development_flow dd {
	margin-left: 100px;
	padding: 20px;
	background: #F7F9FA;
	border-radius: 10px;
	line-height: 1.8;
}
/* 開発実績 */
#track_record {
	display: grid;
	grid-template-columns: repeat(4, 1fr);	
}
#track_record section {
	box-sizing: border-box;
	margin: 10px;
	padding: 10px;
	border: 10px solid #F7F9FA;
}
#track_record section h3 {
	margin-bottom: 10px;
	text-align: center;
	font-size: 16px;
}
#track_record section span {
	display: inline-block;
	margin-right: 5px;
	padding: 2px 10px 4px 10px;
	background: #0F172A;
	border-radius: 50px;
	font-size: 12px;
	color: #FFFFFF;
}
#track_record section p {
	margin-top: 10px;
	padding: 0;
}
/* 健康経営宣言 */
#declaration {
	display: grid;
	grid-template-columns: 1fr 300px;
}
#declaration div:first-child { margin-right: 20px; }
#declaration div img { width: 100%; }
#declaration div ol {
	list-style-type: none;
	margin: 20px 0;
}
#declaration div ol li ul {
	list-style: disc;
	margin: 10px 0;
}
#declaration div ol li ul li { margin-left: 3.5em; }
#kenko_news {
	margin-bottom: 100px;
	padding: 50px 0;
	background: #F7F9FA;
}
/* 健康経営　最新の投稿 */
#kenko_news div {
	width: 1200px;
	margin: 0 auto;
}
#kenko_news div dl {
	display: grid;
	grid-template-columns: 180px 1fr;
}
#kenko_news div dl dt {
	padding: 15px;
	border-bottom: 1px dashed #ACACAC;
	font-size: 14px;
}
#kenko_news div dl dd {
	margin-left: 2px;
	padding: 12px;
	border-bottom: 1px dashed #ACACAC;
}
/* SDGs宣言 */
#sdgs_declaration {
	display: grid;
	grid-template-columns: 1fr 400px;
}
#sdgs_declaration div:first-child { margin-right: 40px; }
#sdgs_declaration div img { width: 100%; }
/* SDGs */
#sdgs_contents {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}
#sdgs_contents section {
	margin: 0 10px;
	padding: 20px;
	border: 1px solid #0F172A;
	border-radius: 10px;
}
#sdgs_contents section h3 {
	margin-bottom: 30px;
	text-align: center;
	font-size: 24px;
}
#sdgs_contents section div {
	margin-bottom: 30px;
	text-align: center;
}
#sdgs_contents section ul { margin-left: 20px; }
/* 社内での小さな取り組み */
#initiatives {
	display: grid;
	grid-template-columns: 1fr 300px;
}
#initiatives div:first-child { margin-right: 40px; }
#initiatives div img { width: 100%; }
/* 情報セキュリティ方針、個人情報保護方針 */
#policy h3 { margin: 50px 0 30px 0; }
#policy ul ,
#policy ol { margin: 0 0 40px 40px; }
/* お問い合わせ */
#contact h3 { margin-top: 30px; }
dl#inquiry {
  display: grid;
  grid-template-columns: 250px 1fr;
  border-top: 1px dashed #ACACAC;
}
dl#inquiry dt {
  padding: 10px 20px;
  font-weight: normal;
  border-bottom: 1px dashed #ACACAC;
  margin: 0;
}
dl#inquiry dt span {
  margin-left: 10px;
  padding: 2px 5px 4px 5px;
  background: #CC0000;
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 12px;
}
dl#inquiry dd {
	margin-left: 2px;
  padding: 10px 20px;
  border-bottom: 1px dashed #ACACAC;
}
input,
select,
textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ACACAC;
	border-radius: 6px;
	min-height: 40px;
}
dd div#postal_code_area input { margin-bottom: 10px; }
dl#inquiry dd div#postal_code_area input,
dl#inquiry dd#tel_area input { width: 100px; }
#inquiry_btn_area {
	padding-top: 100px;
	text-align: center;
}
#inquiry_btn_area input[type=submit] {
	width: 250px;
  padding: 15px 25px;
	background: #0F172A;
	border: none;
  border-radius: 50px;
	color: #FFFFFF;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
	cursor: pointer;
}
#inquiry_btn_area input[type=submit]:hover { background: #38BDF8; }
#inquiry_btn_area .wpcf7-spinner { display: none; }
/* ビジネスパートナー募集 */
#partner_recruitment {
	display: grid;
	grid-template-columns: 1fr 400px;
}
#partner_guidelines {
	display: grid;
	grid-template-columns: 400px 1fr;
}
#partner_recruitment div:first-child { margin-right: 40px; }
#partner_guidelines div:last-child { margin-left: 40px; }
#partner_recruitment div p .btn_black { margin-top: 40px; }
#partner_recruitment div img ,
#partner_guidelines div img { width: 100%; }
#partner_qa h3 {
	width: 200px;
	margin: 0;
	padding: 10px 0;
	background: #0F172A;
	border-radius: 10px 10px 0 0;
	color: #FFFFFF;
	text-align: center;
	font-weight: normal;
	font-size: 18px;
}
#partner_qa dl {
	padding: 30px;
	border-radius: 0 10px 10px 10px;
	border: 1px solid #0F172A;
}
#partner_qa dl dt ,
#partner_qa dl dd {
	position: relative;
	margin-bottom: 40px;
	padding-left: 65px;
}
#partner_qa dl dd {
	padding-bottom: 40px;
	border-bottom: 1px dashed #ACACAC;
}
#partner_qa dl dd:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}
#partner_qa dl dt::before {
	position: absolute;
	left: 0;
	display: block;
	content: "Q";
  box-sizing: border-box;
	width: 35px;
  height: 35px;
  padding: 2px 10px;
  background: #38BDF8;
  text-align: center;
	color: #FFFFFF;
  font-size: 18px;
}
#partner_qa dl dd::before {
	position: absolute;
	left: 0;
	display: block;
	content: "A";
  box-sizing: border-box;
	width: 35px;
  height: 35px;
  padding: 2px 10px;
  background: #F36366;
  text-align: center;
	color: #FFFFFF;
  font-size: 18px;
}
/* お知らせ */
#news_contens {
	display: grid;
	grid-template-columns: 1fr 300px;
}
/* お知らせ一覧 */
#news_contens #news_list_area {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
#news_contens #news_list_area section {
	display: grid;
	grid-template-columns: 160px 1fr;
	margin: 10px;
	padding: 10px;
	border: 1px solid #ACACAC;
	border-radius: 8px;
}
#news_contens #news_list_area section div {
	position: relative;
	min-height: 150px;
}
#news_contens #news_list_area section div img {
	width: 150px;
	height: 150px;
	object-fit: cover;
	vertical-align: top;
}
#news_contens #news_list_area section div span ,
#news_contens #news_detail_area span {
	display: inline-block;
	margin-bottom: 5px;
	padding: 3px 5px;
	color: #FFFFFF;
	font-size: 14px;
}
#news_contens span.blue { background: #38BDF8; }
#news_contens span.red { background: #cc0000; }
#news_contens #news_list_area section div h3 {	font-size: 16px; }
#news_contens #news_list_area section div p {
	padding-bottom: 0;
	font-size: 14px;
}
#news_contens #news_list_area section div a.news_link {
	position: absolute;
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	min-width: 80px;
  padding: 5px;
	border: solid 2px #38BDF8;
  border-radius: 6px;
	color: #38BDF8;
	text-decoration: none;
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}
#news_contens #news_list_area section div a.news_link:hover {
	background: #38BDF8;
	color: #FFFFFF;
}
/* お知らせページネーション */
#news_contens div .pagination {
	padding: 20px 0;
	text-align: center;
}
#news_contens div .pagination .nav-links a {
	display: inline-block;
	padding: 2px 10px;
	text-decoration: none;
	color: #000000;
}
#news_contens div .pagination .nav-links a:hover {
  background-color: #efefef;
}
#news_contens div .pagination .nav-links .page-numbers {
	padding: 2px 10px;
	border: 1px solid #E2E8F0;
	border-radius: 6px;
}
#news_contens div .pagination .nav-links .current {
	background: #38BDF8;
	border: 1px solid #38BDF8;
	color: #FFFFFF;
}
#news_contens div .pagination .nav-links .prev, 
#news_contens div .pagination .nav-links .next {
	font-size: 0; /* 元のテキストを非表示 */
}
#news_contens div .pagination .nav-links .prev::before {
	content: "<";
	font-size: 16px;
}
#news_contens div .pagination .nav-links .next::before {
	content: ">";
	font-size: 16px;
}
/* お知らせ詳細 */
#news_contens #news_detail_area p { margin-bottom: 20px; }
#news_contens #news_detail_meta { padding: 40px 0!important; }
#news_contens #news_detail_meta p {
	padding: 40px 0 0 0;
	font-size: 14px;
}
/* お知らせサイドメニュー */
#news_contens #news_side_navi { margin-left: 40px; }
#news_contens #news_side_navi section h3 {
	position: relative;
	margin-bottom: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #0F172A;
	font-size: 20px;
}
#news_contens #news_side_navi section h3:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100px;
  height: inherit;
  border-bottom: 1px solid #38BDF8;
}
#news_contens #news_side_navi section ul {
	margin: 20px 0 40px 0;
	list-style: none;
	font-size: 14px;
}
#news_contens #news_side_navi section ul li { border-bottom: 1px dashed #ACACAC; }
#news_contens #news_side_navi section ul li a {
	display: block;
	padding: 20px;
	text-decoration: none;
	color: #3D3D3D;
}
#news_contens #news_side_navi section ul li a:hover { color: #38BDF8; }
/* footer -------------------- */
footer {
	padding: 30px 0 20px 0;
	background: #0F172A;
}
footer #footer_contents {
	color: #FFFFFF;
	text-align: center; 
	font-size: 12px;
}
footer #footer_contents ul {
	width: 600px;
	margin: 0 auto;
	list-style: none;
}
footer #footer_contents ul li { display: inline-block; }
footer #footer_contents ul li a {
	display: inline-block;
	margin: 0 0 15px 0;
  padding: 0 15px;	
	text-decoration: none;
	color: #FFFFFF;
	border-right: 1px solid #FFFFFF;
}
footer #footer_contents ul li:last-child a ,
footer #footer_contents ul li.no_border a { border-right: none; }
footer #footer_contents ul li a:hover { color: #38BDF8; }
footer #footer_contents p#footer_logo { padding: 25px 0 40px 0; }
footer #footer_contents p#copyright { padding: 0; }
/* 共通 -------------------- */
/* カラム */
.photo-col-2 {
	display: grid;
	grid-template-columns: 1fr 400px;
}
.photo-col-2 div:first-child { margin-right: 20px; }
.photo-col-2 div img { width: 100%; }
/* ボタン系 */
a.btn_black {
	display: inline-block;
	min-width: 200px;
  padding: 15px 25px;
	background: #0F172A;
  border-radius: 50px;
	color: #FFFFFF;
	text-decoration: none;
	text-align: center;
	font-size: 14px;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}
a.btn_black:hover { background: #38BDF8; }
a.btn_white {
	display: inline-block;
	min-width: 200px;
  padding: 12px 25px;
	border: solid 3px #FFFFFF;
  border-radius: 50px;
	color: #FFFFFF;
	text-decoration: none;
	text-align: center;
	font-size: 14px;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}
a.btn_white:hover {
	border: solid 3px #38BDF8;
	color: #38BDF8;
}
/* テキスト */
.txt_right { text-align: right; }