@charset "utf-8";
/* Copyright 2019 FSFIELD All Rights Reserved. */

/* ------------------------------------------------------------

basic

------------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese');

/* Google Fonts */
@font-face{
	font-family: 'Noto Serif Japanese';
	font-style: normal;
	font-weight: 400;
	src: url(/fonts/NotoSerifJP-Regular.otf) format('opentype');
}

@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: Arial, 'Noto Sans JP', Yu Gothic, "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}

@media (-ms-high-contrast: none) {
	*{font-family: Arial, 'Noto Sans JP', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
}

body{
	font-size: 14px;
	font-size: 1.4rem;/*-14px-*/
	line-height: 1.8;
	color: #333333;
    font-weight: 400;
	min-width: 1200px;
}

/* ------------------------------------------------------------

shortcodes

------------------------------------------------------------ */

/* clear
---------------------------------------------- */
.overflow_clear{
	overflow:hidden;
	height:100%;
}

/* text-align
---------------------------------------------- */
.align_right{text-align:right !important;}
.align_left{text-align:left !important;}
.align_center{text-align:center !important;}
.center{margin:0 auto !important;}
.left{float:left !important;}
.right{float:right !important;}

/* font
---------------------------------------------- */
.normal{font-weight:normal !important;}
.bold{font-weight:bold !important;}
.italic{font-style: italic !important;}

/* vertical-align
---------------------------------------------- */
.valign_top{vertical-align:top !important;}
.valign_middle{vertical-align:middle !important;}
.valign_btm{vertical-align:bottom !important;}

/* visibility
---------------------------------------------- */
.hidden{visibility:hidden !important;}
.visible{visibility:visible !important;}

/* display
---------------------------------------------- */
.none{display:none !important;}

/* margin
---------------------------------------------- */
.mr_none{margin-right:0px !important;}
.mr_05{margin-right:5px !important;}
.mr_10{margin-right:10px !important;}
.mr_15{margin-right:15px !important;}
.mr_20{margin-right:20px !important;}
.mr_25{margin-right:25px !important;}
.mr_30{margin-right:30px !important;}
.mr_35{margin-right:35px !important;}
.mr_40{margin-right:40px !important;}
.mr_45{margin-right:45px !important;}
.mr_50{margin-right:50px !important;}

.ml_none{margin-left:0px !important;}
.ml_05{margin-left:5px !important;}
.ml_10{margin-left:10px !important;}
.ml_15{margin-left:15px !important;}
.ml_20{margin-left:20px !important;}
.ml_25{margin-left:25px !important;}
.ml_30{margin-left:30px !important;}
.ml_35{margin-left:35px !important;}
.ml_40{margin-left:40px !important;}
.ml_45{margin-left:45px !important;}
.ml_50{margin-left:50px !important;}

.mt_none{margin-top:0px !important;}
.mt_05{margin-top:5px !important;}
.mt_10{margin-top:10px !important;}
.mt_15{margin-top:15px !important;}
.mt_20{margin-top:20px !important;}
.mt_25{margin-top:25px !important;}
.mt_30{margin-top:30px !important;}
.mt_35{margin-top:35px !important;}
.mt_40{margin-top:40px !important;}
.mt_45{margin-top:45px !important;}
.mt_50{margin-top:50px !important;}
.mt_60{margin-top:60px !important;}

.mb_none{margin-bottom:0px !important;}
.mb_05{margin-bottom:5px !important;}
.mb_10{margin-bottom:10px !important;}
.mb_15{margin-bottom:15px !important;}
.mb_20{margin-bottom:20px !important;}
.mb_25{margin-bottom:25px !important;}
.mb_30{margin-bottom:30px !important;}
.mb_35{margin-bottom:35px !important;}
.mb_40{margin-bottom:40px !important;}
.mb_45{margin-bottom:45px !important;}
.mb_50{margin-bottom:50px !important;}
.mb_55{margin-bottom:55px !important;}
.mb_60{margin-bottom:60px !important;}
.mb_65{margin-bottom:65px !important;}
.mb_70{margin-bottom:70px !important;}
.mb_75{margin-bottom:75px !important;}
.mb_80{margin-bottom:80px !important;}
.mb_85{margin-bottom:85px !important;}
.mb_90{margin-bottom:90px !important;}
.mb_95{margin-bottom:95px !important;}
.mb_100{margin-bottom:100px !important;}

/* ------------------------------------------------------------

common

------------------------------------------------------------ */

#wrap_all{overflow: hidden;}

.wrap_type01{
	width: 1000px;
	margin: 0 auto 160px;
}

.wrap_type02{
	width: 1200px;
	margin: 0 auto 160px;
}

/*--404ページ--*/
.pagettl_404 .pagettl_inner_r{background-image: url("../img/staff/img_pagettl01.jpg");}

.wrap_404{text-align: center;}

.ttl_404{
	font-size: 5rem;
	font-weight: bold;
	margin-bottom: 12px;
}

.txt_404{margin-bottom: 30px;}

/* リンク
---------------------------------------------- */
.link01{
	color: #0087B6;
	text-decoration: underline !important;
}

.link01:hover{
	opacity: 0.7;
	text-decoration: none !important;
}

/* ページタイトル
---------------------------------------------- */
.pagettl{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	height: 400px;
}

.pagettl_inner_l{
	background: url("../img/bg_pagettl01.jpg") no-repeat center;
	background-size: cover;
	width: 33.33%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding: 0 5%;
	position: relative;
}

.pagettl_inner_l::after{
	content: "";
	display: block;
	background: url("../img/img_pagettl_decoration01.png") no-repeat 0 0;
	width: 780px;
	height: 400px;
	position: absolute;
	top: 0;
	left: 55%;
	transform: translateX(-55%);
	z-index: 1;
}

.pagettl_inner_l h2{
	position: relative;
	z-index: 2;
}

.pagettl_inner_l h2 img{width: 100%;}

.pagettl_inner_r{
	width: 66.66%;
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
	position: relative;
}

.pagettl_inner_r::after{
	content: "";
	display: block;
	background: url("../img/img_pagettl_decoration02.png") no-repeat 0 0;
	width: 183px;
	height: 284px;
	position: absolute;
	right: 0;
	bottom: 0;
}

/* パンくずリスト
---------------------------------------------- */
.breadcrumb{
	width: 100%;
	margin: 0 0 80px;
	padding: 15px 5% 0;
}

.breadcrumb ul{
	font-size: 1.2rem;
	line-height: 1.2;
	overflow: hidden;
	list-style: none;
}

.breadcrumb ul li{
	float: left;
	background: url(../img/ico_arrow04.png) no-repeat right 0.2em;
	padding-right: 17px;
	margin-right: 10px;
	color: #92ACB8;
}

.breadcrumb ul li:last-child{
	background: none;
	padding-right: 0;
	margin-right: 0;
}

.breadcrumb ul li a{color:#368BD1;}

.breadcrumb ul li a:hover{color: #92ACB8;}

/* ボタン
---------------------------------------------- */
.btn_type01 a{
	display: inline-block;
	border: 1px solid #256BA5;
	text-align: center;
	width: 240px;
	line-height: 60px;
	background: #FFF;
	color: #256BA5;
	transition:  color .3s;
	position: relative;
	z-index: 0;
}

.btn_type01 a:hover{color: #FFF;}

.btn_type01 a::after{
	content: "";
	background: linear-gradient(to bottom right, #388DD2, #35C8C8);
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: width .3s;
}

.btn_type01 a:hover::after{width: 100%;}

/* 記事
---------------------------------------------- */
.article{border-bottom: 1px solid #DDEEEE;}

.article:first-child{border-top:1px solid #DDEEEE;}

.article a{
	display: block;
	color: #333;
	padding: 28px 0 23px;
}

.article_inner{
	display:-webkit-flex;
	display:flex;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: 15px;
}

.article_inner .cat{
	width: 80px;
	height: 26px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-right: 15px;
}

.article_inner time{
	display: inline-block;
	color: #919191;
	font-size: 1.3rem;
	font-weight: bold;
}

.article h3{
	background: url("../img/ico_arrow01.png") no-repeat right center;
	transition: opacity .2s;
	padding-right: 15px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.article a:hover h3{opacity: 0.7;}

/* フォーム関連
---------------------------------------------- */
.form{width:100%;}

.form tr:nth-child(odd){background: #E0ECF1;}

.form tr:nth-child(even){background: #E9F1F5;}

.form th{padding: 20px;}

.inquiry th{
	width: 27%;
	padding: 20px;
	vertical-align: top;
}

.form th img{margin-right: 10px;}

.form td{
	word-break: break-all;
	padding: 10px;
}

.form input[type="text"],
.form input[type="email"],
.form textarea{
	padding: 13px;
	border: none;
	width: 100%;
	font-size: 1.5rem;
}

input::-moz-focus-inner,
select::-moz-focus-inner{border: 0;}/* Firefox 点線消す */

.form textarea{
	resize: vertical;
	min-height: 380px;
}

.form .must{color:#D50000;}

.form .ERR{color:#D50000;}

.form label{display:inline-block;}

.form input[type="radio"],
.form input[type="checkbox"]{
	margin-right:5px;
	vertical-align:baseline;
}

.wrap_btn{
	text-align: center;
	margin-top: 100px;
}

.wrap_btn .submit{
	display: inline-block;
	text-align: center;
	width: 240px;
	background: #FFF;
	color: #256BA5;
	position: relative;
	z-index: 0;
}

.wrap_btn .submit::after{
	content: "";
	background: linear-gradient(to bottom right, #388DD2, #35C8C8);
	width: 0;
	height: calc(100% - 25px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	transition: width .3s;
}

.wrap_btn .submit:hover::after{width: 100%;}

.wrap_btn input{
	width: 100%;
	height: 100%;
	border: 1px solid #256BA5;
	line-height: 60px;
	padding: 0;
	background: none;
	outline: none;
	color: #256BA5;
	transition:  color .3s;
	cursor: pointer;
}

.wrap_btn .submit:hover input{color: #FFF;}

/* wordpress wp_contents
---------------------------------------------- */
.wp_contents{
	overflow:hidden;
	line-height: 2.8;
}

.wp_contents p{margin-bottom:2em;}
.wp_contents p:last-child{margin-bottom:0;}

.wp_contents a{color:#348BD1;}

.wp_contents a:hover{text-decoration:underline;}

.wp_contents img{
	max-width: 1200px;
	height:auto;
}

.wp_contents .alignleft{float:left;}
.wp_contents .alignright{float:right;}
.wp_contents .aligncenter{
	display: block;
	margin: auto;
}

/*--太字、取り消し線--*/
.wp_contents strong{font-weight: bold;}
.wp_contents del{text-decoration:line-through;}

/*--リスト--*/
.wp_contents ol{margin-bottom: 1em;}

.wp_contents ol li{list-style: decimal inside;}

.wp_contents ul{margin-bottom: 1em;}

.wp_contents ul li{list-style: disc inside;}

/*--テーブル--*/
.wp_contents table{width: 100%;}

.wp_contents table th,
.wp_contents table td{
	padding: 10px;
	border: 1px solid #CCC;
}

/*--キャプション--*/
.wp-caption{
	max-width: 100% !important;
	display: inline-block;
}

.wp-caption + p{margin-top: 25px;}

.wp-caption img{margin-bottom: 10px;}

.wp-caption .wp-caption-text{
	font-size: 1.2rem;
	line-height: 1.4;
}

/* wordpress ページネーション
---------------------------------------------- */
.wp-pagenavi{
	line-height: 1.2;
	padding-top: 80px;
	font-weight: bold;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.wp-pagenavi span{
	background: linear-gradient(135deg, #379CCF 0%, #35C8C8 100%);
	color: #FFF;
	margin: 0 4px;
	padding: 10px 14px;
	border: 1px solid #95BDCE;
}

.wp-pagenavi a{
	color: #95BDCE;
	margin: 0 4px;
	padding: 10px 14px;
	border: 1px solid #95BDCE;
}

.wp-pagenavi a:hover{
	background: linear-gradient(135deg, #379CCF 0%, #35C8C8 100%);
	color: #FFF;
}

.first,
.last,
.pages,
.extend{display:none !important;}	

/* wordpress 引用
---------------------------------------------- */
.wp_contents blockquote{
	display:inline-block;
	position: relative;
	padding: 0 0 0 40px;
	color: #999;
	margin-bottom: 1.3em;
}

.wp_contents blockquote p{margin-bottom: 1.3em;}
.wp_contents blockquote p:last-child{margin-bottom: 0;}

.wp_contents blockquote::before{
	content: "\201C"; /*Unicode for Left Double Quote*/

	/*フォント*/
	font-family: Georgia, serif;
	font-size: 30px;
	font-weight: bold;
	line-height: 1;

	/*ポジショニング*/
	position: absolute;
	left: 20px;
	top: 0;
}

/* ------------------------------------------------------------

header

------------------------------------------------------------ */

.h1_top{
	color: #AAAAAA;
	font-size: 1.1rem;
	line-height: 1;
	padding: 9px 50px 0;
}

#header{padding: 0 50px;}

.header_inner{
	height: 120px;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.wrap_h_nav{width: 630px;}

.h_inner{
	padding-bottom: 18px;
	margin-bottom: 20px;
	border-bottom: 1px solid #DDDDDD;
	display:-webkit-flex;
	display:flex;
	-webkit-align-items: center;
	align-items: center;
}

.nav_header ul{
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.nav_header ul li a{
	display: block;
	color: #333;
	padding: 0 18px;
	transition: color .2s;
}

.nav_header ul li:first-child a{padding-left: 0;}

.nav_header ul li:last-child a{padding-right: 40px;}

.nav_header ul li a:hover{color: #368BD1;}

.h_tsukuba a{
	display: block;
	line-height: 1;
}

.h_tsukuba a:hover{opacity: 0.8;}

.nav_global ul{
	display:-webkit-flex;
	display:flex;
	-webkit-align-items: center;
	align-items: center;
}

.nav_global ul li a{
	display: block;
	color: #333;
	padding: 0 18px;
	transition: color .2s;
}

.nav_global ul li:first-child a{padding-left: 0;}

.nav_global ul li:last-child a{padding-right: 0;}

.nav_global ul li a:hover{color: #368BD1;}

/* ------------------------------------------------------------

footer

------------------------------------------------------------ */

.f_image{
	height: 400px;
	background: url("../img/img_footer01.jpg") no-repeat center;
	background-size: cover;
	background-attachment: fixed;
}

.footer_inner01{
	padding: 80px 0;
	font-size: 1.3rem;
}

.f_logo{
	text-align: center;
	margin-bottom: 20px;
}

.f_address{
	text-align: center;
	margin-bottom: 60px;
}

.nav_footer01 ul{
	width: 1120px;
	margin: 0 auto;
	display:-webkit-flex;
	display:flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.nav_footer01 ul li{
	position: relative;
	line-height: 14px;
}

.nav_footer01 ul li::after{
	content: "";
	display: block;
	background: #DDDDDD;
	width: 1px;
	height: 20px;
	transform: skewX(-30deg);
	position: absolute;
	top: -3px;
	right: 0;
}

.nav_footer01 ul li:last-child::after{display: none;}

.nav_footer01 ul li a{
	display: block;
	color: #333;
	padding: 0 22px 0 17px;
	transition: color .2s;
}

.nav_footer01 ul li:first-child a{padding-left: 0;}

.nav_footer01 ul li:last-child a{padding-right: 0;}

.nav_footer01 ul li a:hover{color: #368BD1;}

.footer_inner02{
	background: #CEDDE8;
	padding: 50px 0 20px;
}

.nav_footer02{
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #BDD0DF;
}

.nav_footer02 ul{
	width: 400px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.nav_footer02 ul li{margin-right: 40px;}

.nav_footer02 ul li:last-of-type{margin-right: 0;}

.nav_footer02 ul li.f01{width: 86px;}
.nav_footer02 ul li.f02{width: 142px;}
.nav_footer02 ul li.f03{width: 90px;}

.nav_footer02 ul li a{
	display: block;
	position: relative;
}

.nav_footer02 ul li.f01 a,
.nav_footer02 ul li.f02 a{height: 14px;}

.nav_footer02 ul li.f03 a{height: 20px;}

.nav_footer02 ul li a::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity .3s;
}

.nav_footer02 ul li a:hover::after{opacity: 1;}

.nav_footer02 ul li.f01 a::after{background-image: url("../img/txt_nav_footer01_on.jpg");}
.nav_footer02 ul li.f02 a::after{background-image: url("../img/txt_nav_footer02_on.jpg");}
.nav_footer02 ul li.f03 a::after{background-image: url("../img/btn_nav_footer01_on.jpg");}

.bn_footer{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	margin-bottom: 25px;
}

.bn_footer li{margin-right: 20px;}

.bn_footer li:last-child{margin-right: 0;}

.bn_footer li a{transition: opacity .3s;}

.bn_footer li a:hover{opacity: 0.7;}

.f_bottom{
	color: #6B7D8E;
	font-size: 1.1rem;
	line-height: 1;
	text-align: center;
}

/* ページトップボタン
---------------------------------------------- */
#pagetop{
	display: block;
	width: 40px;
	height: 40px;
	overflow: hidden;
	position: fixed;
	right: 30px;
	bottom: 50px;
	z-index: 100;
	cursor: pointer;
}

#pagetop_inner{
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
	background: linear-gradient(135deg, #379ECF 0%, #35C8C8 100%);/*元の色*/
}

#pagetop_inner::after{
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, #53AAD7 0%, #69D8D8 100%);/*ホバー時の色*/
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity .2s;
	opacity: 0;
}

#pagetop:hover #pagetop_inner::after{opacity: 1;}

#pagetop span{
	display: block;
	width: 40px;
	height: 40px;
	background: url("../img/ico_arrow02.png") no-repeat center;
	position: relative;
	z-index: 1;
}

