@charset "utf-8";
/* Author: c.nz */
/* ---------------------------------------------------
	common
------------------------------------------------------ */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, a { margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; -webkit-box-sizing: border-box; box-sizing: border-box;}
ol, ul { list-style: none; }
i, cite, em, var, address, dfn {font-style: normal;}

body {font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-display: swap; font-size: 100%;}

.acms-container {max-width: 100%; padding-left: 0; padding-right: 0;}
.acms-container #adminBox {margin-bottom: 0;}
.slick-dots li.slick-active button {background: none;}
.js-edit_inplace-hovering{left:50% !important; transform:translateX(-50%);}

#container {width: 100%; margin: 0 auto; overflow: hidden; position: relative;}

.container {width: 100%; max-width: 1200px; margin: 0 auto;}
.container:after {content: ""; clear: both; display: block;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	#container {padding-top: 60px;}
}
@media screen and (max-width: 896px) and (orientation:landscape) {
	.page-title-inner .page-title{padding: 0 40px;}
}

.js-lazy-load{transition: .4s;}

a {-webkit-transition: all ease 0.2s; -moz-transition: all ease 0.2s; -o-transition: all ease 0.2s; transition: all ease 0.2s; box-sizing: border-box;}
a:link, a:visited {color: #222; text-decoration: none;}
a:hover, a:visited {color: #222; text-decoration: none;}
a:hover {opacity: .7;}
.entry-column a:visited {color: #222;}
a[href^="tel:"] {pointer-events: none;text-decoration: none;}

img {max-width: 100%; height: auto; line-height: 1; vertical-align: bottom;}
img.max {width: 100%;}

p {line-height: 1.8; margin: 0; word-wrap: break-word;}

.flexbox {display: -ms-flexbox; display: -webkit-box; display: flex; flex-wrap: wrap; align-items: top; justify-content: space-between;}
.flexbox.mid {align-items: center;}
.flexbox.center {justify-content: center;}
.flexbox.reverse {flex-direction: row-reverse;}

.flL {float: left;}
.flR {float: right;}

.taL {text-align: left;}
.taC {text-align: center;}
.taR {text-align: right;}

.rel {position: relative;}

.mincho {font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.gothic {font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}

.w20 {width: 20%;}
.w30 {width: 30%;}
.w70 {width: 70%;}
.w80 {width: 80%;}
.w1200 {max-width: 1200px;}

.txt-lll {font-size: 1.375em;}
.txt-ll {font-size: 1.25em;}
.txt-l {font-size: 1.125em;}
.txt-s {font-size: 0.875em;}
.txt-ss {font-size: 0.75em;}
.txt-sss {font-size: 0.625em;}

.tcol-red {color: red;}
.tcol-orange {color: orange;}
.tcol-yellow {color: yellow;}
.tcol-green {color: darkgreen;}
.tcol-blue {color: blue;}
.tcol-purple {color: purple;}

.pc-only {display: block;}
.sp-only {display: none;}
.pc-block {display: block;}
.sp-block {display: none;}
.pc-inline {display: inline;}
.sp-inline {display: none;}


@media screen and (max-width: 1366px) {
}

@media screen and (max-width: 1024px) {
}

/* IE用対応 */
/*
_:-ms-fullscreen . {}
*/

@media screen and (max-width: 767px) {
/*背景固定する場合	html.is-fixed,
	html.is-fixed body {height: 100%;overflow: hidden;}*/
	body {}
	a:hover img {opacity: 1;}
	a[href^="tel:"] {pointer-events: auto;}
	.container {max-width: 100%;}
	p {line-height: 1.4;}
	.w1200 {width: auto;}
	.pc-only {display: none !important;}
	.sp-only {display: block;}
	.pc-block {display: none !important;}
	.sp-block {display: block;}
	.pc-inline {display: none !important;}
	.sp-inline {display: inline;}
	.pc-hidden {display: block;}
}

/* ---------------------------------------------------
	bg-change
------------------------------------------------------ */
/*.bg-change01 { background-color: #FFF;}
.bg-change02 { background-color: #000;}
.bg-change03 { background-color: #00F;}*/

/* ---------------------------------------------------
	font-size-change
------------------------------------------------------ */
/*.is-fs-m {font-size: 120%;}
.is-fs-l {font-size: 140%;}*/

/* ---------------------------------------------------
	header
------------------------------------------------------ */
#header{width:100%; background: #FFF;}
#header .content-wrap{height: calc(100vw * (120 / 1920)); display: flex; justify-content: flex-start; align-items: center; background: #FFF;}
#header .content-wrap .logo{width:calc(100vw * (200 / 1920)); margin: calc(100vw * (20 / 1920)); margin-right: calc(100vw * (140 / 1920));}
#header .content-wrap .logo a {display: block;}
#header .content-wrap .logo a:hover {opacity: 1;}
#header .content-wrap .seo-description{font-size: calc(100vw * (16 / 1920)); font-weight: 500; letter-spacing: 0; line-height: 1.575; margin-bottom: calc(100vw * (30 / 1920));}
#header .content-wrap .gnavi > ul{display: flex; justify-content: flex-start; align-items: center;}
#header .content-wrap .gnavi > ul > li{font-size: calc(100vw * (18 / 1920)); margin-right: calc(100vw * (40 / 1920)); font-weight: bold; letter-spacing: 0; line-height: 1.4; position: relative;}
#header .content-wrap .gnavi > ul > li:last-of-type{margin-right: 0;}
#header .content-wrap .gnavi > ul > li > ul {display: none; position: absolute; top: 100%; left: 0; width: auto; height: auto; z-index: 1000;}
#header .content-wrap .gnavi > ul > li > ul > li {width: auto; height: auto;}
#header .content-wrap .gnavi > ul > li > ul > li a {display: block; white-space: nowrap; width: auto; padding: 5px; background: rgba(255,255,255,0.95);}
#header .content-wrap .mail-btn{ width:calc(100vw * (180 / 1920)); margin-right: 0; margin-left: calc(100vw * (20 / 1920)); height: 100%;}
#header .content-wrap .mail-btn a{background:#999; width:100%; color:#FFF; padding:calc(100vw * (34 / 1920)) 0 calc(100vw * (33 / 1920)); font-size:calc(100vw * (18 / 1920)); letter-spacing: .05em; line-height: 2; text-align: center; position: relative; height: 100%; display: flex; align-items: center; justify-content: center; flex-wrap:wrap;}
#header .content-wrap .mail-btn a::before{content:""; display: inline-block; height:calc(100vw * (20 / 1920)); background:url(../images/common/ico-mail.png) no-repeat center/contain; width:100%; margin-bottom: calc(100vw * (10 / 1920));}
#header .content-wrap .tel-info{margin-left: auto; margin-right:0; text-align: right;}
#header .content-wrap .tel-info p{font-size:calc(100vw * (38 / 1920)); line-height:.66315; letter-spacing: 0; font-weight: 400; margin-bottom: calc(100vw * (5 / 1920)); white-space: nowrap;}
#header .content-wrap .tel-info small{font-size: calc(100vw * (16 / 1920)); font-weight: 500; line-height: 1.575;}


@media screen and (max-width:1280px){
	#header .content-wrap{height: calc(100vw * (120 / 1280));}
	#header .content-wrap .logo{width:calc(100vw * (160 / 1280)); margin: calc(100vw * (20 / 1920)); margin-right: calc(100vw * (70 / 1280));}
	#header .content-wrap .head-contents{max-width: calc(100vw * (851 / 1920));}
	#header .content-wrap .seo-description{font-size: calc(100vw * (14 / 1280)); margin-bottom: calc(100vw * (30 / 1280));}
	#header .content-wrap .gnavi > ul > li{font-size: calc(100vw * (14 / 1280)); margin-right: calc(100vw * (20 / 1280));}
	#header .content-wrap .mail-btn{width:calc(100vw * (160 / 1280)); margin-left: calc(100vw * (20 / 1920));}
	#header .content-wrap .mail-btn a{padding:calc(100vw * (34 / 1280)) 0 calc(100vw * (33 / 1280)); font-size:calc(100vw * (18 / 1280));}
	#header .content-wrap .mail-btn a::before{height:calc(100vw * (20 / 1280)); margin-bottom: calc(100vw * (10 / 1280));}
	#header .content-wrap .tel-info p{font-size:calc(100vw * (30 / 1280)); margin-bottom: calc(100vw * (5 / 1280));}
	#header .content-wrap .tel-info small{font-size: calc(100vw * (16 / 1280));}
}


@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	main{margin-top: 60px;}
	#header{height: auto; position: fixed; top: 0; z-index: 1000;}
	.head-contents{margin-right: 2%;}
	.sp-menu-btn{display: block; width:40px; height: 60px; position: relative; z-index:999;}
	.sp-menu-btn > span{display: inline-block; background-color: #004878; width: 100%; height: 2px; border-radius: 5px; position: absolute; top:50%; left: 50%; transform: translate(-50%,-50%); transition: 0.8s;}
	.sp-menu-btn > span:first-of-type{top: 25%;}
	.sp-menu-btn > span:last-of-type{top: 75%;}
	.sp-menu-btn.is-open > span:first-of-type{transform:translate(-50%,-50%) rotateZ(45deg); top: 50%;}
	.sp-menu-btn.is-open > span{transform:translate(-50%,-50%) rotateX(180deg) rotateY(270deg); top: 50%;}
	.sp-menu-btn.is-open > span:last-of-type{transform:translate(-50%,-50%) rotateZ(-45deg); top: 50%;}
	.seo-description{display: none;}
	#header .content-wrap{height: auto; align-items:center; width:100%; justify-content: space-between;}
	#header .content-wrap .logo{width:30%; margin-left: 2%; z-index: 999;}
	#header .content-wrap .sp-scroll{position: fixed; height: 100vh; width: 100%; top: 0; overflow: scroll; background: #FFF; transition: .6s; left:-1200px;}
	#header .content-wrap .is-open + .sp-scroll{left:0;}
	#header .content-wrap .gnavi > ul{ display: block; padding-top: 100px; height: auto;}
	#header .content-wrap .mail-btn{display: none;}
	#header .content-wrap .tel-info{display: none;}
	#header .content-wrap .gnavi > ul > li{margin:0; text-align: center; padding:10px 0; font-size: 18px;}
	#header .content-wrap .gnavi > ul > li a{color:#222;}
	#header .content-wrap .gnavi > ul > li > ul {display: none; position: relative;}
	#header .content-wrap .gnavi > ul > li > ul > li {}
	#header .content-wrap .gnavi > ul > li > ul > li a {}
}


@media screen and (max-width: 896px) and (orientation:landscape) {
	#header .content-wrap .logo{width:18%;}
	#header .content-wrap .gnavi > ul{padding-bottom: 40px;}
}


/* ---------------------------------------------------
	follow-content
------------------------------------------------------ */
.follow-content{height: calc(100vw * (80 / 1920)); display: flex; justify-content: flex-start; align-items: center; position: fixed; transition: .6s; width: 100%; top: -500px; background: #FFF; z-index: 999;}
.follow-content .logo{width:calc(100vw * (150 / 1920)); margin: calc(100vw * (10 / 1920)) calc(100vw * (190 / 1920)) calc(100vw * (10 / 1920)) calc(100vw * (20 / 1920));}
.follow-content .logo a{display: block;}
.follow-content .logo a:hover{opacity: 1;}
.follow-content.is-follow{position: fixed; top:0;}
.follow-content .seo-description{font-size: calc(100vw * (14 / 1920)); font-weight: 500; letter-spacing: 0; line-height: 1.575; margin-bottom: calc(100vw * (36 / 1920));}
.follow-content .gnavi > ul {display: flex; justify-content: flex-start; align-items: center;}
.follow-content .gnavi > ul > li{font-size: calc(100vw * (18 / 1920)); margin-right: calc(100vw * (40 / 1920)); font-weight: bold; letter-spacing: 0; line-height: 1.4; position: relative;}
.follow-content .gnavi > ul > li:last-of-type{margin-right: 0;}
.follow-content .gnavi > ul > li > ul {display: none; position: absolute; top: 100%; left: 0; width: auto; height: auto; z-index: 1000;}
.follow-content .gnavi > ul > li > ul > li {width: auto; height: auto;}
.follow-content .gnavi > ul > li > ul > li a {display: block; white-space: nowrap; width: auto; padding: 5px; background: rgba(255,255,255,0.95);}
.follow-content .mail-btn{ width:calc(100vw * (180 / 1920)); margin-right: 0; margin-left: calc(100vw * (20 / 1920)); height: 100%;}
.follow-content .mail-btn a{background:#999; width:100%; color:#FFF; padding:calc(100vw * (14 / 1920)) 0 calc(100vw * (13 / 1920)); font-size:calc(100vw * (18 / 1920)); letter-spacing: .05em; line-height: 2; text-align: center; position: relative; height: 100%; display: flex; align-items: center; justify-content: center; flex-wrap:wrap; font-weight: 700;}
.follow-content .mail-btn a::before{content:""; display: inline-block; height:calc(100vw * (20 / 1920)); background:url(../images/common/ico-mail.png) no-repeat center/contain; width:100%;}
.follow-content .tel-info{margin-left: auto; margin-right:0; text-align: right;}
.follow-content .tel-info p{font-size:calc(100vw * (38 / 1920)); line-height:.66315; letter-spacing: 0; font-weight: 400; margin-bottom: calc(100vw * (5 / 1920));}
.follow-content .tel-info small{font-size: calc(100vw * (16 / 1920)); font-weight: 500; line-height: 1.575;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.follow-content{display: none;}
}

/* ---------------------------------------------------
	gnavi
------------------------------------------------------ */
/*.gnavi {}
.gnavi > ul {display: flex; justify-content: space-between; align-items: center; flex-wrap: nowrap; margin: 0; list-style: none; padding: 0 50px 0 0;}
.gnavi > ul li {margin-right: 50px; margin-left: 0; padding: 0; list-style: none; color: #333; font-size: 20px; font-weight: bold; white-space: nowrap;}
.gnavi > ul li:last-child {margin-right: 0;}
.gnavi > ul li a {color: #333; font-size: 20px; font-weight: bold; white-space: nowrap;}

@media screen and (max-width: 767px), (max-width: 844px) and (orientation:landscape) {
.gnavi {display: none; width: 100vw; height: 100vh; background: rgba(14,34,57,0.95); position: fixed; top: 0; left: 0; z-index: 4000;}
.gnavi > ul {display: block; padding: 100px 0 0 0; width: 100%;}
.gnavi > ul li {margin-right: 0; margin-left: 0;  padding: 0; border-bottom: 1px dotted #FFF;}
.gnavi > ul li a {display: block; width: 100%; padding: 20px 0; text-align: center;}
}*/


/* ---------------------------------------------------
	btn_menu
------------------------------------------------------ */
.btn_menu {display: none; position: fixed; right: 15px; top: 10px; width: 100px; height: 100px; padding: 20px 20px 15px; cursor: pointer; text-align: center; z-index: 9999; background: #0E2239;}
.btn_menu .menu-trigger {display: inline-block; position: relative; width: 40px; height: 32px; box-sizing: border-box; transition: all .4s;}
.btn_menu .menu-trigger span {display: inline-block; transition: all .4s; box-sizing: border-box; position: absolute; left: 0; width: 100%; height: 3px; background-color: #FFF;}
.btn_menu .menu-trigger span:nth-of-type(1) {top: 0;}
.btn_menu .menu-trigger.active span:nth-of-type(1) {top: 4px;}
.btn_menu .menu-trigger span:nth-of-type(2) {top: 14px;}
.btn_menu .menu-trigger span:nth-of-type(3) {bottom: 0;}
.btn_menu .menu-trigger.active {-webkit-transform: rotate(180deg); transform: rotate(180deg);}
.btn_menu .menu-trigger.active span {}
.btn_menu .menu-trigger.active span:nth-of-type(1) {-webkit-transform: translateY(10px) rotate(-35deg); transform: translateY(10px) rotate(-35deg);}
.btn_menu .menu-trigger.active span:nth-of-type(2) {-webkit-transform: translateY(0) rotate(35deg); transform: translateY(0) rotate(35deg);}
.btn_menu .menu-trigger.active span:nth-of-type(3) {opacity: 0;}
.btn_menu .txt {color: #FFF; font-size: 12px; font-family: Arial, Helvetica, "sans-serif"; font-weight: bold; margin-top: 4px;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
.btn_menu {display: block; width: 60px; height: 60px; padding: 10px 10px 15px;}
.btn_menu .menu-trigger {width: 40px; height: 26px;}
.btn_menu .menu-trigger span {height: 2px;}
.btn_menu .menu-trigger span:nth-of-type(1) {top: 0;}
.btn_menu .menu-trigger.active span:nth-of-type(1) {top: 2px;}
.btn_menu .menu-trigger span:nth-of-type(2) {top: 12px;}
.btn_menu .menu-trigger span:nth-of-type(3) {bottom: 0;}
}

/* ---------------------------------------------------
	h-container
------------------------------------------------------ */
/*.h-container {display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: #002BA2; z-index: 1500;}
.menu-box {width: 100%; width: 1200px; margin: 37vh auto 0;}
.menu-box ul {display: flex; justify-content: center; text-align: center; margin-bottom: 13vh;}
.menu-box ul li {position: relative; color: #FFF;}
.menu-box ul li:before {content: "/"; display: inline-block;}
.menu-box ul li:first-child:before {content: ""; display: none;}
.menu-box ul li a {display: inline-block; color: #FFF; padding: 0 25px;}

.menu-contact {width: 50%; max-width: 600px; margin: 0 auto;}
.menu-contact table {width: 100%; border-top: 1px solid #FFF; border-left: 1px solid #FFF;}
.menu-contact table td { border-right: 1px solid #FFF; border-bottom: 1px solid #FFF; vertical-align: middle; text-align: center; padding: 20px 0;}
.menu-contact .f-tit { color: #FFF; font-weight: bold; padding: 10px 0;}
.menu-contact .f-tel {margin: 0px 50px;}
.menu-contact .f-tel a {display: block; color: #FFF; font-size: 2em; position: relative; padding-left: 26px; font-family: Arial, Helvetica, "sans-serif";}
.menu-contact .f-tel a:before {content: ""; display: block; position: absolute; top: 50%; left: 0; margin-top: -15px; width: 23px; height: 30px; background: url(../images/header/ico-header-tel2@2x.png) no-repeat top center; background-size: cover;}
.menu-contact .f-mail {margin: 0px 20px;}
.menu-contact .f-mail a {display: flex; justify-content: center; align-items: center; background-color: #E2E911; color: #002BA2; font-size: 1.111em; font-weight: bold; text-align: center; width: 200px; height: 80px; position: relative;}
.menu-contact .f-mail a:before {content: ""; display: block; width: 20px; height: 15px; background: url(../images/header/ico-header-mail@2x.png) no-repeat top center; background-size: cover; margin-right: 10px;}

@media screen and (max-width: 767px), (max-width: 844px) and (orientation:landscape) {
.h-container {}
.menu-box {width: 100%; width: 100%; margin: 120px auto 0;}
.menu-box ul {display: block; margin-bottom: 40px;}
.menu-box ul li {border-bottom: 1px solid #FFF;}
.menu-box ul li:before {content: ""; display: none;}
.menu-box ul li a {display: inline-block; color: #FFF; padding: 20px 0;}

.menu-contact {display: none;}
}*/


/* ---------------------------------------------------
	下層ページタイトル
------------------------------------------------------ */
.pagetit {width: 100%; min-height: calc(100vw * 450 / 1920); position: relative; background: #FFF; text-align: center; background: url(../images/common/pagetit-bg.png) no-repeat center/cover;}
.pagetit .page-title {margin: 0 auto; font-size: 50px; font-weight: bold; line-height: 1.2; color: #FFF; letter-spacing: 0.05em; padding-top: calc(100vw * 223 / 1920);}
.pagetit .page-title span{display: block; font-size: 20px; font-weight: 500; letter-spacing: .05em; line-height: 1.08; font-family: 'Montserrat'; margin-top: 10px; text-transform: uppercase;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
.pagetit {width: 100%; max-width: 100%; min-height: 100px;}
.pagetit .page-title {font-size: 25px; padding-top: 18px;}
.pagetit .page-title span {font-size: 14px;}
}

/* ---------------------------------------------------
	パンくず
------------------------------------------------------ */
.topicpath { background: none; width: 100%; text-align: center; padding: 15px 0; margin-bottom: 0;}
.topicpath .acms-container {max-width: 1200px;}
.topicpath-list { width: 100%; padding: 0; text-align: left;}
.topicpath-item { float: none; display: inline-block; background: none; padding: 0; font-size: 15px; line-height: 1.2; font-weight: 200; }
.topicpath-item a {display: inline;}
.topicpath-item:first-child { padding: 0;}
.topicpath-item:before { display: inline-block; content: "/"; padding: 0 10px;}
.topicpath-item:first-child:before { display: inline-block; content: ""; padding: 0;}
.topicpath-link { font-size: 15px; font-weight: 200;}

.news .topicpath,.event .topicpath{margin-bottom: 6rem;}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
}

@media screen and (max-width: 896px) and (orientation:landscape) {
	.topicpath{padding-left: 40px;}
}

/* ---------------------------------------------------
	pager
------------------------------------------------------ */
.pager {display: -ms-flexbox; display: -webkit-box; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 40px 0;}
.pager li,
.pager li > span, 
.pager li a {display: -ms-flexbox; display: -webkit-box; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border-radius: 5px;}
.pager li {width: 50px; height: 50px; border-radius: 5px; font-size: 20px; background: #EBF7FE; color: #222; margin: 0 5px;}
.pager li.prev, .pager li.next {border: none; border-radius: 5px; background: none;}
.pager li.cur {background: #004282; color: #FFF; border-radius: 5px;}
.pager li > span {width: 100%; height: 100%;}
.pager li a {width: 100%; height: 100%; color: #222; text-decoration: none;}
.pager-link {background: EBF7FE; padding: 10px;}
.pager-link:active, .pager-link:focus, .pager-link:visited { color: #222;}
.pager-link:hover {background: #004282; color: #FFF; border-radius: 5px; opacity: 1; }
.pager li.prev .pager-link, .pager li.next .pager-link,
.pager li.prev .pager-link:hover, .pager li.next .pager-link:hover {background: none; color: #222; }
.pager li .pager-link span{display: flex;}

.serial-nav {width: 100%; max-width: 1200px; margin: 0 auto 50px; display: flex; justify-content: space-between; align-items: center;}
.serial-nav .serial-nav-item{width:255px;}
.serial-nav .serial-nav-prev {text-align: left;}
.serial-nav .serial-nav-next { text-align: right;}
.serial-nav a {display: flex; justify-content: center; align-items: center; padding: 12px 0; color: #004282 !important; border:solid 2px #004282; font-weight: 500; width: 100%; border-radius: 100px; line-height: 1;}
.serial-nav .serial-nav-prev a::before{content: ""; display: inline-block; border-right: 8px solid #004282; border-top: 5px solid transparent; border-bottom: 5px solid transparent; margin-right: 10px; margin-top: 3px;}
.serial-nav .serial-nav-next a::after{content: ""; display: inline-block; border-left: 8px solid #004282; border-top: 5px solid transparent; border-bottom: 5px solid transparent; margin-left: 10px; margin-top: 3px;}
.serial-nav a:active, .serial-nav a:focus, .serial-nav a:hover, .serial-nav a:visited {color: #004282;}
.serial-nav a:hover {text-decoration: none;}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.pager {margin: 20px 0;}
	.pager li {margin-bottom: 10px;}
	
	.serial-nav { padding: 0 10px;}
	.serial-nav .serial-nav-item { width: 48%;}
	.serial-nav a {padding: 10px 20px;}
}

/* ---------------------------------------------------
	子ブログindex
------------------------------------------------------ */
.koblog {width: 100%; max-width: 1200px; margin: 0 auto; padding: 50px 0; }
.koblog .koblog-card-wrap { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 30px; }
.koblog .koblog-card { width: 22.5%; margin-right: 3.33%; margin-bottom: 40px;}
.koblog .koblog-card:nth-child(4n) { margin-right: 0; }
.koblog .koblog-card .image {max-width: 270px; height: 180px; overflow: hidden; position: relative; border-radius: 20px;}
.koblog .koblog-card .image img {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: auto; transition: transform .3s;}
.koblog .koblog-card:hover img { transform: translate(-50%, -50%) scale(1.2); }
.koblog .koblog-card .koblog-card-inner { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: justify; -webkit-box-pack: justify; justify-content: space-between; -ms-flex-align: center; -webkit-box-align: center; align-items: center; margin-top: 15px;flex-wrap: wrap;}
.koblog .koblog-card .category { -webkit-box-flex: 0; -ms-flex: none; flex: none; display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: center; -ms-flex-align: center; -webkit-box-align: center; align-items: center; height: 24px; min-width: 100px; padding: 0 10px; font-size: 14px; font-size: 1.4rem; color: #222; background: #004282; }

.koblog .koblog-card .category.narnews {
	background: #61D19E;
}
.koblog .koblog-card .category.column {
	background: #FF8785;
}
.koblog .koblog-card .category.report {
	background: #82B7E1;
}
.koblog .koblog-card .category.jre {
	background: #FFD94D;
}
.koblog .koblog-card .category.seattle {
	color: #FFF;
}
.koblog .koblog-card .category.news{
	color: #FFF;
}

_:-ms-fullscreen, :root .koblog .koblog-card .category { padding-top: 4px; }
.koblog .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 2rem; font-weight: bold; line-height: 1; color: #999; }
.koblog .koblog-card .text { margin-top: 10px; line-height: 1.8; }

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
.koblog { padding: 0 15px 60px; }
.koblog .koblog-card-wrap { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 30px; }
.koblog .koblog-card { width: 100%; margin-bottom: 50px; margin-right: 0; }
.koblog .koblog-card:last-child { margin-right: 0; }
.koblog .koblog-card .koblog-card-inner { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: justify; -webkit-box-pack: justify; justify-content: space-between; -ms-flex-align: center; -webkit-box-align: center; align-items: center; margin-top: 15px; }
.koblog .koblog-card .image {max-width: 100%; max-height: 180px;}
.koblog .koblog-card img { width: 100%;}
.koblog .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 18px; font-size: 1.8rem; line-height: 1; }

.koblog .koblog-card .category { -webkit-box-flex: 0; -ms-flex: none; flex: none; display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: center; -ms-flex-align: center; -webkit-box-align: center; align-items: center; height: 24px; min-width: 100px; padding: 0 10px; font-size: 16px; font-size: 1.6rem; color: #fff; }

.koblog .koblog-card .text { margin-top: 10px; }

.koblog .c-btn1 { margin-top: 25px; }
}
@media screen and (max-width: 896px) and (orientation:landscape) {
.koblog .koblog-card { width: 49%; margin-right: 2%;}
.koblog .koblog-card:nth-child(2n) { margin-right: 0;}
}

/* ---------------------------------------------------
	子ブログindex - news用
------------------------------------------------------ */

.koblog-news {width: 100%; max-width: 1200px; margin: 0 auto; padding: 50px 0; }
.koblog-news .koblog-card-wrap { display: block; margin-top: 30px; }
.koblog-news .koblog-card { width: 100%; display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 20px 0;}
.koblog-news .koblog-card .image {width: 160px; height: 160px; overflow: hidden; position: relative; margin-right: 20px; border-radius: 10px;}
.koblog-news .koblog-card .image img {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: auto;}
.koblog-news .koblog-card .koblog-card-inner { display: block; width: calc(100% - 290px); }
.koblog-news .koblog-card .meta { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: start; -webkit-box-pack: start; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; margin-bottom: 10px;}
.koblog-news .koblog-card .category { flex: none; display: inline-flex; justify-content: center; align-items: center; height: 32px; min-width: 140px; padding: 0 10px; font-size: 16px; font-size: 1.6rem; color: #fff; background: #004282; margin-bottom: 15px; border-radius: 30px;}
.koblog-news .koblog-card .event-date { -webkit-box-flex: 0; -ms-flex: none; flex: none; display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: center; -ms-flex-align: center; -webkit-box-align: center; align-items: center; height: 24px; min-width: 100px; padding: 0 10px; font-size: 14px; font-size: 1.4rem; color: #fff; background: #FF5135; margin-right: 20px;}
.koblog-news .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 2rem; font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight: bold; line-height: 1; color: #999; }
.koblog-news .koblog-card .text { margin-top: 10px;}


@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.koblog-news {width: 100%; max-width: 100%; margin: 0 auto; padding: 0 10px; }
	.koblog-news .koblog-card-wrap { display: block; margin-top: 10px; }
	.koblog-news .koblog-card { width: 100%; display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: center; -webkit-box-pack: center; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 10px 0;}
	.koblog-news .koblog-card .image {width: 100px; height: 100px; overflow: hidden; position: relative; margin-right: 10px;}
	.koblog-news .koblog-card .image img {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; height: auto;}
	.koblog-news .koblog-card .koblog-card-inner { display: block; width: calc(100% - 110px); }
	.koblog-news .koblog-card .meta { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-pack: start; -webkit-box-pack: start; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%;}
	.koblog-news .koblog-card .category { height: 36px; min-width: 140px; padding: 0 10px; font-size: 14px; font-size: 1.4rem;}
	.koblog-news .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 2rem; line-height: 1; }
	.koblog-news .koblog-card .text { margin-top: 10px; line-height: 1.8;}
}

/* ---------------------------------------------------
	子ブログ詳細
------------------------------------------------------ */
.entry > header {}
.entry > header h2 {padding-bottom: 10px; border-bottom: 1px solid #999; margin-bottom: 40px; display: flex; justify-content: center; text-align: center;}
.entry > header .entry-info {display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: center; align-items: center; margin-bottom: 40px;}
.entry > header .entry-info .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 2rem; line-height: 1; }
.entry > header .entry-info .category {flex: none; display: flex; justify-content: center; align-items: center; height: 24px; min-width: 100px; padding: 0 10px; font-size: 14px; font-size: 1.4rem; color: #fff; background: #004282; }

.entry > .entry-footer {max-width: 1200px; margin: 20px auto;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.entry > header {}
	.entry > header h2 {margin-bottom: 20px;}
	.entry > header .entry-info {margin-bottom: 20px; padding: 0 10px;}
	.entry > header .entry-info .date { margin-right: 10px; margin-bottom: 10px; font-size: 16px; font-size: 1rem; line-height: 1; width: 100%;}
	.entry > header .entry-info .category {}
}

/* ---------------------------------------------------
	tag
------------------------------------------------------ */
.taglist {width: 100%; max-width: 1200px; margin: 40px auto; padding: 0; }
.taglist .tag {display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: flex-start; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap;}
.taglist .tag a {display: inline-block; padding: 5px 10px; border: 1px solid #999;}
.taglist .tag a:hover {display: inline-block; padding: 5px 10px; border: 1px solid #999; background: #999; color: #FFF;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.taglist {width: 100%; max-width: 100%; margin: 20px auto; padding: 0 10px; }
	.taglist .tag {}
	.taglist .tag a {}
	.taglist .tag a:hover {}
}

/* ---------------------------------------------------
	404
------------------------------------------------------ */
#article-404 {}
#article-404.entry-title {text-align: center; margin: 50px 0;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
}
/* ---------------------------------------------------
　　contact
------------------------------------------------------ */
/* ボタン　色付き */
.btn-attention { background: #C41134; border: 0; color: #FFF; font-weight: bold; line-height: 1.3; border: 0; display: inline-block; padding: 6px 15px; border-radius: 3px; }

.btn-attention:hover, .btn-attention:visited { color: #FFF; text-decoration: none; }

.btn-attention:focus, .btn-attention:active { color: #FFF; -webkit-box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); }

.btn-attention:hover { color: #FFF; background-color: #910021; background-image: -webkit-gradient(linear, left top, left bottom, from(#C41134), to(#910021)); background-image: linear-gradient(to bottom, #C41134, #910021); }

.btn-attention:active, .btn-attention:focus { background: #910021; }

/* ボタンサイズ大 */
.btn-large { background: #FFF; color: #666; font-weight: bold; line-height: 1.3; border: 0; display: inline-block; padding: 15px 20px; text-align: center; border-radius: 10px; font-size: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transition: background-color .25s linear; transition: background-color .25s linear; }

.btn-large:hover, .btn-large:visited { color: #FFF; text-decoration: none; }

.btn-large:focus, .btn-large:active { color: #FFF; -webkit-box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); }

.btn-large:hover { background: #444; }

.btn-large:active, .btn-large:focus { background: #444; }

/* ボタンサイズ大 色付き */
.btn-attention-large { background: #C41134; color: #FFF; font-weight: bold; line-height: 1.3; border: 0; display: inline-block; padding: 15px 20px; text-align: center; border-radius: 5px; font-size: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transition: background-color .25s linear; transition: background-color .25s linear; }

.btn-attention-large:hover, .btn-attention-large:visited { color: #FFF; text-decoration: none; }

.btn-attention-large:focus, .btn-attention-large:active { color: #FFF; -webkit-box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); }

.btn-attention-large:hover { background: #910021; }

.btn-attention-large:active, .btn-attention-large:focus { background: #910021; }

/* デスクトップ：最大360pxボタン 色付き */
.btn-attention-block-large { width: 100%; background: #C41134; color: #FFF; font-weight: bold; line-height: 1.3; border: 0; display: inline-block; padding: 15px 20px; text-align: center; border-radius: 5px; font-size: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-transition: background-color .25s linear; transition: background-color .25s linear; }

.btn-attention-block-large:hover, .btn-attention-block-large:visited { color: #FFF; text-decoration: none; }

.btn-attention-block-large:focus, .btn-attention-block-large:active { color: #FFF; -webkit-box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5); }

.btn-attention-block-large:hover { background: #910021; }

.btn-attention-block-large:active, .btn-attention-block-large:focus { background: #910021; }

@media (min-width: 768px) { .btn-block-large { max-width: 360px; }
  .btn-attention-block-large { max-width: 360px; } }
.contact-box .message-group { margin: 0 0 35px; }

.contact-box .message-text { color: #c41134; font-weight: 700; }

.contact-box .contact-no { margin: 0; color: #333; font-weight: 700; font-size: 30px; }

.contact-box .contact-no a { color: inherit; }

.contact-box .error-text { margin: 5px 0 0; color: #c41134; }

.contact-box p { line-height: 1.6; }

.contact-form { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; margin: 0 0 20px; padding: 0; list-style: none; background: #e5e5e5; }

.contact-form-heading { margin: 40px 0 10px; }

.contact-form-group { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; width: 100%; padding: 0; background: #e5e5e5; border-bottom: 1px solid #fff; }

.contact-form-group fieldset { display: contents; border: 0; }

.contact-form-label { margin: 0; padding: 10px 10px 0; font-weight: 700; text-align: left; }

.contact-form-control, .contact-form-label { display: block; width: 100%; box-sizing: border-box; }

.contact-form-control { padding: 10px; }

.contact-form-grid { margin: 0 -5px; }

.acms-entry .contact-form-col, .contact-form-col { margin: 0 0 10px; padding: 0 5px; }

.acms-entry .contact-form-col:last-child, .contact-form-col:last-child { margin: 0; }

@media screen and (min-width: 768px) { .contact-form { width: 100%; }
  .contact-form-label { padding: 15px 15px 5px; vertical-align: top; }
  .contact-form-control { padding: 5px 15px 15px; }
  .contact-form-col { margin: 0; } }
  
.contact-box .mail-step { margin: 0 0 25px; padding: 0 10px; background: #0093F319; counter-reset: a; }

.contact-box .mail-step-item { float: left; margin: 0 5px; padding: 14px 0 10px; color: #999; font-weight: 700; list-style: none; border-bottom: 4px solid transparent; font-size: 14px; }

.contact-box .mail-step-item:before {content:counter(a)".";counter-increment:a;font-family: "Noto Sans JP";position: relative;display: inline;margin-right: 0.3em;}

.contact-box .mail-step-item-current { color: #333; border-bottom: 4px solid #0093F3; }

@media screen and (min-width: 768px) { .contact-box .mail-step-item { margin: 0 10px; padding: 18px 0 14px; font-size: 16px; } }
.form-btn-box { margin: 0 10px 50px; text-align: center; }

.form-btn { display: inline-block; }

@media screen and (min-width: 768px) { .form-btn-send { width: 100%; max-width: 360px; } }
.label-required { margin: 0 5px; padding: 2px 8px; color: #fff; background: #c41134; border-radius: 3px; font-size: 12px; margin-top: 5px;}

@media screen and (min-width: 768px) { .label-required { margin: 0 10px; margin-top: 5px;} }
.contact-box select[required]:required { border: 1px solid #c49511; }

.contact-box select.focused:invalid { border: 1px solid #c41134; }

.contact-box select[required]:valid { border: 1px solid #a7a7aa; }

.contact-box input[required]:required, .contact-box textarea[required]:required { background: #fffdeb; }

.contact-box input.focused:invalid, .contact-box textarea.focused:invalid { background: #ffebee; }

.contact-box input[required]:valid, .contact-box textarea[required]:valid { background: #fff; }

.contact-box input[type=date], .contact-box input[type=datetime-local], .contact-box input[type=datetime], .contact-box input[type=email], .contact-box input[type=month], .contact-box input[type=number], .contact-box input[type=password], .contact-box input[type=search], .contact-box input[type=tel], .contact-box input[type=text], .contact-box input[type=time], .contact-box input[type=url], .contact-box input[type=week] { font-size: 16px; box-sizing: border-box; padding: 0 5px; }

.contact-box textarea { font-size: 16px; padding: 5px 5px 4px; }

.contact-box select { background-color: #f7f7f7; min-height: 30px; padding-top: 4px; padding-bottom: 4px; font-size: 16px; vertical-align: top; }

@media screen and (min-width: 768px) { .contact-box input[type=date], .contact-box input[type=datetime-local], .contact-box input[type=datetime], .contact-box input[type=email], .contact-box input[type=month], .contact-box input[type=number], .contact-box input[type=password], .contact-box input[type=search], .contact-box input[type=tel], .contact-box input[type=text], .contact-box input[type=time], .contact-box input[type=url], .contact-box input[type=week], .contact-box textarea { padding: 5px 8px;}
  .contact-box select { padding-left: 8px; min-height: 40px; } }
.valid-mark { display: none; }

.valid-mark.valid { display: inline; float: right; color: #5cb85c; }

.invalid { background-color: #ffebee !important; }

.contact-box { width: 100%; max-width: 1200px; margin: 0 auto; }

.contact-box .tel-box { width: 680px; margin: 0 auto 40px; padding: 30px 0; border: 1px solid #000; text-align: center; }

.contact-box .tel-box h2 { margin-bottom: 0; }

.entry-column .contact-box ul li { background: none; padding: 0; }

.contact-box .contact-no { font-size: 4rem; }

.contact-box .contact-no + p { margin-bottom: 0; }

.contact-form, .contact-form-group { background: none; }

.contact-form-group { display: flex; justify-content: flex-start; align-items: stretch; font-size: 1.8rem; }

.contact-form-label { border-bottom: 1px solid #ccc; font-size: 1.8rem; width: calc(100% / 2.5); padding:20px 10px; }

.contact-form-control { border-bottom: 1px solid #ccc; font-size: 1.8rem; width: calc((100% / 3.5 ) * 2); padding: 20px 10px; }

.acms-form-checkbox, .acms-form-radio{margin-right: 20px;}


.entry-column .contact-form-control p{margin-bottom: 0;}

.contact-box input[type=date], .contact-box input[type=datetime-local], .contact-box input[type=datetime], .contact-box input[type=email], .contact-box input[type=month], .contact-box input[type=number], .contact-box input[type=password], .contact-box input[type=search], .contact-box input[type=tel], .contact-box input[type=text], .contact-box input[type=time], .contact-box input[type=url], .contact-box input[type=week] { padding: 5px; }

.contact-box select { min-height: 40px; }

.contact-box .acms-admin-form-radio { display: block; margin-bottom: 10px; }

.contact-box .radio-sub { display: inline-block; padding-left: 25px; margin-bottom: 10px; }

.form-btn-box { margin: 20px 10px; }

.contact-box .btn-attention-block-large { position: relative; display: block; width: 100%; padding: 25px 50px; border: 3px solid #006BB7; color: #006BB7; font-weight: bold; text-align: center; text-decoration: none; background: #FFF; transition: all .25s ease; border-radius: 10px; margin: auto; }

.contact-box .btn-attention-block-large:active, .contact-box .btn-attention-block-large:focus, .contact-box .btn-attention-block-large:hover { opacity: 1; background: #C8E6FB; }

.contact-box .btn-large { padding: 25px 30px; border-radius: 10px; border: 3px solid #666; }

input, select, textarea { font-family:"Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-weight: 400; }

.contact-box .message-back-link a { color: #222; }

.label-any { margin: 0 10px; margin-top: 5px; padding: 2px 8px; color: #fff; background: #666; border-radius: 3px; font-size: 12px; float: right; }

.label-required { float: right; }

.entry-column .contact-form p.attention{margin: 0;}
.entry-column .contact-form p.attention a{text-decoration: underline;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation: landscape) { .contact-box .tel-box { width: 94%; }
  .contact-box .contact-no { font-size: 28px; }
  .contact-box .fax { font-size: 20px; } 
  .contact-form-group{display: block;}
  .contact-form-label{width: 100%;}
  .contact-form-control{width:100%;}
  
  .label-required,.label-any{margin:0; margin-top: 5px;}
  .acms-form-radio{display: block;}
}
/* reCAPTCHA */
.grecaptcha-badge { bottom: 80px !important; }

.share-wrapper{display: flex; align-items: center; justify-content: flex-start; padding: 0 10px; background: transparent;}
.share-wrapper .share-list{display: flex; align-items: flex-end; margin-left: 10px;}
.share-wrapper .share-list li{margin-right: 10px; line-height: 1;}
.share-wrapper .share-list li a{font-size: 20px;}


/* ---------------------------------------------------
	footer
------------------------------------------------------ */
#footer {background:#EEEEEE; padding-bottom: calc(100vw * (40 / 1920));position: relative;}
#footer .f-contact{background: #CCCCCC; padding: calc(100vw * (67 / 1920)) 0 calc(100vw * (67 / 1920)); display: flex; justify-content: center; align-items: center;}
#footer .f-contact > p{font-size: calc(100vw * (22 / 1920)); letter-spacing: .1em; line-height: 1.145; margin-right: calc(100vw * (76 / 1920)); font-weight: 700;}
#footer .contact-info{display: flex; width:calc(100vw * (555 / 1920)); align-items:center;}
#footer .contact-info .mail-btn{margin-right: 0; margin-left: calc(100vw * (40 / 1920)); height: 100%;}
#footer .contact-info .mail-btn a{background:#999; width:calc(100vw * (240 / 1920)); color:#FFF; font-size: calc(100vw * (18 / 1920)); letter-spacing: .05em; line-height: 2; text-align: center; position: relative; height: calc(100vw * (80 / 1920)); display: flex; align-items: center; justify-content: center; flex-wrap:wrap; font-weight: 700;}
#footer .contact-info .mail-btn a::before{content:""; display: inline-block; width:calc(100vw * (27 / 1920)); height:calc(100vw * (20 / 1920)); background:url(../images/common/ico-mail.png) no-repeat center/contain; margin-right: calc(100vw * (15 / 1920));}
#footer .contact-info .tel-info{margin-left: auto; margin-right:0; text-align: right; white-space: nowrap;}
#footer .contact-info .tel-info p{font-size:calc(100vw * (38 / 1920)); line-height:.66315; letter-spacing: 0; font-weight: 400; margin-bottom: calc(100vw * (5 / 1920));}
#footer .contact-info .tel-info small{font-size: calc(100vw * (16 / 1920)); font-weight: 500; line-height: 1.575;}

#footer .f-company-info{background:#EEEEEE; padding:calc(100vw * (40 / 1920)) 0 0 0;}
#footer .f-company-info .site-map{display: flex; align-items: flex-start; width:calc(100vw * (1200 / 1920)); margin:auto; margin-bottom: calc(100vw * (36 / 1920));}
#footer .f-company-info .site-map .logo{margin-right:calc(100vw * (30 / 1920)); width:calc(100vw * (200 / 1920))}
#footer .f-company-info .site-map .logo a{display: block;}
#footer .f-company-info .site-map .logo a:hover{opacity: 1;}
#footer .f-company-info .site-map .address p{font-size: calc(100vw * (16 / 1920));}
#footer .f-company-info .f-menu{margin-right: 0; margin-left:auto; width: calc(100vw * (354 / 1920));}
#footer .f-company-info .f-menu ul{display: flex; align-items: center; flex-wrap:wrap;}
#footer .f-company-info .f-menu ul li{font-size: calc(100vw * (18 / 1920)); line-height: 1.4; margin-bottom: calc(100vw * (20 / 1920)); font-weight: 500;}
#footer .f-company-info .f-menu ul li:not(:nth-of-type(3n)){margin-right: calc(100vw * (40 / 1920));}

#footer .icon-wrap{display: flex; justify-content: center; align-items: center; margin-bottom: calc(100vw * (60 / 1920));}
#footer .icon-wrap .icon{margin: auto calc(100vw * (10 / 1920)); width:calc(100vw * (30 / 1920));}
#footer p.copyright{font-size:calc(100vw * (14 / 1920)); font-weight: 400; line-height: 1.8; color:#000; text-align: center;}

@media screen and (max-width:1024px){
	#footer .f-company-info .f-menu{width: calc(100vw * (400 / 1920));}
}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
    #footer .contact-info{width:100%; flex-wrap:wrap;justify-content: center;}
    #footer .f-contact{flex-wrap: wrap; padding: 40px 0 40px 0;}
    #footer .f-contact > p{margin-right: 0; text-align: center; margin-bottom: 20px; font-size: 14px;}
    #footer .contact-info .mail-btn{width:100%; margin-left: 0;}
    #footer .contact-info .mail-btn a{height: 60px; font-size: 18px; width:100%;}
    #footer .contact-info .mail-btn a::before{width:28px; height: 16px;}    
    #footer .contact-info .tel-info p{font-size: 32px; margin-bottom: 15px;}
    #footer .contact-info .tel-info small{font-size: 18px; margin-top: 20px;}
    #footer .f-company-info{padding: 20px 0; font-size: 16px;}
    #footer .contact-info .tel-info{width:100%; text-align:center;margin-bottom: 20px;}
    #footer .f-company-info .site-map{justify-content: center; flex-wrap:wrap; width:100%; padding: 0 10px; margin-bottom: 0;}
    #footer .f-company-info .f-menu ul li { font-size: 14px; margin: 0 20px 10px 20px; width:120px; text-align: center;}
    #footer .f-company-info .site-map .logo{margin-right:0; margin-bottom: 20px; width: 150px;}
    #footer .f-company-info .site-map .address{width:100%; margin-bottom: 20px; text-align: center;}
    #footer .f-company-info .site-map .address p {font-size: 16px;}
    #footer .f-company-info .f-menu{width:100%; margin-bottom: 0;}
    #footer .icon-wrap{margin-bottom: 30px;}
    #footer .f-company-info .f-menu ul.gnavi { display: flex; flex-wrap: wrap; width: auto; height: auto; background: none; position: relative; top: 0; left: 0; z-index: 1; padding-top: 0;}
    #footer .icon-wrap .icon { margin: 0 10px; width: 30px;}
    p.copyright{font-size: 14px;}
    #footer .f-company-info .f-menu ul li:not(:nth-of-type(3n)){margin-right: 20px;}
}

/* pagetop */
#footer .pagetop {display: block; position: fixed; right: 0; bottom: -100%; z-index: 1000; transition: all 0.6s; }
#footer .pagetop.active {display: block; bottom: 0;}
#footer .pagetop a {display: block;}
#footer .pagetop a:hover {transform: translateY(-3px);}
#footer .pagetop a:hover img {opacity: 1;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
    #footer .pagetop {width: 44px;}
    #footer .pagetop a:hover {transform: translateY(0);}
}

/* reCAPTCHA */
.grecaptcha-badge {bottom: 80px !important;}

/* .acms-icon-x-circle:before {
	content: "\e9c5";
} */
.ef-icon-x{
	content: "";
    background: #0f1419 url(https://www.jareco.org/themes/jareco/images/common/x-logo-white.png) no-repeat center/12px 12px;
    width: 20px;
    height: 20px;
    display: block;
    border-radius: 50%;
}
.lh12{line-height: 1.2;}

/* ---------------------------------------------------
	print
------------------------------------------------------ */
@page {size: A4; margin: 5mm;}
@media print {
	body {width: 1000px;font-size: 16px;}
}

/* ---------------------------------------------------
	LP用ヘッダー調整
------------------------------------------------------ */
#header.lp-header{position: absolute;top: 0;left: 0;width: fit-content;padding: 2.5rem 0 0 4rem;}
#header.lp-header .logo{width: 19.6rem;    line-height: 1;}
@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	#header.lp-header{padding:1rem 0 0 1rem;}
	#header.lp-header .logo{width: 12.6rem;}
}

/* ---------------------------------------------------
	LP用エントリー調整
------------------------------------------------------ */
.entry.lp{margin-top: 0;}

/* ---------------------------------------------------
	LP用フッター調整
------------------------------------------------------ */
.f-qa{background: #DDECF5;padding: 15rem 0 14rem 0;text-align: center;}
.f-qa .tit-img{margin-bottom: 7.7rem;}
.f-qa .txt-img{}


.f-contact{background: #7FC3E4;padding: 10rem 1rem;}
.f-contact > *{max-width: 1200px;margin-left: auto;margin-right: auto;}
#footer.lp-footer{background: #001165;padding: 6rem 0 0 0;}
#footer.lp-footer > *{max-width: 1200px;margin-left: auto;margin-right: auto;}
#footer.lp-footer .box{display: flex;align-items: center;justify-content: space-between;}
#footer.lp-footer .box .f-logo{width: 19.6rem;}
#footer.lp-footer .box .txt{color: #fff;font-size: 1.8rem;font-weight: 400;}
#footer.lp-footer .copy{background: #fff;text-align: center;color: #222;font-size: 1.3rem;padding: 1.1rem 1rem;width: 100%;max-width: none;margin-top: 6rem;}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape) {
	.f-qa{padding: 3rem 0 3rem 0;}
	.f-qa .tit-img{margin-bottom: 3rem;}

	.f-contact{padding: 5rem 0;}
	.f-contact > *{max-width: 100%;}
	.f-contact .contact-banner .tel p{text-align: center;}
	#footer.lp-footer{padding: 5rem 0 0 0;}
	#footer.lp-footer > *{max-width:100%;}
	#footer.lp-footer .box{display: block;}
	#footer.lp-footer .box .f-logo{margin:0 auto 3rem;display: block;}
	#footer.lp-footer .box .txt{font-size: 1.4rem;text-align: center;}
}