@charset "UTF-8";

em {
    font-style: italic;
}
.cmn-list {
    list-style-type: disc;
    padding-left: 1.5em;
    margin-top: 20px;
}
.cmn-list li {
    margin-top: 5px;
    padding-left: 5px;
    list-style-type: inherit;
}
.cmn-list li::marker {
    color: #0067AC;
    font-weight: 600;
}

/* ------------------------
    ヘッダー
------------------------ */

.header {
		position: fixed;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 99;
		padding-left: 20px;
		transition: .3s;
}

.header.js-scroll {
		background-color: rgba(255,255,255,.95);
		box-shadow: 0 3px 3px rgba(0,0,0,.15);
}

.header__inner {
		-js-display: flex;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		height: 85px;
		transition: all .3s ease;
		position: relative;
		padding-right: 85px;
}
.header.js-scroll .header__inner {
		height: 65px;
		padding-right: 75px;
}

.header__logo {
		display: block;
		width: 380px;
		height: 30px;
		white-space: nowrap;
		text-indent: 100%;
		overflow: hidden;
		background: url(./img/logo.svg) no-repeat center/contain;
		margin-right: 30px;
}

.header .global-nav {
		height: 100%;
}

.header .global-nav__list {
		-js-display: flex;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: center;
		align-items: center;
		height: 100%;
}

.header .global-nav__item {
		position: relative;
		margin-right: 30px;
		transition: .3s;
}

.header.js-scroll .global-nav__item {
		margin-right: 25px;
		transition: .3s;
}

.header .global-nav__link {
		display: block;
		position: relative;
		text-decoration: none;
		color: #fff;
		font-size: 1.6rem;
		font-weight: 500;
}

.header .global-nav__link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1.5px;
    background: #FD1600;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: .3s;
}

.header .global-nav__link:hover::after {
    transform: scale(1, 1);
}

.header.js-scroll .global-nav__link {
		color: #333;
}

.header .global-nav .sub-nav {
		position: absolute;
		top: 100%;
		left: 0;
		white-space: nowrap;
		background-color: rgba(51, 51, 51, 0.9);
		box-shadow: 1px 2px 5px rgba(51, 51, 51, 0.5);
		padding: 10px 25px;
		opacity: 0;
		pointer-events: none;
}

.header .global-nav .sub-nav.js-fade {
		opacity: 1;
		pointer-events: auto;
		transition: all 0.5s ease;
}

.header .global-nav .sub-nav__link {
		position: relative;
		color: #fff;
		text-decoration: none;
		padding: 2px 0;
		font-size: 1.4rem;
}

.header .global-nav .sub-nav__link::after {
		content: '';
		position: absolute;
		width: 100%;
		height: 1px;
		background-color: #fff;
		bottom: 0;
		left: 0;
		transform: scale(0, 1);
		transition: transform .5s ease;
		transform-origin: right bottom;
}

.header .global-nav .sub-nav__link:hover::after {
		transform: scale(1, 1);
		transform-origin: left bottom;
}

.global-btn__contact {
		display: block;
		position: absolute;
		right: 25px;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		width: 60px;
		height: 60px;
		border-radius: 50%;
		border: 1px solid #fff;
}
.global-btn__contact::before {
		content: '';
	  width: 22px;
	  height: 15px;
	  background: url(./img/ico-mail.svg) no-repeat center/contain;
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translateY(-50%) translateX(-50%);
	  -webkit-transform: translateY(-50%) translateX(-50%);
}
.header.js-scroll .global-btn__contact {
		width: 50px;
		height: 50px;
}

.global-btn__contact:hover {
	background-color: #fff;
}
.global-btn__contact:hover::before {
	background: url(./img/ico-mail_h.svg) no-repeat center/contain;
}
.header.js-scroll .global-btn__contact {
	border: 1px solid #0066A7;
	background-color: #0066A7;
}
.header.js-scroll .global-btn__contact:hover {
	background-color: #fff;
}

@media only screen and (max-width: 1180px) {
	.header__logo {
		width: 300px;
		height: 24px;
		margin-right: 20px;
	}
}
@media only screen and (max-width: 1080px) {
	.header__logo {
		width: 240px;
		height: 20px;
	}
	.header .global-nav__item {
		margin-right: 20px;
	}
}

@media only screen and (max-width: 960px) {
		.header {
				padding: 0;
		}
		/* .header.open {
				background-color: #fff;
		} */
		.header__inner {
				height: 50px;
				padding-right: 0;
		}
		.header.js-scroll .header__inner {
				height: 50px;
				padding-right: 0;
		}
		.header__logo {
				background-image: url(./img/logo-h.svg);
		    width: 230px;
		    height: 50px;
		    margin-right: 0;
		    margin-left: 10px;
		}
		.header.js-scroll .header__logo {
				background-image: url(./img/logo.svg);
		}
		.header .global-nav {
				width: 100vw;
				height: calc(100vh - 50px);
				border-left: 0 none;
				position: absolute;
		    top: 50px;
		    left: 50%;
		    transform: translateY(calc(-100% - 65px)) translateX(-50%);
				transition: .3s;
				opacity: 0;
		}
		.header .global-nav.open {
				transform: translateY(0) translateX(-50%);
				transition: .3s;
				opacity: 1;
		}
		.header .global-nav__list {
				display: block;
				height: auto;
				padding: 0;
				background-color: #fff;
				height: 100%;
				overflow: scroll;
				padding: 0 10px;
		}
		.header .global-nav__item {
				margin-right: 0;
				/* border-bottom: 1px solid #0067AC; */
				margin-top: 10px;
		}
		.header.js-scroll .global-nav__item {
				margin-right: 0;
				transition: .3s;
		}
		.header .global-nav__link {
				padding: 0;
				color: #333;
				font-size: 1.5rem;
				padding: 15px 15px 15px 25px;

				background-color: #F3F7FA;
				border-radius: 5px;
		}
		.header .global-nav__link::after {
		    content: '';
		    position: absolute;
		    bottom: unset;
		    left: 15px;
		    width: 5px;
		    height: 5px;
		    background-color: #FD1600;
				border-radius: 50%;
			  top: 50%;
			  transform: translateY(-50%);
			  -webkit-transform: translateY(-50%);
		    transform-origin: unset;
		    transition: .3s;
		}
		.header .global-nav__link:hover::after {
				content: '';
				position: absolute;
				bottom: unset;
				left: 15px;
				width: 5px;
				height: 5px;
				background-color: #FD1600;
				border-radius: 50%;
				top: 50%;
				transform: translateY(-50%);
				-webkit-transform: translateY(-50%);
				transform-origin: unset;
				transition: .3s;
		}
		.header .global-nav__link::before {
		    content: '';
		    background: url(./img/ico-arrow_b.svg) no-repeat center / cover;
		    width: 12px;
		    height: 12px;
		    position: absolute;
		    top: 50%;
		    right: 20px;
		    transform: translateY(-50%);
		    -webkit-transform: translateY(-50%);
		    transition: .3s;
		}
		.header.js-scroll .global-nav__link {
				color: #333;
		}
		.header .global-nav .sub-nav {
				position: relative;
				top: auto;
				left: auto;
				white-space: normal;
				background-color: rgba(255, 255, 255, 0);
				box-shadow: none;
				padding: 0;
				opacity: 1;
				pointer-events: auto;
				display: none;
		}
		.header .global-nav .sub-nav__link {
				padding-left: 30px;
				color: #fff;
		}
		.header .global-nav .sub-nav__link::after {
				width: 15px;
				height: 1px;
				background-color: #fff;
				bottom: auto;
				top: calc(50% - 0.5px);
				left: 10px;
				transform: scale(1);
		}

		.header__open {
			position: absolute;
			top: 0;
			right: 0;
			width: 40px;
			height: 52px;
		}
		.header__open::before {
			content: '';
			position: absolute;
			top: calc(50% - 2px);
			left: 50%;
			transform: translateY(-50%) translateX(-50%) rotate(135deg);
			-webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
			width: 10px;
			height: 10px;
			border-top: 2px solid #fff;
			border-right: 2px solid #fff;
			transition: .3s;
		}
		.header__open.open::before {
			top: calc(50% + 2px);
			transform: translateY(-50%) translateX(-50%) rotate(-45deg);
			-webkit-transform: translateY(-50%) translateX(-50%) rotate(-45deg);
			transition: .3s;
		}

		/* .contact-sp {
			position: absolute;
			right: 50px;
			width: 50px;
			height: 50px;
		}
		.contact-sp::after {
			content: '';
	    width: 22px;
	    height: 15px;
	    background: url(./img/ico-mail.svg) no-repeat center/contain;
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translateY(-50%) translateX(-50%);
	    -webkit-transform: translateY(-50%) translateX(-50%);
		} */
}



/* ------------------------
    スマホナビ
------------------------ */

@media only screen and (max-width: 960px) {
	.header__hamburger {
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
	}
	.header__hamburger span {
		background-color: #fff;
		width: 30px;
		height: 2px;
		position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translateY(-50%) translateX(-50%);
	  -webkit-transform: translateY(-50%) translateX(-50%);
		transition: .3s;
	}
	.header__hamburger span::before,
	.header__hamburger span::after {
		content: '';
		background-color: #fff;
		width: 30px;
		height: 2px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		transition: .3s;
	}
	.header__hamburger span::before {
		top: -8px;
	}
	.header__hamburger span::after {
		bottom: -8px;
	}
	.js-scroll .header__hamburger span {
		background-color: #006EB2;
	}
	.js-scroll .header__hamburger span::before,
	.js-scroll .header__hamburger span::after {
		background-color: #006EB2;
	}

	.header__hamburger.open {
	}
	.header__hamburger.open span {
		background-color: transparent;
		transition: .3s;
	}
	.header__hamburger.open span::before {
		top: 1px;
		transition: .3s;
		transform: translateX(-50%) rotate(45deg);
		-webkit-transform: translateX(-50%) rotate(45deg);
	}
	.header__hamburger.open span::after {
		bottom: -1px;
		transition: .3s;
		transform: translateX(-50%) rotate(-45deg);
		-webkit-transform: translateX(-50%) rotate(-45deg);
	}
}



/* ------------------------
    フッター
------------------------ */
footer {
	color:  #fff;
}
footer a {
	color:  #fff;
}
.footer__wrap {
	background-color: #2E363B;
	padding: 100px 0 50px;
}
.footer__inner {
	width: 100%;
	max-width: 1150px;
	margin: auto;
	padding: 0 15px;
}
.footer__logo {
	display: flex;
	align-items: center;
}
.footer__logo .logo {
	background-image: url(./img/footer-logo.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 477px;
	height: 38px;
}
.footer__grid {
	display: flex;
	justify-content: space-between;
}
.footer__text {
	margin-right: 30px;
}
.footer__text p {
	margin-top: 25px;
}
.footer__text p .tel {
	padding-right: 15px;
}
.footer__nav {
}
.footer-nav__grid {
	display: flex;
	margin-right: -30px;
}
.footer__list {
	margin: -20px 30px 0;
}
.footer__list .footer-list__item {
	margin-top: 15px;
}
.footer__list .footer-list__item .footer-list__link {
	font-weight: 500;
	font-size: 1.6rem;
}
.footer-sub__list li {
	margin-top: 2px;
}
.footer-sub__list li a {
	position: relative;
	font-size: 1.4rem;
	font-weight: normal;
	padding-left: 12px;
}
.footer-sub__list li a::before {
	content: '';
	content: '';
	background-color: #fff;
	width: 6px;
	height: 1px;
	position: absolute;
	left: 0;
	top: calc(50% + 1px);
	transform: translateY(-50%);
}
.footer__text .sublink {
	display: block;
	font-size: 1.2rem;
	text-decoration: underline;
	margin-top: 5px;
}
.copyright {
	display: block;
	color: #909090;
	font-size: 1.4rem;
	font-family: 'Jost', sans-serif;
	letter-spacing: 1px;
	margin-top: 100px;
}
@media only screen and (max-width: 960px) {
	footer {
		color:  #fff;
	}
	footer a {
		color:  #fff;
	}
	.footer__wrap {
		background-color: #2E363B;
		padding: 60px 0 20px;
	}
	.footer__inner {
		width: 100%;
		max-width: 1150px;
		margin: auto;
		padding: 0 15px;
	}
	.footer__logo {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.footer__logo .logo {
		background-image: url(./img/footer-logo.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		width: 326px;
		height: 26px;
	}
	.footer__grid {
		display: flex;
		flex-wrap: wrap;
		justify-content: unset;
	}
	.footer__text {
		margin-right: 0;
		width: 100%;
	}
	.footer__text p {
		margin-top: 20px;
	}
	.footer__nav {
		margin-top: 30px;
    width: 100%;
	}
	.footer-nav__grid {
		display: flex;
		flex-wrap: wrap;
		margin-right: 0;
	}
	.footer__list {
		width: 100%;
		margin: 0;
		border-top: 1px solid #808080;
	}
	.footer__list +	.footer__list {
		border-top: none;
	}
	.footer__list .footer-list__item {
		position: relative;
		margin-top: 0;
		padding: 15px 0;
		border-bottom: 1px solid #808080;
	}
	.footer__list .footer-list__item .footer-list__link {
		display: block;
		position: relative;
		font-weight: 500;
		font-size: 1.5rem;
	}
	.footer-sub__list {
		display: flex;
	}
	.footer-sub__list li {
		width: 50%;
		margin-top: 2px;
	}
	.footer-sub__list li a {
		position: relative;
		font-size: 1.3rem;
		font-weight: normal;
		padding-left: 12px;
	}
	.footer-sub__list li a::before {
		content: '';
		content: '';
		background-color: #fff;
		width: 6px;
		height: 1px;
		position: absolute;
		left: 0;
		top: calc(50% + 1px);
		transform: translateY(-50%);
	}
	.footer__text-sp {
		margin-top: 20px;
	}
	.footer__text-sp .sublink {
		display: block;
		font-size: 1.3rem;
		text-decoration: underline;
		margin-top: 10px;
	}
	.copyright {
		display: block;
		color: #909090;
		font-size: 1.4rem;
		font-family: 'Jost', sans-serif;
		letter-spacing: 0;
		margin-top: 60px;
		text-align: center;
	}
}





.btn-01 {
	position: relative;
	display: block;
	width: 100%;
	max-width: 250px;
	height: 60px;
	line-height: 56px;
	border: 1px solid #333;
	border-radius: 30px;
	text-align: center;
	background-color: #fff;
	color: #333;
	font-size: 1.6rem;
	font-weight: 500;
	padding-left: 20px;
	margin-top: 40px;
}
.btn-01::before {
	content: '';
	width: 30px;
	height: 30px;
	background-color: #FD1600;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transition: .3s;
}
.btn-01::after {
	content: '';
  background: url(./img/ico-arrow_w.svg) no-repeat center / cover;
  width: 12px;
  height: 12px;
  position: absolute;
	top: 50%;
	left: 24px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transition: .3s;
}
.btn-01:hover {
	border: 1px solid #FD1600;
	background-color: #FD1600;
	color: #fff;
}
.btn-01:hover::before {
	width: 40px;
	height: 40px;
	left: 10px;
	background-color: #fff;
	transition: .3s;
}
.btn-01:hover::after {
	background: url(./img/ico-arrow_r.svg) no-repeat center / cover;
	transition: .3s;
}
.btn-01.center {
	margin: 40px auto 0;
}
.btn-01.mtl.center {
	margin: 60px auto 0;
}
@media only screen and (max-width: 960px) {
	.btn-01.mtl.center {
		margin: 40px auto 0;
	}
}

.main-read {
	text-align: center;
	font-size: 2.8rem;
	line-height: 1.6;
	letter-spacing: 2px;
	font-weight: 500;
	color: #0067AC;
}
.main-read + .read {
	margin-top: 20px;
}
.read {
	text-align: center;
}
@media only screen and (max-width: 960px) {
	.main-read {
		text-align: center;
		font-size: 2.4rem;
		line-height: 1.6;
		letter-spacing: 2px;
		font-weight: 500;
		color: #0067AC;
	}
	.main-read + .read {
		margin-top: 30px;
	}
	.read {
		text-align: left;
	}
}



.dl-table {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
  margin-top: 40px;
}
.dl-table dt {
  width: 150px;
  font-weight: bold;
  padding: 30px 0;
  border-bottom: 1px solid #ccc;
  color: #0067AC;
}
.dl-table dd {
  width: calc(100% - 150px);
  padding: 30px 0;
  border-bottom: 1px solid #ccc;
}
@media only screen and (max-width: 960px) {
	.dl-table {
	  -js-display: flex;
	  display: -webkit-box;
	  display: -webkit-flex;
	  display: flex;
	  -webkit-flex-wrap: wrap;
	  flex-wrap: wrap;
	  border-top: 1px solid #ccc;
	  margin-top: 30px;
	}
	.dl-table dt {
	  width: 100%;
	  font-weight: bold;
	  padding: 20px 0 0;
		border-bottom: none;
	  color: #0067AC;
	}
	.dl-table dd {
	  width: 100%;
	  padding: 5px 0 20px;
		border-bottom: 1px solid #ccc;
	}
}


.company-ttl {
	display: block;
	font-weight: 500;
}
.company-ttl + .company-ttl,
p + .company-ttl  {
	margin-top: 20px;
}


.ttl-02 {
	position: relative;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.5;

	color: #333;
	margin-top: 80px;
	padding-left: 20px;
	padding-bottom: 12px;
}
.ttl-02::before {
	content: '';
	width: calc(100% - 40px);
	height: 2px;
	background-color: #ccc;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}
.ttl-02::after {
	content: '';
	width: 40px;
	height: 100%;
	border-left: 2px solid #0067AC;
	border-bottom: 2px solid #0067AC;
	border-bottom-left-radius: 5px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.ttl-03 {
	position: relative;
	font-size: 2rem;
	line-height: 1.6 ;
	color: #0067AC;
	margin-top: 60px;
}
.ttl-03 + p {
	margin-top: 20px;
}

@media only screen and (max-width: 960px) {
	.ttl-02 {
		position: relative;
		font-size: 2.4rem;
		letter-spacing: 1px;
		line-height: 1.5;

		color: #333;
		margin-top: 60px;
		padding-left: 15px;
		padding-bottom: 7px;
	}
	.ttl-02::before {
		content: '';
		width: calc(100% - 40px);
		height: 2px;
		background-color: #ccc;
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: -1;
	}
	.ttl-02::after {
		content: '';
		width: 40px;
		height: 100%;
		border-left: 2px solid #0067AC;
		border-bottom: 2px solid #0067AC;
		border-bottom-left-radius: 5px;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;
	}

	.ttl-03 {
		position: relative;
		font-size: 2rem;
		line-height: 1.6 ;
		color: #0067AC;
		margin-top: 40px;
	}
	.ttl-03 + p {
		margin-top: 15px;
	}

}


.catch {
	margin-top: 60px;
}
.num-list {
	margin-top: 20px;
}
.num-list li {
	position: relative;
	padding-left: 20px;
	margin-top: 5px;
}
.num-list li::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
}
.num-list li:nth-child(1)::before {
	content: '1.';
}
.num-list li:nth-child(2)::before {
	content: '2.';
}
.num-list li:nth-child(3)::before {
	content: '3.';
}
.num-list li:nth-child(4)::before {
	content: '4.';
}
.num-list li:nth-child(5)::before {
	content: '5.';
}
.num-list li:nth-child(6)::before {
	content: '6.';
}
.num-list li:nth-child(7)::before {
	content: '7.';
}
.num-list li:nth-child(8)::before {
	content: '8.';
}
.num-list li:nth-child(9)::before {
	content: '9.';
}
.num-list li:nth-child(10)::before {
	content: '10.';
}
@media only screen and (max-width: 960px) {
	.catch {
		margin-top: 40px;
	}
}


.num-list2 {
	margin-top: 20px;
}
.num-list2 li strong {
	color: #0067AC;
}
.num-list2 li {
	position: relative;
	padding-left: 25px;
	margin-top: 30px;
}
.num-list2 li::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	color: #0067AC;
	font-weight: 500;
}
.num-list2 li:nth-child(1)::before {
	content: '(1)';
}
.num-list2 li:nth-child(2)::before {
	content: '(2)';
}
.num-list2 li:nth-child(3)::before {
	content: '(3)';
}
.num-list2 li:nth-child(4)::before {
	content: '(4)';
}
.num-list2 li:nth-child(5)::before {
	content: '(5)';
}
.num-list2 li:nth-child(6)::before {
	content: '(6)';
}
.num-list2 li:nth-child(7)::before {
	content: '(7)';
}
.num-list2 li:nth-child(8)::before {
	content: '(8)';
}
.num-list2 li:nth-child(9)::before {
	content: '(9)';
}
.num-list2 li:nth-child(10)::before {
	content: '(10)';
}
