@charset "utf-8";

body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.875;
	letter-spacing: 2px;
	color: #434750;
	position: relative;
	background-color: #F2F5FF;
}
a {
	display: block;
	opacity: 1;
	transition: .5s;
	cursor: pointer;
}
a:hover {
	opacity: .8;
}
img {
	width: 100%;
}
main {
	margin-top: 78.05px;
}
section {
	position: relative;
	z-index: 10;
}
p + p {
	margin-top: 3rem;
}
table th, table td {
	display: block;
}
@media (min-width: 576px){
	main {
		margin-top: 103.69px;
	}
}
@media (min-width: 768px){
	main {
		margin-top: 109.79px;
	}
	table th, table td {
		display: table-cell;
	}
}
@media (min-width: 992px){
	main {
		margin-top: 122px;
	}
}
@media (min-width: 1200px){
	main {
		margin-top: 132px;
	}
}
.bg-white {
	background-color: #fff;
}
.color-blue {
	color: #26499D;
}
.montserrat {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-style: italic;
	font-weight: 300;
	letter-spacing: 0;
}
.style-normal {
	font-style: normal;
}

.common-title {
	margin-bottom: 3rem;
}
.common-title.center {
	text-align: center;
}
.common-title_en {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-style: italic;
	font-weight: 300;
	padding-left: 18px;
	color: #434750;
	position: relative;
	margin-bottom: 12px;
	display: block;
	line-height: 1;
	letter-spacing: 0;
}
.common-title.small .common-title_en {
	color: #A0ACBA;
}
.common-title.center .common-title_en {
	width: fit-content;
	margin: 0 auto 12px;
}
.common-title_en:before {
	content: '';
	width: 7.47px;
	height: 7.47px;
	border-radius: 100%;
	background-color: #26499D;
	position: absolute;
	top: calc(50% - 7.47px/2);
	left: 0;
	display: block;
}
.common-title_en.light-blue:before, .common-title.small .common-title_en:before {
	background-color: #30AFE9;
}
.common-title_jp {
	color: #434750;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: 3px;
	line-height: 1.19;
}
.common-title.small .common-title_jp {
	font-size: 20px;
}
.common-title.center .common-title_jp {
	margin: 0 auto;
}
@media (min-width: 768px){
	.common-title_jp {
		font-size: 4.2rem;
	}
	.common-title.small .common-title_jp {
		font-size: 2.4rem;
	}
}

.common-btn01 {
	font-weight: 500;
	display: flex;
	align-items: center;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 3px;
	transition: .3s;
	letter-spacing: 1px;
}
.common-btn01 img {
	max-width: 4.738rem;
	margin-left: 11px;
}
.common-btn01:hover {
	opacity: 1;
	text-decoration-color: #434750;
}
.common-btn02, .common-btn02_reverse, .contact-btn {
	color: #fff;
	background-color: #0A3E86;
	line-height: 1;
	padding: 2.3rem 2rem;
	width: 100%;
	max-width: 24rem;
	text-align: center;
	border: 2px solid #0A3E86;
	border-radius: 10rem;
	margin: 3rem auto 0;
}
.common-btn02:hover, .contact-btn:hover {
	color: #0A3E86;
	background-color: #fff;
}
.common-btn02_reverse {
	color: #0A3E86;
	background-color: #fff;
	border: 2px solid #fff;
}
.common-btn02_reverse:hover {
	color: #fff;
	background-color: transparent;
}
@media (min-width: 992px){
	.common-btn02, .common-btn02_reverse {
		margin: 3rem 0 0 0;
	}
}

.date {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: #A0ACBA;
	line-height: 1;
	letter-spacing: 0.89px;
	margin-bottom: 10px;
}
.categories {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 5px;
}
.category {
	font-size: 12px;
	letter-spacing: 0.89px;
	border: 1px solid #30AFE9;
	border-radius: 3rem;
	padding: 7px 9px;
	line-height: 1;
}
p.category + p.category {
	margin: 0 0 0 5px;
}
.title {
	font-weight: 400;
}
.anker {
	position: absolute;
	top: -13rem;
	left: 0;
}
@media (min-width: 768px){
	.date {
		margin: 0 15px 0 0;
	}
}

/*
header
*/
.common-header {
	background-color: #F2F5FF;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 25px 15px;
	letter-spacing: 1px;
	z-index: 1000;
}
.navi-open .common-header {
	background-color: #18213D;
	color: #fff;
	height: 100%;
}
.header-logo {
	width: 100%;
	max-width: 27rem;
	height: 3.3rem;
	background: url("../images/common/logo.png") center / cover no-repeat;
}
.navi-open .header-logo {
	background-image: url("../images/common/logo_white.png");
}
.header-nav {
	display: none;
	padding: 5rem 0;
}
.header-nav a {
	border-bottom: 1px solid #A0ACBA;
/*	font-size: 3.2rem;*/
	padding: 3rem 5rem 10px 10px;
	position: relative;
	width: 100%;
}
.header-nav a:hover {
	color: #26499D;
	font-weight: 500;
	opacity: 1;
}
.header-nav a:before {
	content: '';
	background: url("../images/common/arrow_white.png") center / contain no-repeat;
	position: absolute;
	bottom: calc(50% - 18px);
	right: 20px;
	width: 9px;
/*	width: 13px;*/
	height: 16px;
/*	height: 20px;*/
}
.header-contact a {
	color: #fff;
	background: linear-gradient(#007CC5, #6CB2E3);
	font-size: 18px;
	line-height: 1;
	letter-spacing: 1px;
	padding: 15px;
	max-width: 30rem;
	border-radius: 10rem;
	text-align: center;
/*	border-bottom: none;*/
	margin: 5rem auto 0;
	border: 2px solid #18213D;
}
.header-contact a:hover {
	color: #fff;
	background: transparent;
	opacity: 1;
	border: 2px solid #fff;
}
.header-contact a:before, .header-nav-bottom a:before {
	display: none;
}
.header-nav ul.header-nav-bottom, .footer-nav-bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #A0ACBA;
/*	font-size: 2.4rem;*/
	position: absolute;
	bottom: 8rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	
}
.header-nav ul.header-nav-bottom a, .footer-nav-bottom a {
	margin: 0 10px;
	padding: 0;
	text-decoration: underline;
	border-bottom: none;
	font-size: 13px;
}
@media (min-width: 576px){
	.common-header {
		padding: 4.2rem;
	}
	.header-logo {
		max-width: 29rem;
		height: 3.5rem;
	}
	.header-nav {
		padding: 8rem 3rem;
	}
	.header-nav ul.header-nav-bottom {
		bottom: 15px;
	}
}

@media (min-width: 1200px){
	.common-header {
		display: flex;
		align-items: center;
	}
	.header-nav {
		display: block;
		padding: 0;
	}
	.header-nav ul {
		display: flex;
		align-items: center;
	}
	.header-nav a {
		padding: 0 10px;
		border: none;
		position: static;
	}
	.header-nav a:before {
		display: none;
	}
	.header-contact a {
		padding: 13px;
		background: #26499D;
		margin: 0;
		width: 15.3rem;
		border: 2px solid #26499D;
	}
	.header-contact a:hover {
		background: transparent;
		color: #26499D;
		border: 2px solid #26499D;
	}
	.header-nav ul.header-nav-bottom {
		display: none;
	}
	
}
@media (min-width: 1400px){
	.common-header {
		padding: 4.2rem 8rem;
	}
	.header-logo {
		max-width: 30.3rem;
		height: 3.8rem;
	}
	.header-nav a {
		font-size: 18px;
	}
	.header-contact {
		margin-left: 3rem;
	}
	.header-contact a {
		width: 17.3rem;
	}
}


/* hamburger */
.hamburger {
  position: absolute;
  top: 24px;
	right: 15px;
	width: 30px;
	height: 30px;
  margin-left: auto;
  cursor: pointer;
	color: #26499D;
  }
.navi-open .hamburger {
	border: none;
}
.hamburger .line {
  position: absolute;
  left: calc(50% - 15px);
  display: block;
  width: 30px;
  height: 2px;
  background-color: #26499D;
  transition: 0.3s;
}
.hamburger .line:nth-child(1){
    top: calc(50% - 9px);
}
.hamburger .line:nth-child(2){
    top: 50%;
}
.hamburger .line:nth-child(3){
    top: calc(50% + 9px);
}
.navi-open .hamburger .line:nth-child(2){
	background-color: #fff;
    opacity: 0;
}
.navi-open .hamburger .line:nth-child(1){
	background-color: #fff;
    top: 50%;
    transform: rotate(45deg);
}
.navi-open .hamburger .line:nth-child(3){
	background-color: #fff;
    top: 50%;
    transform: rotate(-45deg);
}
@media (min-width: 576px){
	.hamburger {
		top: 36px;
		right: 45px;
	}
}
@media (min-width: 992px){
	.hamburger {
		top: 45px;
	}
}
@media (min-width:1200px) {
	.hamburger {
		display: none;
	}
}


/*
breadcrumbs
*/
.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	color: #A0ACBA;
	letter-spacing: 1px;
	margin-left: 15px;
	padding-left: 18px;
	position: relative;
}
.breadcrumbs:before {
	content: '●';
	color: #30AFE9;
	font-size: 10px;
	position: absolute;
	top: 10px;
	left: 0;
	line-height: 1;
}
.breadcrumbs a, .breadcrumbs span {
	color: #3B4A7F;
}
.breadcrumbs span {
	margin: 0 10px;
}
@media (min-width: 768px){
	.breadcrumbs {
		margin-left: 12.5rem;
	}
}


/*
pagination
*/
.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
}
.page-numbers li a, .page-numbers li span {
	padding: 0 15px;
}
.page-numbers li a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 3px;
	transition: .3s;
}
.page-numbers li a:hover {
	color: #26499D;
	text-decoration-color: #26499D;
	opacity: 1;
}
.page-numbers li a.page-numbers.prev, .page-numbers li a.page-numbers.next {
	padding: 0;
	transition: .5s;
}
.page-numbers li a.page-numbers.prev {
	margin-right: 15px;
}
.page-numbers li a.prev:hover {
	transform: translateX(-3px);
}
.page-numbers li a.page-numbers.next {
	margin-left: 15px;
}
.page-numbers li a.next:hover {
	transform: translateX(3px);
}
.page-numbers img {
	max-width: 4.738rem;
}
.page-numbers.prev img {
	transform: rotate(180deg);
}

/*
common-mv
*/
.common-mv {
	background-color: #F2F5FF;
	padding: 0 15px 5rem;
}
.common-mv-inner {
	width: 100%;
	height: 35rem;
	position: relative;
	background: url("../images/company/company_mv.jpg") right / cover no-repeat;
	border-radius: 3rem;
}
.common-mv-inner:before {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(38, 73, 157, 0.36);
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 3rem;
}
.common-mv-title {
	position: absolute;
	bottom: -1px;
	left: -1px;
	background-color: #F2F5FF;
	padding: 3rem 15px 2.5rem;
	border-radius: 0 3rem 0 0;
	width: 90%;
	max-width: 67.5rem;
}
.common-mv-title_en {
	color: #26499D;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-style: italic;
	font-weight: 300;
	font-size: 4.8rem;
	line-height: 1;
	letter-spacing: 0;
	display: block;
	text-transform: capitalize;
	margin-bottom: 3px;
}
.common-mv-title_jp {
	font-weight: 500;
	display: block;
}
@media (min-width: 768px){
	.common-mv {
		padding: 0 4.5rem 9rem;
	}
	.common-mv-title {
		padding: 3rem 3rem 2.5rem 12.5rem;
	}
}

/*
footer
*/
.footer-contact {
	background: linear-gradient(to bottom, #26499D, #0D1A37);
	padding: 8rem 0;
	color: #fff;
	text-align: center;
}
.footer-contact-title {
	margin-bottom: 4.5rem;
	line-height: 1;
}
.footer-contact-title_en {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-style: italic;
	font-weight: 300;
	font-size: 6rem;
	letter-spacing: 3.53px;
	display: block;
	margin-bottom: 10px;
}
.footer-contact-title_jp {
	font-weight: 500;
	font-size: 3rem;
	display: block;
}
.footer-contact .common-btn02_reverse:hover {
	background-color: transparent;
}
@media (min-width: 768px){
	.footer-contact-title_en {
		font-size: 8rem;
	}
	.footer-contact-title_jp {
		font-size: 4.2rem;
	}
}
@media (min-width: 992px){
	.footer-contact {
		padding: 8.5rem 0 8rem;
	}
}

.footer-main {
	color: #fff;
	padding: 7rem 0 4rem;
	background-color: #18213D;
	position: relative;
	letter-spacing: 1px;
}
.footer-logo {
	margin-bottom: 3rem;
}
.footer-logo img {
	max-width: 30.2rem;
}
.footer-sdgs-logo {
	margin-top: 2.5rem;
}
.footer-sdgs-logo img {
	max-width: 5.5rem;
}
.footer-left {
	text-align: center;
}
.footer-right ul + ul {
	margin-top: 8px;
}
.footer-nav li + li {
	margin-top: 8px;
}
.footer-nav a {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 3px;
	transition: .3s;
}
.footer-nav a:hover {
	text-decoration-color: #fff;
	opacity: 1;
}
.footer-nav-lower a {
	color: #A0ACBA;
	padding-left: 15px;
}
.footer-nav-lower a:hover {
	text-decoration-color: #A0ACBA;
}
.footer-nav-lower + .footer-nav-lower {
	margin-top: 1px;
}
.footer-nav-bottom {
	position: static;
	margin: 12px 0 0 0;
/*	justify-content: flex-start;*/
}
.footer-nav-bottom a {
	margin: 0;
}
.footer-nav-bottom li + li {
	margin-left: 15px;
}
.copyright {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-size: 14px;
	margin-top: 8.5rem;
	text-align: center;
	letter-spacing: 0;
}
@media (min-width: 576px){
	.footer-right ul + ul {
		margin: 0 0 0 8rem;
	}
	.footer-nav {
		justify-content: center;
	}
	
}
@media (min-width: 992px){
	.footer-left {
		text-align: left;
	}
	.footer-sdgs-logo {
		margin-left: 2rem;
	}
	.footer-nav {
		justify-content: flex-end;
	}
	.footer-nav-bottom {
		justify-content: flex-end;
	}
}
.pagetop {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 8.6rem;
	height: 8.6rem;
	border-radius: 100%;
	background: linear-gradient(to bottom, #007CC5, #6CB2E3);
	position: absolute;
	top: -4.3rem;
	right: 15px;
	color: #fff;
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	font-weight: 400;
	letter-spacing: 0.32px;
	line-height: 1;
	z-index: 10;
}
.pagetop:hover {
	opacity: 1;
	top: -4.8rem;
}
.pagetop img {
	max-width: 11.36px;
	margin-bottom: 7px;
}
@media (min-width: 768px){
	.pagetop {
		right: 12rem;
	}
}


/*
Editor-content
*/
.editor-content {
	line-height: 2.188;
}
.editor-content > * + * {
    margin-top: 4rem;
}
.editor-content > * + h3{
    margin-top: 4rem;
}
.editor-content > * + h4 {
    margin-top: 4rem;
}
.editor-content > * + h5 {
    margin-top: 4rem;
}
.editor-content > h3 + *{
    margin-top: 4rem;
}
.editor-content > h4 + *{
    margin-top: 4rem;
}
.editor-content > h5 + *{
    margin-top: 4rem;
}
.editor-content > h2 + h3,
.editor-content > h2 + *,
.editor-content h2 + ul,
.editor-content h2 + ol {
    margin-top: 4rem;
}
.editor-content ul + *,
.editor-content ol + * {
	margin-top: 4rem;
}
.editor-content ol{
    padding-left: 20px;
}
.editor-content ul li{
    list-style: none;
    padding-left: 10px;
    position: relative;
}
.editor-content ul li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '･';
}
.editor-content ol li{
    list-style: decimal;
}
.editor-content ul li + li, .editor-content ol li + li {
	margin-top: 4px;
}
.editor-content p a {
    font-weight: bold;
	font-size: 1.8rem;
}
.editor-content h2 {
	color: #26499D;
	background-color: #fff;
	padding: 2px 2rem;
	font-size: 2rem;
	letter-spacing: 3px;
	font-weight: 500;
}
.editor-content h3 {
	color: #26499D;
	padding: 0 0 10px 2rem;
	font-size: 2rem;
	letter-spacing: 3px;
	font-weight: 500;
	border-bottom: 1px solid #A0ACBA;
}
.editor-content h4 {
	color: #26499D;
	font-size: 2rem;
	letter-spacing: 3px;
	font-weight: 500;
}
.editor-content h5 {
	color: #434750;
	font-size: 18px;
}
.editor-content .alignleft, .editor-content .alignright, .editor-content .aligncenter {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}
.editor-content .alignleft img, .editor-content .alignright img, .editor-content .aligncenter img {
    width: 100%;
}
.editor-content figcaption, .editor-content .has-small-font-size {
	font-size: 13px;
}
.editor-content .has-large-font-size {
	font-size: 20px;
}
.editor-content .has-x-large-font-size {
	font-size: 28px;
}
.editor-content .has-cyan-bluish-gray-color {
	color: #999999!important;
}

.editor-content .credit {
	color: #434343!important;
	font-size: 12px;
}

@media (min-width: 768px){
    .editor-content .img-left, .editor-content .alignleft{
        float: left;
        margin-right: 2rem;
        margin-bottom: 2rem;
    }
    .editor-content .img-right, .editor-content .alignright{
        float: right;
        margin-left: 2rem;
        margin-bottom: 2rem;
    }
    .editor-content .img-left, .editor-content .img-right, .editor-content .alignleft, .editor-content .alignright {
        max-width: 50%;
    }
    .editor-content .img-center, .editor-content .aligncenter{
        text-align: center;
        margin-right: auto;
        margin-left: auto;
    }
    .editor-content .img-left + *:not(p),
    .editor-content .img-right + *:not(p),
    .editor-content .img-center, .editor-content .alignleft + *:not(p),
    .editor-content .alignright + *:not(p),
    .editor-content .aligncenter{
        clear: both;
    }
    .editor-content .alignleft, .editor-content .alignright, .editor-content .aligncenter, .editor-content .alignleft img, .editor-content .alignright img, .editor-content .aligncenter img {
        width: auto;
    }
	.editor-content figcaption {
		font-size: 2.4rem;
	}
	.editor-content .credit {
		font-size: 2rem;
	}
}