@charset "UTF-8";
html {
	font-size: 62.5%;
	/* sets the base font to 10px for easier math */
	-webkit-font-smoothing: antialiased;
}
body {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #000000;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
p {
	line-height: 1.6;
}
@media screen and (max-width: 320px) {
	body {
		font-size: 13px;
	}
}
@media screen and (min-width: 769px) {
	body {
		font-size: 1.6rem;
	}
	p {
		line-height: 1.75;
	}
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
a {
	color: inherit;
}
.cf:after {
	content: '';
	clear: both;
	display: block;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}
.mode_pc {
	display: none;
}
.mode_sp {
	display: block;
}
.mode_pctb {
	display: block;
}
.mode_sps {
	display: none;
}
.tel a, .mail a {
	pointer-events: auto;
	cursor: pointer;
}
a,
.mover {
	transition: opacity 0.2s ease-out;
	backface-visibility: hidden;
	zoom: 1;
}
.t-center {
	text-align: center;
}
.t-right {
	text-align: right;
}
.t-left {
	text-align: left;
}
.bold {
	font-weight: 700;
}
.medium {
	font-weight: 500;
}
.underline {
	text-decoration: underline;
}
.atn {
	color: #F84E41;
}
.mb1 {
	margin-bottom: 1em;
}
.mt1 {
	margin-top: 1em;
}
.pb3 {
	padding-bottom: 3em;
}
.accordionWrap dt {
	cursor: pointer;
}
.accordionWrapdt:hover {
	opacity: 0.8;
}
.accordionWrap dd {
	display: none;
}
@media screen and (min-width: 769px) {
	.mode_pc {
		display: block;
	}
	.mode_sp {
		display: none;
	}
	.mode_pctb {
		display: block;
	}
	.mode_sps {
		display: none;
	}
	.tel a, .mail a {
		pointer-events: none;
	}
	a:hover,
	.mover:hover {
		opacity: 0.8;
	}
}
@media screen and (max-width: 428px) {
	.mode_pctb {
		display: none;
	}
	.mode_sps {
		display: block;
	}
}
/* ----------------------------------------------
ヘッダー
---------------------------------------------- */
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	text-align: center;
	padding: 0 5%;
	background-color: rgba(255, 255, 255, 0.95);
	z-index: 22;
	transition: 0.5s ease;
	border-bottom: 4px solid #024467;
}
header #headerInner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 65px;
}
.anchor {/*ページ内リンク用ヘッダー分引く*/
	margin-top: -65px;
	padding-top: 65px;
}
header .logo {
	display: flex;
	align-items: center;
}
header .logo img {
	vertical-align: middle;
	width: auto;
	height: 8vw;
	max-height: 30px;
	margin-right:0.5em;
}
header .logo span {
	font-weight: 700;
	font-size: min(3.5vw,16px);
}
header #contentNavWrap {
	display: flex;
	align-items: center;
}
header #contentNav {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
header #contentNav .contentNavInner {
	height: 100%;;
	overflow-y: auto;
}
header.open #contentNav .contentNavInner {
	background-color: #024467;	
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	z-index: 23;
}
header .closeNav {
	transition: all 0.5s;
	text-align: left;
	order: 1;
	display: none;
	width: 80%;
	max-width: 280px;
	margin: 15vw auto 0 auto;
	}
header.open .closeNav {
	overflow-y: auto;
	display: block;
}
header .closeNav .btn02 a {
	padding: 18px 0;
	font-size: 20px;
	line-height: 1.5;
	padding-right: 0;
	display: block;
}
header .closeNav .btn02 a:after {
	right: 7%;
	top: 36%;
	width: 17px;
	height: 20px;
}
header .closeNav ul {
	width: 100%;
	padding-top: 20px;
}
header .closeNav li {
	border-top: 1px solid #FFFFFF;
	text-align: center;
}
header .closeNav li:last-child {
	border-bottom: 1px solid #FFFFFF;
}
header .closeNav li a {
	display: block;
	position: relative;
	font-size: 15px;
	line-height: 1.4;
	padding: 14px;
	color: #FFFFFF;
}
header .closeNav li a:before {
	content: '';
	position: absolute;
	right: 7%;
	top: 34%;
	width: 12px;
	height: 14px;
	background-image: url("/img/arrow.svg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
@media screen and (min-width: 900px) {
	header {
		padding: 0 2.5%;
		z-index: 20;
	}
	header .logo img {
		margin-right: 1em;
		height: 38px;
		max-height: initial;
	}
	header .logo span {
		font-size: min(1.8vw, 18px);
	}
	header #contentNav {
		height: auto;
		background-color: transparent;
		padding-top: 0;
		display: block;
		position: relative;
		bottom: initial;
	}
	header.open #contentNav .contentNavInner {
		padding-top: 0;
	}
	header #contentNav .innerNavWrap {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		order: 2;
	}
	header .closeNav {
		display: block;
		margin: 0;
		width: auto;
		max-width: initial;
	}
	header .closeNav .btnWrap {
		display: none;
	}
	header .closeNav ul {
		padding: 0;
		display: flex;
		align-items: center;
	}
	header .closeNav li {
		border-top: none;
	}
	header .closeNav li:last-child {
		border-bottom: none;
	}
	header .closeNav li a {
		font-size: 1.4rem;
		padding: 0 1vw;
		color: #000000;
	}
	header .closeNav li a:before {
		content: none;
	}
	header .closeNav li a:hover {
		color: #1087C7;
		opacity: 1;
	}
	/*
	header.open {
		height: auto;
	}
	header.open .closeNav {
		width: 400px;
	}
	header.open .closeNav::-webkit-scrollbar {
		width: 14px;
	}
	header.open .closeNav::-webkit-scrollbar-track {
		background-color: #e4e4e4;
		border-radius: 100px;
	}
	header.open .closeNav::-webkit-scrollbar-thumb {
		background-color: #024467;
		border-radius: 100px;
	}*/
}
/*メニュー開閉ボタン
---------------------------*/
#menu_btn.mode_sp {
	display: block;
}
#menu_btn {
	cursor: pointer;
	text-align: center;
	z-index: 11;
}
#menu_btn div {
	position: relative;
	width: 32px;
	height: 22px;
	margin: auto;
}
#menu_btn p {
	position: relative;
	top: 5px;
	width: 40px;
	margin: auto;
	font-size: 13px;
}
.open #menu_btn p {
	opacity: 0;
}
#menu_btn span {
	position: absolute;
	right: 0;
	left: 0;
	width: 32px;
	height: 2px;
	background-color: #024467;
	transition: all 0.4s;
	margin: auto;
}
.open #menu_btn span {
	background-color: #FFFFFF;
}
#menu_btn span:nth-of-type(1) {
	top: 0;
}
.open #menu_btn span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}
#menu_btn span:nth-of-type(2) {
	top: 10px;
}
.open #menu_btn span:nth-of-type(2) {
	opacity: 0;
}
#menu_btn span:nth-of-type(3) {
	top: auto;
	bottom: 0;
}
.open #menu_btn span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}
@media screen and (min-width: 900px) {
	#menu_btn.mode_sp {
		display: none;
	}
}
@media screen and (max-width: 320px) {
	header .closeNav .btn02 a {
		font-size: 20px;
	}
}
/* ----------------------------------------------
フッター
---------------------------------------------- */
footer {
	text-align: center;
}
footer .copyright {
	text-align: center;
	background: #1087C7;
	color: #FFFFFF;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	font-size: min(12px, 3.5vw);
	letter-spacing: 0.05em;
}
/*pagetop
---------------------------*/
.pagetop {
	position: absolute;
	bottom: 60px;
	right: 0;
	width: 36px;
	height: 100px;
	background-color: rgba(16, 135, 199, 0.8);
	color: #FFFFFF;
}
.pagetop a {
	display: block;
}
/*矢印が右に移動する*/
.btnarrow {
	position: relative;
	color: #FFFFFF;
	padding: 0 12px;
	text-decoration: none;
	outline: none;
}
.btnarrow p {
	color: #FFFFFF;
	font-size: 14px;
	/*アルファベット縦書き*/
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	padding-top: 39px;
}
.btnarrow:before{
	content: '';
	position: absolute;
	top: 17px;
	left: 11px;	
	width: 1px;
	height: 65px;
	background:#FFFFFF;
	transition: all .3s;
}
.btnarrow:after{
	content: '';
	position: absolute;
	top: 20px;
	left: 10px;	
	width: 12px;
	height: 1px;
	background: #FFFFFF;
	transform: rotate(45deg);
	transition: all .3s;
}
/*hoverした際の移動*/
.btnarrow:hover:before{
	top: 10px;
}
.btnarrow:hover:after{
	top: 13px
}
@media screen and (min-width: 769px) {
	.pagetop {
		position: fixed;
		z-index: 11;
		bottom: 60px;
	}
}
/*contact
---------------------------*/
#contact .inner {
	width: 90%;
	margin: auto;
	padding-bottom: 60px;
	text-align: center;
}
#contact dl {
	padding-top: 60px;
}
#contact dt {
	color: #FEFF86;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-size: 20px;
	margin-bottom: 40px;
}
#contact dd p,
#contact dd span {
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #FFFFFF;
}
#contact .tit {
	font-weight: 700;
	letter-spacing: 0.05em;
	font-size: min(6vw,30px);
	line-height: 1.45;
	margin-bottom: 0.5em;
}
#contact .tit > span {
	font-size: 80%;
	line-height: inherit;
	display: block;
}
#contact .tel {
	font-family: "Montserrat", "Noto Sans JP", sans-serif;
	letter-spacing: 0.05em;
	font-size: 45px;
	font-size: min(8vw,38px);
	line-height: 1;
	color: #FEFF86;
}
#contact .tel a {
	font-weight: 500;
	display: inline-block;
	background-image: url("/img/icon-tel.svg");
	background-repeat: no-repeat;
	background-position: center left;
	background-size: auto 28px;
	padding-left: 1em;
}
#contact .atn {
	color: #FEFF86;
	font-size: 100%;
}
#contact .box {
	display: inline-block;
	margin: auto;
	border: 1px solid #FFFFFF;
	padding: 20px;
	margin-top: 40px;
}
#contact .box li {
	font-weight: 500;
	color: #FFFFFF;
	line-height: 1.66;
	letter-spacing: 0.05em;
	display: block;
	text-align: left;
}
#contact .box li > span {
	font-size: 80%;
	line-height: inherit;
}
#contact .box li:first-child {
	margin-bottom: 1em;
}
@media screen and (min-width: 769px) {
	#contact dl {
		padding: 60px 0 50px 0;
	}
	#contact .inner {
		padding-bottom: 50px;
	}
	#contact dt {
		font-size: min(3.5vw,31px);
	}
	#contact dd p {
		font-size: 18px;
		line-height: 1.66;
	}
	#contact .tit {
		font-size: 38px;
		line-height: 1.45;
	}
	#contact .tel a {
		background-size: auto 32px;
	}
	#contact .box li {
		font-size: 22px;
	}
}

/* ----------------------------------------------
共通レイアウト
---------------------------------------------- */
.contentWrap {
	width: 100%;
	margin-top: 65px;
	text-align: center;
}
.contentWrap .inner {
	text-align: left;
	width: 90%;
	margin: auto;
	padding-top: 30px;
}
.bg-grd01 {
	background-color: #096B9F;
}
.bg-grd02 {
	background-color: #024467;
}
.bg-blue {
	background-color: #F9FBFB;
}
.bg-blue02 {
	background-color: #DDEEF7;
}
.bg-grey {
	background-color: #F7F7F7;
}
@media screen and (min-width: 769px) {
	.contentWrap .inner {
		max-width: 840px;
		padding-bottom: 170px;
		padding-top: 60px;
	}
	.contentWrap .inner.pcw {
		max-width: 1140px;
	}
}
/*
mainTitle（トップ以外）
---------------------------*/
#mainTitle {
	/*margin-bottom: 30px;*/
	color: #FFFFFF;
}
#mainTitle .inner {
	height: min(38vw,240px);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 0;
}
#mainTitle h1,
#mainTitle h1 > span {
	text-align: center;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#mainTitle h1 {
	font-size: min(5vw,42px);
}
#mainTitle h1 > span {
	display: block;
	font-size: 70%;
	margin-top: 10px;
}
@media screen and (max-width: 430px) {
	#mainTitle h1 {
		font-size: 6vw;
	}
}
@media screen and (min-width: 769px) {
	/*#mainTitle {
		margin-bottom: 70px;
	}*/
	#mainTitle h1 > span {
		font-size: 54%;
		line-height: 1.3;
	}
}
/*
冒頭文章
---------------------------*/
.mainIntro {
	text-align: center;
	margin-bottom: 25px;
}
.mainIntro p {
	text-align: left;
	font-size: min(3.8vw,16px);
	line-height: 1.75;
}
@media screen and (min-width: 769px) {
	.mainIntro {
		margin-bottom: 40px;
	}
	.mainIntro p {
		text-align: center;
		font-size: 18px;
	}
}
/*字下げリスト*/
.indentList li,
.ind {
	padding-left: 1em;
	text-indent: -1em;
	line-height: initial;
	margin-bottom: 0.5em;
	display: block;
}
.indentList li:last-child,
.ind:last-of-type {
	margin-bottom: 0;
}
/*見出し
---------------------------*/
/*.subTitle*/
.subTitle {
	width: 100%;
	text-align: center;
	padding: 0 5% 30px 5%;
}
.subTitle h2,
.subTitle p {
	letter-spacing: 0.05em;
	font-weight: 700;
	color: #024467;
}
.subTitle p {
	font-size: 17px;
	line-height: 1.2;
	margin-bottom: 10px;
}
.subTitle h2 {
	font-size: 22px;
	line-height: 1.2;
}
@media screen and (min-width: 769px) {
	.subTitle {
		padding: 0 5% 60px 5%;
	}
	.subTitle h2 {
		/*font-size: 4.2rem;*/
		font-size: min(4.0vw,42px);
		line-height: 1.3;
	}
	.subTitle p {
		/*font-size: 3.1rem;*/
		font-size: min(3.5vw,31px);
		line-height: 1.3;
		margin-bottom: 20px;
	}
}

/*装飾
---------------------------*/
/*decoBox*/
.decoBox {
	width: auto;
	position: relative;
	border: solid 1px #1087C7;;
	background-color: #fff;
}
.decoBox:before,
.decoBox:after {
	position: absolute;
	content: '';
	display: block;
	background-color: #fff;
}
.decoBox:before {
	top: -4px;
	bottom: -4px;
	left: 40px;
	right: 40px;
}
.decoBox:after {
	top: 40px;
	bottom: 40px;
	left: -4px;
	right: -4px;
}
.decoBox .decoInner {
	position: relative;
	z-index: 1;
	padding: 20px;
}

/*見出し付き青線枠*/
.blueBox dl {
	border: 1px solid #096B9F;	
	margin-bottom: 30px;
}
.blueBox dl:last-child {
	margin-bottom: 0;
}
.blueBox dl.bor0 {
	border: none;
	margin-bottom: 2em;
}
.blueBox dt {
	padding: 14px 20px;
	background-color: #096B9F;
	font-weight: 700;
	letter-spacing: 0.05em;
	font-size: 125%;
	color: #FFFFFF;
}
.blueBox.navy dt {
	background-color: #024467;
}
.blueBox dd {
	padding: 14px 20px 20px 20px;
	background-color: #FFFFFF;
	letter-spacing: 0.05em;
}
.blueBox dd p {
	margin-bottom: 1em;
}
.blueBox .howtoList li {
	padding-left: 0!important;
	text-indent: initial!important;
	line-height: 1.75!important;
    margin-bottom: 1em;
}
.blueBox .howtoList li:last-child {
	margin-bottom: 0;
}
.blueBox .howtoList li p:first-child {
	margin-bottom: 0.3em;
}

@media screen and (min-width: 769px) {
	.blueBox dt {
		padding: 20px 30px;
	}
	.blueBox dd {
		padding: 30px;
	}
	.blueBox .howtoList li {
		display: flex;
	}
	.blueBox .howtoList li > p:first-child {
		width: 20%;
		margin-bottom: 0;
	}
	.blueBox .howtoList li > p + p {
		width: 80%;
	}
}

/*ボタン
---------------------------*/
/*角丸型*/
.btnR a {
	margin: 0 auto;
	display: block;
	border-radius: 40px;
	padding: 20px;
	width: 80%;
	max-width: 320px;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
	font-size: 16px;
}
.btnR a .txt-s {
	font-size: 80%;
}
@media screen and (min-width: 769px) {
	.btnR a {
		font-size: 20px;
	}
}
/*枠線*/
.btnR.bor a {
	border: 3px solid #024467;
	background-color: #FFFFFF;
	color: #024467;
}
/*赤*/
.btnR.red a {
	background-color: #F84E41;
	color: #FFFFFF;
}
.btnR.gray a {
	background-color: #cccccc;
	color: #FFFFFF;
}
/*水色*/
.btnR.blue a {
	background-color: #024467;
	color: #FFFFFF;
}
/*PDFアイコン
---------------------------*/
.pdf > span {
	background-image: url("/img/icon-pdf.png");
	background-repeat: no-repeat;
	background-position: left center;
	/*background-size: 26px 28px;
	padding-left: 30px;*/
	background-size: contain;
	padding-left: 1.7em;
}
.pdf .sizeBox {
	font-size: 80%;
	white-space: nowrap
}
/*リンクアイコン
---------------------------*/
a.link {
	background-image: url("/img/icon-link-blue.svg");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain;
	padding-right: 1.7em;
	margin-right: 1em;
	background-size: auto 1em;
	font-size: 18px;
	font-size: min(3.8vw, 18px);
	font-weight: 500;
	color: #1087C7;
}
a.link:last-child {
	margin-right: 0;
}
