@charset "utf-8";
/* Author: Hosaka */
/* ---------------------------------------------------
	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;}
html {font-size: 62.5%;}
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;}

#wrapper {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: 844px) and (orientation:landscape) {
	.page-title-inner .page-title{padding: 0 40px;}
}

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;}

.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: #F00;}
.tcol-blue {color: #00F;}

.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%; height: 100px; position: relative; background: #eee; z-index: 1000;}
#header .h-container {display: flex; justify-content: space-between; align-items: center; height: 100%;}
#header .header-logo {width: 16.71875%;  max-width: 321px; color: #FFF; margin-left: 4.58%; position: relative; z-index: 5000;}
#header .header-logo a {display: block;}
#header .header-logo a img {max-height: 80px;}
#header .header-contents {display: flex; justify-content: space-between; align-items: center; margin-right: 4.58%;}

@media screen and (max-width: 767px) {
#header {width: 100%; height: 80px; border-bottom: 1px solid #FFF;}
#header .header-logo {width: 70%;  max-width: 70%; margin-left: 0; padding: 15px;}
}

/* ---------------------------------------------------
	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) {
.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;}
}


#gnav{background-color: #fff;position: fixed; height: 100vh;width: 100vw;top: 0;left: 0;z-index: 9998;padding:80px 30px 0;}
#gnav a{display: block;color: #222;font-size: 20px;line-height: 1.4;width: 100%;margin-top: 30px;}
#gnav a::before{ content: '';width: 0;height: 0;display: inline-block;border-style: solid;border-width: 4px 0 4px 6px;border-color: transparent transparent transparent #222;vertical-align: middle;margin-top: -4px;margin-right: 5px;}

/* ---------------------------------------------------
	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) {
.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) {
.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;}
}*/

/* ---------------------------------------------------
	side-contact
------------------------------------------------------ */

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

/* ---------------------------------------------------
	下層ページタイトル
------------------------------------------------------ */
.pagetit {width: 100%; height: calc(100vw * 190 / 1920); position: relative; background: #FFF; text-align: center; box-shadow: 0 5px 8px rgba(0,0,0,0.15);}
.pagetit .page-title {margin: 0 auto; font-size: 40px; font-weight: bold; line-height: 1.5; color: #000; letter-spacing: 0.05em; padding-top: calc(100vw * 60 / 1920);}

.is_tablet .pagetit .page-title{font-size: 35px;padding-top: calc(100vw * 55 / 1920);}

@media screen and (max-width: 767px) {
.pagetit {width: 100%; max-width: 100%; height: 100px;}
.pagetit .page-title {font-size: 20px; padding-top: 30px;}
}

/* ---------------------------------------------------
	パンくず
------------------------------------------------------ */
.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;}

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

@media screen and (max-width: 844px) 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: 0 0 50px;}
.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;}
.pager li {width: 50px; height: 50px; border: 1px solid #000; border-radius: 0; font-size: 20px; background: #FFF;}
.pager li.prev, .pager li.next {border: none; border-radius: 0; background: none;}
.pager li.cur {background: #06799E; color: #FFF; border-radius: 0;}
.pager li > span {width: 100%; height: 100%;}
.pager li a {width: 100%; height: 100%; color: #000; text-decoration: none;}
.pager-link {background: #FFF; padding: 10px;}
.pager-link:active, .pager-link:focus, .pager-link:visited { color: #000;}
.pager-link:hover {background: #06799E; color: #FFF; border-radius: 0; 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: #000; }

.serial-nav {width: 100%; max-width: 1200px; margin: 0 auto 50px;}
.serial-nav a {display: block; padding: 15px 30px; color: #000; font-weight: bold;}
.serial-nav a:active, .serial-nav a:focus, .serial-nav a:hover, .serial-nav a:visited {color: #000;}
.serial-nav a:hover {text-decoration: none;}
.serial-nav-item a { border: 1px solid #000;}

@media screen and (max-width: 767px) {
.pager {margin: 0 0 25px;}
.pager li {margin-bottom: 10px;}
.serial-nav { display: flex; justify-content: space-between; padding: 0 10px;}
.serial-nav .serial-nav-item { width: 48%;}
}

/* ---------------------------------------------------
	子ブログ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;}
.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;}
.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 .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 1.25rem; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",'Noto Serif JP', serif; 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: 14px; font-size: 0.875rem; color: #fff; background: #00469C; }
_:-ms-fullscreen, :root .koblog .koblog-card .category { padding-top: 4px; }
.koblog .koblog-card .text { margin-top: 10px; }


@media screen and (max-width: 767px) {
.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: 25px; 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.125rem; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",'Noto Serif JP', serif; 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: 14px; font-size: 0.875rem; color: #fff; background: #00469C; }

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

.koblog .c-btn1 { margin-top: 25px; }
}
@media screen and (max-width: 844px) 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: 10px 0;}
.koblog-news .koblog-card .image {width: 100px; height: 100px; overflow: hidden; position: relative; margin-right: 20px;}
.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% - 120px); }
.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 { -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: 0.875rem; color: #fff; background: #00469C; margin-right: 20px;}
_:-ms-fullscreen, :root .koblog-news .koblog-card .category { padding-top: 4px; }
.koblog-news .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 20px; font-size: 1.25rem; line-height: 1; }
.koblog-news .koblog-card .text { margin-top: 10px;}


@media screen and (max-width: 767px) {
	.koblog-news {width: 100%; max-width: 100%; margin: 0 auto; padding: 30px 0; }
	.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 { -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: 0.875rem; color: #fff; background: #00469C; 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: 1.25rem; line-height: 1; }
	.koblog-news .koblog-card .text { margin-top: 10px;}
}

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

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

/* ---------------------------------------------------
	お問い合わせ
------------------------------------------------------ */
.contact {}
.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: 40px;}
.contact-box .contact-no + p {margin-bottom: 0;}
.contact-box .fax {}
.contact-box .contact-no span,
.contact-box .contact-no span a {}
.contact-form, .contact-form-group {background: none;}
.contact-form-label {border-bottom: 1px solid #ccc;}
.contact-form-control {border-bottom: 1px solid #ccc;}
.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: none; color: #000; font-weight: bold; text-align: center; text-decoration: none; background: #007F4D; transition: all .25s ease; border-radius: 0; margin: auto;}
.contact-box .btn-attention-block-large:active, .contact-box .btn-attention-block-large:focus, .contact-box .btn-attention-block-large:hover {opacity: 0.8;}
.contact-box .btn-large { padding: 25px 30px; border-radius: 0;}
input, select { font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; font-weight: 500;}

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

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

@media screen and (max-width: 767px) {
.contact-box .tel-box {width: 94%;}
.contact-box .contact-no { font-size: 28px;}
.contact-box .fax { font-size: 20px;}
}

/* ---------------------------------------------------
	suggest
------------------------------------------------------ */
/*.suggest {width: 100%;}
.suggest-box {width: 100%; max-width: 1200px; padding: 40px 0; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: nowrap; background: none;}
.suggest-box .f-address { display: flex; justify-content: flex-start; flex-wrap: nowrap; align-items: center;}
.suggest-box .f-address .f-logo {width: 240px; height: 120px; margin-right: 20px;}
.suggest-box .f-address p {line-height: 1.4;}
.suggest-box .f-contact {width: 45%; max-width: 540px;}
.suggest-box .f-contact table {width: 100%; border-top: 1px solid #002BA2; border-left: 1px solid #002BA2;}
.suggest-box .f-contact table td { border-right: 1px solid #002BA2; border-bottom: 1px solid #002BA2; vertical-align: middle; text-align: center; padding: 20px;}
.suggest-box .f-contact .f-tit { color: #002BA2; font-weight: bold; padding: 10px 0;}
.suggest-box .f-contact .f-tel {}
.suggest-box .f-contact .f-tel a {display: block; color: #002BA2; font-size: 2em; position: relative; padding-left: 26px; font-family: Arial, Helvetica, "sans-serif"; pointer-events: none;}
.suggest-box .f-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-tel@2x.png) no-repeat top center; background-size: cover;}
.suggest-box .f-contact .f-mail {}
.suggest-box .f-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;}
.suggest-box .f-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) {
.suggest-box {width: 100%; max-width: 100%; padding: 40px 0 0; display: block;}
.suggest-box .f-address { display: block; padding-bottom: 40px;}
.suggest-box .f-address .f-logo {margin: 0 auto; text-align: center; padding-bottom: 20px;}
.suggest-box .f-address p {text-align: center;}
.suggest-box .f-contact {width: 100%; max-width: 100%;}
.suggest-box .f-contact table td {padding: 10px; display: block;}
.suggest-box .f-contact .f-tel a {pointer-events: auto; margin: auto; width: 240px;}
.suggest-box .f-contact .f-mail a {width: 100%; height: 80px;}
}*/

/* ---------------------------------------------------
	footer
------------------------------------------------------ */
/*#footer {position: relative; width: 100%; background-color: #F2F8FF;}
#footer .fnavi {width: 100%; max-width: 1200px; padding: 50px 0 40px; margin: 0 auto;}
#footer .fnavi ul {display: flex; justify-content: center; text-align: center;}
#footer .fnavi ul li {position: relative; color: #002BA2;}
#footer .fnavi ul li:before {content: "/"; display: inline-block;}
#footer .fnavi ul li:first-child:before {content: ""; display: none;}
#footer .fnavi ul li a {display: inline-block; color: #002BA2; padding: 0 25px;}
#footer .f-copy { text-align: center; font-family: Arial, Helvetica, "sans-serif"; font-size: 12px; padding-bottom: 25px;}

#footer .pagetop {display: none; position: fixed; right: 0; bottom: 0; z-index: 1000;}
#footer .pagetop a {display: block; width: 70px; height: 70px; background: url(../images/footer/btn-pagetop.png) no-repeat top center; background-size: cover;}

@media screen and (max-width: 767px) {
#footer {}
#footer .fnavi {width: 100%; max-width: 100%; padding: 40px 0 20px;}
#footer .fnavi ul {display: block;}
#footer .fnavi ul li {display: inline-block; padding-bottom: 20px;}
#footer .fnavi ul li:before {content: ""; display: none;}
#footer .fnavi ul li a {padding: 0 15px;}
	
#footer .pagetop a {width: 60px; height: 60px;}
}*/
#footer {position: relative; font-size: 18px; border-top: 5px solid #003F91;}
#footer .pagetop {display: none; position: fixed; right: 0; bottom: 30px; z-index: 1000;}
#footer .pagetop a {display: block;}
#footer .pagetop a:hover {transform: translateY(-3px);}
#footer .pagetop a:hover img {opacity: 1;}

#footer .f_row01 {padding: 45px 0 40px;}
#footer .f_row01 .f_logo {width: 48%; text-align: right;}
#footer .f_row01 .f_logo a:hover img {opacity: 1;}
#footer .f_row01 .f_address {width: 48%; font-size: 0.889em;}
#footer .f_copy {width: 100%; font-size: 0.667em; line-height: 1.4; text-align: center; padding-top: 20px;}

@media screen and (max-width: 1000px) {
    #footer .f_row01 {padding: 45px 0 40px;}
    #footer .f_row01 .f_logo {width: 42%;}
    #footer .f_row01 .f_address {width: 53%; font-size: 0.833em;}
}
@media screen and (max-width: 767px) {
    #footer .pagetop {width: 44px; bottom: 0;}
    #footer .pagetop a:hover {transform: translateY(0);}
    #footer .f_row01 {padding: 30px 10px 20px;}
    #footer .f_row01 .f_logo {width: 100%; margin-bottom: 15px; text-align: center;}
    #footer .f_row01 .f_logo img {width: 240px;}
    #footer .f_row01 .f_address {width: 100%; font-size: 0.889em; text-align: center;}
    #footer .f_row01 .f_address.txt_break span {display: inline;}
    #footer .f_copy {font-size: 0.778em;}
}


@media screen and (max-width: 844px) and (orientation:landscape) {
	#footer .f_row01 {
		padding: 45px 40px 40px;
	}
} 