@charset 'utf-8';

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 0.07em;
	color: #0C1418;
	background-color: #DFDFDF;
	position: relative;
}
img {
	width: 100%;
}
a {
	display: block;
	transition: .5s;
}
a:hover {
	opacity: .8;
}
section {
	padding: 5rem 0;
	position: relative;
}
p + p {
	margin-top: 2.4rem;
}
@media (min-width:992px){
	section {
		padding: 10rem 0;
	}
}


/*
common
*/
.color-blue	{
	color: #005875;
}
.color-red {
	color: #FF383C;
}
.font-outfit {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
}
.fs16 {
	font-size: 16px;
}
.fs20 {
	font-size: 16px;
}
.fw500 {
	font-weight: 500;
}
.fw600 {
	font-weight: 600;
}
.fw700 {
	font-weight: 700;
}
.underline {
	text-decoration: underline;
	text-underline-offset: 10px;
}
.section-title {
	margin-bottom: 3rem;
}
.section-title.white, .white .section-title-en {
	color: #fff;
}
.section-title-en {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
	color: #005875;
	font-weight: 600;
	padding-left: 15px;
	position: relative;
	margin-bottom: -5px;
	line-height: 1;
	display: block;
	letter-spacing: 0;
}
.section-title-en:before {
	content: '';
	width: 8px;
	height: 16px;
	background-color: #005875;
	position: absolute;
	top: 0;
	left: 0;
}
.white .section-title-en:before {
	background-color: #fff;
}
.section-title-jp {
	font-size: 3.2rem;
	font-weight: 700;
}
.section-subtitle {
	position: relative;
	margin-bottom: 2.4rem;
	border-bottom: 1px solid #005875;
	border-left: 4px solid #005875;
	padding-left: 15px;
	width: fit-content;
}
.section-subtitle-en {
	font-family: "Outfit", "Noto Sans JP", sans-serif;
	color: #005875;
	font-weight: 600;
	display: block;
	line-height: 1;
}
.section-subtitle-jp {
	font-size: 2rem;
	font-weight: 600;
}
.common-btn, .common-btn-reverse {
	box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.25);
	padding: 15px 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	transition: .5s;
}
.common-btn {
	color: #fff;
	background-color: #005875;
	border: 2px solid #005875;
}
.common-btn:hover {
	color: #005875;
	background-color: #fff;
}
.common-btn-reverse {
	color: #005875;
	background-color: #fff;
	border: 2px solid #fff;
}
.common-btn-reverse:hover {
	color: #fff;
	background-color: transparent;
}
.common-btn iconify-icon, .common-btn-reverse iconify-icon {
	margin-left: 16px;
	font-size: 2rem;
}
.scroll-position {
	position: absolute;
	top: -80px;
	left: 0;
}
.logo-bg {
	background: url("../images/common/logo_bg.png") top center / contain no-repeat;
}
.logo-bg.cover {
	background-size: cover;
}
@media (min-width:1200px){
	.logo-bg {
		background-size: cover;
	}
}

/*
header
*/
header {
	position: fixed;
	top: 16px;
	left: 0;
	right: 0;
	z-index: 1000;
}
.common-header {
	position: relative;
	padding: 16px 3.6rem;
	display: flex;
	align-items: center;
	box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.25);
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: 8px;
}
.header-logo img {
	max-width: 9rem;
}
.header-nav {
	margin-left: auto;
	display: none;
}
.navi-open .header-nav {
	display: block;
	position: fixed;
	top: 14rem;
	right: 15px;
	left: 15px;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 3rem;
	width: calc(100% - 30px);
	border-radius: 8px;
}
.header-nav a {
	font-size: 16px;
	font-weight: 600;
	padding: 12px 0;
	text-align: center;
}
.header-nav .header-contact a {
	padding: 2rem;
	margin: 12px auto;
	width: 100%;
	max-width: 23rem;
}
@media (min-width:992px){
	.header-logo img {
		max-width: 8rem;
	}
	.header-nav {
		display: flex;
		align-items: center;
	}
	.header-nav a {
		padding: 0 12px;
		text-align: left;
	}
	.header-nav .header-contact a {
		padding: 15px 2rem;
		margin: 0 0 0 10px;
		max-width: 18.5rem;
	}
}
@media (min-width:1200px){
	.header-logo img {
		max-width: 9rem;
	}
	.header-nav .header-contact a {
		margin: 0 2rem;
		max-width: 20rem;
	}
}

/* hamburger */
.hamburger {
  position: absolute;
  top: 23%;
  right: 3rem;
	width: 6rem;
	height: 6rem;
  margin-left: auto;
  cursor: pointer;
	background-color: #005875;
	color: #fff;
  }
.navi-open .hamburger {
	border: none;
}
.hamburger .line {
  position: absolute;
  left: calc(50% - 11px);
  display: block;
  width: 22px;
  height: 2px;
  background-color: #fff;
  transition: 0.3s;
}
.hamburger .line:nth-child(1){
    top: calc(50% - 9px);
}
.hamburger .line:nth-child(2){
    top: calc(50% - 1px);
}
.hamburger .line:nth-child(3){
    top: calc(50% + 7px);
}
.navi-open .hamburger .line:nth-child(2){
    opacity: 0;
}
.navi-open .hamburger .line:nth-child(1){
    top: 50%;
    transform: rotate(45deg);
}
.navi-open .hamburger .line:nth-child(3){
    top: 50%;
    transform: rotate(-45deg);
}
@media (min-width:992px) {
	.hamburger {
		display: none;
	}
}

/*
common-mv
*/
.common-mv {
	background: url("../images/common/common_mv.jpg") center / cover no-repeat;
	padding: 20rem 0 18rem;
}
.common-h1 {
	color: #fff;
	font-size: 5.6rem;
	font-weight: 900;
	width: 100%;
	max-width: 33.7rem;
	line-height: 1;
	background-color: rgba(255, 255, 255, 0.1);
	border: 0.71px solid #fff;
/*
	width: 100%;
	max-width: 33.75rem;
*/
	padding: 8px 8px 10px 8px;
	text-align: center;
}
.breadcrumbs {
	color: #fff;
	font-size: 2rem;
	font-weight: 600;
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}
.breadcrumbs span {
	margin: 0 5px;
}

/*pagination*/
.pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 7.2rem;
}
.pagination .page-numbers {
	width: 5.6rem;
	height: 5.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: #1B224C;
	background-color: #DFDFDF;
	border: 1px solid #707070;
	transition: .5s;
	cursor: pointer;
	margin: 0 7px;
}
.pagination .page-numbers.current, .pagination .page-numbers:hover  {
	border: none;
	color: #fff;
	background-color: #005875;
	box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.25);
}
.pagination .page-numbers.next, .pagination .page-numbers.prev, .pagination .page-numbers.next:hover, .pagination .page-numbers.prev:hover {
	border: none;
	box-shadow: none;
	background-color: transparent;
	color: #1B224C;
	line-height: 3.5;
	display: none;
}
.pagination .page-numbers.dots, .pagination .page-numbers.dots:hover {
	cursor: default;
	border: none;
	box-shadow: none;
	background-color: transparent;
	color: #1B224C;
	margin: 0;
}
@media (min-width:768px) {
	.pagination .page-numbers {
		margin: 0 2.5rem;
	}
	.pagination .page-numbers.next, .pagination .page-numbers.prev, .pagination .page-numbers.next:hover, .pagination .page-numbers.prev:hover {
		display: block;
	}
}

/*
footer
*/
.footer-contact-wrapper {
	background: url("../images/common/common_contact_bg.png"), linear-gradient(to right, #005875, #004275);
	background-size: 100%;
	background-position: bottom center;
	background-repeat: no-repeat;
	color: #fff;
	padding: 8rem 0;
	font-size: 16px;
}
.footer-contact .section-title-en {
	color: #fff;
}
.footer-contact .section-title-en:before {
	background-color: #fff;
}
.footer-contact .common-btn-reverse {
	max-width: 21rem;
}

.footer-main {
	color: #fff;
	background-color: #000;
	padding: 6rem 0 2rem;
	font-size: 16px;
}
.footer-logo {
	margin-bottom: 16px;
}
.footer-logo img {
	max-width: 12rem;
}
.footer-nav + .footer-nav {
	margin-top: 5px;
}
.footer-nav li {
	padding: 5px 0;
}
.footer-nav li:last-child {
	padding-bottom: 0;
}
.copy-right {
	font-size: 14px;
	text-align: center;
	margin-top: 5rem;
}
@media (min-width:768px) {
	.footer-main {
		padding-top: 8rem;
	}
	.footer-contact-wrapper {
		background-size: 67rem, 100%;
		background-position: left 12rem bottom, center;
	}
	.footer-contact {
		display: flex;
	}
	.footer-contact .section-title {
		width: 59%;
	}
	.footer-contact-text {
		width: 41%;
	}
	.footer-main-flex {
		display: flex;
		align-items: flex-end;
	}
	.footer-right {
		margin-left: auto;
		display: flex;
	}
	.footer-nav + .footer-nav {
		margin: 0 0 0 4.8rem;
	}
	.footer-nav li {
		padding: 12px 0;
	}
}

/*
Editor-content
*/
.editor-content p, .editor-content .has-medium-font-size {
	font-size: 16px;
	line-height: 1.7;
}
.editor-content > * + * {
    margin-top: 3rem;
}
.editor-content > * + h2{
    margin-top: 3rem;
}
.editor-content > * + h3{
    margin-top: 3rem;
}
.editor-content > * + h4 {
    margin-top: 2rem;
}
.editor-content > * + h5 {
    margin-top: 3rem;
}
.editor-content > h2 + *{
    margin-top: 12px;
}
.editor-content > h3 + *{
    margin-top: 17px;
}
.editor-content > h4 + *{
    margin-top: 15px;
}
.editor-content > h5 + *{
    margin-top: 15px;
}
.editor-content ul + *,
.editor-content ol + * {
	margin-top: 0;
}
.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: #005875;
	font-size: 2.2rem;
	font-weight: 500;
	border-bottom: 2px solid #005875;
	padding-bottom: 5px;
}
.editor-content h3 {
	color: #fff;
	background-color: #005875;
	font-weight: 500;
	padding: 5px;
	font-size: 1.8rem;
	width: 100%;
}
.editor-content h4 {
	color: #005875;
	padding: 5px 0 5px 2rem;
	position: relative;
	font-size: 1.8rem;
}
.editor-content h4:before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	background-color: #005875;
	width: 10px;
	height: 4.7rem;
}
.editor-content h5 {
	color: #005875;
	font-size: 1.7rem;
}
.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;
	}
}