/*----------------------------------------------------
	共通CSS
----------------------------------------------------*/
*{
	margin:0;
	padding:0;
	color:#333;
	text-decoration:none;
	box-sizing:border-box;
	font-size:14px;
}
a,p,span,h1,h2,h3,h4,h5,h6,li,dt,dd,th,td {
	line-height:1.4em;
}
ul,ol {
	list-style:none;
}
table {
	border-collapse:collapse;
	width:100%;
}
a:hover,.submit:hover {
	transition:0.3s;
	opacity:0.6;
}
.fadeIn {
  opacity: 0;
}

/* img  */
img{
	max-width: 100%;
	height:auto;
	width:auto;
	border:none;
}
img,iframe{
	vertical-align: bottom;
}
@media screen and (max-width:767px){
	img{
		max-width: 100%;
		height: auto;
		width:auto;
	}
}

/* base */
html {
/* 	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif; */
/* ゴシック */
	font-family: 'Noto Sans JP', sans-serif;
/* 明朝体 */
/* 	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; */
	overflow-x:hidden;
	font-size:100%;
}
body{
	min-width:1150px;/*背景が消えるバグ防止*/
	background-color:#FFF;
}
@media screen and (max-width:767px){
	body{/*mywidthが100%になるタイミングとセット*/
		min-width:0;
		overflow-x : hidden;
		overflow-y : auto;
		word-break: break-all;
		padding-top:60px;
	}
}

/*  width 管理  */
#main_wrap.in_side #main .mywidth{
	width:100%;
}
.mywidth{
	width:1080px;
	margin:auto;
}
.mywidth2{
	width:1400px;
	margin:auto;
}
@media screen and (max-width:767px){
	.mywidth,.mywidth2{
		width:100%;
		margin:auto;
		padding:0 10px;
	}
}

/*  header  */
#header{
	width:100%;
}
#header .head_content{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#header .head_content .logo_wrap {
	max-width:300px;
}
@media screen and (max-width:767px){
}

/* メインコンテンツ  */
#main_wrap {
	padding:20px 0 100px;
}
.home #main_wrap {
	padding:60px 0 100px;
}
/* side有り*/
#main_wrap.in_side{
	display:flex;
	justify-content:center;
}
#main_wrap.in_side #main {
	width:780px;
}
@media screen and (max-width:767px){
	#main,#main_wrap.in_side #main{
		width:100%;
	}
	/* side有り*/
	#main_wrap.in_side{
		flex-direction:column;
	}
}

/*  サイドコンテンツ  */
#sidebar1{
	width:270px;
	margin-left:30px;
}
#sidebar1 .widget{
	margin-bottom:20px;
}
.widget h4.widgettitle {
    color: #fff;
    font-size: 14px;
    padding: 15px 15px;
    border-bottom: 1px solid #e8e8e8;
    font-family: 'Julius Sans One', sans-serif;
}
.widget ul li a {
    border-bottom: 1px solid #e8e8e8;
    font-size: 14px;
    display: block;
    text-decoration: none;
    color: #656666;
    padding: 15px;
    background-color: #FFF;
    color: #555 !important;
    position: relative;
    font-family: 'Julius Sans One', sans-serif;
	transition:0.3s;
}
.widget ul li a:hover {
	opacity:0.7;
}
.widget .side-cate > li > a {
    font-weight: bold;
/*     color: #01a050 !important; */
}
.widget ul li a:after {
    content: "\f105";
    font-family: "FontAwesome";
    position: absolute;
    right: 10px;
}

@media screen and (max-width:767px){
	#sidebar1{
		width:100%;
		margin-top: 60px;
		margin-left:0px;
		padding:0 10px;
	}
}

/*  widget別 */
/*  search */
.widget .search_wrap {
	display:flex;
}
.widget .search_wrap input {
	border-radius:3px;
}
.widget .search_wrap #searchsubmit {
	min-width:40px;
	width:40px;
	margin-left:10px;
	border:none;
	border-radius:3px;
}
.widget .search_wrap #searchsubmit i {
	color:#fff;
}

/* tag */
.widget .tagcloud a:before {
	content:"#";
	padding-right:1px;
}
.widget .tagcloud {
	padding-top:10px;
}
.widget .tagcloud a {
	font-size:14px !important;
	display:inline-block;
	margin-right:8px;
	border-radius:3px;
	font-style:italic;
	color:#999;
}

/*.textwidget */
.widget .textwidget {
	padding:10px;
}

/*.img */
.widget .image {
	margin-top:10px;
}

/* carender */
#wp-calendar caption {
	padding:5px 0 0;
}
#wp-calendar th {
	padding:5px 0;
}
#wp-calendar td {
	padding:5px 0;
	background:#ccc;
	border:1px solid #fff;
	color:#fff;
	text-align:center;
}
#wp-calendar td a {
	color:red;
	font-weight:bold;
}

/* footer */
#footer{
	width:100%;
	padding:40px 0 15px;
}
#footer .foot_content {
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#footer .foot_content .foot_logo {
	max-width:400px;
}
#footer .copy {
	color:#fff;
	text-align:center;
	padding:30px 0px 0px;
}
@media screen and (max-width:767px){
	#footer{
		padding:0px 0 25px;
	}
	#footer .foot_content {
		justify-content:center;
	}
	#footer .foot_content .foot_logo {
		max-width:300px;
		padding:30px 0 20px;
	}
}

/* archive 調整css  */
.blog-col-all-wrapp {
	display:flex;
	justify-content:space-between;
}
.blog-col-all-wrapp .post-image {
	margin:0;
	min-width:250px;
}
.blog-col-all-wrapp .post-image img {
	width:100%;
	height:188px;
	object-fit:cover;
}
.blog-col-all-wrapp .post-content {
	width:550px;
}
@media screen and (max-width:767px){
	.blog-col-all-wrapp {
		flex-direction:column;
	}
	.blog-col-all-wrapp .post-image img {
		max-width:400px;
		height:auto;
	}
	.blog-col-all-wrapp .post-content {
		width:100%;
	}
}

/* #main_v  */
#main_v {
	background:url(../images/main_v.jpg) no-repeat top center / cover;
	height:500px;
	display:flex;
	align-items:center;
	position:relative;
}
#main_v .main_title {
/* 	font-size:60px;
	font-style:italic;
	display:inline-block;
	padding:1rem 2rem;
	line-height:1.4em;
	color:#fff;
	position:relative; */
}

@media screen and (max-width:767px){
	#main_v {
		height:250px;
	}
}
/*main_v animation */
.animabg {
/*   z-index: 10;
  position: absolute;
  top: 38%;
  left: 11%;
  display: none; */
}
.animabg .main_title {
  position: relative;
  display: inline-block;
  font-family: 'Roboto', 'Noto Sans JP', sans-serif;
  font-style: italic;
/*   background: linear-gradient(135deg, #ff0100 0%, #ffc300 100%); */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.animabg .main_title .move_text {
  display: inline;
  font-size: 65px;
}
.move_text {
  line-height: 1.5em;
  display: block;
  opacity: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.move_bg {
  position: absolute;
  top: 0;
  display: block;
  background: white;
  z-index: 15;
  width: 100%;
  height: 100%;
}
.move_bg.move_in {
  left: 0;
  animation: animabg_move_bg1 0.6s 1s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
.move_bg.move_out {
  right: 0;
  animation: animabg_move_bg2 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
@keyframes animabg_move_bg1 {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes animabg_move_bg2 {
  0% {
    width: 100%;
  }
  100% {
    width: 0;
  }
}
@media screen and (max-width:767px){
	.animabg .main_title .move_text {
	  display: inline;
	  font-size: 40px;
	}

}


/* #sub_main_v  */
#sub_main_v {
	background:url(../images/sub_main_v.jpg) no-repeat center / cover;
	height:300px;
	display:flex;
	align-items:center;
}
#sub_main_v .main_title {
	font-size:48px;
	font-style:italic;
	display:inline-block;
	padding:15px 40px 15px 35px;
	line-height:1em;
	color:#fff;
}
@media screen and (max-width:767px){
	#sub_main_v {
		height:200px;
	}
	#sub_main_v .main_title {
		font-size:30px;
		padding:10px 30px 10px 25px;
	}
}
/* single 調整css  */
.single .post-image {
		max-width:400px;
		width:100%;
		margin:0 auto 50px;
}
.single .post-image img {
	width:100%;
	object-fit:cover;
}
@media screen and (max-width:767px){
	.single .post-image {
			margin:0 auto 20px;
	}
}
/*	パンくず */
.pankuzu {
	padding:20px 0 0;
}
.breadcrumbs {
	overflow:hidden;
	margin-bottom:10px;
}
.breadcrumbs span ,.breadcrumbs a span {
	font-size:12px;
}
.breadcrumbs > span > span {
	position:relative;
	top:2px;
}
.breadcrumbs {
	display:flex;
}
.breadcrumbs a span {
	color:#094296;
}
.breadcrumbs a span:hover {
	opacity:0.7;
}
.breadcrumbs a span:after {
	content: "\f105";
  font-family: "FontAwesome";
  display:inline-block;
  margin:0 8px;
  font-size:14px;
}



/* footer フローティングボタン・トップに戻る  */
#follow-fotter {
	position:fixed;
	bottom:0;
	width:100%;
	background:rgba(0,0,0,0.7);
	padding:10px;
}
.foot-button1 {
	border-radius:10px;
	padding:15px 5px;
	display:block;
	text-align:center;
}
#scroll-top a {
	border-radius: 4px;
	bottom: 70px;
	display: flex;
	align-items:center;
	justify-content:center;
	height: 35px;
	padding: 5px;
	position: fixed;
	right: 30px;
	width: 35px;
}
#scroll-top a:before {
	content:"\f105";
	font-family:"FontAwesome";
	color:#fff;
	transform:rotate(-90deg);
}
@media screen and (max-width:767px){
}

/*----------------------------------------------------
	基本汎用クラス
----------------------------------------------------*/
/* wrapp */
.content-box {
	margin-top:30px;
	padding:60px 30px;
	background:#eee;
}
@media screen and (max-width:767px){
	.content-box {
		padding:30px 10px;
	}
}

/* btn */
.btn01 {
	width: 300px;
	min-height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50px;
	color: #fff;
	margin: 40px auto;
}

/* title */
.c_title01 {
	color: #023f98 !important;
  font-size: 36px !important;
  text-align: center;
  border-bottom: 2px solid #023f98;
  padding-bottom: 22px;
  margin-bottom: 37px !important;
  font-weight: 500 !important;
}

@media screen and (max-width:767px){
	.c_title01 {
		font-size: 24px !important;
    padding-bottom: 10px;
    border-width: 1px;
    margin-bottom: 30px !important;
	}
}

.c_sub_title01 {
	width: 355px;
  margin: 0 auto !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  text-align: center;
  background: #ffff00;
  color: #094296 !important;
  padding: 7px 0 10px;
  margin-bottom: 15px !important;
}
@media screen and (max-width:767px){
	.c_sub_title01 {
		width: 300px;
    font-size: 20px !important;
    padding: 5px 0 8px;
	}
}

/* s_title   search.php  */
.s_title {
	font-size:20px;
	color:#fff;
	margin-bottom:30px;
	background:#999;
	padding:10px 15px;
/* 	font-style:italic; */
}
.s_title span {
	font-size:20px;
	color:#fff;
}


/* text */
.c_text01 {
	font-size:14px;
	line-height:2em;
}
.content-sub-text01 {
	font-size:12px;
}
@media screen and (max-width:767px){
}

/* 装飾コメント */
.comment {
	position:absolute;
	top:0;
	right:0;
	background:rgba(0,0,0,0.7);
	color:#fff;
	display:inline-block;
	padding:5px 15px;
	text-align:center;
	font-size:12px;
}
@media screen and (max-width:767px){
}

/* dl */
.content-dl {
	padding:10px 10px 20px;
}
.content-dl dt {
	font-size:18px;
	margin-bottom:10px;
	font-weight:bold;
}
.content-dl dd {
	font-size:14px;
}
@media screen and (max-width:767px){
	.content-dl {
		padding:10px 10px 10px;
	}
	.content-dl dt {
		font-size:16px;
		margin-bottom:5px;
	}
	.content-dl dd {
		font-size:12px;
	}
}


/* table */
.content_table {
/* 	border:1px solid #d7dfea; */
}
.content_table th,.content_table td {
	border:1px solid #d7dfea;
	padding:30px 30px;
	font-size:16px;
}
.content_table th {
	background:#094296;
	color:#fff;
	width:30%;
}
.content_table td {
	width:70%;
	background:#fff;
}
@media screen and (max-width:767px){
	.content_table,.content_table tbody,.content_table tr {
		display:block;
		width:100%;
	}
	.content_table th,.content_table td {
		display:block;
		width:100%;
		padding:20px 15px;
		font-size:14px;
		border:none;
	}
}

/* form_table */
.form_table {
	max-width:1000px;
	margin:auto;
}
.form_table tr:nth-child(odd) {
/* 	background:#ccc; */
}
.form_table th,.form_table td {
	padding:20px 15px;
	vertical-align:top;
	border-bottom:1px solid #ccc;
	font-size:16px;
}
.form_table th {
	width:30%;
	padding-top:35px;
	text-align:left;
}
/* 確認画面 */
.mw_wp_form_preview .form_table th,.mw_wp_form_preview .form_table td {
	padding:30px 15px;
}
.form_table td {
	width:70%;
}
.form_table td .post_number {
	max-width:100px;
}
.form_table td .pref {
	margin-top:10px;
}
@media screen and (max-width:767px){
	.form_table,.form_table tbody,.form_table tr {
		display:block;
	}
	.form_table th,.form_table td {
		display:block;
		width:100%;
		border-top:none;
		border-left:none;
		border-right:none;
		border-bottom:none;
		padding:10px 0px;
	}
	.form_table th {
		border-bottom:none;
		font-size:14px;
		padding:0;
	}
	.form_table td {
		margin-bottom:10px;
	}
}
/* box-shadow */
.b_shadow {
	box-shadow:0px 0px 3px 2px #d6d7d7;
	-moz-box-shadow:0px 0px 3px 2px #d6d7d7;
	-webkit-box-shadow:0px 0px 3px 2px #d6d7d7;
}
/* text-shadow */
.t_shadow {
	text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px,#fff 1px -1px 0px, #fff -1px -1px 0px;
}
/* indent */
.indent {
	margin-left:1em;
	text-indent:-1em;
}
/* color */
.main_color{color:#094296;}
.base_color{color:#fff;}
.accent_color{color:#F7C448;}
/* background */
.main_back{background-color:#094296;}
.base_back{background-color:#fff;}
.accent_back{background:#F7C448;}

/* single 見出し  */
.single #main .content_area h1 {
	font-size:30px;
	color:#094296;
	background: linear-gradient(transparent 70%, #F7C448 70%);
	line-height:1.8em !important;
}
@media screen and (max-width:767px){
	.single #main .content_area h1 {
		font-size:24px;
	}
}
.single #main .content_area h2 {
	font-size:26px;
	color:#094296;
	position:relative;
	border-bottom: solid 3px #094296;
	line-height:2em !important;
}
.single #main .content_area h2:after {
  content: " ";
 	position: absolute;
  display: block;
  border-bottom: solid 3px #F7C448;
  bottom: -3px;
  width: 20%;
 }
 @media screen and (max-width:767px){
	.single #main .content_area h2 {
		font-size:20px;
	}
}

.single #main .content_area h3 {
	font-size:22px;
	background:#094296;
	color:#fff;
	padding:0px 10px 4px;
	line-height:2em !important;
}
@media screen and (max-width:767px){
	.single #main .content_area h3 {
		font-size:18px;
	}
}
.single #main .content_area h4 {
	font-size:18px;
	border-left:5px solid #094296;
	padding-left:10px;
	background:#cfe9ec;
}
@media screen and (max-width:767px){
	.single #main .content_area h4 {
		font-size:18px;
	}
}
.single #main .content_area h5 {
	font-size:16px;
	padding:3px 10px;
	border-top:2px solid #094296;
	border-bottom:2px solid #094296;
}
.single #main .content_area h6 {
	font-size:16px;
	padding:3px 10px;
	border-bottom:2px solid #094296;
}

/*----------------------------------------
ナビゲーションPC(ヘッダー)
----------------------------------------*/
#head_navi_pc{
}
#head_navi_pc .nav {
	display:flex;
}
#head_navi_pc .nav > li {
	margin-left:30px;
}
#head_navi_pc .nav > li a{
	color:#fff;
}
/*----------------------------------------
ナビゲーションSP(ヘッダー)
----------------------------------------*/
#head-navi-sp .sp_flex_wrap {
	display:flex;
	justify-content:space-between;
	position:relative;
}
#head-navi-sp .sp_flex_wrap .navi-sp-content img {
	max-width:250px;
	max-height:45px;
	object-fit:contain;
}
#head-navi-sp .sp_flex_wrap .hunberger_wrap {
	width:30px;
}
#head-navi-sp{
	position:fixed;
	width:100%;
	top:0px;
	padding:10px;
	z-index:999;
	height:60px;
}
#head-navi-sp .top-nav-sp{
	display:none;
	padding:10px;
	position:fixed;
	top:60px;
	left:0;
	right:0;
	bottom:0;
	z-index:999;
	overflow-y: auto;
}
#head-navi-sp .top-nav-sp li {
	list-style:none;
}
#head-navi-sp .top-nav-sp li > a {
	font-size:13px;
	display: block;
	color: #fff;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 10px;
	border-bottom: 1px solid #fff;
}
#head-navi-sp .top-nav-sp li:first-child > a {
/* 	border-top: 1px solid #fff; */
}
#head-navi-sp .top-nav-sp li > a:after {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  right: 20px;
}
#head-navi-sp .top-nav-sp li > a:hover {
	opacity:0.5;
}
/* ハンバーガー */
.menu-ani-button{
	cursor: pointer;
	position: relative;
	width:30px;/*---線の長さ---*/
	height:25px;/*---線の太さ長さによって調整---*/
	top: 10px;
}
.bar,.bar:before,.bar:after{
	height: 1px;/*---線の太さ---*/
	width: 100%;
	background-color: #fff;
	transition: all .25s;
	position: absolute;
}
.bar {
	left: 0;
	top: 10px;
}
.bar:before {
	content: "";
	left: 0;
	top: -10px;
}
.bar:after {
	content: "";
	left: 0;
	top: 10px;
}

.menu-animated .bar {
	background-color: transparent;
	transition: all .25s;
}
.menu-animated .bar:before {
	transition: all .25s;
	content: "";
	transform: rotate(45deg);
	top: 0px;
}
.menu-animated .bar:after {
	transition: all .25s;
	content: "";
	transform: rotate(-45deg);
	top: 0px;
}
/*----------------------------------------
ナビゲーションPC(フッター)
----------------------------------------*/
#foot_navi_pc{
}
#foot_navi_pc > ul {
	display:flex;
}
#foot_navi_pc > ul > li {
	margin-right:40px;
}
#foot_navi_pc > ul > li > a {
	color:#fff;
}
/*----------------------------------------
ナビゲーションSP(フッター)
----------------------------------------*/
#foot_navi_sp > .ul-wrap > ul > li > a {
	display: block;
	color: #fff;
	padding:20px 30px;
	border-top: 1px solid #fff;
	position:relative;
}
#foot_navi_sp > .ul-wrap > ul > li:last-child > a {
	border-bottom: 1px solid #fff;
}
#foot_navi_sp > .ul-wrap > ul > li > a:after {
  content: "\f105";
  font-family: "FontAwesome";
  position: absolute;
  right: 20px;
}
#foot_navi_sp > .ul-wrap > ul > li {
}
#foot_navi_sp > .ul-wrap > ul > li > a:hover {
	opacity:0.5;
}
/*----------------------------------------
ドロップダウンリスト
----------------------------------------*/
.navi-list ul {
	background: none repeat scroll 0 0 rgba(240, 240, 240, 0.9);
	display: none;
	list-style: none outside none;
	position: absolute;
	top: 56px;
	width: 200px;
	z-index: 80;
}
ul.global-navi li.navi-list li.drop-list{
	display:block !important;
	border:none !important;
	border-bottom:1px dotted #ccc !important;
}
.navi-list ul a {
    height: auto !important;
}
/*----------------------------------------
スマホ出しわけ
----------------------------------------*/
.sp_only{display:none !important}
.pc_only{display:block;}
@media screen and (max-width:767px){
	.pc_only{display:none !important;}
	.sp_only{display:block !important;}
}
/*----------------------------------------
  form_base css
----------------------------------------*/
.form_thanks_content {
	text-align:center;
}
select,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=search],textarea,button {
	-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=search] {
	background:#fff;
	border:1px solid #d1d0cd;
	border-radius:5px;
	font-size:14px;
	padding:7px 15px;
	width:100%;
	height:50px;
	max-width:550px;
	margin:auto;
}
input[type=number] {
	background:#fff;
	border:1px solid #d1d0cd;
	border-radius:5px;
	font-size:14px;
	padding:7px 10px;
	width:100%;
	height:38px;
}
input[type=file] {
	font-size:14px;
}
input[type=submit] {
}
.submit {
	height: 60px;
  width: 100%;
  max-width:300px;
  border-radius: 0px;
  color:#fff;
  font-weight:normal;
  letter-spacing:2px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px auto 20px;
  font-size: 16px;
  transition:0.3s;
  border:none;
  border-radius:50px;
}
.hissu {
	background:#F73D28;
	color:#fff;
	font-size:12px;
	padding:1px 6px 3px;
	border-radius:3px;
	margin-left:10px;
	font-weight:normal;
	float:right;
}
label {
	margin-right:10px;
	display:flex;
	align-items:center;
/* 	font-weight:bold; */
	font-size:16px;
	cursor:pointer;
}
label [type=checkbox],label [type=radio]  {
	margin-right:5px;
	font-size:18px;
}
textarea {
	width:100%;
	border:1px solid #d1d0cd;
	height:150px;
	border-radius:5px;
	resize: none;
	padding:10px;
}
select {
	background:#fff;
	width:100%;
	padding:10px 15px 10px;
	font-size:14px;
	color:#999;
	border:none;
	border-radius: 0px;
	height:50px;
	cursor: pointer;
}
option {
	color:#000000;
}
select::-ms-expand {
    display: none;
}
.select_wrap {
	position:relative;
	border-radius:5px;
	overflow:hidden;
	border:1px solid #ccc;
}
.select_wrap:before {
	content:"\f107";
	font-family:"FontAwesome";
	position:absolute;
	right:0px;
	top:0;
	width:40px;
	height:40px;
	background:#094296;
	color:#fff;
	display: flex;
	align-items: center;
	justify-content:center;
	font-size:18px;
	height:100%;
	pointer-events: none;
}
::placeholder {
  color: #ccc;
  font-size:14px;
}
@media screen and (max-width:767px){
	input[type=text], input[type=email], input[type=tel] {
    width: 100%;
	}
	input[type=number] {
		font-size:16px;
		padding:7px 10px;
		width:100%;
	}
	input[type=file] {
	}
	select {
		height:50px;
		font-size:14px;
	}
	.select_wrap:before {
    width: 50px;
    height: 50px;
    font-size: 20px;
	}
	.hissu {
		float:none;
		margin-left:15px;
	}
	.submit {
		height: 50px;
	  font-size: 16px;
	  width:100%;
	  margin-top:0;
	}
	label {
		margin-right:10px;
		font-size:14px;
		margin-bottom:0px;
	}
}
