@charset "UTF-8";
/* CSS Document */

html {
	-webkit-overflow-scrolling: touch;
	width: 100%;
	height: auto;
	font-size: 62.5%;
}
* {
	box-sizing: border-box;
}
body {
	width: 100%;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 700;
	*font-size:small;
	*font:x-small;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	background: #fff;

	animation: fadeIn 1s ease 0s 1 normal;
	-webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

html, body, div, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, ul, ol, li, dl, dt, dd, table, th, td,
form, fieldset {
	color: #000;
	font-weight: 100;
	line-height: 1.7;
	margin: 0;
	padding: 0;
	font-size: 16px;
}
body{
}
img{
	border: none;
	max-width: 100%;
}
@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
	img[src$=".svg"] {
		width: 100%;
	}
}

table{
	font-size: inherit;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 10px;
}

label{
	cursor: pointer;
}

input,
select,
textarea{
	padding: 5px;
}

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

a,
input{
	outline: none;
}


/*	Basic Text Link	*/
a {
	color: #1e488d;
	text-decoration: underline;
	transition-property: all;
	transition: 0.2s linear;
	word-break: break-word;
}

a:hover {
	color: #00aca0;
}

em {
	font-style:normal;
}

img {
	width: 100%;
	max-width: 100%;
	vertical-align: middle;
}

.image {
	overflow: hidden;
	margin-bottom: 1em;
}
.image a img {
	width: 100%;
	height: auto;
	display: block;
	transition-duration: .3s;
	margin-left: auto;
	margin-right: auto;
}
.image a img:hover {
	transform: scale(1.05);
	transition-duration: 0.3s;
}
.image a img.auto {
	width: auto;
}

header.site_head {
	width: 100%;
	display: flex;
	align-items: center;
	background-color: #fff;
	padding: 24px 0;
}
.fixed header.site_head {
	margin-top: 0;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background-color: #fff;
	z-index: 1000;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
header.site_head .inner {
	max-width: none;
	display: flex;
	align-items: center;
	width: 92%;
}
header.site_head .logo {
	background-color: #fff;
	border-radius: 6px;

	margin-right: auto;
	max-width: 200px;
}
header.site_head .logo img {
	width: 100%;
}
header.site_head nav ul {
	background-color: #fff;
	border-radius: 40px;
	padding: 0 20px;
	display: flex;
	align-items: center;
}
header.site_head nav {
	display: flex;
}
header.site_head nav li {
	white-space: nowrap;
	position: relative;
	padding: 0 10px;
}
header.site_head nav ul.g_nav li a {
	color: #4b4b4b;
	text-decoration: none;
}
header.site_head nav ul.g_nav li a::before {
	background: #1d407a;
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: auto;
	transform-origin: center top;
	transform: scale(0, 1);
	transition: transform .3s;
}
header.site_head nav ul.g_nav li a:hover {
	color: #1d407a;
}
header.site_head nav ul.g_nav li a:hover::before {
	transform-origin: center top;
	transform: scale(1, 1);
}




section.image {
	padding-top: 80px;
	position: relative;
}
section.image .ir_link {
	position: absolute;
	top: 18%;
	right: 8%;
	width: 34%;
	height: 11%;
}
section.image .detail_link {
	position: absolute;
	top: 28.2%;
	left: 5%;
	width: 27%;
	height: 1.2%;
}

section h2 {
}

.read {
}
.read h3 {
}


.inline.read_block {
	flex-wrap: nowrap;
	justify-content: flex-start;
}
.read_block h2 {
	font-family: "BenchNine", sans-serif;
	font-weight: 400;
	font-style: normal;
	margin-right: 6%;
	font-size: 72px;
	line-height: 62px;
	padding-right: 80px;
}
.read_block h3 {
	font-size: 22px;
}

.link_btn a,
.link_btn button {
	text-align: center;
	display: inline-block;
	padding: 6px 20px;
	border: 2px solid #fff;
	border-radius: 30px;
	color: #fff;
	position: relative;
	background-color: #1d407a;
	text-decoration: none;
}
.link_btn a:hover,
.link_btn button:hover {
	background-color: #fff;
	border-color: #1d407a;
	color: #1d407a;
}

.link_text {
	text-align: right;
	position: relative;
	padding-right: 75px;
	line-height: 1;
}
.link_text:before,
.link_text:after {
	content: '';
	display: block;
	position: absolute;
	height: 1px;
	background-color: #000;
}
.link_text:before {
	width: 60px;
	right: 0;
	bottom: 3px;
}
.link_text:after {
	right: 0;
	bottom: 6px;
	width: 10px;
	transform: rotate(35deg);
}

.main_visual {
	background-color: #fff;
}
.main_visual h2 {
	color: #2889c9;
	font-size: 80px;
	font-weight: 400;
	font-style: normal;
}
.main_visual .read {
	font-size: 32px;
	line-height: 66px;
	font-family: serif;
}

.detaile_visual {
	padding-top: 0;
}
.detaile_visual .col {
	padding: 20px;
	text-align: center;
}
.detaile_visual .col:first-child {
	border-right: 2px solid #002450;
	position: relative;
}
.detaile_visual .col:first-child::before {
	content: url(../images/d_block_logo.webp);
	position: absolute;
	top: 0;
	bottom: 0;
	right: -100px;
	margin: auto 0;
	width: 192px;
	height: 192px;
	transform: scale(0.7);
}
.detaile_visual .col p {
	text-align: left;
	margin: 20px auto;
	max-width: 450px;
}
.detaile_visual h3 {
	text-align: center;
	color: #4c4c4c;
	font-size: 30px;
}
.detaile_visual h3 + .en {
	color: #002450;
	font-size: 24px;
	position: relative;
	padding: 0rem 0rem calc(0px + 8px);
	background: #fff;
	text-align: center;
	max-width: 450px;
	margin: 20px auto;
}
.detaile_visual h3 + .en::before {
	position: absolute;
	top: -10px;
	left: -10px;
	width: 100%;
	height: 100%;
	content: '';
	border: 2px solid #002450;
}
.detaile_visual img {
	max-width: 300px;
	border-radius: 50%;
	margin: 20px auto;
}


.inline.other_list {
	flex-wrap: nowrap;
}
.other_list li {
	flex: 1;
	position: relative;
	overflow: hidden;
}
.other_list li img {
	width: 100%;
	transition: .3s;
}
.other_list li p {
	background-color: #fff;
	width: 80%;
	position: absolute;
	bottom: 50px;
	right: 0;
	left: 0;
	padding: 4px 10px;
	margin: auto;
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #000;
}
.other_list li a:hover {
	opacity: 0.8;
}
.other_list li a:hover img {
	transform: scale(1.1, 1.1);
	transition:0.5s;
}


.news_block {
}
.news_block .inner {
}
.news_block h2 {
	font-size: 28px;
	font-weight: bold;
	color: #000;
	margin-bottom: 0;
	position: relative;
	padding-left: 60px;
	margin-bottom: 40px;
}
.news_block h2::before {
	content: url(../images/icon/icon_h2.png);
	position: absolute;
	left: 0;
}
.news_block .link_text {
	margin-top: 40px;
}
.news_block .dl_wrap {
	border-radius: 10px;
	background-color: #fff;
	padding: 40px;
}
.news_block .dl_wrap dl {
	display: flex;
	padding: 10px;
	border-bottom: 1px solid #ddd;
	align-items: center;
}
.news_block .dl_wrap dl:hover {
	cursor: pointer;
	background-color: #ddd;
}
.news_block .dl_wrap dl dt {
	margin-right: 20px;
}
.category {
	font-size: 12px;
	padding: 10px;
	text-align: center;
	width: 80px;
	display: inline-block;
	margin-right: 20px;
}
.cat_corporate {
	color: #fff;
	background-color: #002450;
}
.cat_news {
	color: #fff;
	background-color: #2889c9;
}


footer {
	background-color: #203459;
	padding: 50px 0 100px;
}
footer .inline {
}
footer p {
	color: #fff;
}
footer ul li a {
	color: #fff;
	padding: 4px 20px;
	text-decoration: none;
	border-right: 1px solid #fff;
}
footer ul li:first-child a {
	padding-left: 0;
}
footer ul li:last-child a {
	border-right: none;
}
footer .company_text {
	margin-bottom: 40px;
}
footer .company_text .company_name {
	display: block;
	font-size: 17px;
	margin-bottom: 10px;
}
footer .copy small {
	display: block;
	text-align: center;
	margin-top: 40px;
	padding: 10px 0 0;
	color: #fff;
}

/* common */
.pcnone {
	display: none !important;
}

.inner {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}

.inline {
	display: flex;
	flex-wrap: wrap;
}
.inline .col {
	flex: 1;
}
.content_wrap {
	background-color: #fcf5eb;
}
section {
	padding: 70px 0;
}
section:first-of-type {
	margin-top: 0;
}

section > section {
	margin: 0 auto;
}

h3, h4 {
	margin-bottom: 10px;
}

.block {
	margin: 30px auto 40px;
	max-width: 1050px;
	width: 90%;
}
section .block {
	margin: 30px auto 40px;
	max-width: 1050px;
	width: 98%;
}
.block .block {
	width: 100%;
}
.block:first-of-type {
}
.block:last-of-type {
	margin-bottom: 0;
}
.block > .block {
	margin: 40px auto;
}
.block > .block:first-of-type {
	margin-top: 0;
}
p + .block:first-of-type,
dl + .block:first-of-type {
	margin-top: 20px !important;
}
.block > .block:last-of-type {
	margin-bottom: 0;
}
.block_mini {
	margin: 20px auto;
	max-width: 1050px;
}
.block.line {
	margin: 0;
	padding: 50px 5%;
	border-bottom: 1px solid #ccc;
}
.block.line:first-of-type {
	padding-top: 0;
}
.block.line:last-of-type {
	border-bottom: none;
	padding-bottom: 0;
}

.basic .block.image_block.center {
	text-align: center;
}
.basic .block.image_block.center img {
	max-width: 90%;
	margin: auto;
}
.image.full img {
	width: 100%;
}
p + .image {
	margin-top: 1em;
}
.inline.flex_wrap.harf .image.wid_20,
.image.wid_20 {
	width: 20%;
	margin: 0;
}
.inline.flex_wrap.harf .image.wid_30,
.image.wid_30 {
	width: 30%;
	margin: 0;
}
.inline.flex_wrap.harf .image.wid_40,
.image.wid_40 {
	width: 40%;
	margin: 0;
}
.inline.flex_wrap.harf .image.wid_50,
.image.wid_50 {
	width: 50%;
	margin: 0;
}
.inline.flex_wrap.harf .image.wid_60,
.image.wid_60 {
	width: 60%;
	margin: 0;
}
.inline.flex_wrap.harf .image.wid_70,
.image.wid_70 {
	width: 70%;
	margin: 0;
}

.inline.flex_wrap.harf .image.wid_20.center,
.image.wid_20.center {
	width: 20%;
	margin: 0 auto;
}
.inline.flex_wrap.harf .image.wid_30.center,
.image.wid_30.center {
	width: 30%;
	margin: 0 auto;
}
.inline.flex_wrap.harf .image.wid_40.center,
.image.wid_40.center {
	width: 40%;
	margin: 0 auto;
}
.inline.flex_wrap.harf .image.wid_50.center,
.image.wid_50.center {
	width: 50%;
	margin: 0 auto;
}
.inline.flex_wrap.harf .image.wid_60.center,
.image.wid_60.center {
	width: 60%;
	margin: 0 auto;
}
.inline.flex_wrap.harf .image.wid_70.center,
.image.wid_70.center {
	width: 70%;
	margin: 0 auto;
}

.block.wid_20 {
	width: 20%;
	margin: 0;
}
.block.wid_30 {
	width: 30%;
	margin: 0;
}
.block.wid_40 {
	width: 40%;
	margin: 0;
}
.block.wid_50 {
	width: 50%;
	margin: 0;
}
.block.wid_60 {
	width: 60%;
	margin: 0;
}
.block.wid_70 {
	width: 70%;
	margin: 0;
}
.block.wid_80 {
	width: 80%;
	margin: 0;
}
.basic .inline .col {
	margin: 0;
}
.basic .inline.fifty .col:first-of-type {
	margin-right: 4%;
}
.inline.more_l .image:last-of-type,
.inline.more_r .image:last-of-type {
	text-align: right;
}
.inline.more_l .image:last-of-type.al_l,
.inline.more_r .image:last-of-type.al_l {
	text-align: left;
}
.inline.more_l .image:last-of-type p,
.inline.more_r .image:last-of-type p {
	text-align: left;
}

.inline_line .col:first-of-type,
.inline.more_l .col:first-of-type,
.inline.more_r .col:first-of-type {
	margin-right: 4%;
}
.inline.more_l .col:first-of-type {
	flex: 2;
}
.inline.more_l .col:last-of-type {
	flex: 1;
}
.inline.more_r .col:first-of-type {
	flex: 1;
}
.inline.more_r .col:last-of-type {
	flex: 2;
}

.inline .col_2 {
	flex: 2;
}
.inline .col_3,
.basic .inline.auto .col, .inline.auto .col.col_3,
.inline.more_l .col.col_3:first-of-type {
	flex: 3;
}
.inline .col_4,
.basic .inline.auto .col, .inline.auto .col.col_4,
.inline.more_l .col.col_4:first-of-type {
	flex: 4;
}
.inline .col_5,
.basic .inline.auto .col, .inline.auto .col.col_5,
.inline.more_l .col.col_5:first-of-type {
	flex: 5;
}
.inline .col_6,
.basic .inline.auto .col, .inline.auto .col.col_6,
.inline.more_l .col.col_6:first-of-type {
	flex: 6;
}
.inline .col_7,
.basic .inline.auto .col, .inline.auto .col.col_7,
.inline.more_l .col.col_7:first-of-type {
	flex: 7;
}
.inline .col_8,
.basic .inline.auto .col, .inline.auto .col.col_8,
.inline.more_l .col.col_8:first-of-type {
	flex: 8;
}
.inline .col_9,
.basic .inline.auto .col, .inline.auto .col.col_9,
.inline.more_l .col.col_9:first-of-type {
	flex: 9;
}

.inline.more_l .col:last-of-type {
	flex: 1;
}
.inline.more_r .col:first-of-type {
	flex: 1;
}

.inline.more_r .col:last-of-type {
	flex: 2;
}
.inline.more_r .col.col_3:last-of-type {
	flex: 3;
}
.inline.more_r .col.col_4:last-of-type {
	flex: 4;
}
.inline.more_r .col.col_5:last-of-type {
	flex: 5;
}
.inline.more_r .col.col_6:last-of-type {
	flex: 6;
}
.inline.more_r .col.col_7:last-of-type {
	flex: 7;
}
.inline.more_r .col.col_8:last-of-type {
	flex: 8;
}
.inline.more_r .col.col_9:last-of-type {
	flex: 9;
}
.block_line .block_col {
	flex: 1;
	margin-right: 3%;
}
.block_line .block_col:last-of-type {
	margin-right: 0;
}
.block_line .block_col .image {
	margin-bottom: 10px;
}
.block_line .block_col .basic_col_title {
	margin-bottom: 15px;
}
.block_line .block_col .basic_sub_title {
	margin-bottom: 10px;
}
.block_line .block_col p,
.block_line .block_col a {
	font-size: 14px;
}

.block_line.wrap.num2 .block_col {
	flex: none;
	width: 48%;
	margin: 1%;
}
.block_line.wrap.num3 .block_col {
	flex: none;
	width: 31%;
	margin: 1%;
}
.block_line.wrap.num4 .block_col {
	flex: none;
	width: 23%;
	margin: 1%;
}

.box_block {
	border: 3px solid #ccc;
	padding: 2.5% 3%;
	background-color: #fff;
}
.box_block.bg_y {
	background-color: #fffef3;
}
.box_block.bg_g {
	background-color: #f5f5f5;
	border-color: #f5f5f5;
}


/* 装飾 */
.bold {
	font-weight: 600;
}

.txt,
.basic p.txt {
	text-indent: 1em;
	line-height: 1.8;
	margin-bottom: 1em;
}
.fos {
	font-size: 90% !important;
}
.fol {
	font-size: 120% !important;
}
.green {
	color: #238966;
}
.yellow {
	color: #f4a452;
}
.blue {
	color: #557ec0;
}
.red {
	color: #ec6d6d;
}
.gray {
	color: #878c8c;
}

.txt_bg_g {
	display: inline-block;
	background-color: #eee;
	padding: 3px 10px;
}

.underline {
	text-decoration: underline;
}

.caption {
	font-size: 12px!important;
	margin: 5px 0;
}
.inmark {
	display: flex;
}
.inmark span {
	margin-right: 10px;
	white-space: nowrap;
}

.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}

.basic .col p.note,
.note {
	font-size: 80%;
	margin: 10px 0;
}
.basic .col p.note.tight,
.note.tight {
	margin: 0;
}
.note.mark {
	position: relative;
	display: flex;
}
.note.mark:before {
	content: '※';
	color: #f00;
}
.note .num {
	color: #f00;
	margin-right: 5px;
}
sup.note {
	color: #f00;
}
.note .note {
	color: #000;
}
.note.mark.al_r {
	justify-content: flex-end;
}

.parenthesis:before {
	content: '【';
}
.parenthesis:after {
	content: '】';
}


/* 基本これでスマホまで */
@media screen and ( max-width:680px ) {
	.pcnone {
		display: inherit !important;
	}
	.spnone {
		display: none;
	}
}

/* TOPへボタン */
#page-top{
	display: block;
	position: fixed;
	z-index: 9999;
	bottom: 5%;
	right: 3%;
	background: rgba(255,255,255,.5);
	border: 1px solid #888;
	border-radius: 50%;
	height: 40px;
	width: 40px;
	text-align: center;
	overflow: hidden;
}
#page-top:hover{
	background: rgba(255,255,255,1);
}
#page-top:before {
	content: '';
	position: absolute;
	top: 10px;
	right: 19px;
	width: 1px;
	height: 25px;
	background: #444;
}
#page-top:after {
	content: '';
	position: absolute;
	top: 10px;
	right: 15px;
	width: 8px;
	height: 8px;
	border-right: 1px solid #444;
	border-top: 1px solid #444;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.canvas {
	padding: 0;
	position: relative;
	bottom: 130px;
}
.waves {
	position:relative;
	width: 100%;
	margin-bottom:-7px; /*Fix for safari gap*/
	min-height:100px;
	max-height:150px;
}
#waveCanvas {
	width: 100%;
	position: absolute;
	bottom: -40px;
	z-index: 1;
}
/* Animation */
.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% {
    transform: translate3d(85px,0,0);
  }
}
