@charset "utf-8";
/* Copyright 2020 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

パソコン、スマートフォン（iPhone,Android) 共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* ------------------------------------------------------------

basic

------------------------------------------------------------ */

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500&family=Noto+Sans+JP:wght@400;700&display=swap');

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 500;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

*{font-family:'Noto Sans JP', Yu Gothic, "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}

@media (-ms-high-contrast: none) {
	*{font-family:'Noto Sans JP', Yu Gothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
}

html{
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body{
	color:#333333;
	font-weight: 400;
}


/* ------------------------------------------------------------

shortcodes

------------------------------------------------------------ */

/* font
---------------------------------------------- */
.normal{font-weight: normal !important;}
.bold{font-weight: bold !important;}
.italic{font-style: italic !important;}

/* display
---------------------------------------------- */
.none{display: none !important;}

/* margin
---------------------------------------------- */
.mb_none{margin-bottom: 0 !important;}

/* color
---------------------------------------------- */
.red01{color: #FF4C4C !important;}
.blue01{color: #0467BF !important;}


@media print, screen and (min-width:768px){ /* 表示領域が768px以上の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */

	body{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	
	.sp{display: none;}
	
	.pc_br{display: block;}

	/* レイアウト
	---------------------------------------------- */
	#wrap_all{
		min-width: 1200px;
		overflow: hidden;
	}
	
	.wrap_type01,
	.wrap_type02{
		width: 960px;
		margin: 0 auto 150px;
		padding-top: 80px;
	}
	
	.wrap_type03{
		width: 1120px;
		margin: 0 auto 150px;
		padding-top: 80px;
	}
	
	.wrap_type04{
		width: 1140px;
		margin: 0 auto 150px;
		padding-top: 80px;
	}
	
	.wrap_type05{
		width: 1060px;
		margin: 0 auto 150px;
		padding-top: 80px;
	}
	
	/*--404ページ--*/	
	.wrap_404{
		text-align: center;
        padding-top: 100px;
		margin-bottom: 200px;
	}
	
	.ttl_404{
		font-size: 5rem;
		font-weight: bold;
		margin-bottom: 12px;
	}
	
	.txt_404{margin-bottom: 30px;}
	
	/* リンク
	---------------------------------------------- */
	.link01{
		color: #20B7DF;
		text-decoration: underline !important;
	}
	
	.link01:hover{text-decoration: none !important;}
	
	.link_tab{
		color: #20B7DF;
		text-decoration: underline !important;
	}
	
	.link_tab::after{
		content: "";
		display: inline-block;
		vertical-align: middle;
		background: url("../img/ico_tab01.png") no-repeat 0 0;
		background-size: contain;
		width: 10px;
		height: 10px;
		margin-left: 5px;
	}
	
	.link_tab:hover{text-decoration: none !important;}
	
	.link_pdf01{
		color: #20B7DF;
		text-decoration: underline !important;
	}
	
	.link_pdf01::after{
		content: "";
		display: inline-block;
		vertical-align: text-bottom;
		background: url("../img/ico_pdf01.png") no-repeat 0 0;
		background-size: contain;
		width: 20px;
		height: 24px;
		margin-left: 5px;
	}
	
	.link_pdf01:hover{text-decoration: none !important;}

	/* ページタイトル
	---------------------------------------------- */
	.pagettl{
		position: relative;
		padding-top: 11.4%;
	}
	
	.pagettl01{
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: cover;
		margin-bottom: 20px;
	}
	
	.pagettl02::after,
	.pagettl03::after{
		content: "";
		display: block;
		background: url("../img/pc/bg_pagettl01.jpg") no-repeat 0 0;
		background-size: cover;
		padding-top: 2.6%;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: -1;
	}
	
	.pagettl_inner{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		color: #FFF;
		line-height: 1;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	
	.pagettl02 .pagettl_inner{color: #333;}
	
	.pagettl03 .pagettl_inner{
		color: #23B7E1;
		width: 960px;
		margin: 0 auto;
		justify-content: flex-end;
		align-items: flex-start;
	}
	
	.pagettl_inner h2{
		font-size: 1.97vw;
		font-weight: bold;
		margin-bottom: 1.04vw;
		padding-top: 20px;
	}
	
	.pagettl03 .pagettl_inner h2{margin-left: -10px;}
	
	.pagettl_inner p{
		font-size: 0.83vw;
		font-family:'Montserrat';
	}
	
	/* パンくずリスト
	---------------------------------------------- */
	.breadcrumb{
		width: 100%;
		padding: 0 50px;
		font-size: 1.2rem;
		position: absolute;
		left: 0;
	}
	
	.pagettl01 .breadcrumb{bottom: -20px;}
	
	.pagettl02 .breadcrumb,
	.pagettl03 .breadcrumb{top: 20px;}

	.breadcrumb ul{
		line-height: 1.2;
		overflow: hidden;
		list-style: none;
	}

	.breadcrumb ul li{
		float:left;
		color: #333;
		margin-right: 8px;
	}

	.breadcrumb ul li:last-child{
		background: none;
		padding-right: 0;
		margin-right: 0;
	}

	.breadcrumb ul li a,
	.breadcrumb ul li span{
		background: url("../img/ico_bdr01.png") no-repeat right 0.3em;
		background-size: 6px;
        display: inline-block;
		padding-right: 15px;
	}
	
	.breadcrumb ul li a{color: #23B7E1;}

	.breadcrumb ul li a:hover{opacity: 0.7;}
	
	/* 見出し
	---------------------------------------------- */
	.heading01{
		font-weight: bold;
		color: #21B7DF;
		line-height: 1.2;
		margin-bottom: 30px;
	}
	
	.heading01 span{
		color: #0467BF;
		font-size: 3rem;
		display: block;
		margin-top: 20px;
		font-family:'Montserrat';
	}
	
	/*--heading02--*/
	.heading02{
		font-weight: bold;
		font-size: 2.2rem;
		line-height: 1.4;
		margin-bottom: 20px;
		padding-left: 15px;
		position: relative;
	}
	
	.heading02::before{
		content: "";
		background: #23B7E1;
		width: 6px;
		height: 23px;
		position: absolute;
		top: 5px;
		left: 0;
	}
	
	.heading03{
		font-size: 2.4rem;
		font-weight: bold;
		padding-bottom: 40px;
		position: relative;
	}
	
	.heading03::before{
		content: "";
		display: block;
		background: #23B7E1;
		width: 90px;
		height: 2px;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	
	/* ボタン
	---------------------------------------------- */
	/*--btn_type01--*/
	.btn_type01 a{
		display: inline-block;
		background-image: linear-gradient(to bottom, #23B7E1 0%, #076FC2 50%, #23B7E1 100%);
		background-size: auto 200%;
		width: 300px;
		text-align: center;
		color: #FFF;
		line-height: 70px;
		font-family:'Montserrat';
		font-weight: bold;
		font-size: 2.4rem;
		border-radius: 50px;
		transition: .5s;
	}
	
	.btn_type01 a:hover{background-position: center bottom;}
	
	/*--btn_type02--*/
	.btn_type02 a{
		display: inline-block;
		border: 1px solid #23B7E1;
		padding: 15px;
		font-size: 1.4rem;
		font-weight: bold;
		color: #21B7DF;
		text-align: center;
	}
	
	.btn_type02 a span::after{
		content: "";
		display: inline-block;
		background: url("../img/ico_tab01.png") no-repeat 0 0;
		background-size: contain;
		width: 10px;
		height: 10px;
		margin-left: 5px;
	}
	
	.btn_type02 a:hover{
		background: #23B7E1;
		color: #FFF;
	}
	
	.btn_type02 a:hover span::after{
		background: url("../img/ico_tab02.png") no-repeat 0 0;
		background-size: contain;
	}
	
	/*--btn_back01--*/
	.btn_back01 a{
		display: inline-block;
		background: url("../img/ico_arrow07.png") no-repeat 0 center;
		background-size: 7px;
		color: #22B7E0;
		padding-left: 15px;
	}
	
	.btn_back01 a:hover{opacity: 0.7;}
	
	/* テーブル
	---------------------------------------------- */
	.type01{width: 100%;}
	
	.type01 th,
	.type01 td{
		border: 1px solid #CACAD9;
		padding: 20px;
	}
	
	.type01 th{
		background: #EFFBFE;
		width: 16%;
		text-align: center;
	}
	
	/* リスト
	---------------------------------------------- */
	.list_type01 li{margin-bottom: 12px;}
	
	.list_type01 li:last-of-type{margin-bottom: 0;}
	
	.list_type01 li a{
		text-decoration: underline;
		position: relative;
		padding-left: 15px;
		color: #22B7E0;
	}
	
	.list_type01 li a:hover{opacity: 0.7;}
	
	.list_type01 li a::before{
		content: "";
		display: inline-block;
		background: #23B7E1;
		width: 8px;
		height: 8px;
		border-radius: 50px;
		position: absolute;
		top: 9px;
		left: 0;
	}
	
	/* ナビ
	---------------------------------------------- */
	.nav_archive01{margin-bottom: 30px;}
	
	.nav_archive01 ul{
		display: flex;
		flex-wrap: wrap;
		font-size: 1.6rem;
	}
	
	.nav_archive01 ul li a{
		font-family:'Montserrat';
		display: block;
		color: #333;
		background: url("../img/ico_arrow06.png") no-repeat 0 center;
		background-size: 14px;
		padding: 0 30px 0 20px;
	}
	
	.nav_archive01 ul li a:hover{opacity: 0.7;}
	
	/* 記事
	---------------------------------------------- */
	.article{
		border-bottom: 1px solid #ECECFB;
		padding: 20px 0;
		display: flex;
	}
	
	.article time{
		color: #7B7B7B;
		font-family:'Montserrat';
		font-weight: lighter;
		font-size: 1.5rem;
		width: 100px;
		padding-top: 2px;
	}
	
	.article_inner{width: 860px;}
	
	.article_inner a{
		display: inline-block;
		color: #1FB7DF;
		text-decoration: underline;
	}
	
	.article_inner a:hover{opacity: 0.7;}
	
	.article_inner a.ico_pdf::after{
		content: "";
		display: inline-block;
		background: url("../img/ico_pdf01.png") no-repeat 0 0;
		background-size: contain;
		width: 18px;
		height: 23px;
		margin-left: 5px;
		vertical-align: text-bottom;
	}
	
	.article_inner .ico_new{
		margin: 0 0 2px 5px;
		display: inline-block;
		background: #0468BF;
		font-family:'Montserrat';
		line-height: 16px;
		min-width: 46px;
		color: #FFF;
		font-size: 1.2rem;
		text-align: center;
	}
	
	/* フォーム関連
	---------------------------------------------- */
	.form{
		width:100%;
		margin-bottom: 30px;
	}
	
	.form th{
		font-weight: bold;
		padding: 15px 0;
		width: 25%;
	}

	.form td{
		word-break: break-all;
		padding: 15px 0;
	}

	.form input[type="text"],
	.form textarea{
		border:1px solid #DDD;
		padding:15px;
		border-radius:3px;
	}

	.form input::-moz-focus-inner,
	.form select::-moz-focus-inner{border: 0;}/* Firefox 点線消す */
	.form input{-webkit-appearance: none;}/* ios 影消す */

	.form textarea{
		display: block;
		resize: vertical;
		width: 560px;
		min-height: 200px;
	}
	
	.form textarea::-moz-focus-inner{border: 0;}/* Firefox 点線消す */
	.form textarea{-webkit-appearance: none;}/* ios 影消す */

	.must,
	.ERR{color:#FF4C4C;}

	.form label{display:inline-block;}

	.form input[type="checkbox"]{
		vertical-align: -1px;
		margin-right: 8px;
	}

	/*チェックボックス*/
	.form input[type="checkbox"]{display:none;}

	.form input[type="checkbox"]+label{
		display:inline-block;
		background:url(../img/img_checkbox01.gif) no-repeat 0 0;
		background-size: 26px;
		padding:0 0 0 40px;
		line-height:26px;
		cursor:pointer;
	}

	.form input[type="checkbox"]:checked+label{
		background:url(../img/img_checkbox01_on.gif) no-repeat 0 0;
		background-size: 26px;		
	}
		
	.form input[type="checkbox"]+label:hover{color:#999;}

	/*--内容確認--*/
	.form input.submit{
		background:#FFF;
		border:2px solid #009300;
		display:inline-block;
		width:200px;
		height:76px;
		cursor: pointer;
		padding: 0;
		outline: none;
		color: #009300;
		font-weight: bold;
		border-radius: 5px;
		-webkit-appearance: none;
	}
	
	.form input.submit.active:hover{
		background: #009300;
		color: #FFF;
	}
	
	/*--戻る--*/
	.form input.back{
		background:#FFF;
		border:2px solid #009300;
		display:inline-block;
		width:200px;
		height:76px;
		cursor: pointer;
		padding: 0;
		outline: none;
		color: #009300;
		font-weight: bold;
		border-radius: 5px;
		-webkit-appearance: none;
	}
	
	.form input.back:hover{
		background: #009300;
		color: #FFF;
	}

	/*--送信--*/
	.form input.send{
		background:#FFF;
		border:2px solid #009300;
		display:inline-block;
		width:200px;
		height:76px;
		cursor: pointer;
		padding: 0;
		outline: none;
		color: #009300;
		font-weight: bold;
		border-radius: 5px;
		margin-left:20px;
		-webkit-appearance: none;
	}

	.form input.send:hover{
		background: #009300;
		color: #FFF;
	}	

	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */

	#wrap_top{
		height: 40px;
		padding: 14px 0 0 60px;
		font-size: 1.1rem;
		line-height: 1.2;
		background: #23B7E1;
		color: #FFF;
	}
	
	#wrap_top h1{
		width: calc(100% - 324px);
		padding-right: 15px;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	
	.wrap_top_inner .cloned{display: none;}	
	
	#header{position: relative;}

	.header_inner{
		width: 100%;
		height: 100px;
		padding: 0 40px 0 60px;
		display: flex;
		justify-content: space-between;
		border-top: 1px solid #23B7E1;
	}
	
	.h_logo{
		width: 236px;
		height: 56px;
		margin-top: 12px;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	.h_logo a:nth-of-type(1) img{width: 90px;}
	
	.h_logo a:nth-of-type(2){
		font-weight: bold;
		color: #333;
		line-height: 1.2;
	}
	
	.h_logo a:nth-of-type(2) p:nth-child(1){font-size: 1.2rem;}
	.h_logo a:nth-of-type(2) p:nth-child(2){font-size: 2rem;}	
	
	.btn_close,
	.btn_menu{display: none;}
	
	/*--768pxの切替時にtransition:allが効いてしまい一瞬スマホメニューが表示されてしまうためmain_menuをPC用とSP用に分けて回避しています--*/
	.main_menu.pc{display: block;}
	
	.main_menu.sp{display: none;}
	
	/* グローバルナビ
	---------------------------------------------- */
	/*--nav_global--*/	
	.nav_global ul{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	.nav_global ul li a{
		display: flex;
		align-items: center;
		height: 100px;
		color: #333;
		padding: 0 20px;
		font-weight: bold;
		position: relative;
	}
	
	.nav_global ul li a::after{
		content: "";
		display: block;
		background: #3E459D;
		width: 0;
		height: 4px;
		position: absolute;
		left: 50%;
		bottom: 25px;
		transform: translateX(-50%);
		transition: width .3s;
	}
	
	.nav_global ul li a:hover::after{width: calc(100% - 40px);}
	
	/*--nav_menu--*/
	.nav_menu{
		font-size: 1.4rem;
		display: flex;
		font-weight: bold;
		position: absolute;
		top: 0;
		right: 0;
	}
	
	.nav_menu ul{display: flex;}
	
	.nav_menu ul li a{
		display: flex;
		align-items: center;
		color: #FFF;
		height: 40px;
		padding: 0 12px;
	}
	
	.nav_menu ul li.m01{background: #1FA8CF;}
	.nav_menu ul li.m02{background: #1C9CC1;}
	.nav_menu ul li.m03{background: #1A8BAC;}
	.nav_menu ul li.m04{background: #167996;}
	
	.nav_menu ul li.m04 img{width: 23px;}
	
	.nav_menu ul li.m01:hover{background: #79CBE2;}
	.nav_menu ul li.m02:hover{background: #60BAD3;}
	.nav_menu ul li.m03:hover{background: #5EAEC5;}
	.nav_menu ul li.m04:hover{background: #5BA1B5;}
	
	/* ------------------------------------------------------------

	footer

	------------------------------------------------------------ */

	#footer{border-top: 2px solid #ECECFB;}
	
	.footer_inner{
		width: 1200px;
		margin: 0 auto;
		padding: 100px 0 20px;
	}
	
	.f_inner{
		display: flex;
		justify-content: space-between;
	}
	
	.f_inner01{margin-bottom: 80px;}
	
	.f_info{
		width: 255px;
		color: #21B7DF;
		font-size: 1.4rem;
		line-height: 1.6;
	}
	
	.txt_f_name{
		font-weight: bold;
		font-size: 1.5rem;
		margin-bottom: 12px;
	}
	
	.f_inner02{
		border-bottom: 1px solid #DBE9F9;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	
	.f_seo{
		color: #22B7E0;
		font-size: 1.1rem;
	}
	
	.f_inner02 ul{
		display: flex;
		justify-content: flex-end;
		font-size: 1.3rem;
		font-weight: bold;
	}
	
	.f_inner02 ul li a{
		background: url("../img/ico_arrow03.png") no-repeat left center;
		background-size: 6px;
		color: #22B7E0;
		font-size: 1.3rem;
		padding: 0 20px 0 9px;
	}
	
	.f_inner02 ul li:last-child a{padding-right: 0;}
	
	.f_inner02 ul li a:hover{opacity: 0.7;}
	
	.bn_footer{
		width: 567px;
		display: flex;
		justify-content: space-between;
	}
	
	.bn_footer li{
		width: 274px;
		border: 1px solid #000000;
	}
	
	.bn_footer li a{
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 58px;
		height: 100%;
		color: #333;
		font-size: 1.2rem;
		line-height: 1.2;
	}
	
	.bn_footer li a:hover{opacity: 0.7;}
	
	.bn_footer li a div{
		background: url("../img/img_logo01.png") no-repeat 0 0;
		background-size: 45px;
		padding-left: 48px;
	}
	
	.bn_footer li a p:nth-of-type(2){
		font-weight: bold;
		font-size: 1.4rem;
	}
	
	.f_small{
		color: #22B7E0;
		font-size: 1.2rem;
		line-height: 1.2;
		margin-top: 15px;
	}
	
	/* ナビ
	---------------------------------------------- */
	.nav_footer01 ul{
		display: flex;
		justify-content: space-between;
	}
	
	.nav_footer01 ul li a{
		display: block;
		font-weight: bold;
		color: #21B7DF;
		padding: 0 25px;
		line-height: 1;
		border-right: 1px solid #DBE9F9;
	}
	
	.nav_footer01 ul li:last-of-type a{
		padding-right: 0;
		border-right: none;
	}
	
	.nav_footer01 ul li a:hover{opacity: 0.7;}
	
	/* ページトップボタン
	---------------------------------------------- */
	#pagetop{
		width: 44px;
		height: 44px;
		background: #23B7E1 url("../img/ico_arrow04.png") no-repeat center;
		background-size: 22px;
		position: fixed;
		right: 15px;
		bottom: 40px;
		z-index: 100;
		cursor: pointer;
		opacity: 0;
		pointer-events: none; 
		transition: opacity .3s, background.3s;
	}

	#pagetop:hover{
		background: #81D5ED url("../img/ico_arrow04.png") no-repeat center;
		background-size: 22px;
	}
	
	#pagetop.pagetop_show{
		opacity: 1;
		pointer-events: auto;
	}
	
	#pagetop span{display: none;}

	
}/*--@media--*/


@media print{ /* 印刷時のみ */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */
	
	/* レイアウト
	---------------------------------------------- */	
	#wrap_all{
		width: 1200px;
		transform: scale(0.8);
		transform-origin: 0 0;
	}
	
	
}/*--@media--*/


@media only screen and (max-width:1200px) and (min-width:767px){ /* 表示領域が1200px以下767px以上の場合に適用するスタイル */

	/* ページタイトル
	---------------------------------------------- */
	.pagettl_inner h2{
		font-size: 24px;
		margin-bottom: 13px;
	}
	
	.pagettl_inner p{font-size: 10px;}
	

}/*--@media--*/


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */

	body{
		font-size: 15px;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	
	.pc{display: none;}
	
	.sp_br{display: block;}

	/* レイアウト
	---------------------------------------------- */
	#wrap_all{
		min-width: 320px;
		overflow: hidden;
	}
	
	.wrap_type01,
	.wrap_type04,
	.wrap_type05{padding: 35px 15px 70px;}
	
	.wrap_type02,
	.wrap_type03{padding: 35px 0 70px;}
	
	/*--404ページ--*/
	.wrap_404{
		text-align: center;
		padding: 100px 20px 0;
		margin-bottom: 100px;
	}
	
	.ttl_404{
		font-size: 3rem;
		font-weight: bold;
		margin-bottom: 12px;
	}
	
	.txt_404{margin-bottom: 30px;}
	
	/* リンク
	---------------------------------------------- */
	.link01{
		color: #20B7DF;
		text-decoration: underline !important;
	}
	
	.link_tab{
		color: #20B7DF;
		text-decoration: underline !important;
	}
	
	.link_tab::after{
		content: "";
		display: inline-block;
		vertical-align: middle;
		background: url("../img/ico_tab01.png") no-repeat 0 0;
		background-size: contain;
		width: 10px;
		height: 10px;
		margin-left: 5px;
	}
	
	.link_pdf01{
		color: #20B7DF;
		text-decoration: underline !important;
	}
	
	.link_pdf01::after{
		content: "";
		display: inline-block;
		vertical-align: text-bottom;
		background: url("../img/ico_pdf01.png") no-repeat 0 0;
		background-size: contain;
		width: 15.5px;
		height: 18.5px;
		margin-left: 5px;
	}

	/* ページタイトル
	---------------------------------------------- */
	.pagettl{position: relative;}
	
	.pagettl01{
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: cover;
		margin-bottom: 20px;
		padding-top: 40%;
	}
	
	.pagettl02,
	.pagettl03{padding-top: 29.7%;}
	
	.pagettl02::after,
	.pagettl03::after{
		content: "";
		display: block;
		background: url("../img/sp/bg_pagettl01.jpg") no-repeat 0 0;
		background-size: cover;
		padding-top: 3%;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: -1;
	}
	
	.pagettl_inner{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		color: #FFF;
		line-height: 1;
		height: 100%;
		display: flex;
		flex-direction: column;
		padding: 5px 10px 0;
	}
	
	.pagettl01 .pagettl_inner{
		justify-content: center;
		align-items: center;
	}
	
	.pagettl02 .pagettl_inner,
	.pagettl03 .pagettl_inner{
		justify-content: flex-end;
		color: #22B7E0;
	}
		
	.pagettl_inner h2{
		font-size: 2.7rem;
		font-weight: bold;
		margin-bottom: 10px;
	}
	
	.pagettl_inner p{
		font-size: 1.2rem;
		font-family:'Montserrat';
	}
	
	/* パンくずリスト
	---------------------------------------------- */
	.breadcrumb{
		font-size: 1.1rem;
		padding: 10px 10px 0;
		position: absolute;
		left: 0;
	}
	
	.pagettl01 .breadcrumb{bottom: -20px;}
	
	.pagettl02 .breadcrumb,
	.pagettl03 .breadcrumb{top: 0;}
	
	.breadcrumb ul{
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	
	.breadcrumb ul li{
		display:inline;
		vertical-align: middle;
		color: #333;
		margin-right: 4px;
		background:url("../img/ico_bdr01.png") no-repeat right 0.4em;
		background-size: 5px;
		padding-right: 13px;
	}
	
	.breadcrumb ul li:last-child{
		background: none;
		margin-right: 0;
	}

	.breadcrumb ul li a{
		color: #478CB0;
		text-decoration: #23B7E1;
	}

	/* 見出し
	---------------------------------------------- */
	/*--heading01--*/
	.heading01{
		font-size: 1.4rem;
		font-weight: bold;
		color: #21B7DF;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	
	.heading01 span{
		color: #0467BF;
		font-size: 2.2rem;
		display: block;
		margin-top: 10px;
		font-family:'Montserrat';
	}
	
	/*--heading02--*/
	.heading02{
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.4;
		margin-bottom: 15px;
		padding-left: 10px;
		position: relative;
	}
	
	.heading02::before{
		content: "";
		background: #23B7E1;
		width: 5px;
		height: 19px;
		position: absolute;
		top: 4px;
		left: 0;
	}
	
	.heading03{
		font-size: 1.8rem;
		font-weight: bold;
		padding-bottom: 20px;
		margin-bottom: 20px;
		position: relative;
	}
	
	.heading03::before{
		content: "";
		display: block;
		background: #23B7E1;
		width: 90px;
		height: 2px;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	
	/* ボタン
	---------------------------------------------- */
	/*--btn_type01--*/
	.btn_type01 a{
		display: inline-block;
		background-image: linear-gradient(to bottom, #23B7E1 0%, #076FC2 100%);
		background-size: auto 100%;
		width: 300px;
		text-align: center;
		color: #FFF;
		line-height: 60px;
		font-family:'Montserrat';
		font-weight: bold;
		font-size: 2.1rem;
		border-radius: 50px;
	}
	
	/*--btn_type02--*/
	.btn_type02 a{
		display: inline-block;
		border: 1px solid #23B7E1;
		padding: 15px;
		font-size: 1.4rem;
		font-weight: bold;
		color: #21B7DF;
		text-align: center;
	}
	
	.btn_type02 a span::after{
		content: "";
		display: inline-block;
		background: url("../img/ico_tab01.png") no-repeat 0 0;
		background-size: contain;
		width: 10px;
		height: 10px;
		margin-left: 5px;
	}
	
	/* リスト
	---------------------------------------------- */
	.list_type01 li{margin-bottom: 12px;}
	
	.list_type01 li:last-of-type{margin-bottom: 0;}
	
	.list_type01 li a{
		text-decoration: underline;
		position: relative;
		padding-left: 15px;
		color: #22B7E0;
	}
	
	.list_type01 li a::before{
		content: "";
		display: inline-block;
		background: #23B7E1;
		width: 8px;
		height: 8px;
		border-radius: 50px;
		position: absolute;
		top: 9px;
		left: 0;
	}
	
	/*--btn_back01--*/
	.btn_back01 a{
		display: inline-block;
		background: url("../img/ico_arrow07.png") no-repeat 0 center;
		background-size: 7px;
		color: #22B7E0;
		padding-left: 15px;
	}
	
	/* テーブル
	---------------------------------------------- */
	.type01{width: 100%;}
	
	.type01 th,
	.type01 td{
		border: 1px solid #CACAD9;
		padding: 10px;
	}
	
	.type01 th{
		background: #EFFBFE;
		width: 33%;
		font-size: 1.3rem;
	}
	
	/* ナビ
	---------------------------------------------- */
	.nav_archive01{margin-bottom: 15px;}
	
	.nav_archive01 p{
		background: #23B7E1;
		font-size: 1.4rem;
		color: #FFF;
		padding: 12px 15px;
		position: relative;
	}
	
	.nav_archive01 p span{
		position: absolute;
		width: 15px;
		height: 15px;
		top: 15px;
		right: 15px;
	}
	
	.nav_archive01 p span::before,
	.nav_archive01 p span::after{
		content: "";
		display: block;
		background: #FFF;
		width: 15px;
		height: 2px;
		position: absolute;
		top:50%;
		transform: translateY(-50%);
	}

	.nav_archive01 p span::after{
		transform: translateY(-50%) rotate(90deg);
		transition: 0.5s;
	}

	.nav_archive01 p.active span::after{
		transform: rotate(0);
		margin-top: -1px;
	}
	
	.nav_archive01 ul{display: none;}
	
	.nav_archive01 ul li{margin-bottom: 1px;}
	
	.nav_archive01 ul li:last-of-type{margin-bottom: 0;}
	
	.nav_archive01 ul li a{
		font-family:'Montserrat';
		display: block;
		background: #E5F4FB url("../img/ico_arrow05.png") no-repeat right 10px center;
		background-size: 14px;
		padding: 12px 30px 12px 20px;
		color: #23B7E1;
		text-align: center;
		font-weight: bold;
	}
	
	/* 記事
	---------------------------------------------- */
	.article{
		border-bottom: 1px solid #D3F3FC;
		padding: 15px 0;
	}
	
	.article time{
		color: #000;
		font-family:'Montserrat';
		font-weight: lighter;
		font-size: 1.2rem;
	}
	
	.article_inner a{
		display: inline-block;
		color: #1FB7DF;
		text-decoration: underline;
	}
	
	.article_inner a.ico_pdf::after{
		content: "";
		display: inline-block;
		background: url("../img/ico_pdf01.png") no-repeat 0 0;
		background-size: contain;
		width: 16px;
		height: 20px;
		margin-left: 5px;
		vertical-align: text-bottom;
	}
	
	.article_inner .ico_new{
		margin: 0 0 2px 5px;
		display: inline-block;
		background: #0468BF;
		font-family:'Montserrat';
		line-height: 16px;
		min-width: 46px;
		color: #FFF;
		font-size: 1.2rem;
		text-align: center;
	}
	
	/* フォーム関連
	---------------------------------------------- */
	.form{
		width:100%;
		margin-bottom: 25px;
	}

	.form th{
		font-weight: bold;
		padding: 10px 0;
		width: 100%;
		display: block;
	}

	.form td{
		word-break: break-all;
		padding-bottom: 10px;
		width: 100%;
		display: block;
	}

	.form input[type="text"],
	.form textarea{
		border: 1px solid #ddd;
		padding: 15px;
		border-radius: 3px;
		font-size: 1.6rem;
	}

	.form input::-moz-focus-inner,
	.form select::-moz-focus-inner{border: 0;}/* Firefox 点線消す */
	.form input{-webkit-appearance: none;}/* ios 影消す */

	.form textarea{
		display: block;
		width: 100%;
		min-height: 135px;
		resize: vertical;
	}
	
	.form textarea::-moz-focus-inner{border: 0;}/* Firefox 点線消す */
	.form textarea{-webkit-appearance: none;}/* ios 影消す */

	.must{
		color:#FF4C4C;
		font-size: 1.1rem;
	}

	.ERR{color:#FF4C4C;}

	.form label{display:inline-block;}

	.form input[type="checkbox"]{
		margin-right:5px;
		vertical-align:baseline;
	}

	/*チェックボックス*/
	.form input[type="checkbox"]{display:none;}

	.form input[type="checkbox"]+label{
		display:inline-block;
		background:url(../img/img_checkbox01.png) no-repeat 0 0;
		background-size: 26px;
		padding:0 0 0 40px;
		line-height:26px;
		cursor:pointer;
	}

	.form input[type="checkbox"]:checked+label{
		background:url(../img/img_checkbox01_on.png) no-repeat 0 0;
		background-size: 26px;
	}

	/*--内容確認--*/
	.form input.submit{
		background: #FFF;
		border:2px solid #009300;
		display:inline-block;
		width:158px;
		height:60px;
		cursor: pointer;
		padding: 0;
		outline: none;
		vertical-align: middle;
		text-align: center;
		color: #009300;
		font-weight: bold;
		border-radius: 5px;
		-webkit-appearance: none;
	}
	
	/*--戻る--*/
	.form input.back{
		background: #FFF;
		border:2px solid #009300;
		display:inline-block;
		width:42.2vw;
		height:60px;
		cursor: pointer;
		padding: 0;
		outline: none;
		vertical-align: middle;
		text-align: center;
		color: #009300;
		font-weight: bold;
		border-radius: 5px;
		-webkit-appearance: none;
	}

	/*--送信--*/
	.form input.send{
		background: #FFF;
		border:2px solid #009300;
		display:inline-block;
		width:42.2vw;
		height:60px;
		cursor: pointer;
		padding: 0;
		outline: none;
		vertical-align: middle;
		text-align: center;
		color: #009300;
		font-weight: bold;
		border-radius: 5px;
		-webkit-appearance: none;
	}

	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */

	#wrap_top{
		background: #23B7E1;
		color: #FFF;
		padding: 13px 0;
		font-size: 1.1rem;
		line-height: 1.2;
	}

	.wrap_top_inner{
		display: flex;
		flex-wrap: nowrap;
		padding: 2px 0;
	}

	.wrap_top_inner h1{white-space: nowrap;}
	
	.header_inner{
		height: 72.5px;
		padding: 10px 0 0 15px;
	}
	
	.btn_m_en{
		position: absolute;
		top: 5px;
		right: 5px;
	}
	
	.btn_m_en a{
		background: #1A8BAC;
		box-shadow: 2px 2px 4px 1px rgba(36,41,90, 0.43);
		color: #FFF;
		font-weight: bold;
		border-radius: 2px;
		width: 100px;
		line-height: 32px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.btn_m_en a span{
		background: url("../img/ico_arrow02.png") no-repeat 0 center;
		background-size: 5px;
		padding-left: 8px;
		font-family: 'Montserrat';
	}
	
	.h_logo{
		width: 220px;
		height: 50px;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	
	.h_logo a:nth-of-type(1) img{width: 78px;}
	
	.h_logo a:nth-of-type(2){
		font-weight: bold;
		color: #333;
		line-height: 1.2;
	}
	
	.h_logo a:nth-of-type(2) p:nth-child(1){font-size: 1.2rem;}
	.h_logo a:nth-of-type(2) p:nth-child(2){font-size: 2rem;}	
	
	/*--768pxの切替時にtransition:allが効いてしまい一瞬スマホメニューが表示されてしまうためmain_menuをPC用とSP用に分けて回避しています--*/
	.main_menu.pc{display: none;}
	
	.main_menu.sp{display: block;}
	
	/* メニュー
	---------------------------------------------- */
	/*--メニューを開くボタン--*/
	.btn_menu{
		background: linear-gradient(#7DD5ED, #25B8E1);
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 43px;
		right: 0;
		width: 60px;
		height: 60px;
		cursor: pointer;
		opacity: 1;
	}
	
	.btn_menu.open{
		top: 0;
		opacity: 0;
	}
	
	.btn_menu.fixed{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 3;
	}
	
	.btn_menu span{
		display: block;
		width: 20px;
		height: 2px;
		background:#FFF;
		position: relative;
		transition:transform .3s, opacity .3s;
	}
	
	.btn_menu span:before,
	.btn_menu span:after{
		content: "";
		display: block;
		width: 20px;
		height: 2px;
		background:#FFF;
		position: absolute;
		transition:transform .3s, opacity .3s;
	}
	
	.btn_menu span:before{top: -6px;}
	.btn_menu span:after{bottom: -6px;}
	
	/*--メニューを閉じるボタン--*/
	.btn_close{
		width: 60px;
		height: 60px;
		opacity: 0;
		transition: opacity .3s;
		transition-delay: .3s;
		cursor: pointer;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 101;
	}

	.btn_close.on{opacity: 1;}
	
	.btn_close span{
		display: block;
		width: 20px;
		height: 2px;
		background:white;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -1px;
		margin-left: -10px;
		transform: rotate(0deg);
		transition:transform .3s;
		transition-delay: .3s;
	}
	
	.btn_close.on span{transform: rotate(135deg);}
	
	.btn_close span::before{
		content: "";
		display: block;
		width: 20px;
		height: 2px;
		background:white;
		position: absolute;
		top: 0;
		left: 0;
		transform: rotate(0deg);
		transition:transform .3s;
		transition-delay: .3s;
	}
	
	.btn_close.on span::before{transform: rotate(90deg);}
	
	/* メニュー内
	---------------------------------------------- */
	.wrapper.open{
		position: fixed;
		left: 0;
		top: 115.5px;
		width: 100%;
	}
	
	.drawer{
		background: #23B7E1;
		padding: 60px 30px;
		width: 100%;
		height: 100vh;
		opacity: 0;
		transition: opacity .3s;
		pointer-events: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		overflow-y: scroll;
	}
	
	.drawer.open{
		opacity: 1;
		pointer-events: auto;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	
	.nav_global ul li{
		border-bottom: 1px solid #5BC8E8;
		opacity: 0;
		transform: translate3d(-10px,0,0);
		transition: transform .3s , opacity .3s;
	}
	
	.drawer.open .nav_global ul li.g01{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 300ms;
	}
	.drawer.open .nav_global ul li.g02{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 400ms;
	}
	.drawer.open .nav_global ul li.g03{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 500ms;
	}
	.drawer.open .nav_global ul li.g04{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 600ms;
	}
	.drawer.open .nav_global ul li.g05{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 700ms;
	}
	.drawer.open .nav_global ul li.g06{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 800ms;
	}
	.drawer.open .nav_global ul li.g07{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 900ms;
	}	
	
	.nav_global ul li a{
		background: url("../img/ico_arrow01.png") no-repeat right center;
		background-size: 27px;
		display: block;
		color: #FFF;
		font-weight: bold;
		padding: 20px 0;
		font-size: 1.8rem;
	}
	
	/*--nav_menu--*/
	.nav_menu ul li.m01{
		border-bottom: 1px solid #5BC8E8;
		margin-bottom: 40px;
	}
	
	.nav_menu ul li.m01 a{
		background: url("../img/ico_arrow01.png") no-repeat right center;
		background-size: 27px;
		display: block;
		color: #FFF;
		font-weight: bold;
		padding: 20px 0;
		font-size: 1.8rem;
	}
	
	.nav_menu ul li.m02{margin-bottom: 15px;}
	
	.nav_menu ul li.m02 a{
		display: block;
		background: #3E459D;
		text-align: center;
		color: #FFF;
		font-weight: bold;
		border-radius: 50px;
		line-height: 60px;
		font-size: 1.8rem;
	}
	
	.nav_menu ul li.m03{display: none;}
	
	.nav_menu ul li.m01,
	.nav_menu ul li.m02,
	.nav_menu ul li.m04,
	.nav_menu ul li.m05{
		opacity: 0;
		transform: translate3d(-10px,0,0);
		transition: transform .3s , opacity .3s;
	}

	.drawer.open .nav_menu ul li.m01{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 1000ms;
	}
	.drawer.open .nav_menu ul li.m02,
	.drawer.open .nav_menu ul li.m04,
	.drawer.open .nav_menu ul li.m05{
		opacity: 1;
		transform:translate3d(0,0,0);
		transition-delay: 1200ms;
	}	
	
	.nav_menu ul li.m04 a{
		text-align: center;
		display: block;
		padding: 15px 0;
	}
	
	.nav_menu ul li.m04 a img{width: 30px;}
	
	.nav_menu ul li.m05 a{
		text-align: center;
		color: #FFF;
		font-weight: bold;
		font-size: 1.2rem;
		display: block;
		padding: 15px 0;
	}
	
	/* ------------------------------------------------------------

	footer

	------------------------------------------------------------ */

	#footer{
		position: relative;
		border-top: 2px solid #ECECFB;
		padding: 40px 0 30px;
	}
	
	.f_inner01{margin-bottom: 30px;}
	
	.f_info{
		color: #21B7DF;
		font-size: 1.2rem;
		line-height: 1.5;
		text-align: center;
		margin-bottom: 45px;
	}
	
	.txt_f_name{
		font-weight: bold;
		font-size: 1.3rem;
		margin-bottom: 12px;
	}
	
	.f_inner02{
		border-bottom: 1px solid #DBE9F9;
		padding-bottom: 5px;
		margin-bottom: 15px;
	}
	
	.f_seo{
		color: #22B7E0;
		font-size: 1.1rem;
		padding: 0 5px;
		text-align: center;
	}
	
	.f_inner02 ul{display: none;}
	
	.bn_footer{
		display: flex;
		justify-content: space-between;
		padding: 0 15px;
	}
	
	.bn_footer li{
		width: calc(50% - 7.5px);
		border: 1px solid #000000;
	}
	
	.bn_footer li a{
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 35px;
		height: 100%;
		color: #333;
		font-size: 1rem;
		line-height: 1.2;
		padding: 5px 2px;
	}
	
	.bn_footer li a p{
		background: url("../img/img_logo01.png") no-repeat 0 center;
		background-size: 33px;
		padding: 3px 0 0 35px;
		min-height: 22px;
	}
	
	.bn_footer li a p img{
		width: 112.5px;
		max-width: 100%;
	}
	
	.f_small{
		color: #22B7E0;
		font-size: 1.1rem;
		text-align: center;
		line-height: 1;
		margin-top: 15px;
	}
	
	/* ナビ
	---------------------------------------------- */
	.nav_footer01{padding: 0 15px;}
	
	.nav_footer01 ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	
	.nav_footer01 ul li{
		width: 25%;
		margin-bottom: 25px;
		text-align: center;
	}
	
	.nav_footer01 ul li a{
		display: block;
		font-weight: bold;
		color: #21B7DF;
		line-height: 1;
		border-right: 1px solid #DBE9F9;
	}
	
	.nav_footer01 ul li:nth-of-type(4) a,
	.nav_footer01 ul li:nth-of-type(7) a{border-right: none;}

	/* ページトップボタン
	---------------------------------------------- */	
	#pagetop{
		background: #23B7E1 url("../img/ico_arrow04.png") no-repeat center;
		background-size: 19px;
		display: block;
		width: 34px;
		height: 34px;
		position: absolute;
		top: 0;
		right: 0;
		cursor: pointer;
	}
	
	#pagetop span{display: none;}

	
}/*--@media--*/


@media only screen and (max-width: 360px){ /* 表示領域が360px以下の場合に適用するスタイル */
	
	/* ナビ
	---------------------------------------------- */
	.nav_footer01 ul li a{font-size: 1.28rem;}
	
	
}/*--@media--*/
	
	