@charset "utf-8";
/* Copyright 2020 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

パソコン、スマートフォン（iPhone,Android) 共通

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

/* ------------------------------------------------------------

basic

------------------------------------------------------------ */

@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;}


@media print, screen and (min-width:768px){ /* 表示領域が768px以上の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */

	body{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.pc_br{display: block;}

	/* レイアウト
	---------------------------------------------- */
	#wrap_all{
		position: relative;
		min-width: 1200px;
		overflow: hidden;
	}

	/*--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;}

	/* 見出し
	---------------------------------------------- */
	.heading01{
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.8;
		padding-left: 42px;
		margin-bottom: 3px;
		position: relative;
	}

	.heading01::before{
		content: "";
		display: block;
		width: 30px;
		height: 2px;
		background: #2093B8;
		position: absolute;
		top: 16px;
		left: 0;
	}

	/* リンク
	---------------------------------------------- */

	/* リスト
	---------------------------------------------- */
	.list_type01 li{
		color: #2093B8;
		font-weight: bold;
		background-repeat: no-repeat;
		background-position: left 3px;
		background-size: 22px;
		padding-left: 30px;
		margin-bottom: 15px;
	}

	.list_type01 li:last-child{margin-bottom: 0;}

	.list_type01 li:nth-child(1){background-image: url(../img/ico_number01.png);}
	.list_type01 li:nth-child(2){background-image: url(../img/ico_number02.png);}
	.list_type01 li:nth-child(3){background-image: url(../img/ico_number03.png);}

	/* テーブル
	---------------------------------------------- */
	/*--type01--*/
	.type01{width: 100%;}

	.type01 tr:nth-child(even){background: #F0FAFD;}
	.type01 tr:nth-child(odd){background: #FAFDFE;}
	.type01 tr:first-child{background: #FFF;}

	.type01 th{
		font-weight: bold;
		padding: 7px 0;
	}

	.type01 td{padding: 4px 12px 5px;}

	.type01 td:nth-child(1){
		width: 495px;
		border-right: 1px solid #DEEEF3;
	}

	.type01 td:nth-child(2){
		width: 88px;
		text-align: center;
	}

	/*--type02--*/
	.type02{width: 100%;}

	.type02 tr:nth-child(odd){background: #FCFCE9;}
	.type02 tr:nth-child(even){background: #FEFEF8;}

	.type02 th,
	.type02 td{padding: 4px 12px 5px;}

	.type02 td:nth-child(1){
		width: 495px;
		border-right: 1px solid #F5F4DA;
	}

	.type02 td:nth-child(2){
		width: 88px;
		text-align: center;
		padding: 4px 0 5px;
	}


	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */

	#wrap_top{
		color: #AAA;
		font-size: 1.1rem;
		line-height: 1.2;
		text-align: right;
		padding: 1px 0 3px;
	}

	.wrap_top_inner .cloned{display: none;}

	#header{
		position: relative;
		height: 92px;
		background: #FFF;
		padding: 0 50px;
		z-index: 10;
	}

	.h_inner{
		min-width: 1100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 8px 0;
		margin: 0 auto;
	}

	.header_l{
		display: flex;
		align-items: center;
	}

	.h_logo01{
		width: 126px;
		padding-bottom: 5px;
		margin-right: 10px;
	}

	.h_logo02{width: 300px;}

	.h_logo01 a,
	.h_logo02 a{display: block;}

	.h_logo01 a img,
	.h_logo02 a img{width: 100%;}

	.m_logo{display: none;}

	/*--768pxの切替時にtransition:allが効いてしまい一瞬スマホメニューが表示されてしまうためmain_menuをPC用とSP用に分けて回避しています--*/
	.main_menu.pc{display: block;}

	.main_menu.sp{display: none;}

	/* ナビ
	---------------------------------------------- */
	.nav_global{padding-top: 5px;}

	.nav_global ul{display: flex;}

	.nav_global ul li a{
		display: block;
		color: #333;
		font-size: 1.6rem;
		line-height: 1.2;
		padding: 5px 17px;
	}

	.nav_global ul li:last-child a{padding-right: 0;}

	.nav_global ul li a:hover{color: #1F92B8;}

	.btn_menu,
	.btn_close{display: none;}


	/* ------------------------------------------------------------

	footer

	------------------------------------------------------------ */

	#footer{position: relative;}

	.f_inner{
		width: 1200px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto;
	}

	.wrap_footer{
		background: #F8F8F8;
		padding: 80px 0;
	}

	.footer_l{
		display: flex;
		align-items: center;
	}

	.f_bottom{
		color: #D9EBF2;
		font-size: 1.2rem;
		background: #2093B8;
		padding: 35px 0;
	}

	.f_logo01{
		width: 126px;
		padding-bottom: 5px;
		margin-right: 10px;
	}

	.f_logo02{width: 355px;}

	.f_logo01 a,
	.f_logo02 a{display: block;}

	.f_logo01 a img,
	.f_logo02 a img{width: 100%;}

	/* ナビ
	---------------------------------------------- */
	.nav_footer ul{display: flex;}

	.nav_footer ul li a{
		display: block;
		color: #333;
		font-size: 1.6rem;
		line-height: 1.2;
		padding: 5px 17px;
	}

	.nav_footer ul li:last-child a{padding-right: 0;}

	.nav_footer ul li a:hover{opacity: 0.7;}

	/* ページトップボタン
	---------------------------------------------- */
	#pagetop{
		width: 100%;
		height: 50px;
		background: #FFF url(../img/pc/btn_pagetop01.jpg) no-repeat center;
		border-top: 1px solid #E5E5E5;
		border-bottom: 1px solid #E5E5E5;
		cursor: pointer;
	}

	#pagetop span{display: none;}

	#pagetop:hover{opacity: .7;}


}/*--@media--*/


@media print{ /* 印刷時のみ */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */

	/* レイアウト
	---------------------------------------------- */
	#wrap_all{
		width: 1200px;
		transform: scale(0.8);
		transform-origin: 0 0;
	}


}/*--@media--*/


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	common

	------------------------------------------------------------ */

	body{
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.sp_br{display: block;}

	/* レイアウト
	---------------------------------------------- */
	#wrap_all{
		position: relative;
		min-width: 320px;
		overflow: hidden;
	}

	/*--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;}

	/* 見出し
	---------------------------------------------- */
	.heading01{
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.8;
		padding-left: 40px;
		margin-bottom: 3px;
		position: relative;
	}

	.heading01::before{
		content: "";
		display: block;
		width: 30px;
		height: 2px;
		background: #2093B8;
		position: absolute;
		top: 14px;
		left: 0;
	}

	/* リンク
	---------------------------------------------- */

	/* リスト
	---------------------------------------------- */
	.list_type01 li{
		color: #2093B8;
		font-weight: bold;
		background-repeat: no-repeat;
		background-position: left 0;
		background-size: 22px;
		line-height: 1.5;
		padding-left: 30px;
		margin-bottom: 15px;
	}

	.list_type01 li:last-child{margin-bottom: 0;}

	.list_type01 li:nth-child(1){background-image: url(../img/ico_number01.png);}
	.list_type01 li:nth-child(2){background-image: url(../img/ico_number02.png);}
	.list_type01 li:nth-child(3){background-image: url(../img/ico_number03.png);}

	/* テーブル
	---------------------------------------------- */
	/*--type01--*/
	.type01{width: 100%;}

	.type01 tr:nth-child(even){background: #F0FAFD;}
	.type01 tr:nth-child(odd){background: #FAFDFE;}
	.type01 tr:first-child{background: #FFF;}

	.type01 th{
		font-weight: bold;
		padding: 6px 0 7px;
	}

	.type01 td{
		line-height: 1.5;
		padding: 6px 10px 7px;
	}

	.type01 td:nth-child(1){
		width: calc(100% - 70px);
		border-right: 1px solid #DEEEF3;
	}

	.type01 td:nth-child(2){
		width: 22.4%;
		min-width: 70px;
		text-align: center;
	}

	/*--type02--*/
	.type02{width: 100%;}

	.type02 tr:nth-child(odd){background: #FCFCE9;}
	.type02 tr:nth-child(even){background: #FEFEF8;}

	.type02 th,
	.type02 td{
		line-height: 1.5;
		padding: 6px 10px 7px;
	}

	.type02 td:nth-child(1){
		width: calc(100% - 70px);
		border-right: 1px solid #F5F4DA;
	}

	.type02 td:nth-child(2){
		width: 22.4%;
		min-width: 70px;
		text-align: center;
		padding: 6px 0 7px;
	}


	/* ------------------------------------------------------------

	header

	------------------------------------------------------------ */

	#wrap_top{
		position: relative;
		width: 100%;
		color: #7E8489;
		font-size: 1rem;
		line-height: 1.2;
	}

	.wrap_top_inner{
		display: flex;
		flex-wrap: nowrap;
		padding: 2px 0;
	}

	.wrap_top_inner h1{white-space: nowrap;}

	#header{
		height: 55px;
		background: #FFF;
		position: relative;
		z-index: 10;
	}

	.h_inner{
		padding: 5px 55px 0 10px;
		z-index: 3;
	}

	.header_l{
		display: flex;
		align-items: center;
	}

	.h_logo01{
		width: 25.1%;
		min-width: 70px;
		max-width: 126px;
		margin-right: 5px;
	}

	.h_logo02{
		width: 63.9%;
		min-width: 170px;
		max-width: 355px;
	}

	.h_logo01 a,
	.h_logo02 a{display: block;}

	.h_logo01 a img,
	.h_logo02 a img{width: 100%;}

	/*--768pxの切替時にtransition:allが効いてしまい一瞬スマホメニューが表示されてしまうためmain_menuをPC用とSP用に分けて回避しています--*/
	.main_menu.pc{display: none;}

	.main_menu.sp{display: block;}

	/* メニュー
	---------------------------------------------- */
	/*--メニューを開くボタン--*/
	.btn_menu{
		width: 55px;
		height: 55px;
		background: #2093B8;
		z-index: 999;
		position: fixed;
		top: 0;
		right: 0;
		transition: background .3s;
	}

	.btn_menu span{
		display: block;
		width: 24px;
		height: 2px;
		background: #FFF;
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -1px 0 0 -10px;
		transition: all .3s;
	}

	.btn_menu span::before,
	.btn_menu span::after{
		content:"";
		display: block;
		width: 24px;
		height: 2px;
		background: #FFF;
		position: absolute;
		transition: all .3s;
	}

	.btn_menu span::before{top: -7px;}

	.btn_menu span::after{top: 7px;}

	.btn_menu.on{background: #F0FAFD;}

	.btn_menu.on span{
		background: #2093B8;
		transform: rotate(45deg);
	}

	.btn_menu.on span::before{
		background: #2093B8;
		transform: rotate(90deg);
		top: 0;
	}

	.btn_menu.on span::after{opacity: 0;}

	.btn_menu.fixed{top: 0;}

	.btn_menu.on.fixed{top: 15px;}

	.btn_close{
		position: absolute;
		bottom: 0;
		left: 0;
	}

	.btn_close img{width: 100%;}

	/* メニュー内
	---------------------------------------------- */
	.drawer{
		width: 100%;
		height: 100vh;
		background: #F0FAFD;
		position: fixed;
		top: 0;
		left: 0;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s;
		z-index: 10;
	}

	.drawer.open{
		opacity: 1;
		pointer-events: auto;
	}

	.drawer_inner{
		height: 100%;
		opacity: 0;
		transform: translate3d(-10px,0,0);
		transition: transform .3s , opacity .3s;
		position: relative;
	}

	.drawer.open .drawer_inner{
		opacity: 1;
		transform: translate3d(0,0,0);
		transition-delay: 300ms;
	}

	.menu_inner{
		display: flex;
		align-items: center;
		padding: 21px 55px 0 10px;
		margin-bottom: 50px;
	}

	.m_logo01{
		width: 25.1%;
		min-width: 70px;
		max-width: 126px;
		margin-right: 5px;
	}

	.m_logo02{
		width: 63.9%;
		min-width: 170px;
		max-width: 355px;
	}

	.m_logo01 a,
	.m_logo02 a{display: block;}

	.m_logo01 a img,
	.m_logo02 a img{width: 100%;}

	.nav_global{padding: 0 25px;}

	.nav_global ul li{margin-bottom: 25px;}

	.nav_global ul li a{
		display: flex;
		justify-content: space-between;
		align-items: center;
		color: #333;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.2;
	}

	.nav_global ul li a::before{
		content: "";
		display: block;
		width: 46.2%;
		padding-top: 26.62%;
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.nav_global ul li.g01 a::before{background-image: url(../img/sp/nav_menu01.jpg);}
	.nav_global ul li.g02 a::before{background-image: url(../img/sp/nav_menu02.jpg);}
	.nav_global ul li.g03 a::before{background-image: url(../img/sp/nav_menu03.jpg);}
	.nav_global ul li.g04 a::before{background-image: url(../img/sp/nav_menu04.jpg);}

	.nav_global ul li a span{
		display: block;
		width: 46.2%;
		min-width: 152px;
		max-width: 300px;
		margin-left: 10px;
	}


	/* ------------------------------------------------------------

	footer

	------------------------------------------------------------ */

	#footer{position: relative;}

	.wrap_footer{
		background: #F8F8F8;
		padding: 50px 25px;
	}

	.footer_l{
		display: flex;
		align-items: center;
		margin-bottom: 25px;
	}

	.f_bottom{
		background: #2093B8;
		padding: 40px 0;
	}

	.f_logo01{
		width: 25.1%;
		max-width: 126px;
		margin-right: 5px;
	}

	.f_logo02{
		width: 63.9%;
		max-width: 355px;
	}

	.f_logo01 a,
	.f_logo02 a{display: block;}

	.f_logo01 a img,
	.f_logo02 a img{width: 100%;}

	.f_bottom{
		color: #D9EBF2;
		font-size: 1.1rem;
		line-height: 1.5;
		text-align: center;
		background: #2093B8;
		padding: 15px 5px 20px;
	}

	.f_bottom small{
		display: block;
		font-size: 1rem;
		line-height: 1.2;
		margin-top: 10px;
	}

	/* ナビ
	---------------------------------------------- */
	.nav_footer ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.nav_footer ul li{width: 46.2%;}

	.nav_footer ul li a{
		display: block;
		color: #333;
		font-size: 1.3rem;
		line-height: 1.2;
		padding: 15px 0;
	}

	/* ページトップボタン
	---------------------------------------------- */
	#pagetop{
		width: 100%;
		height: 40px;
		background: #FFF url(../img/sp/btn_pagetop01.jpg) no-repeat center;
		background-size: 84px;
		border-top: 1px solid #E5E5E5;
		border-bottom: 1px solid #E5E5E5;
	}

	#pagetop span{display: none;}


}/*--@media--*/




