@charset "utf-8";
/* ==================================================
		
		トップページ PC

================================================== */

@media screen and (min-width:781px) {
/* --------------------------------------------------
		.vi
-------------------------------------------------- */
.vi  {
	min-width: 1086px;
}
.vi .vi-inner {
	height: 100vh;
 min-height: 830px;
	background: url(/img/vi_bg01_pc.jpg) no-repeat center / cover;
	position: relative;
	box-sizing: border-box;
}
.vi .vi-inner .portal {
 text-align: center;
 position: absolute;
 top: 45%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}
.vi .vi-inner .portal .circle {
 width: 580px;
 height: 580px;
 margin: 0 auto;
 border: 4px solid #ffffff;
 border-radius: 50%;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}
.vi .vi-inner .portal .circle .portal-inner {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}
.vi .vi-inner .portal .circle .portal-inner .portal-box {
 display: flex;
 padding-top: 39px;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li {
 color: #ffffff;
 border: 4px solid #ffffff;
 width: 428px;
 margin: 0 10px;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li:first-of-type {
 background: url(/img/vi_portal_bg01.jpg) no-repeat center / cover;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li:last-of-type {
 background: url(/img/vi_portal_bg02.jpg) no-repeat center / cover;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a:link, 
.vi .vi-inner .portal .circle .portal-inner .portal-box li a:visited {
 color: #ffffff;
 text-decoration: none;
 padding: 28px 0 33px;
 display: block;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a:hover {
 transition: opacity 0.5s;
 background-color: rgba(0,0,0,0.15);
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a h2 {
 font-family: 'Noto Sans JP', sans-serif;
 font-size: 28px;
 font-weight: 500;
 opacity: 1;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a:hover h2 {
 opacity: 1;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a h2 span {
 font-size: 15px;
 font-weight: normal;
 letter-spacing: 0.9px;
 display: block;
}
.vi .vi-inner .scroll {
 font-family: 'Noto Sans JP', sans-serif;
 font-weight: 300;
 text-align: center;
 position: absolute;
 bottom: 20px;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 padding-left: 11px;
}
.vi .vi-inner .scroll a:link,
.vi .vi-inner .scroll a:visited {
 color: #ffffff;
 text-decoration: none;
}
.vi .vi-inner .scroll a .scroll-inner {
 margin-left: 20px;
}
.vi .vi-inner .scroll a .scroll-inner span {
 letter-spacing: 0.3px;
 writing-mode: vertical-rl;
 border-left: 1px solid #ffffff;
 padding: 10px 0 31px 3px;
 position: relative;
}
.vi .vi-inner .scroll a .scroll-inner span::after {
 content: "";
 display: inline-block;
 background: url(/img/vi_arrow01.png) no-repeat;
 width: 10px;
 height: 10px;
 position: absolute;
 left: 0;
 bottom: 1px;
}
.vi .vi-inner .scroll a .txt {
 font-size: 14px;
 letter-spacing: 0.4px;
 padding-top: 8px;
}
 
/* --------------------------------------------------
		section
-------------------------------------------------- */
section {
 min-width: 1086px;
} 
section:first-of-type {
 margin-top: 0;
} 
section h3 {
 font-family: 'Noto Sans JP', sans-serif;
 font-size: 20px;
 color: #ffffff;
 font-weight: 300;
 line-height: 1.6;
 letter-spacing: 0.5px;
 text-align: center;
 background: #00679a;
 padding: 27px 0 32px;
 position: sticky;
 top: 0;
 z-index: 100;
} 
section h3 span {
 font-size: 10px;
 letter-spacing: 0.1px;
 display: block;
} 
section .section-inner {
 text-align: center;
 width: 1086px;
 margin: 90px auto 0;
} 
section .section-inner:first-of-type {
 margin-top: 0;
} 
section .section-inner h4 {
 font-size: 40px;
 color: #00679a;
 line-height: 1.5;
 letter-spacing: 0.7px;
 padding-bottom: 28px;
 margin-top: 95px;
} 
section .section-inner .txt {
 line-height: 2;
 letter-spacing: 0.1px;
 padding-top: 23px;
} 
section .section-inner .txt:first-of-type {
 padding-top: 0;
} 
section .section-inner .img {
 padding-top: 45px;
} 
section .section-inner:last-of-type .img {
 padding-bottom: 110px;
} 
 
/* --------------------------------------------------
		.credo
-------------------------------------------------- */
section.credo .section-inner > .txt:first-of-type {
 padding-top: 95px;
} 
section.credo .section-inner .credo-inner {
 width: 904px;
 margin: 15px auto 0;
} 
section.credo .section-inner .credo-inner li {
 padding: 18px 20px 30px;
 border: 5px solid #edf5f9;
 background: #f8fcff;
 margin-top: 20px;
 box-sizing: border-box;
} 
section.credo .section-inner .credo-inner li:first-of-type {
 margin-top: 0;
} 
section.credo .section-inner .credo-inner li:last-of-type {
 padding: 0;
 margin: 0;
 border: 0;
 background: none;
 height: 110px;
} 
section.credo .section-inner .credo-inner li h5 {
 font-size: 35px;
 color: #00679a;
} 
section.credo .section-inner .credo-inner li h5 span {
 font-size: 35px;
 color: #555555;
 margin-top: -10px;
 display: block;
} 
section.credo .section-inner .credo-inner li .txt {
 font-size: 14px;
 line-height: 1.7;
 letter-spacing: 0;
 margin-top: 5px;
} 
 
/* --------------------------------------------------
		.overview
-------------------------------------------------- */
section.overview .section-inner {
 text-align: left;
} 
section.overview .section-inner table {
	width: 904px;
 margin: 95px auto 0;
	border-collapse: collapse;
	table-layout: fixed;
}
section.overview .section-inner table tbody tr th {
	font-size: 14px;
	text-align: left;
	color: #ffffff;
	vertical-align: top;
	padding: 13px 20px;
	border: 1px solid #cccccc;
	background: #00679a;
}
section.overview .section-inner table tbody tr th:first-child {
	width: 142px;
}
section.overview .section-inner table tbody tr td {
	font-size: 14px;
	text-align: left;
	color: #555555;
	padding: 13px 20px;
	border: 1px solid #cccccc;
}
section.overview .section-inner table tbody tr td dl {
	margin-top: 15px;
}
section.overview .section-inner table tbody tr td dl:first-child {
	margin-top: 0;
}
section.overview .section-inner table tbody tr td dl dt {
	font-weight: bold;
}
section.overview .section-inner table tbody tr td .history > li {
 margin-left: 87px;
 text-indent: -87px;
}
section.overview .section-inner table tbody tr td .pdf {
	display: flex;
	align-items: center;
}
section.overview .section-inner table tbody tr td .pdf > p > img {
	margin-right: 10px;
}
section.overview .section-inner table tbody tr td a:link, 
section.overview .section-inner table tbody tr td a:visited {
	text-decoration: underline;
	color: #555555;
}
section.overview .section-inner table tbody tr td a:hover {
	text-decoration: none;
	color: #555555;
}		 

}


/* ==================================================
		
		トップページ SP

================================================== */

@media screen and (max-width: 780px) {
/* --------------------------------------------------
		.vi
-------------------------------------------------- */
.vi .vi-inner {
	height: 100vh;
 min-height: 645px;
	background: url(/img/vi_bg01_sp.jpg) no-repeat center / cover;
	position: relative;
	box-sizing: border-box;
}
.vi .vi-inner .portal {
 width: 65%;
 box-sizing: border-box;
 text-align: center;
 position: absolute;
 top: 45%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}
.vi .vi-inner .portal .circle {
 width: 100%;
 padding-top: 100%;
 margin: 0 auto;
 border: 2px solid #ffffff;
 border-radius: 50%;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}
.vi .vi-inner .portal .circle .portal-inner {
 width: 145%;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}
.vi .vi-inner .portal .circle .portal-inner h1 {width: 30%;margin: 0 auto;}
.vi .vi-inner .portal .circle .portal-inner .portal-box {
 display: flex;
 justify-content: center;
 padding-top: 20px;
 width: 100%;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li {
 color: #ffffff;
 border: 2px solid #ffffff;
 width: 49%;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li:first-of-type {
 background: url(/img/vi_portal_bg01.jpg) no-repeat center / cover;
 margin-right: 5px;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li:last-of-type {
 background: url(/img/vi_portal_bg02.jpg) no-repeat center / cover;
 margin-left: 5px;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a:link, 
.vi .vi-inner .portal .circle .portal-inner .portal-box li a:visited {
 color: #ffffff;
 text-decoration: none;
 padding: 10px 10px 15px;
 display: block;
 display: grid;
 align-items: center;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a h2 {
 font-family: 'Noto Sans JP', sans-serif;
 font-size: 17px;
 font-weight: 500;
 line-height: 1.1;
 opacity: 1;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a:hover h2 {
 opacity: 1;
}
.vi .vi-inner .portal .circle .portal-inner .portal-box li a h2 span {
 font-size: 10px;
 font-weight: normal;
 line-height: 1.3;
 letter-spacing: 0.9px;
 display: block;
 padding-top: 5px;
}
.vi .vi-inner .scroll {
 font-family: 'Noto Sans JP', sans-serif;
 font-weight: 300;
 text-align: center;
 position: absolute;
 bottom: 10px;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 padding-left: 1px;
}
.vi .vi-inner .scroll a:link,
.vi .vi-inner .scroll a:visited {
 color: #ffffff;
 text-decoration: none;
}
.vi .vi-inner .scroll a .scroll-inner {
 margin: 0 0 -4px 22%;
}
.vi .vi-inner .scroll a .scroll-inner span {
 font-size: 11px;
 letter-spacing: 1px;
 writing-mode: vertical-rl;
 border-left: 1px solid #ffffff;
 padding: 5px 0 15px 2px;
 position: relative;
}
.vi .vi-inner .scroll a .scroll-inner span::after {
 content: "";
 display: inline-block;
 background: url(/img/vi_arrow01.png) no-repeat;
 width: 10px;
 height: 10px;
 position: absolute;
 left: 0;
 bottom: 1px;
}
.vi .vi-inner .scroll a .txt {
 font-size: 12px;
 letter-spacing: 0.2px;
}
 
/* --------------------------------------------------
		section
-------------------------------------------------- */
section {
 margin-top: 30px;
} 
section:first-of-type {
 margin-top: 0;
} 
section h3 {
 font-family: 'Noto Sans JP', sans-serif;
 font-size: 16px;
 color: #ffffff;
 font-weight: 300;
 line-height: 1.6;
 letter-spacing: 0.5px;
 text-align: center;
 background: #00679a;
 margin-bottom: 20px;
 padding: 13px 0 17px;
} 
section h3 span {
 font-size: 9px;
 letter-spacing: 0.1px;
 display: block;
} 
section .section-inner {
 text-align: center;
 padding: 0 12px;
 margin-top: 25px;
} 
section .section-inner:first-of-type {
 margin-top: 0;
} 
section .section-inner h4 {
 font-size: 23px;
 color: #00679a;
 line-height: 1.4;
 padding-bottom: 15px;
} 
section .section-inner .txt {
 font-size: 12px;
 text-align: left;
 padding-top: 10px;
} 
section .section-inner .txt:first-of-type {
 padding-top: 0;
} 
section .section-inner .img {
 width: 100%;
 margin: 0 auto;
 padding-top: 18px;
} 
section .section-inner:last-of-type .img {
 width: 60%;
} 
 
/* --------------------------------------------------
		.about
-------------------------------------------------- */
section.about .section-inner .about-inner-sp dl {
 padding-top: 25px;
} 
section.about .section-inner .about-inner-sp dl dd {
 padding: 13px 3% 0;
} 
section.about .section-inner .about-inner-sp dl dd .tit {
 font-size: 17px;
 line-height: 1.4;
 color: #00679a;
 font-weight: 500;
 text-align: left;
} 
section.about .section-inner .about-inner-sp dl:last-of-type dd .tit {
 color: #555555;
} 
section.about .section-inner .about-inner-sp dl dd .txt {
 padding-top: 8px;
} 
 
/* --------------------------------------------------
		.credo
-------------------------------------------------- */
section.credo .section-inner h4 {
 padding-top: 25px;
} 
section.credo .section-inner .credo-inner li {
 padding: 15px;
 border: 5px solid #edf5f9;
 background: #f8fcff;
 margin-top: 10px;
 box-sizing: border-box;
} 
section.credo .section-inner .credo-inner li:first-of-type {
 margin-top: 0;
} 
section.credo .section-inner .credo-inner li:last-of-type {
 display: none;
} 
section.credo .section-inner .credo-inner li h5 {
 font-size: 18px;
 color: #00679a;
} 
section.credo .section-inner .credo-inner li h5 span {
 font-size: 18px;
 color: #555555;
 line-height: 1.4;
 display: block;
} 
section.credo .section-inner .credo-inner li .txt {
 font-size: 12px;
 margin-top: 5px;
} 
 
/* --------------------------------------------------
		.overview
-------------------------------------------------- */
section.overview .section-inner {
 text-align: left;
} 
section.overview .section-inner table {
	width: 100%;
	border-collapse: collapse;
}
section.overview .section-inner table tbody tr:first-child {
	border-top: 1px solid #cccccc;
}
section.overview .section-inner table tbody tr th {
	font-size: 12px;
	color: #ffffff;
	padding: 6px;
	border: 1px solid #cccccc;
	border-top: 1px solid transparent;
	background: #00679a;
	display: block;
}
section.overview .section-inner table tbody tr td {
	font-size: 12px;
	text-align: left;
	color: #555555;
	padding: 6px;
	border: 1px solid #cccccc;
	border-top: 1px solid transparent;
	display: block;
}
section.overview .section-inner table tbody tr td dl {
	margin-top: 10px;
}
section.overview .section-inner table tbody tr td dl:first-child {
	margin-top: 0;
}
section.overview .section-inner table tbody tr td dl dt {
	font-weight: bold;
}
section.overview .section-inner table tbody tr td .dlli > dd {
 text-indent: -12px;
 margin-left: 12px;
}
section.overview .section-inner table tbody tr td .history > li {
	margin-left: 75px;
	text-indent: -75px;
}
section.overview .section-inner table tbody tr td .pdf {
	display: flex;
	align-items: center;
}
section.overview .section-inner table tbody tr td .pdf > p > img {
	width: 28px;
	height: 28px;
	margin-right: 10px;
}
section.overview .section-inner table tbody tr td a:link, 
section.overview .section-inner table tbody tr td a:visited {
	text-decoration: underline;
	color: #555555;
}
section.overview .section-inner table tbody tr td a:hover {
	text-decoration: none;
	color: #555555;
}		 
 
}