@charset "utf-8";

/* noto-sans-jp-regular - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-sans-jp-v56-japanese_latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese_latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/noto-sans-jp-v56-japanese_latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

*{
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size:16px;
  	line-height: 1.5em;
	font-weight: 400;
	color:#333;
}
/*
font-family: "Noto Serif JP";
font-weight: 700;
sans:400=Regular,700=Bold

*/

/* アドミンバーの表示名を調整 */
#wpadminbar .ab-item,
#wpadminbar .display-name {
    color: #F0F0F1 !important;
}

#wpadminbar #wp-admin-bar-my-account > .ab-item:hover,
#wpadminbar #wp-admin-bar-my-account > .ab-item:hover .display-name {
    color: #72AEE6 !important;
}

#wpadminbar .ab-sub-wrapper .ab-item:hover,
#wpadminbar .ab-sub-wrapper .ab-item:hover * {
    color: #72AEE6 !important;
}

.sp_br{
	display: none;
}
a[href^="tel:"] {
  pointer-events: none;
}
body{
	background-color: #FFF;
	-webkit-text-size-adjust: 100%;
}
img{
	pointer-events: none;
}
#wrap{
	width:100%;
	overflow: hidden;
}
main{
	width:100%;
}
#header{
	position: fixed;
	background-color: transparent;
	width: 100%;
	height: 100px;
	z-index: 100;
	transition: background-color 0.3s ease;
}
#header.scrolled {
  background-color: #FFF;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
#header h1{
	position: absolute;
	top:20px;
	left: 20px;
	width: 244px;
	height: 60px;
}
#header h1 a{
	display: block;
}
#header h1 a img{
	width: 100%;
	height: 60px;
}
#menu{
	position: absolute;
	top:0px;
	right:0px;
}
#btn_menu{
	display: none;
}
#menu_area{
	display: block;
}
#menu_area nav ul{
	display: flex;
}
#menu_area nav ul li{
	position: relative;
	padding:0;
}
#menu_area nav ul li a{
	display: block;
	width: 147px;
	height: 100px;
	font-size:18px;
	line-height: 100px;
	text-decoration: none;
	color: #0071bc;
	font-weight: 700;
	text-align: center;
}
#menu_area nav ul li a:hover{
	background-color: #0071bc;
	color: #FFF;
}
#menu_area nav ul li.btn_contact a{
	display: block;
	background-color: #0071bc;
	width: 147px;
	height: 100px;
	font-size:18px;
	line-height: 100px;
	text-decoration: none;
	color: #FFF;
	font-weight: 700;
	text-align: center;
}
#menu_area nav ul li.btn_contact a:hover{
	background-color:#ffd700;
	color: #000;
}
/* CTA */
#cta{
	padding:100px 0;
	background-color: #29abe2
}
.cont_cta{
	margin: 0 auto;
	padding:0 0 30px;
	background-color: #FFF;
	border-radius: 15px;
	width: 1024px;
}
.cont_cta h3{
  margin:0 30px 0;
	padding:60px 0 0;
  color:#004b75;
  font-size:32px;
  line-height:1.2em;
  font-weight: 700;
	text-align: center;
}
.cont_cta p{
	margin:37px 30px 0;
	font-size:18px;
}
#cta_area{
	display: flex;
	margin:25.5px 30px 0;
}
#cta_area .btn{
	margin: 0 30px 0 0;
	background-color: #0f3155;
	width: 467px;
	height: 120px;
}
#cta_area .btn:last-child{
	margin: 0;
}
#cta_area .btn:hover{
	background-color: #1a4a7d;
}
#cta_area .btn a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	color:#FFF;
	font-size:24px;
	line-height: 1em;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
#cta_area .btn a span{
	display: block;
	color:#FFF;
	font-size:36px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
/* footer */
footer{
	clear: both;
}
#footer{
	position: relative;
	background-color: #FFF;
	width: 100%;
	min-height: 300px;
	overflow: auto;
}
#footer ul{
	display: flex;
	margin:60px 30px 0;
	padding:0;
}
#footer ul li{
	position: relative;
	margin:0 30px 0 0;
	font-size:16px;
	line-height: 16px;
	font-weight: 500;
	color: #29abe2;
}
#footer ul li.link{
	padding:0 20px 0 0;
}
#footer ul li.link::after{
	content: "";
	position: absolute;
	top:2px;
	right:0;
	background: url(../images/icon_link.svg) no-repeat;
	background-size: cover;
	width: 15px;
	height: 15px;
}
#footer ul li a{
	display: block;
	text-decoration: none;
	font-size:16px;
	line-height: 16px;
	color: #29abe2;
}
#footer ul li a:hover{
	color:#0f3155;
	text-decoration: underline;
}
#site_data{
	margin:60px 0 0;
	padding:0;
}
#site_data p{
	display: block;
	margin: 0 0 0 30px;
	width: 406px;
	height: 100px;
}
#site_data p a{
	display: block;
}
#site_data p a img{
	width: 100%;
	height: 100px;
}
small{
	position: absolute;
	bottom:70px;
	right:20px;
	display: block;
	color:#333333;
	font-size:16px;
	line-height: 16px;
}
#pagetop{
	position: fixed;
	right:10px;
	bottom:10px;
	width: 48px;
	height: 48px;
	cursor: pointer;
	z-index: 5;
}
#pagetop img{
	width: 48px;
	height: 48px;
}
#pankuzu{
	background-color: #f5f5f5;
	width: 100%;
	height: 40px;
}
#pankuzu ul{
	display: flex;
	margin:0 0 0 10px
}
#pankuzu ul li{
	position: relative;
	padding:0 10px;
}
#pankuzu ul li::after{
	content: "|";
	position: absolute;
	top:0;
	right:0;
	color:#333;
	font-size:10px;
	line-height: 40px;
}
#pankuzu ul li:last-child::after{
	content: "";
}
#pankuzu ul li a{
	display: block;
	color:#333333;
	font-size:14px;
	line-height: 40px;
	text-decoration: none;
}
#pankuzu ul li a:hover{
	color:#0071bc;
	text-decoration:underline;
}
/* cookie */
.cc-banner,
.cc-floating {
	position: fixed;
	bottom: 0;
	left:0;
	padding:0 !important; /* プラグインの設定より優先させる */
	background-color: #FFF;
	width: 100%;
	min-width: 100%;
	height: 100px;
	z-index: 200;
}

.cc-message{
	position: relative;
	width: 100%;
	height: 100px;
}

.cc-message p{
	position: absolute;
	top:28px;
	left:20px;
	right: 400px;
	font-size:14px;
}

.cc-compliance {
	display: flex;
	position: absolute;
	top:26px;
	right:90px;
}

.cc-deny,
.cc-allow {
	margin:0 0 0 15px !important;  /* プラグインの設定より優先させる */
	background-color: #0071bc !important;
	color:#FFF !important;
	width: 128px;
	height: 48px;
	font-size:16px;
	line-height: 48px;
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	text-decoration: none !important;
	padding: 0;
}

.cc-btn.cc-deny:hover,
.cc-btn.cc-allow:hover {
	background-color: #0f3155 !important;
}

.cc-close {
	font-size: 0;
    line-height: 0;
    color: transparent;
	background-image: url('../images/icon_close_g.svg');
	position: absolute;
	top:50%;
	right:20px;
	padding:10px;
	transform:translateY(-50%);
}

@media (max-width: 767px){
	/* アドミンバーを固定する */
    #wpadminbar {
        position: fixed;
    }
	.sp_br{
		display: block;
	}
	a[href^="tel:"] {
    pointer-events:auto;
  	}
	body{
		background-color: #FFF;
		-webkit-text-size-adjust: 100%;
		overflow: auto;
	}
	img{
		pointer-events:auto;
	}
	#wrap{
		width:100%;
		overflow: hidden;
	}
	main{
		width:100%;
	}
	#header{
		position: fixed;
		background-color: #FFF;
		width: 100%;
		height: 60px;
		z-index: 300;
		transition: background-color 0.3s ease;
	}
	#header.scrolled {
		background-color: #FFF;
		box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	}
	#header h1{
		position: absolute;
		top:15px;
		left: 15px;
		width: 122px;
		height: 30px;
		z-index: 120;
	}
	#header h1 a{
		display: block;
	}
	#header h1 a img{
		width: 100%;
		height: 30px;
	}
	#menu{
		position: absolute;
		top:0px;
		right:0px;
		z-index: 110;
		width: 100%;
		height: 60px;
	}
	#btn_menu{
		display: block;
		position: absolute;
		top:5px;
		right:5px;
		padding:10px;
		width: 30px;
		height: 30px;
		cursor: pointer;
		z-index: 110;
	}
	#btn_menu img{
		width: 100%;
		height: 100%;
	}
	#menu_area{
		display: none;
		position: absolute;
		top:60px;
		left:0;
		background-color: #FFF;
		width: 100vw;
		height: 100vh;
	}
	#menu_area nav ul{
		display: block;
		margin:10px 10px 0;
		width: calc(100% - 20px);
	}
	#menu_area nav ul li{
		position: relative;
		padding:0 0.5rem 0;
		border-top:1px solid #ccc;
		height: 58px;
	}
	#menu_area nav ul li:last-child{
		border-bottom:0;
	}
	#menu_area nav ul li a{
		display: block;
		width: auto;
		height: 58px;
		color: #0071bc;
		font-size:18px;
		line-height: 58px;
		text-decoration: none;
		text-align: left;
	}
	#menu_area nav ul li a:hover{
		background-color: #FFF;
		color: #0071bc;
	}
	#menu_area nav ul li.btn_contact{
		padding: 0;
	}
	#menu_area nav ul li.btn_contact a{
		display: block;
		margin: 30px 0 0;
		background-color: #0071bc;
		width: auto;
		height: 58px;
		font-size:18px;
		line-height: 58px;
		text-decoration: none;
		color: #FFF;
		font-weight: 700;
		text-align: center;
	}
	#menu_area nav ul li.btn_contact a:hover{
		background-color:#ffd700;
		color: #000;
	}
	/* CTA */
	#cta{
		padding:50px 0;
		background-color: #29abe2
	}
	.cont_cta{
		margin: 0 10px;
		background-color: #FFF;
		border-radius: 7.5px;
		width: calc(100% - 20px);
		min-height: 179.5px;
	}
	.cont_cta h3{
		margin:0 15px 0;
		padding:30px 0 0;
		color:#004b75;
		font-size:24px;
		line-height:1.2em;
		font-weight: 700;
		text-align: center;
	}
	.cont_cta p{
		margin:18.5px 10px 0;
		font-size:14px;
	}
	#cta_area{
		display: block;
		margin:15px 10px 0;
		padding:0 0 0px;
	}
	#cta_area .btn{
		margin: 30px 0 0 0;
		background-color: #0f3155;
		width: 100%;
		height: 60px;
	}
	#cta_area .btn:last-child{
		margin: 20px 0 0;
	}
	#cta_area .btn:hover{
		background-color: #1a4a7d;
	}
	#cta_area .btn a{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100%;
		color:#FFF;
		font-size:18px;
		line-height: 1em;
		font-weight: 700;
		text-align: center;
		text-decoration: none;
	}
	#cta_area .btn a span{
		display: block;
		color:#FFF;
		font-size:22px;
		font-weight: 700;
		text-align: center;
		text-decoration: none;
	}
	/* footer */
	#footer{
		position: relative;
		background-color: #FFF;
		width: 100%;
		min-height: 300px;
		overflow: auto;
	}
	#footer ul{
		display: block;
		margin:30px 15px 0;
		padding:0;
	}
	#footer ul li{
		position: relative;
		margin:0 0 0 0;
		border-bottom:1px solid #CCC;
		font-size:14px;
		line-height: 14px;
		font-weight: 500;
		color: #29abe2;
	}
	#footer ul li.link{
		padding:0 0 0 0;
	}
	#footer ul li.link::after{
		content: "";
		position: absolute;
		top:50%;
		right:0;
		background: url(../images/icon_link.svg) no-repeat;
		background-size: cover;
		width: 13px;
		height: 13px;
		transform:translateY(-50%);
	}
	#footer ul li a{
		display: block;
		padding:15px 0;
		width: 100%;
		text-decoration: none;
		font-size:14px;
		line-height: 14px;
		color: #29abe2;
		text-align: center;
	}
	#footer ul li a:hover{
		color:#0f3155;
		text-decoration: underline;
	}
	#site_data{
		margin:60px 0 0;
		padding:0;
	}
	#site_data p{
		display: block;
		margin: 0 auto 0;
		width: 203px;
		height: 50px;
	}
	#site_data p a{
		display: block;
	}
	#site_data p a img{
		width: 100%;
		height: 50px;
	}
	small{
		position: static;
		bottom:0px;
		right:0px;
		top:0;
		left:10px;
		display: block;
		margin:30px auto 0;
		padding:0 0 30px;
		color:#333333;
		font-size:14px;
		line-height: 14px;
		text-align: center;
	}
	#pagetop{
		display: none;
		position: fixed;
		right:10px;
		bottom:10px;
		width: 50px;
		height: 50px;
	}
	#pagetop img{
		width: 100%;
	}
	#pankuzu{
		background-color: #f5f5f5;
		width: 100%;
		height: 40px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	#pankuzu ul{
		display: flex;
		white-space: nowrap;
		margin:0 0 0 0px
	}
	#pankuzu ul li{
		position: relative;
		padding:0 10px;
		flex-shrink: 0;
	}
	#pankuzu ul li::after{
		content: "|";
		position: absolute;
		top:0;
		right:0;
		color:#333;
		font-size:10px;
		line-height: 40px;
	}
	#pankuzu ul li:last-child::after{
		content: "";
	}
	#pankuzu ul li a{
		display: block;
		color:#333333;
		font-size:14px;
		line-height: 40px;
		text-decoration: none;
	}
	#pankuzu ul li a:hover{
		color:#0071bc;
		text-decoration:underline;
	}
	/* cookie */
	.cc-banner,
	.cc-floating {
		position: fixed;
		bottom: 0;
		left:0;
		padding:0 !important;
		background-color: #FFF;
		width: 100%;
		height: auto;
		z-index: 200;
	}

	.cc-message p{
		position: static;
		top:0px;
		left:0px;
		margin:10px 10px 0;
		padding:0 40px 0 0;
		width: calc(100% - 60px);
		font-size:14px;
	}
	.cc-compliance{
		display: block;
		position: static;
		top:0;
		right:0;
		margin:15px 10px 0;
		width: calc(100% - 20px);
		padding-bottom: 15px;
	}
	.cc-deny,
	.cc-allow{
		border-width: 0;
		margin:0 0 10px !important;
		width: 100%;
		height: 48px;
		font-size:16px;
		line-height: 48px;
		font-weight: 700;
		text-align: center;
		cursor: pointer;
	}
	.cc-close{
		position: absolute;
		top:20px;
		right:10px;
		padding:10px;
		transform:none;
	}
}
@media screen and (max-width: 767px) and (orientation:landscape){

}