@charset "UTF-8";
/*@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&display=swap');*/
/*
Theme Name: mytheme
Theme URI: /wp-content/themes/mytheme
Description: 
Author: me
Author URI:
Version: 1.0
*/

@font-face {
    font-family: 'Noto Sans JP';
    font-style: lighter;
    font-weight: 400;
    src: local("Noto Sans CJK JP Regular"),
    url('./fonts/NotoSans_Regular.woff2') format('woff2'),
    url('./fonts/NotoSans_regular.woff') format('woff'),
    url('./fonts/NotoSansJP-Regular.otf') format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: bold;
    font-weight: 600;
    src: local("Noto Sans CJK JP Medium"),
    url('./fonts/NotoSans_Medium.woff2') format('woff2'),
    url('./fonts/NotoSans_medium.woff') format('woff'),
    url('./fonts/NotoSansJP-Medium.otf') format('opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style:bold ;
    font-weight: 700;
    src: local("Noto Sans CJK JP Bold"),
    url('./fonts/NotoSans_Bold.woff2') format('woff2'),
    url('./fonts/NotoSans_bold.woff') format('woff'),
    url('./fonts/NotoSansJP-Bold.otf') format('opentype');
}

/*--基本設定--*/
body{
	font-family: 'Noto Sans JP', sans-serif;
}
main{
	padding-top: 125px;
}
p,td,th,h1,h2,h3,h4,ul{
	color:#444444;
}
p,a{
	line-height: 1.7rem;
    letter-spacing: 0.05rem;
	font-size:16px;
}
.subpage_contentarea a{
	color:#003fbe;
	font-weight:bold;
}
.subpage_contentarea a:hover{
	opacity:0.6;
}
.subpage_contentarea p{
	margin-bottom: 30px;
}
.title1 {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 34px;
	letter-spacing: 0.3rem;
	margin-bottom: 50px;
	word-break: keep-all;
	text-align:center;
	line-height: 1.2;
}
.title1 span{
	font-size:14px;
	color:#e8ba61;
	margin-top:20px;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
}
.title2 {
    font-size: 20px;
    letter-spacing: 0.3rem;
    padding: 22px 15px 25px 15px;
    background: #f5f5f5;
    border-top: 3px solid #003fbe;
    border-bottom: 2px solid #dddddd;
	margin-top: 60px;
	margin-bottom: 30px;
	clear:both;
}
.title3 {
    font-size: 19px;
    margin-top: 30px;
    margin-bottom: 30px;
    clear: both;
    padding: 12px 15px 15px 0;
    border-bottom: 2px solid #dddddd;
	display: flex;
    align-items: center;
	letter-spacing: 0.3rem;
	line-height: 1.2;
}
.title3 span {
    color: #003fbe;
    font-style: italic;
    padding-right: 0.5rem;
	white-space: nowrap;
}
.title3:before {
    content: "";
    display: inline-block;
    height: 40px;
    width: 5px;
    background: #7898da;
    margin-right: 20px;
}
.title4 {
    font-size: 18px;
    margin-top: 30px;
    margin-bottom: 30px;
    clear: both;
    padding: 15px 30px 18px 30px;
    background: #7898da;
    color: #fff;
    border-radius: 10px;
	letter-spacing: 0.3rem;
	line-height: 1.2;
}
.top_contentarea {
    max-width: 1200px;
    margin: auto;
    padding: 90px 20px;
}
.top_greetingarea .top_contentarea{
	padding-bottom: 180px;
}
.top_contentarea2{
	padding: 90px 0px;
}
.subpage_contentarea {
    max-width: 1000px;
    margin: 90px auto;
    padding: 0px 20px;
}
.subpage_head .subpage_headimg{
	background: url(./img/subpage_headbg.png) no-repeat center;
	height:30vh;
}
.keyvimg_sp{
	display:none;
}
@media screen and (max-width: 700px) {
	.keyvimg_pc{
		display:none;
	}
	.keyvimg_sp{
		display:block;
	}
}


/*--パンくずリスト--*/
.subpage_head ul{
	list-style: none;
	font-weight:400;
	margin: 0 30px;
	margin-top: 20px;
	font-size:14px;
	display: flex;
    align-items: center;
    justify-content: flex-end;
}
.subpage_head li{
    display: inline-flex;
    align-items: center;
}
.subpage_head li a{
    color: inherit;
    text-decoration: none;
	font-size:14px;
	line-height: 1.2;
	transition:.2s;
}
.subpage_head li a:hover{
	color: #7898da;
	transition:.2s;
}
.subpage_head li + li:before{
    content: "/";
    margin:.3em;
	font-size:12px;
}

/*--ボタン--*/
.btn{
	margin:30px 0;
}
.btn a{
	display:block;
	width:250px;
	padding:10px 0;
	border:2px solid #7898da;
	border-radius:5px;
	color:#003fbe;
	text-decoration:none;
	text-align:center;
	font-weight:bold;
	position: relative;
	transition:.2s;
	margin: auto;
	background: #fff;
}
.btn a:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 34px;
    height: 34px;
    background: url(img/btn_arrow.png) no-repeat center;
    background-size: cover;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right:-10px;
	transition:.1s;
}
.btn a:hover{
	background:#003fbe;
	border-color:#003fbe;
	color:#fff;
	transition:.2s;
}
.btn a:hover:after{
	right:-18px;
	transition:.1s;
}

/*--ボタン2--*/
.btn2{
	margin:30px 0;
}
.btn2 a{
	display:block;
	width:250px;
	padding:10px 0;
	border:2px solid #fff;
	border-radius:5px;
	color:#fff;
	text-decoration:none;
	text-align:center;
	font-weight:bold;
	position: relative;
	transition:.2s;
	margin: auto;
	background: #00000050;
}
.btn2 a:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 34px;
    height: 34px;
    background: url(img/btn_arrow2.png) no-repeat center;
    background-size: cover;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right:-10px;
	transition:.1s;
}
.btn2 a:hover{
	background:#fff;
	border-color:#003fbe;
	color:#003fbe;
	transition:.2s;
}
.btn2 a:hover:after{
	right:-18px;
	transition:.1s;
	background: url(img/btn_arrow.png) no-repeat center;
	background-size: cover;
}
.btn2sp{
	display:none;
}


/*header*/
header{
	width:100%;
	background:#fff;
	position:fixed;
	z-index:10;
}
.header{
	display:flex;
	padding:10px 20px;
}
.sp_header{
	display:none;
}
.header .head_logo{
	display: flex;
    align-items: center;
}
.header .head_logo a{
	transition:.2s;
}
.header .head_logo a:hover{
	opacity:0.6;
	transition:.2s;
}
.header .head_logo img{
	width: 370px;
}
.header .pc_menu{
	margin-left:auto;
}
.header .head_tel{
	display:flex;
	margin-top:15px;
	margin-bottom:30px
}
.header .head_tel p{
	display:flex;
	align-items: center;
}
.header .head_tel p a{
	font-size:30px;
	font-weight:bold;
	color:#003fbe;
	padding-bottom: 2px;
}
.header .head_tel p span{
	font-weight:bold;
	font-size: 13px;
	padding: 0 4px;
}
.header .head_tel p:before{
	content: '';
    display: inline-block;
    width: 24px;
    height: 33px;
    background-image: url(./img/begin.png);
    background-size: contain;
    background-repeat: no-repeat;
	padding-right: 5px;
}
.header .head_tel p:first-child{
	margin-right: 40px;
}
.header .head_tel p:first-child a{
	padding-left: 5px;
}
.header .head_tel p:last-child:before {
    content: '';
    display: inline-block;
    width: 26px;
    height: 28px;
    background-image: url(./img/tel.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.head_tel p a{
	text-decoration:none;
	transition:.2s;
}
.head_tel p a:hover{
	color:#f7a842;
	transition:.2s;
}
.header .pc_nav ul{
	display:flex;
	justify-content: space-around;
}
.pc_nav ul li a{
	font-weight:bold;
	text-decoration:none;
	color:#444444;
	position:relative;
}
.pc_nav ul li a:before {
    display: inline-block;
    position: absolute;
    content: "";
    width: 90%;
    height: 2px;
    background: #003fbe;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	transition:.2s;
	opacity:0;
}
.pc_nav ul li a:hover:before {
	transition:.2s;
	opacity:1;
}

.header .pc_contact {
    display: flex;
}
.header .pc_contact a {
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
    align-items: center;
	color:#444444;
	text-decoration:none;
	font-size: 14px;
	font-weight:bold;
	transition:.2s;
	margin-left: 30px;
}
.header .pc_contact a:hover{
    opacity:0.6;
	transition:.2s;
}


/*toppage*/
.keyv {
    display: flex;
}
.keyv_txt.keyv_txt_sp{
	display:none;
}
.sheet-time tr th, .sheet-time tr td{
	text-align:center;
}
.sheet-time tr th:first-child, .sheet-time tr td:first-child{
	text-align:left;
	padding-left:15px;
	padding-right:25px;
	min-width: 92px;
}
.sheet-time tr th:last-child, .sheet-time tr td:last-child{
	padding-right: 15px;
}
.sheet-time tr th{
	background:#e2e2e2;
	padding:10px 10px;
}
.sheet-time tr td:first-child{
	color:#444444;
	font-weight:bold;
}
.sheet-time tr td{
	color:#003fbe;
	padding:20px 10px;
}


.sheet1 tr th, .sheet1 tr td{
	text-align:left;
	padding-left:15px;
	padding-right:15px;
	min-width: 92px;
	vertical-align:middle;
	border:1px solid #444444;
}
.sheet1 tr th{
	background:#e2e2e2;
	padding:10px 10px;
	width:30%;
}
.sheet1 tr td{
	color:#444444;
	padding:20px 10px;
}
table.sheet1 {
    width: 90%;
    max-width: 760px;
    margin: auto;
    margin-bottom: 20px;
}


.keyv_txt table.sheet-time {
    width: 90%;
	max-width: 410px;
}
.keyv_img{
	width:68%;
	position:relative;
}
.keyv_txt {
	width:32%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.keyv_img img{
	width:100%;
}
.catchphrase{
	font-size:53px;
	letter-spacing: 0.4rem;
	line-height: 5.5rem;
}
.catchphrase_sub{
	font-size:23px;
	font-weight:bold;
	text-align:center;
	color:#fff;
	background:#e8ba61;
	width: 90%;
	max-width:410px;
	padding: 12px 0px;
	border-radius: 50px;
	margin-top: 50px;
    margin-bottom: 70px;
	letter-spacing: 0.15rem;
}
.time_attention {
	margin-top:20px;
    text-align: left;
    width: 90%;
	max-width: 410px;
}
.top_circletxt {
    text-align: center;
    position: absolute;
    background: #003fbe;
    width: 230px;
    height: 230px;
	font-size:19px;
	font-weight:bold;
	display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 150px;
	bottom: 20px;
    left: 8%;
}
.top_circletxt p{
	color:#fff;
	line-height: 2rem;
}
.top_circletxt span:nth-child(1){
	font-size:23px;
}
.top_circletxt .yellow{
	font-size:25px;
	color:#f6d434;
}
.top_newsarea {
    display: flex;
}
.top_newsarea h1{
	margin-right:200px;
	white-space: nowrap;
}
.top_newslist{
	width:100%;
}
.top_news{
	border-top:1px solid #dddddd;
}
.top_news a{
	width:100%;
	color:#444444;
	display:flex;
	text-decoration:none;
	height:60px;
	align-items: center;
}
.date{
	font-size:12px;
	color:#999999;
	width:110px;
	text-align:center;
}
.category{
	color:#fff;
	font-size:14px;
	width:75px;
	height:25px;
	text-align:center;
	border-radius:50px;
}
.category.category_news{
	background:#e8ba61;
}
.category.category_blog{
	background:#7898da;
}
.newstitle{
	padding:0 30px;
}
.top_aboutus {
    display: flex;
	margin:50px 0;
}
.top_aboutus_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 32px;
	width: 33%;
}
.top_aboutus_box p img {
    width: 90%;
}
.top_aboutus_box p:first-child{
	text-align:center;
	position:relative;
}
.top_aboutus_box p:nth-child(2){
	font-size:20px;
	font-weight:bold;
	text-align:center;
	height:100px;
	display: flex;
    align-items: center;
}
.top_aboutus_box p:first-child span{
	position:absolute;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	bottom:0;
	font-size:50px;
	color:#003fbe;
	font-weight:bold;
	font-style:italic;
}
.top_aboutusarea {
	width:100%;
	background: url(img/aboutus_bg.png) no-repeat;
	background-size:100% 100%;
}
.top_greetingarea{
	width:100%;
	background: url(img/greeting_bg.png) no-repeat;
	background-size:100% 100%;
}
.top_greeting{
	position:relative;
}
.top_greeting p img{
	width:750px;
}
.top_greetingtxt {
	background:#fff;
	border-radius:10px;
	position: absolute;
	width: 36%;
	padding: 50px;
	top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.top_greetingtxt .btn{
	margin-bottom:0;
}
.top_cameras{
	height:430px;
    background: url(img/cameras_bg.png) no-repeat center/cover;
	display: flex;
    justify-content: space-around;
    align-items: center;
}
.top_camerastxt {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.top_camerastxt p{
	text-align:center;
	font-size:20px;
	color:#fff;
	height:75px;
	width:370px;
	background:#003fbe;
	display:flex;
	align-items: center;
	justify-content: center;
	font-weight:bold;
	border-radius:10px;
}
.top_camerastxt p:nth-child(2){
	background:#7898da;
	margin: 30px 0;
}
.top_cameras2{
	background: url(img/cameras2_bg.png) no-repeat bottom;
	padding: 70px 0;
}
.top_cameras2_flex{
	display:flex;
	max-width:1000px;
	padding:0 20px;
	margin: auto;
}
.top_cameras2img{
	width:50%;
}
.top_cameras2img img{
	width:100%;
}
.top_cameras2txt {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	justify-content: space-between;
}
.top_cameras2txt p{
	margin:0;
	margin-bottom
}
.top_cameras2txt p:first-child{
	padding: 0 50px;
	padding-top: 30px;
}
.top_cameras2txt p:last-child{
	padding-bottom: 30px;
}

/*--トップページタブ--*/
.tab-area {
  display: flex;/* flexで横並び */
}
.tab {
	width:50%;
	height: 60px;
    line-height: 60px;
	text-align: center;/* 文字を中央に。 */
	list-style:none;
	background:#f3f6fc;
	margin-left:40px;
	margin-right:20px;
	cursor: pointer;
	color: #444444;
	font-size:20px;
	font-weight:bold;
	border-radius: 10px 10px 0px 0px;
	
}
.tab:nth-child(n+2) {
	margin-left:20px;
	margin-right:40px;
}
.tab.active {
  background-color: #003fbe;
  color: #fff;
}
.tab{
	position:relative;
}
.tab img {
    position: absolute;
    bottom: -19px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display:none;
}
.tab.active img{
	display:block;
	z-index: 5;
}

/*--トップページタブ(アニメーション)--*/
.panel {
  display: none;
  background:#f3f6fc;
	border-radius: 10px;
}
.panel.noactive {
	display: none;
	animation-name: fadeout;
	animation-duration: .3s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}
@keyframes fadeout {
  0% {
    opacity: 1;
	display: block;
  }
	99%{
	display: block;
	}
  100% {
    display: none;
    opacity: 0;
  }
}
.panel.active {
	display: block;
	animation-name: fadein;
	animation-duration: .3s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}
@keyframes fadein {
  0% {
    opacity: 0;
	display: block;
  }
  100% {
    opacity: 1;
  }
}


.search_flex .btn{
	margin: 15px 20px;
}
.search_flex .btn a {
    background: #fff;
    border: 2px solid #fff;
    color: #444444;
    width: 230px;
    padding: 0;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.search_flex .btn a:hover{
	background:#fff;
	border: 2px solid #fff;
	border: 2px solid #7898da;
	color: #444444;
}
.search_flex {
    display: flex;
    flex-wrap: wrap;
	justify-content: space-evenly;
	padding: 25px 15px;
}

.top_subject_flex p a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 320px;
    padding: 40px 0;
	text-decoration:none;
	transition:.2s;
}
.top_subject_flex p a span{
	text-decoration:none;
	color:#003fbe;
	font-size:20px;
	font-weight:bold;
}
.top_subject_flex {
    display: flex;
    justify-content: center;
	margin: 30px 0;
}
.top_subject_flex p {
    border-radius: 10px;
    border: 2px solid #7898da;
	margin: 0 15px;
}
.top_subject_flex p a:hover{
	opacity:0.6;
	transition:.2s;
}


/*--footer--*/
.footer_content {
    display: flex;
    max-width: 1200px;
    justify-content: space-between;
    margin: auto;
	margin-bottom:60px;
	padding: 0 20px;
}
.foot_info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
	width:50%;
	position:relative;
}
.foot_tel {
    display: flex;
    justify-content: space-between;
}
.foot_tel p:before {
    content: '';
    display: inline-block;
    width: 26px;
    height: 35px;
    background-image: url(./img/begin.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding-right: 5px;
}
.foot_tel p:last-child:before {
   	content: '';
    display: inline-block;
    width: 28px;
    height: 30px;
    background-image: url(./img/tel.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.foot_tel p {
    display: flex;
    align-items: center;
}
.foot_tel p a{
	color:#003fbe;
	font-size:25px;
	font-weight: bold;
	transition:.2s;
	text-decoration:none;
}
.foot_tel p a:hover{
	color:#f7a842;
	transition:.2s;
}
.foot_tel p span {
    font-weight: bold;
    font-size: 14px;
	color:#444444;
	margin:0 5px;
}

.foot_time{
	width:40%;
}
.foot_time .sheet-time{
	width:100%;
}
.foot_contact {
    position: absolute;
    right: 0;
    top: 0;
}
.foot_contact a {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
	text-decoration:none;
	font-weight:bold;
	color:#444444;
	transition:.2s;
}
.foot_contact a:hover{
	opacity:0.6;
	transition:.2s;
}
.footer_nav {
    background:#f5f5f5;
    padding: 35px;
}
.footer_nav nav {
    display: flex;
    margin: auto;
    max-width: 1200px;
	justify-content: center;
	flex-wrap: wrap;
}
.footer_nav nav p {
    padding: 0 22px;
	border-right: 1px solid #cccccc;
	margin: 5px 0;
}
.footer_nav nav p:last-child{
	border-right:none;
}
.footer_nav nav p a{
	text-decoration:none;
	font-weight:bold;
	color:#444444;
	font-size:12px;
	transition:.2s;
}
.footer_nav nav p a:hover{
	color:#f7a842;
	transition:.2s;
}
.copyright {
    text-align: center;
    padding: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #7898da;
    color: #fff;
    font-size: 12px;
}


/*--レスポンシブ--*/
@media screen and (max-width:1380px) {
.catchphrase {
    font-size: 40px;
    letter-spacing: 0.3rem;
    line-height: 4rem;
}

}
@media screen and (max-width: 1280px) {
/*--header--*/
	.header{
		padding-bottom: 10px;
	}
.header .head_tel p a {
	font-size: 22px;
}
.header .pc_contact a{
	margin-left: 15px;
	justify-content: center;
}
.header .head_tel p:first-child {
    margin-right: 20px;
}
.header .head_tel {
    margin-bottom: 10px;
}
.header .pc_contact a img {
    width: 60px;
}
.header .head_logo img {
    width: 270px;
}
	
/*--toppage--*/
.keyv_img {
    width: 60%;
    position: relative;
}
.keyv_txt {
	width: 40%
}
.catchphrase_sub {
	max-width: 350px;
}
/*-footer-*/
	.foot_contact img {
    width: 60px;
}
	.foot_info p:first-child img{
		width: 300px;
	}
	.foot_tel p a {
		font-size: 20px;
	}
	.foot_tel p{
		margin:5px 0;
	}
}

@media screen and (max-width: 1080px) {
/*--toppage--*/
.top_circletxt {
    width: 190px;
	height: 190px;
	bottom: 50px;
    left: 5%;
}
.top_circletxt .yellow {
	font-size: 20px;
}
.top_circletxt span:nth-child(1) {
    font-size: 18px;
}
	.top_subject_flex p a {
    	width: 200px;
		padding: 20px 0;
}
	.top_subject_flex p a img{
		width: 80px;
	}
	.top_greeting p img {
    width: 600px;
}
	.top_greetingtxt {
    padding: 40px 30px;
	}
}

@media screen and (max-width: 980px) {
main {
    padding-top: 80px;
}
/*--header--*/
.header{
	display:none;
}
.sp_header {
    display: flex;
    background: #fff;
    height: 60px;
    align-items: center;
	padding:10px 20px;
}
	.sp_header .head_logo img{
		width:200px;
	}
	.head_logo a {
    display: flex;
    align-items: center;
}
/*--ハンバーガーボタン--*/
.hamburger {
  display : block;
  position: absolute;
  z-index : 3;
  right : 13px;
  top: 18px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 3px ;
  left    : 6px;
  background :#003fbe;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#555555;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#555555;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: #ffffffea;
  text-align: center;
  width: 100%;
	height:100%;
  opacity: 0;
  transition: opacity .3s ease, visibility .3s ease;
	visibility:hidden;
}
nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 70%;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}
nav.globalMenuSp ul li a {
	display: block;
	color: #444444;
	padding: 0.2em 0;
	text-decoration :none;
	font-weight: bold;
}
nav.globalMenuSp .spchild a{
	font-weight:400;
}
nav.globalMenuSp .spparent a{
	margin-top: 15px;
	font-size: 16px;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
	visibility: visible;
}
/*--toppage--*/	
.keyv {
    display: block;
	position: relative;
	overflow: hidden;
}
	.keyv_txt_pc{
		display:none;
	}
	.keyv_txt.keyv_txt_sp{
		display:flex;
		position: absolute;
		top: 35%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		left: 0%;
		padding:0;
		padding-left:20px;
		flex-direction: column;
    	justify-content: center;
    	align-items: flex-start;
		width: 100%;
	}
	.keyv_txt_sp .catchphrase{
		text-shadow: 1px 1px 3px #ffffffaa,-1px 1px 3px #ffffffaa, -1px -1px 3px #ffffffaa, 1px -1px 3px #ffffffaa;
	}
	.catchphrase_sub {
    	max-width: 330px;
		letter-spacing: 0.06rem;
}
	.keyv_txt.keyv_time_sp {
    	width: auto;
		padding-top: 100px;
}
.keyv_img {
	width: 100%;
}
.top_circletxt {
    width: 165px;
    height: 165px;
    bottom: 0px;
    left: auto;
    right: 20px;
}
.top_circletxt .yellow {
    font-size: 18px;
}
.top_circletxt span:nth-child(1) {
    font-size: 16px;
}
.top_newsarea {
    flex-direction: column;
}
.top_newsarea h1 {
    margin-right: 0;
}
	.top_greeting p{
		text-align:center;
	}
	.top_greeting p img {
    width: 80%;
}
	.top_greetingtxt {
    position: initial;
	margin: auto;
	transform: translateY(0%);
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
	width:80%
	}
	.top_cameras2_flex {
    flex-direction: column;
	align-items: center;
}
	.top_cameras2img {
    width: 80%;
    max-width: 600px;
}
	.top_cameras2txt {
		width: 100%;
		max-width: 700px;
	}
	.top_cameras2txt p {
    margin: 10px;
}
	.top_cameras2txt p:first-child {
    padding: 0 0px;
    padding-top: 10px;
}
	.top_cameras {
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.btn2pc{
		display:none;
	}
	.btn2sp{
		display:flex;
		flex-direction: column;
		margin-top: 20px
	}
	.btn2sp .btn2{
		margin: 5px 0;
	}
	.top_camerastxt p:nth-child(2) {
    margin: 15px 0;
}
	.top_camerastxt p {
    font-size: 18px;
    height: 60px;
    width: 310px;
	}
/*--footer--*/
	.footer_content {
    flex-direction: column;
}
	.foot_info {
    width: 100%;
	max-width:500px;
	margin:auto;
		margin-bottom:30px;
}
	.foot_time {
    width: 100%;
	max-width:500px;
	margin:auto;
}
	.foot_info p:nth-child(2){
		margin: 30px 0;
}
	.footer_nav nav {
    justify-content: flex-start;
}
}

@media screen and (max-width: 970px) {
/*--toppage--*/	
	.top_aboutus_box {
    padding: 0 10px;
}
	.top_aboutus_box p:nth-child(2) {
		font-size: 16px;
	}
	.top_aboutus_box p img {
    width: 100%;
}
}@media screen and (max-width: 800px) {
	.top_news a {
		display: flex;
		text-decoration: none;
		height: auto;
		align-items: flex-start;
		flex-direction: column;
}
	.date {
    	width: auto;
		padding: 5px 10px;
	}
	.category {
		margin-left: 10px;
}
	.newstitle {
    padding: 5px 10px;
}
}
@media screen and (max-width: 700px) {
/*--toppage--*/
	.top_subject_flex {
    margin: 20px 0;
}
	.top_subject_flex p {
    margin: 0 5px;
}
	.top_subject_flex p a {
    	width: 100px;
		padding: 10px 0;
}
	.top_subject_flex p a img{
		width: 40px;
	}
	.top_subject_flex p a span {
    	font-size: 18px;
}
	.top_aboutus_box p:nth-child(2){
		padding: 10px 0;
	}
	.top_aboutus_box p:first-child span {
		font-size:40px;
	}
	.search_flex .btn a {
    width: 200px;
    padding: 0;
    height: 60px;
}
	.search_flex .btn {
    margin: 10px 10px;
}
}
@media screen and (max-width: 600px) {
	p,a,li{
	line-height: 1.5rem;
    letter-spacing: 0.03rem;
	font-size:15px;
}
	.title2 {
    font-size: 18px;
	letter-spacing: 0.1rem;
	}
	.title3 {
		font-size: 17px;
		letter-spacing: 0.1rem;
	}
	.title3:before {
    margin-right: 10px;
}
	.title4 {
		font-size: 16px;
		letter-spacing: 0.1rem;
	}
	.top_contentarea {
    padding: 50px 20px;
}
	.top_contentarea2 {
    padding: 50px 0px;
}
		.title1 {
		font-size: 26px;
	}
	.catchphrase {
 	   font-size: 30px;
 	   letter-spacing: 0.1rem;
	   line-height: 3rem;
}
	.catchphrase_sub {
		font-size: 18px;
		max-width: 250px;
    	padding: 5px 0;
		margin-top: 20px;
}
	.keyv_txt.keyv_txt_sp {
    	top: 30%;
	}
	.top_circletxt {
    	width: 140px;
		height: 140px;
		bottom: -70px;
	}
	.top_circletxt span:nth-child(1) {
	    font-size: 15px;
}
	.top_circletxt p {
		font-size: 14px;
		line-height: 1.2rem;
}
	.top_circletxt .yellow {
    	font-size: 16px;
}
}
@media screen and (max-width: 500px) {
	.sheet-time tr th:first-child, .sheet-time tr td:first-child {
    padding-left: 10px;
    padding-right: 10px;
}
	.sheet-time tr th:last-child, .sheet-time tr td:last-child {
    padding-right: 10px;
}
	.sheet-time tr th {
    background: #e2e2e2;
    padding: 10px 5px;
}
	table.sheet-time {
    font-size: 14px;
}
	.sheet-time tr td {
    color: #003fbe;
    padding: 10px 5px;
}
	
		.sheet1 tr th:first-child, .sheet1 tr td:first-child {
    padding-left: 10px;
    padding-right: 10px;
}
	.sheet1e tr th:last-child, .sheet1 tr td:last-child {
    padding-right: 10px;
}
	.sheet1 tr th {
    background: #e2e2e2;
    padding: 10px 5px;
}
	table.sheet1 {
    font-size: 14px;
}
	.sheet1 tr td {
    color: #003fbe;
    padding: 10px 5px;
}
	
	.keyv_img img {
    width: 120%;
}
	.catchphrase {
    font-size: 26px;
    letter-spacing: 0.1rem;
    line-height: 2.5rem;
}
	.top_aboutus {
    	flex-direction: column;
		align-items: center;
		margin: 0;
}
	.top_aboutus_box {
    width: 80%;
}
	.top_aboutus_box p:nth-child(2) {
    height: 60px;
}
	.top_aboutus_box p img {
    width: 60%;
}
	.top_aboutus_box {
    padding-bottom: 20px;
}
	.foot_tel {
    flex-direction: column;
}
	.foot_info p:first-child img {
    width: 200px;
}
	.foot_contact img {
    width: 40px;
}
}

/* フェードイン */
.fade {
  /* 最初は非表示 */
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s;
}
/* フェードイン時に入るクラス */
.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
.pc_nav_parent:hover .pc_nav_child{
	opacity:1;
	pointer-events: auto;
	transition:.2s;
}
.pc_nav_child {
	transition:.2s;
	pointer-events: none;
	opacity:0;
    position: absolute;
    width: 250px;
	padding-top: 10px;
}
.pc_nav_child p{
	line-height:0;
}
.pc_nav_child ul {
	display:flex;
	flex-direction: column;
}
.pc_nav_child ul li{
	border-bottom:dotted 1px #fff;
	background:#003fbeca;
}
.pc_nav_child ul li:last-child{
	border-bottom:none;
}
.pc_nav_child ul li a{
	color: #fff;
    display: block;
    padding: 15px 10px;
	padding-left: 55px;
	transition: .1s;
}
.pc_nav_child ul li a:before{
    content: "";
    display: inline-block;
    position: absolute;
    width: 30px;
    height: 30px;
    background: url(img/btn_arrow2.png) no-repeat center;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 10px;
	opacity:1;
    transition: .1s;
}
.pc_nav_child ul li a:hover{
	padding-left: 75px;
	transition: .1s;
}
.pc_nav_child ul li a:hover:before{
	left: 30px;
	transition: .1s;
}
.pc_nav_child img{
    width:100%
}


/*--sub--*/
.sub_list {
    list-style: none;
	margin-left: 30px;
	margin-bottom: 40px;
}
.sub_list li {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
}
.sub_list li:before {
	content: "";
    width: 15px;
    height: 15px;
	min-width: 15px;
    display: flex;
    background-color: #e8ba61;
    border-radius: 50%;
    margin-right: 10px;
    align-items: center;
    margin-top: 1px;
}
.imgfloat_right{
	float: right;
	margin-left: 20px;
	width:40%;
}
.imgfloat_right img{
	width:100%;
}

.imgflex_left {
    display: flex;
}
.imgflex_left p{
	width:70%;
}
.imgflex_left p:first-child{
	width:30%;
	margin-right:30px;
}
.imgflex_left p:first-child img{
	width:100%;
}
.mb80_pc{
	margin-bottom: 80px!important;
}
@media screen and (max-width: 600px) {
	.sub_list {
	margin-left: 15px;
	margin-bottom: 40px;
}
	.sub_list li {
    margin-bottom: 10px;
}
	.imgfloat_right {
	text-align: center;
    float: none;
    margin-left: 0;
    width: auto;
}
	.imgfloat_right img{
	width:300px;
}
	.imgflex_left {
    flex-direction: column;
		align-items: center;
}
	.imgflex_left p{
	width:100%;
}
	.imgflex_left p:first-child{
	width: 300px;
	margin-right:0px;
}
.mb80_pc{
	margin-bottom: 30px!important;
}
}


/*--アーカイブページ--*/

.newsbox{
    overflow-wrap: break-word;
    border-bottom: 1px solid #aaa;
}
.newslist_area section:first-of-type .newsbox{
	border-top: 1px solid #aaa;
}
.newsbox a{
	display: flex;
	text-decoration:none;
	padding: 25px 0;
	transition:.2s;
}
.newsbox a:hover{
	background:#eee;
	transition:.2s;
}
.newsbox_thumbnail{
	width: 30%;
	height: 220px;
	margin-right: 3%;
	background-size: cover;
    background-position: center center;
}
.newsbox_no-thumbnail{
	width: 30%;
	height: 220px;
	margin-right: 3%;
	background:#dddddd;
	color:#fff;
	display: flex;
    align-items: center;
    justify-content: center;
	font-weight: 500;
    font-size: 25px;
}

.newsbox_txt{
	width:67%
}
.newsbox .category {
	padding-top: 2px;
	margin-left: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.newsbox h2{
	margin-top: 20px;
	margin-bottom: 15px;
	color:#003fbe;
	font-size:18px;
	font-weight:500;
}
p.news_content_txt {
    letter-spacing: 0.1rem;
	margin-bottom: 0;
}
.pagination {
    width: 100%;
    text-align: center;
    z-index: 200;
    list-style-type: none;
    padding: 0;
    margin: 60px 0 0 0;
}
.pagination, .pagination li a, .pagination a, .pagination span {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.pagination a {
    margin: 0 5px;
    width: 15px;
    height: 15px;
    display: inline-block;
    overflow: hidden;
}
.pagination li.current a{
	background: #003fbe;
    cursor: default;
    pointer-events: none;
    color: #fff;
}
.pagination a, .pagination span {
    font-weight: 500;
    padding-top: 1px;
    text-decoration: none;
    border-left-width: 0;
    min-width: 36px;
    min-height: 36px;
    color: #222;
    background-color: #f5f5f5;
}
.pagination li.next a span,
.pagination li.last a span,
.pagination li.previous a span,
.pagination li.first a span{
	position:relative;
	background: #7898da22;
	padding-top:0;
}
.pagination li.next a span:before{
	content:url(img/pagenation_arrow.png);
	display:block;
}
.pagination li.previous a span:before{
	content:url(img/pagenation_arrow2.png);
	display:block;
}
.news_content_txt_80{
	display:none;
}
.news_content_txt_40{
	display:none;
}
.newsbox_txt .date{
	padding:0;
}
@media screen and (max-width: 980px) {
	.news_content_txt_150{
		display:none;
	}
	.news_content_txt_80{
		display:block;
		font-size:15px;
	}
}
@media screen and (max-width: 900px) {
	.newsbox_thumbnail,.newsbox_no-thumbnail{
		height: 170px;
	}
}
@media screen and (max-width: 768px) {
	.news_content_txt_80{
		display:none;
	}
	.news_content_txt_40{
		display:block;
		font-size:14px;
}
}
@media screen and (max-width: 700px) {
	.newsbox_thumbnail,.newsbox_no-thumbnail{
		height: 120px;
		font-size: 18px;
	}
	.news_content_txt{
		display:none;
	}
	.newsbox h2 {
	margin-top: 10px;
    font-size: 16px;
    line-height: 1.2rem;
    letter-spacing: 0.01rem;
}
}
@media screen and (max-width: 700px) {
	.newsbox_thumbnail,.newsbox_no-thumbnail{
		height: 100px;
	}
	.newsbox a {
    align-items: center;
}
}
@media screen and (max-width: 600px) {
.newsbox .category {
    padding-top: 0px;
	}
}
@media screen and (max-width: 450px) {
	.newsbox_txt {
    width: 60%;
}
	.newsbox_thumbnail,.newsbox_no-thumbnail{
    width: 40%;
	}
}

/*--個別投稿ページ--*/
.news_contentarea {
    display: flex;
}
.news_sideber{
	width:25%;
	margin-right:5%;
}
.news_content .title2{
	margin-top:0;
}
.news_content{
	width:70%;
	overflow-wrap: break-word;
}
.news_content .title2 {
    padding: 25px 30px 28px 30px;
    border-bottom: 0;
	color:#003fbe;
}
.news_thumbnail img{
	width:80%;
}
.news_thumbnail {
    text-align: center;
	margin-bottom: 30px;
}
.news_no-thumbnail img{
	width:80%;
}
.news_no-thumbnail{
	text-align: center;
	margin-bottom: 30px;
	position:relative;
}
.news_no-thumbnail span{
	color:#fff;
	font-size:30px;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.news_content .date_category {
	margin-bottom:15px;
}

.news_content .category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 23px;
    line-height: 23px;
    width: 70px;
    padding-top: 1px;
    margin-left: 5px;
}
.before_and_after{
	display: flex;
    justify-content: space-between;
    margin: 0 20px;
}
.btn.before_btn a:after,.btn.after_btn a:after{
	height:41px;
	width:41px;
}
.btn.before_btn a,.btn.after_btn a{
	width: 290px;
    padding: 15px 0;
	font-size:18px;
}
.btn.before_btn a:after{
	right:auto;
	left: -10px;
	background: url(img/btn_arrowreverse.png) no-repeat center;
	background-size: cover;
}
.btn.before_btn a:hover:after{
	left: -18px;
}
.btn.after_btn{
	margin-left: auto;
}
/*--サイドバー--*/
.news_sideber h2{
	color: #fff;
    background: #003fbe;
    text-align: center;
    padding: 12px;
    border-radius: 8px;
	letter-spacing: 0.2rem;
}
.side_nav_item ul li{
	list-style:none;
}
.side_nav_item ul li a {
    display: block;
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid #ddd;
}
.side_nav_item ul li a .category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 23px;
    line-height: 23px;
    width: 70px;
    padding-top: 1px;
    margin-left: 5px;
}
.side_nav_item ul li a p{
	margin-top:5px;
	margin-bottom:0;
}
@media screen and (max-width: 1000px) {
	.btn.before_btn a, .btn.after_btn a {
    width: 220px;
    padding: 10px 0;
    font-size: 16px;
}
}
@media screen and (max-width: 800px) {
	.news_sideber{
		display:none;
	}
	.news_content{
		width:100%;
	}
}
@media screen and (max-width: 570px) {
	.btn.before_btn a, .btn.after_btn a {
    width: 180px;
    padding: 10px 0;
    font-size: 15px;
}
	.btn.before_btn a:after, .btn.after_btn a:after {
    height: 35px;
    width: 35px;
}
}
@media screen and (max-width: 490px) {
		.btn.before_btn a, .btn.after_btn a {
    width: 125px;
    padding: 10px 0;
    font-size: 14px;
}
	.btn.before_btn a:after, .btn.after_btn a:after {
    height: 27px;
    width: 27px;
}
}

/*--お問い合わせフォーム--*/
table.sheet {
    border-collapse: collapse;
    border-spacing: 0px;
    border-bottom: none;
    margin-bottom: 15px;
    width: 100%;
    background: #f5f5f5;
    border-top: solid 1px #e2e2e2;
    border-right: solid 1px #e2e2e2;
}
.sheet th, .sheet td {
    padding: 10px 20px;
    text-align: left;
    line-height: 1.5em;
    vertical-align: middle;
    background: #fefefe;
    border-bottom: solid 1px #e2e2e2;
    line-height: 220%;
    border-left: 1px solid #e2e2e2;
}
.sheet th {
    background: #f3f6fc;
    font-weight: 500;
    text-align: center;
    border-bottom: solid 1px #e2e2e2;
}
.indispensable {
    display: inline-block;
    font-size: 12px;
    color: #e8ba61;
    line-height: 140%;
    margin: 0;
}
input.wpcf7-form-control.wpcf7-text {
    border: 1px solid #DDDDDD;
    background-color: #FFFFFF !important;
    padding: 6px 5px;
    border-radius: 3px;
	width: 95%;
	font-size:15px;
}
textarea.wpcf7-form-control.wpcf7-textarea{
	width: 95%;
    margin: 5px 0;
    border: 1px solid #DDDDDD;
    border-radius: 3px;
    background: #fff;
    outline: none;
	font-family: 'Noto Sans JP', sans-serif;
	padding: 5px 5px;
}
.wpcf7-spinner{
	display:none!important;
}
.contact_btn{
	display: flex;
    justify-content: space-evenly;
}
#submit,#previous {
	cursor: pointer;
    display: inline-block;
    text-decoration: none;
	font-size: 16px;
    color: #fff;
    text-align: center;
	padding: 12px 70px;
    letter-spacing: 1px;
    background: #7898da;
    font-weight: 500;
    border-radius: 50px;
    border: none;
	-webkit-transition: 0.2s;
	transition: 0.2s;
    -webkit-appearance: none;
}
#submit:hover,#previous:hover{
	-webkit-transition: 0.2s;
    transition: 0.2s;
	opacity:0.6;
}
.sub_list_p{
	margin-left:2rem;
}
table.table_1 {
    width: 90%;
    margin: auto;
}
.docpage_flex .doc_img{
	width:30%;
	margin-right:20px;
}
.docpage_flex .doc_img img{
	width:100%;
}
.docpage_flex {
    display: flex;
}
.docpage_flex2{
	display: flex;
	margin-bottom:10px;
}
.docpage_flex2 ul{
	list-style:none;
	line-height: 1.7rem;
}
.docpage_flex2 p:first-child{
	margin-right:20px;
}
.doc_info{
	width:70%;
}
.docpage_flex2 li{
	margin-bottom:5px;
}
.docpage_flex2 p:first-child{
	min-width:34px;
}
.doc_info_role{
	font-size:18px;
	font-weight:bold;
}
@media screen and (max-width: 500px) {
	.docpage_flex {
    flex-direction: column;
}
	.docpage_flex .doc_img {
    width: 50%;
		margin: auto;
	}
	.doc_info {
    width: 100%;
}
	.subpage_contentarea p {
		margin-bottom: 15px;
	}
	.docpage_flex2 li {
    margin-bottom: 10px;
}
}
.accesspagetime{
width: 100%;
    max-width: 750px;
    margin: auto;
}