@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 {
    position: relative;
    font-size: 18px;
}

body {font-family:"游ゴシック 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; position: relative; top: 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;}
}

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) {
}



.page-title-wrapper{background: none; margin-top:120px;}
.page-tit-wrap{display: flex; justify-content: flex-start; align-items: center;}
.page-tit-wrap .image-wrap{width:36.3%; margin-right: 2.3%;}
.page-tit-wrap .image-wrap img{border-radius: 0 20px 20px 0; width: 100%;}
.page-tit-wrap .txt-wrap .page-title{color: #222; margin: 0; font-size: 40px; line-height: 1.4; font-weight: 700; letter-spacing: .05em;}

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

@media screen and (max-width: 767px) {
/*背景固定する場合	html.is-fixed,
	html.is-fixed body {height: 100%;overflow: hidden;}*/
	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;}
	.page-tit-wrap{top:0;}
	.page-tit-wrap .image-wrap{margin-left: -24%;}
	.page-title-wrapper{margin-top: 60px;}
	.page-tit-wrap .txt-wrap .page-title{letter-spacing: 0; font-size: 22px; font-feature-settings: "palt"}
	.page-tit-wrap .image-wrap{width:43%;}
}

/* ---------------------------------------------------
	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%;}*/



/*-------------------------------------------*/
/*
/*　　reset
/*
/*-------------------------------------------*/
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: 400;
	font-size: 100%;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
  }
  
  article, header, footer, aside, figure, figcaption, nav, section {
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
  }
  
  ol, ul {
	list-style: none;
	list-style-type: none;
  }
  
  i, cite, em, var, address, dfn {
	font-style: normal;
  }
  
  table {
	width: 100%;
	border-collapse: collapse;
  }
  
  caption, th, td {
	text-align: left;
  }
  
  /*-------------------------------------------*/
  /*
  /*　　base
  /*
  /*-------------------------------------------*/
  html {
	position: relative;
	font-size: 18px;
  }
  
  body {
	position: relative;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	font-display: swap;
	line-height: 1.8;
	color: #222;
	background: #fff;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
  }

  #container{
	display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
	  position: relative;
  }
  
  a:link, a:visited {
	color: #222;
	text-decoration: none;
  }
  
  a {
	-webkit-transition: all ease 0.2s;
	-moz-transition: all ease 0.2s;
	-o-transition: all ease 0.2s;
	transition: all ease 0.2s;
  }
  a img {
	transition: opacity .2s;
  }
  a:hover img {
	opacity: .8;
  }
  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%;
  }
  
  @media screen and (max-width: 767px) {
	a[href^="tel:"] {
	  pointer-events: auto;
	}
  
	a:hover img {
	  opacity: 1;
	}
  }



/*-------------------------------------------*/
/*
/*　　header
/*
/*-------------------------------------------*/
#header {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	height: 120px;
	padding-top: 30px;
	background: #fff;
	z-index: 2000;
  }
  #header:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 97%;
	margin: 0 auto;
	border-bottom: 1px solid #222;
  }
  #header .logo {
	width: 28%;
	padding: 0 2% 0 3%;
	font-size: 15px;
  }
  #header .logo a:hover{opacity: 1;}
  #header .logo .txt {
	display: inline-block;
	margin-bottom: 10px;
	line-height: 1.3;
	color: #222;
  }
  #header .logo img {
	vertical-align: middle;
  }
  #header .logo a:hover img {
	opacity: 1;
  }
  
  @keyframes -webkit-fixedAnime {
	0% {
	  opacity: 0;
	  top: -100%;
	}
	100% {
	  opacity: 1;
	  top: 0;
	}
  }
  @keyframes fixedAnime {
	0% {
	  opacity: 0;
	  top: -100%;
	}
	100% {
	  opacity: 1;
	  top: 0;
	}
  }
  @media screen and (min-width: 768px) {
	#header.fixed {
	  position: fixed;
	  animation: -webkit-fixedAnime ease .6s;
	  animation: fixedAnime ease .6s;
	  align-items: center;
	  height: 70px;
	  padding-top: 0;
	}
	#header.fixed:before {
	  width: 100%;
	}
	#header.fixed .logo {
	  padding-top: 0;
	}
	#header.fixed .logo .txt {
	  display: none;
	}
	#header.fixed #gnav .nav-list > li > a {
	  height: 70px;
	  padding-top: 24px;
	  padding-bottom: 20px;
	}
  }
  @media screen and (min-width: 768px) and (max-width: 1000px) {
	#header.fixed #gnav .nav-list > li > a {
	  height: 30px;
	  padding-top: 5px;
	  padding-bottom: 5px;
	}
  }
  @media screen and (max-width: 1280px) {
	#header .logo {
	  width: 25%;
	  padding-top: 12px;
	  padding-left: 2%;
	  font-size: 13px;
	}
  }
  @media screen and (max-width: 767px) {
	#header {
	  height: 60px;
	  padding: 0;
	}
	#header:before {
	  width: 100%;
	}
	#header .logo {
	  width: 100%;
	  padding: 10px;
	}
	#header .logo .txt {
	  display: block;
	  margin-bottom: 2px;
	  font-size: 11px;
	}
	#header .logo img {
	  width: 222px;
	}
	#header .btn-open {
	  display: block;
	  position: fixed;
	  right: 0;
	  top: 0;
	  width: 60px;
	  cursor: pointer;
	}
	#header .btn-open img {
	  display: block;
	  width: 100%;
	}
  }
  /*-------------------------------------------*/
  /*
  /*　　gnav
  /*
  /*-------------------------------------------*/
  #gnav {
	width: 72%;
	padding-left: 3%;
	border-left: 1px solid #222;
	font-size: 19px;
	line-height: 1.2;
	letter-spacing: .1em;
  }
  #gnav .nav-list {
	width: 100%;
	margin: 0 auto;
	justify-content: flex-start;
	text-align: center;
	white-space: nowrap;
  }
  #gnav .nav-list > li {
	position: relative;
	margin-right: 2.5%;
  }
  #gnav .nav-list > li:last-of-type {
	margin-right: 0;
  }
  #gnav .nav-list > li > a {
	position: relative;
	display: block;
	padding: 8px 10px 8px;
	color: #222;
	font-weight: bold;
	text-decoration: none;
  }
  #header.fixed #gnav .nav-list > .c_2 > a {
    padding-top: 8px;
    padding-bottom: 8px;
    height: auto;
}
  #gnav .nav-list > li > a:hover {
	color: #59B9C6;
  }

  #gnav .nav-list > li.nav-parent > a {
	  pointer-events: none;
  }
  #gnav .nav-list > li.nav-parent > a:hover {
	color: #59B9C6;
  }
  #gnav > ul > li > ul {
	  display: none;
	  position: absolute;
	  top: 100%;
	  background: rgba(255,255,255,0.9);
  }
  #gnav > ul > li > ul.active {
    display: block;
    width: 200px;
    text-align: left;
	}
	li.c_2 {
		margin-right: 0 !important;
	}
  
  @media screen and (max-width: 1440px) {
	#gnav {
	  width: 72%;
	  padding-left: 2%;
	  font-size: 18px;
	  letter-spacing: .0625em;
	}
	#gnav .nav-list > li {
	  margin-right: 1.5%;
	}
  }
  @media screen and (max-width: 1280px) {
	#gnav {
	  width: 75%;
	  font-size: 17px;
	  letter-spacing: 0;
	}
	#gnav .nav-list > li {
	  margin-right: 1.5%;
	}
  }
  @media screen and (max-width: 1120px) {
	#gnav {
	  padding-left: 1.5%;
	  font-size: 16px;
	}
	#gnav .nav-list > li {
	  margin-right: 1%;
	}
	#gnav .nav-list > li > a {
	  padding: 8px 8px;
	}
  }
  @media screen and (max-width: 1000px) {
	#gnav {
	  padding-left: 2%;
	  padding-right: 50px;
	  font-size: 16px;
	}
	#gnav .nav-list > li {
	  margin-right: 2%;
	}
  }
  @media screen and (max-width: 767px) {
	#gnav {
	  position: fixed;
	  display: block;
	  left: 0;
	  top: -100%;
	  width: 100%;
	  height: 100%;
	  padding: 80px 0 80px;
	  background: #DCF1F3;
	  border-left: none;
	  z-index: 9999;
	  overflow-y: scroll;
	  transition: top .4s;
	  -webkit-overflow-scrolling: touch;
	}
	#gnav.active {
	  top: 0;
	}
	#gnav .btn-close {
	  display: block;
	  position: absolute;
	  right: 0;
	  top: 0;
	  width: 60px;
	  cursor: pointer;
	  z-index: 10;
	}
	#gnav .btn-close img {
	  display: block;
	  width: 100%;
	}
	#gnav .nav-list {
	  display: block;
	  width: 100%;
	  max-width: 320px;
	  margin: 0 auto;
	  padding-top: 30px;
	  font-size: 20px;
	}
	#gnav .nav-list > li {
	  margin-bottom: 30px;
	}
	#gnav .nav-list > li + li {
	  border-left: none;
	}
	#gnav .nav-list > li > a {
	  padding: 5px 0;
	}
	#gnav .nav-list > li > a:hover {
	  color: #222;
	}

	#gnav .nav-list > li.nav-parent > a {
	  pointer-events: none;
		margin-bottom: 25px;
	}
	#gnav .nav-list > li.nav-parent > a:hover {
	}
	#gnav > ul > li > ul {
	  display: none;
	  position: relative;
	  top: 100%;
	  background: rgba(255,255,255,0.5);
		padding: 10px 0;
	}
	#gnav > ul > li > ul.active {
	  display: block;
	}
  }

/*-------------------------------------------*/
/*
/*　　side
/*
/*-------------------------------------------*/
#side-btn {
	position: fixed;
	top: 30px;
	right: 0;
	z-index: 2001;
  }
  #side-btn a {
	display: block;
	width: 60px;
	height: 200px;
	padding: 22px 5px;
	background: #59B9C6;
	border-radius: 5px 0 0 5px;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .15em;
	text-align: center;
  }
  #side-btn a:hover {
	background: #92d1da;
  }
  #side-btn a:hover img {
	opacity: 1;
  }
  #side-btn a > span {
	font-weight: bold;
	text-align: left;
  }
  #side-btn a .icon {
	top: 0;
	margin-bottom: 10px;
	vertical-align: baseline;
  }
  
  @media screen and (max-width: 767px) {
	#side-btn {
	  top: auto;
	  bottom: 0;
	  right: 0;
	  width: 100%;
	}
	#side-btn a {
	  width: 100%;
	  height: 50px;
	  padding: 17px 5px 15px;
	  border-radius: 0;
	}
	#side-btn a:hover {
	  background: #59B9C6;
	}
	#side-btn a .icon {
	  margin: 0 10px 2px 0;
	  vertical-align: middle;
	}
  }



  /*-------------------------------
  　　ヘッダー
  ------------------------------ */
  /* サイト名 */
  .site-name {
	  font-size: 24px;
	  color: #C41134;
	  font-weight: bold;
  }
  .header-stack .site-name {
	  margin: 30px 0 20px;
  }
  .site-name a {
	  color: #C41134;
  }
  .site-name a:hover,
  .site-name a:focus,
  .site-name a:active,
  .site-name a:visited {
	  color: #C41134;
  }
  
  .site-logo {
	  display: inline-block;
	  width: 22px;
	  height: auto;
	  margin: 0 10px 0 0;
	  vertical-align: middle;
  }
  
  .site-name-text {
	  display: inline;
	  vertical-align: middle;
  }
  
  .edit-link {
	  display: inline-block;
	  vertical-align: middle;
	  font-size: 14px;
  }
  
  .header-nav {
	  position: relative;
	  display: none;
  }
  
  @media (min-width: 768px) {
	  .site-name {
		  font-size: 24px;
	  }
	  .header-stack .site-name {
		  text-align: center;
	  }
	  .site-logo {
		  width: 40px;
	  }
	  .header {
		  display: table;
		  width: 100%;
	  }
	  .header-stack .header {
		  display: block;
	  }
	  .header-logo {
		  width: 100%;
		  vertical-align: middle;
	  }
	  .header-stack .header-logo {
		  display: block;
	  }
	  .header-nav {
		  display: none;
		  vertical-align: middle;
	  }
	  .header-stack .header-nav {
		  display: block;
		  width: 100%;
		  margin: 0 0 15px 0;
	  }
  }
  
  @media (min-width: 1024px) {
	  .header-logo {
		  display: table-cell;
		  width: 40%;
	  }
	  .header-stack .header-logo {
		  display: block;
		  width: 100%;
	  }
	  .header-nav {
		  display: table-cell;
		  width: 60%;
	  }
	  .header-stack .header-nav {
		  display: block;
		  width: 100%;
		  margin: 0 0 15px 0;
	  }
  }
  
  /* ------------------------------
  　　ナビゲーション
  ------------------------------ */
  .header-logo {
	  /* 固定したときの高さを保つ */
	  padding: 48px 0 0 0;
  }
  
  .site-header {
	  position: fixed;
	  top: 0;
	  right: 0;
	  z-index: 9999;
	  width: 100%;
	  padding: 0 5px;
	  background: #FFF;
	  border-top: 4px solid #333;
	  border-bottom: 1px solid #CCC;
	  padding: 0 calc(5px + constant(safe-area-inset-right)) 0 calc(5px + constant(safe-area-inset-left));
	  box-sizing: border-box;
  }
  
  /* モバイル時ナビゲーションボタン */
  .nav-menu-btn {
	  display: inline-block;
	  height: 44px;
	  padding: 7px 5px;
	  font-size: 20px;
	  color: #333;
	  box-sizing: border-box;
  }
  a .nav-menu-btn {
	  color: #333;
  }
  .nav-menu-btn:hover {
	  color: #333;
	  text-decoration: none;
  }
  .nav-menu-btn .acms-icon-sort {
	  display: inline-block;
  }
  
  .nav-menu-btn-text {
	  display: inline-block;
	  margin: 0 0 0 5px;
	  color: #333;
	  font-weight: bold;
	  vertical-align: middle;
	  font-size: 11px;
  }
  
  /* モバイル時ヘッダー アイコン */
  .nav-menu-action {
	  display: table;
	  float: right;
	  margin: 0;
	  padding: 0;
  }
  
  .nav-menu-action-item {
	  display: table-cell;
	  width: 44px;
	  height: 44px;
	  color: #333;
	  text-align: center;
	  vertical-align: middle;
	  font-size: 20px;
  }
  
  .nav-menu-action-link {
	  color: #333;
  }
  .nav-menu-action-link:hover,
  .nav-menu-action-link:active,
  .nav-menu-action-link:visited,
  .nav-menu-action-link:focus {
	  color: #333;
	  text-decoration: none;
  }
  
  .navbar {
	  display: none;
	  width: 100%;
  }
  .navbar.acms-admin-module-edit-wrapper {
	  z-index: 1;
  }
  .navbar ul {
	  margin: 0;
	  padding: 0;
	  list-style: none;
  }
  .navbar li a {
	  display: block;
	  padding: 10px;
	  color: #333;
	  font-weight: bold;
	  font-size: 16px;
  }
  .navbar li a:hover,
  .navbar li a:focus,
  .navbar li a:active {
	  color: #FFF;
	  text-decoration: none;
	  background: #C41134;
  }
  
  @media (min-width: 1024px) {
	  .header {
		  height: 100px;
	  }
	  .navbar {
		  display: inline-block;
		  vertical-align: middle;
	  }
	  .navbar > ul {
		  float: right;
		  padding: 0;
		  list-style: none;
	  }
	  .header-stack .navbar > ul {
		  display: table;
		  float: none;
		  width: 100%;
		  table-layout: fixed;
		  border-right: 1px solid #EEE;
	  }
	  .navbar li {
		  position: relative;
		  float: left;
		  margin: 0 10px;
		  text-align: center;
		  vertical-align: middle;
	  }
	  .header-stack .navbar li.navbar-btn {
		  padding: 0 10px;
	  }
	  .header-stack .navbar li {
		  display: table-cell;
		  float: none;
		  border-left: 1px solid #EEE;
	  }
	  .navbar li ul {
		  /* 二階層目 */
		  position: absolute;
		  left: 0;
		  display: none;
		  min-width: 200px;
	  }
	  .navbar li li {
		  margin: 0;
	  }
	  .header-stack .navbar li li {
		  display: block;
		  border: 0;
	  }
	  .navbar li a {
		  /* 一階層目のリンクのみ */
		  padding: 0;
		  border-top: 4px solid transparent;
		  border-bottom: 4px solid transparent;
		  transition: border .25s ease-out;
	  }
	  .navbar li a:hover,
	  .navbar li a:focus,
	  .navbar li a:active {
		  color: #333;
		  background: transparent;
	  }
	  .header-stack .navbar li a {
		  display: block;
		  padding: 10px;
		  font-size: 16px;
	  }
	  .navbar li.stay a {
		  /* 一階層目のリンクのみ */
		  border-bottom: 4px solid #C41134;
	  }
	  .navbar li.stay a.btn-attention {
		  border: 0;
	  }
	  .navbar li:hover ul {
		  /* 二階層目 */
		  z-index: 10000;
		  display: block;
		  animation: .8s fade-in;
	  }
	  .navbar li:hover a {
		  /* 一階層目のリンクのみ */
		  border-bottom: 4px solid #C41134;
	  }
	  .navbar li:hover a.btn-attention {
		  border: 0;
	  }
	  .navbar li:hover li a {
		  border: 0;
	  }
	  .navbar li li {
		  /* 二階層目以降 */
		  display: block;
		  float: none;
		  text-align: left;
		  background: #C41134;
		  border: 0;
		  border-top: 1px solid #910021;
	  }
	  .navbar li li:first-child {
		  border: 0;
	  }
	  .navbar li li a {
		  margin: 0;
		  padding: 10px 15px;
		  color: #FFF;
		  border: 0;
	  }
	  .navbar li li a:hover {
		  color: #FFF;
		  background: #910021;
		  border: 0;
	  }
	  .navbar a.btn-attention {
		  /* ボタン（色付き） */
		  background: #C41134;
		  color: #FFF;
		  font-weight: bold;
		  line-height: 1.3;
		  border: 0;
		  display: inline-block;
		  padding: 6px 15px;
		  border-radius: 3px;
		  border: 0;
	  }
	  .navbar a.btn-attention:hover,
	  .navbar a.btn-attention:visited {
		  color: #FFF;
		  text-decoration: none;
	  }
	  .navbar a.btn-attention:focus,
	  .navbar a.btn-attention:active {
		  color: #FFF;
		  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, .5);
	  }
	  .navbar a.btn-attention:hover {
		  color: #FFF;
		  background-color: #910021;
		  background-image: linear-gradient(to bottom, #C41134, #910021);
		  border: 0;
	  }
	  .navbar a.btn-attention:active,
	  .navbar a.btn-attention:focus {
		  background: #910021;
	  }
  }
  
  @media (min-width: 1024px) {
	  .header-logo {
		  padding: 0;
	  }
	  .navbar ul li a {
		  font-size: 14px;
	  }
  }
  
  @media (min-width: 1440px) {
	  .navbar ul li a {
		  font-size: 16px;
	  }
  }
  
  /* ------------------------------
  　　サイドメニュー
  ------------------------------ */
  .navbar-side {
	  position: absolute;
	  top: 0;
	  right: 0;
	  font-size: 11px;
	  text-align: right;
  }
  
  .navbar-side-list {
	  display: inline-block;
	  margin: 0;
	  padding: 0;
	  overflow: hidden;
	  list-style: none;
	  background: #333;
	  border-radius: 0 0 4px 4px;
  }
  
  .navbar-side-item {
	  position: relative;
	  display: inline-block;
	  color: #FFF;
  }
  .navbar-side-item:before {
	  position: absolute;
	  top: 5px;
	  bottom: 0;
	  left: 0;
	  display: block;
	  height: 1em;
	  border-left: 1px dotted #FFF;
	  content: "";
  }
  .navbar-side-item:first-child:before {
	  content: none;
  }
  
  .navbar-side-link {
	  display: inline-block;
	  padding: 4px 14px 4px 10px;
	  color: #FFF;
  }
  .navbar-side-link [class*="acms-icon"] {
	  margin: -2px 5px 0 0;
  }
  .navbar-side-link:hover,
  .navbar-side-link:visited,
  .navbar-side-link:active,
  .navbar-side-link:focus {
	  color: #FFF;
  }
  .navbar-side-link:hover [class*="acms-icon"] {
	  text-decoration: none;
  }
  
  /* ------------------------------
  　　モバイルメニュー
  ------------------------------ */
  /* トグルメニューアイコン */
  .icon-toggle-menu {
	  position: relative;
	  display: inline-block;
	  width: 18px;
	  height: 2px;
	  margin: 6px 0;
	  vertical-align: middle;
	  background-color: #333;
	  border-radius: 1px;
	  transition: .1s all;
  }
  .icon-toggle-menu:before,
  .icon-toggle-menu:after {
	  position: absolute;
	  display: block;
	  width: 18px;
	  height: 2px;
	  background-color: #333;
	  border-radius: 1px;
	  transition: .3s all;
	  content: "";
  }
  .icon-toggle-menu:before {
	  top: -6px;
  }
  .icon-toggle-menu:after {
	  bottom: -6px;
  }
  [aria-expanded=true] .icon-toggle-menu {
	  background: transparent;
  }
  [aria-expanded=true] .icon-toggle-menu:before {
	  width: 22px;
	  -ms-transform: translate(-2px, 6px) rotate(45deg);
		  transform: translate(-2px, 6px) rotate(45deg);
  }
  [aria-expanded=true] .icon-toggle-menu:after {
	  width: 22px;
	  -ms-transform: translate(-2px, -6px) rotate(-45deg);
		  transform: translate(-2px, -6px) rotate(-45deg);
  }
  
  /* ナビゲーションバー */
  @media (max-width: 1023px) {
	  .is-locked {
		  overflow: hidden;
	  }
	  .mobile-nav {
		  position: fixed;
		  top: 0;
		  left: 0;
		  z-index: 1000;
		  display: none;
		  box-sizing: border-box;
		  width: 100%;
		  height: 100%;
		  padding-top: 48px;
		  background-color: #FFF;
		  opacity: 0;
		  transition-timing-function: cubic-bezier(.25, .46, .45, .94);
		  transition-duration: .3s;
		  transition-property: all;
	  }
	  .mobile-nav.is-active {
		  display: block;
	  }
	  .mobile-nav.is-opened {
		  opacity: 1;
	  }
	  .mobile-nav-inner {
		  display: -ms-flexbox;
		  display: flex;
		  -ms-flex-align: start;
		  align-items: start;
		  -ms-flex-pack: center;
		  justify-content: center;
		  box-sizing: border-box;
		  width: 100%;
		  height: 100%;
		  padding: 30px 0;
		  overflow-y: scroll;
		  -webkit-overflow-scrolling: touch;
	  }
	  .mobile-navbar-list {
		  margin: 0;
		  padding: 0;
		  line-height: 2.4;
		  text-align: center;
		  list-style: none;
		  font-size: 18px;
	  }
	  .mobile-navbar-list a:not(.btn-attention),
	  .mobile-navbar-list a:not(.btn-attention):hover,
	  .mobile-navbar-list a:not(.btn-attention):visited,
	  .mobile-navbar-list a:not(.btn-attention):active,
	  .mobile-navbar-list a:not(.btn-attention):focus {
		  color: #333;
	  }
	  .mobile-navbar-list .mobile-navbar-list {
		  display: none;
	  }
	  .mobile-nav-side {
		  margin: 20px 0;
		  text-align: center;
	  }
	  .mobile-nav-side-list {
		  margin: 0;
		  padding: 0;
		  list-style: none;
	  }
	  .mobile-nav-side-item {
		  display: block;
		  margin: 0 0 10px 0;
	  }
	  .mobile-nav-side-link {
		  color: #333;
	  }
	  .mobile-nav-side-link:hover,
	  .mobile-nav-side-link:visited,
	  .mobile-nav-side-link:active,
	  .mobile-nav-side-link:focus {
		  color: #333;
	  }
	  .mobile-navbar-footer {
		  margin: 15px 0 0 0;
	  }
  }
  





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

@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: 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) {
	.acms-container{top:0;}
}

@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-radius: 5px; font-size: 20px; background: #DCF1F3;}
.pager li.prev, .pager li.next {border: none; border-radius: 0; background: none;}
.pager li.cur {background: #59B9C6; color: #FFF; border-radius: 5px;}
.pager li > span {width: 100%; height: 100%;}
.pager li a {width: 100%; height: 100%; color: #000; text-decoration: none;}
.pager-link {background: transparent; padding: 10px; border-radius: 5px;}
.pager-link:active, .pager-link:focus, .pager-link:visited { color: #222;}
.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: #222; }
.pager li.prev .pager-link a, .pager li.next .pager-link{}
.pager .prev-link a:hover,.pager .next-link a:hover{background: transparent; opacity: .7;}
.pager .prev-link ,.pager .next-link{background: transparent;}
.pager .prev-link img,.pager .next-link img{width:15px; display: block;}



.serial-nav {width: 100%; max-width: 1200px; margin: 0 auto 50px; display: flex; justify-content: space-between;}
.serial-nav.clearfix::after {display: none;}
.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 a {padding: 10px 20px;}
	.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: auto; 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: 5px;}
.koblog .koblog-card .text{font-weight: bold;}
.koblog .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 16px; font-size: 1rem; line-height: 1; }
.koblog .koblog-card .category { font-size: 16px; font-size: 0.875rem; color: #59B9C6;}
.koblog .koblog-card .category:after { content: "／"; margin-left: 3px;}
_:-ms-fullscreen, :root .koblog .koblog-card .category { padding-top: 4px; }



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

	.koblog .koblog-card .category {}

	.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 .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px; font-size: 16px; font-size: 1rem; border-right: 1px solid #ccc; padding-right: 10px;}
.koblog-news .koblog-card .category { font-size: 16px; font-size: 1rem;}
_:-ms-fullscreen, :root .koblog-news .koblog-card .category { padding-top: 4px; }
.koblog-news .koblog-card .text { margin-top: 10px; font-size: 1.125rem;}


@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;}
	.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 {}
	.koblog-news .koblog-card .date { -webkit-box-flex: 0; -ms-flex: none; flex: none; margin-right: 10px;}
	.koblog-news .koblog-card .text { margin-top: 10px;}
}

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


/* ---------------------------------------------------
	お問い合わせ
------------------------------------------------------ */
.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-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: 19px 50px 18px; border: none; color: #FFF; font-weight: bold; text-align: center; text-decoration: none; background: #59B9C6; 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: 19px 30px 18px; 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 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;}
}


/*-------------------------------------------*/
/*
/*　　content
/*
/*-------------------------------------------*/
#wrapper {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
  }
  
  #contents {
	margin-top: 120px;
  }
  
  .container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
  }
  
  .flexbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
  }
  
  .flexbox.mid {
	align-items: center;
  }
  
  .flexbox.center {
	justify-content: center;
  }
  
  .flexbox.reverse {
	flex-direction: row-reverse;
  }
  
  .clear {
	clear: both;
  }
  
  .clearfix:after {
	content: "";
	clear: both;
	display: block;
  }
  
  .rel {
	position: relative;
  }
  
  .flL {
	float: left;
  }
  
  .flR {
	float: right;
  }
  
  .taL {
	text-align: left;
  }
  
  .taC {
	text-align: center;
  }
  
  .taR {
	text-align: right;
  }
  
  .mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }
  
  .gothic {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  }
  
  img.icon,
  span.icon {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	top: -2px;
  }
  
  .txt-bold {
	font-weight: bold;
  }
  
  .txt-break span {
	display: inline-block;
  }
  
  .txt-kerning {
	font-feature-settings: "palt";
  }
  
  .en {
	font-family: "Roboto", sans-serif;
  }
  
  .vertical {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
  }
  
  /* 汎用見出し */
  h2 {
	font-weight: bold;
	text-align: center;
  }
  
  h3 {
	font-weight: bold;
  }
  
  h4 {
	font-weight: bold;
  }
  
  h5 {
	font-weight: bold;
  }
  
  h6 {
	font-weight: bold;
  }
  
  /* 汎用ボタン */
  a.btn,
  .btn-nolink {
	position: relative;
	display: inline-block;
	min-width: 260px;
	max-width: 100%;
	padding: 10px 15px 8px;
	background: none;
	border: 1px solid;
	border-radius: 0;
	color: #222;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	transition: all .2s;
  }
  a.btn:hover, a.btn:visited, a.btn:focus,
  .btn-nolink:hover,
  .btn-nolink:visited,
  .btn-nolink:focus {
	color: #222;
  }
  a.btn:hover,
  .btn-nolink:hover {
	background: #59B9C6;
	color: #fff;
  }
  
  a.btn02,
  .btn-nolink02 {
	display: inline-block;
	width: 300px;
	max-width: 100%;
	padding: 10px;
	background: #59B9C6;
	color: #fff;
	line-height: 1.4;
	text-align: center;
	transition: all .2s;
  }
  a.btn02 .icon,
  .btn-nolink02 .icon {
	margin-bottom: 2px;
	margin-left: 10px;
  }
  a.btn02:hover, a.btn02:visited, a.btn02:focus,
  .btn-nolink02:hover,
  .btn-nolink02:visited,
  .btn-nolink02:focus {
	color: #fff;
  }
  a.btn02:hover,
  .btn-nolink02:hover {
	background: #92d1da;
  }
  
  /* 汎用テーブル */
  .table th,
  .table td {
	padding: 17px 20px 15px;
	border-bottom: 1px solid #BEBEBE;
	line-height: 1.4;
  }
  .table th {
	background: #F3F3F3;
	border-bottom-color: #fff;
	font-weight: bold;
  }
  
  @media screen and (min-width: 768px) {
	.pc-vertical {
	  -ms-writing-mode: tb-rl;
	  writing-mode: vertical-rl;
	}
  }
  @media screen and (max-width: 1280px) {
	.container {
	  width: 94%;
	}
  }
  @media screen and (max-width: 767px) {
	#contents {
	  margin-top: 60px;
	}
  
	.container {
	  width: 90%;
	}
  
	/* 汎用見出し */
	/* 汎用ボタン */
	a.btn,
	.btn-nolink {
	  width: 100%;
	  min-width: 0;
	}
  
	a.btn02,
	.btn-nolink02 {
	  width: 100%;
	}
	a.btn02:hover,
	.btn-nolink02:hover {
	  background: #59B9C6;
	}
  }

/*-------------------------------------------*/
/*
/*　　footer
/*
/*-------------------------------------------*/
#footer .f-pagetop {
	position: fixed;
	right: 10px;
	bottom: -50px;
	width: 50px;
	line-height: 1;
	z-index: 1000;
	transition: bottom .4s;
  }
  #footer .f-pagetop.active {
	bottom: 10px;
  }
  #footer .f-pagetop a {
	display: block;
  }
  #footer .f-pagetop a:hover {
	transform: translateY(-3px);
  }
  #footer .f-pagetop a:hover img {
	opacity: 1;
  }
  #footer .f-pagetop img {
	display: block;
  }
  #footer .f-col .col-contact {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	width: 57.8125%;
	padding: 100px 15px;
	background: url(../img/common/bg-f.jpg) no-repeat center;
	background-size: cover;
	color: #fff;
	text-align: center;
  }
  #footer .f-col .col-contact .contact-txt {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.6;
  }
  #footer .f-col .col-contact .contact-txt span {
	font-weight: 500;
  }
  #footer .f-col .col-contact .contact-tel {
	margin: 20px 0 35px;
	line-height: 1;
  }
  #footer .f-col .col-contact .contact-tel a {
	color: #fff;
	text-decoration: none;
  }
  #footer .f-col .col-contact .contact-tel .tel-tel {
	display: block;
	font-size: 50px;
	letter-spacing: .03em;
  }
  #footer .f-col .col-contact .contact-tel .tel-txt {
	display: block;
	font-weight: 500;
	line-height: 1.5;
  }
  #footer .f-col .col-contact .contact-btn {
	text-align: center;
  }
  #footer .f-col .col-contact .contact-btn a {
	display: inline-block;
	width: 360px;
	max-width: 100%;
	padding: 22px 10px 20px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
	border-radius: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	color:#222
  }
  #footer .f-col .col-contact .contact-btn a:hover {
	background: #DCF1F3;
  }
  #footer .f-col .col-contact .contact-btn a:hover img {
	opacity: 1;
  }
  #footer .f-col .col-contact .contact-btn a .icon {
	margin-right: 10px;
  }
  #footer .f-col .col-info {
	width: 42.1875%;
	padding: 60px 3.5% 40px 3.5%;
  }
  #footer .f-col .col-info .container {
	width: 100%;
	max-width: 400px;
	margin: 0;
  }
  #footer .f-col .col-info .info-nav {
	margin-bottom: 20px;
	padding-left: 10px;
	line-height: 1.4;
  }
  #footer .f-col .col-info .info-nav a:hover {
	text-decoration: underline;
  }
  #footer .f-col .col-info .info-nav .nav-col .col-list li {
	margin-bottom: 20px;
  }
  #footer .f-col .col-info .info-nav .nav-col .col-list li a{
	  color:#222;
  }
  #footer .f-col .col-info .info-nav .nav-col .list-child {
	margin-top: 20px;
	padding-left: 10px;
  }
  #footer .f-col .col-info .info-nav .nav-col .list-child li {
	margin-bottom: 3px;
  }
  #footer .f-col .col-info .info-info {
	padding-top: 55px;
	padding-left: 10px;
	background: url(../img/common/bg-f-02.png) repeat-x left top;
	background-size: 400px;
  }
  #footer .f-col .col-info .info-info .info-logo {
	line-height: 1;
  }
  #footer .f-col .col-info .info-info .info-logo a:hover{opacity: 1;}
  #footer .f-col .col-info .info-info .info-logo a:hover img {
	opacity: 1;
  }
  #footer .f-col .col-info .info-info .info-address {
	margin-top: 20px;
  }
  #footer .f-col .col-info .info-info .info-copyright {
	margin-top: 70px;
	font-size: 16px;
	line-height: 1.8;
  }
  
  @media screen and (max-width: 767px) {
	#footer .f-pagetop {
	  bottom: -50px;
	  width: 50px;
	}
	#footer .f-pagetop.active {
	  bottom: 60px;
	}
	#footer .f-pagetop a:hover {
	  transform: translateY(0);
	}
	#footer .f-col .col-contact {
	  display: block;
	  width: 100%;
	  padding: 50px 15px;
	}
	#footer .f-col .col-contact .contact-txt {
	  font-size: 20px;
	}
	#footer .f-col .col-contact .contact-tel {
	  margin: 20px 0 35px;
	}
	#footer .f-col .col-contact .contact-tel .tel-tel {
	  font-size: 40px;
	}
	#footer .f-col .col-contact .contact-btn a {
	  display: inline-block;
	  width: 360px;
	  max-width: 100%;
	  padding: 22px 10px 20px;
	  background: rgba(255, 255, 255, 0.9);
	  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
	  border-radius: 0;
	  font-size: 20px;
	  font-weight: bold;
	  line-height: 1.5;
	  text-align: center;
	  text-decoration: none;
	}
	#footer .f-col .col-contact .contact-btn a:hover {
	  background: rgba(255, 255, 255, 0.9);
	}
	#footer .f-col .col-info {
	  width: 100%;
	  padding: 40px 0 120px;
	}
	#footer .f-col .col-info .container {
	  width: 400px;
	  max-width: 90%;
	  margin: 0 auto;
	}
	#footer .f-col .col-info .info-nav {
	  margin-bottom: 20px;
	  padding: 0 10px;
	  font-size: 16px;
	}
	#footer .f-col .col-info .info-nav a:hover {
	  text-decoration: none;
	}
	#footer .f-col .col-info .info-nav .nav-col .list-child {
	  font-size: 15px;
	}
	#footer .f-col .col-info .info-nav .nav-col .list-child li {
	  margin-bottom: 3px;
	}
	#footer .f-col .col-info .info-info {
	  padding: 55px 10px 0;
	}
	#footer .f-col .col-info .info-info .info-address {
	  margin-top: 20px;
	  font-size: 16px;
	}
	#footer .f-col .col-info .info-info .info-copyright {
	  margin-top: 35px;
	  font-size: 14px;
	}
  }
  /*-------------------------------------------*/
  /*
  /*　　tablet調整
  /*
  /*-------------------------------------------*/
  body.is-tablet {
	min-width: 1300px;
	font-size: 18px;
  }
  
  /*-------------------------------------------*/
  /*
  /*　　IE用cssハック
  /*
  /*-------------------------------------------*/
  /*-------------------------------------------*/
  /*
  /*　　print
  /*
  /*-------------------------------------------*/
  @media print {
	body {
	  width: 1000px;
	  font-size: 14px;
	}
  
	.container {
	  width: 94%;
	}
  }
  /*-------------------------------------------*/
  /*
  /*　　respomsive common
  /*
  /*-------------------------------------------*/
  .pc-block {
	display: block;
  }
  
  .sp-block {
	display: none;
  }
  
  .pc-inline {
	display: inline;
  }
  
  .sp-inline {
	display: none;
  }
  
  .pc-hidden {
	display: none !important;
  }
  
  @media screen and (max-width: 767px) {
	.pc-block {
	  display: none;
	}
  
	.sp-block {
	  display: block;
	}
  
	.pc-inline {
	  display: none;
	}
  
	.sp-inline {
	  display: inline;
	}
  
	.sp-hidden {
	  display: none !important;
	}
  
	.pc-hidden {
	  display: block !important;
	}
  }
  

/* フッター内会社情報 */
.foot-wrapper {
	padding: 30px 0;
	background: #323232;
}

.company-about {
	margin: 0 0 30px 0;
	color: #FFF;
}

.company-name {
	margin: 0 0 15px 0;
	color: #FFF;
	font-size: 20px;
	font-style: normal;
}

.company-detail {
	margin: 0 0 5px 0;
	padding: 0;
	color: #FFF;
	font-size: 14px;
	font-style: normal;
}
.company-detail a {
	color: #FFF;
}
.company-detail a:hover {
	text-decoration: underline;
}

/* フッターナビゲーション */
.footer-nav {
	float: right;
	width: 650px;
	max-width: 100%;
	margin: 0 -10px;
}

.footer-nav-item {
	display: block;
	float: left;
	width: 25%;
	margin: 0 0 10px 0;
	padding: 0 10px;
	vertical-align: top;
	box-sizing: border-box;
}

.footer-nav-title {
	margin: 0 0 5px 0;
	color: #FFF;
	font-size: 16px;
}

.footer-nav-list {
	margin: 0;
	padding: 0;
	color: #999;
	list-style: none;
}
.footer-nav-list li {
	line-height: 1.7;
}
.footer-nav-list a {
	color: #999;
}

@media screen and (max-width: 767px) {
	.footer-nav {
		display: none;
	}
}

/* ページの上に戻るボタン */
.page-top a:focus {
	display: block;
	border: 1px dotted #FFF;
}

.page-top-btn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1000;
	display: block;
	width: 44px;
	height: 44px;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../../images/marker/btn_pageTop.png?v=2020012254501) no-repeat center;
	transform: translateZ(0);
	right: calc(20px + constant(safe-area-inset-right));
	opacity: 0;
	transition: opacity .2s ease-out;
}
.no-js .page-top-btn {
	/* jsが無効の環境のとき */
	opacity: .6;
}

.page-top-btn-appear {
	opacity: 1;
}

@media screen and (max-width: 767px) {
	.page-top-btn {
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.page-top-btn:hover {
		opacity: .8;
		transition: opacity .25s linear;
	}
}

/* フッター内各SNSアカウントのリンク集 */
.sns-list {
	margin: 0 -5px 30px 15px;
	padding: 0;
	list-style: none;
}

.sns-list-item {
	float: left;
	margin: 0 5px;
}
.sns-list-item a:hover,
.sns-list-item a:visited,
.sns-list-item a:active,
.sns-list-item a:focus {
	text-decoration: none;
}

/* 各種SNSボタン */
.sns-list-item .sns-list-facebook {
	/* Facebook */
	display: block;
	width: 30px;
	height: 30px;
	color: #FFF;
	line-height: 1.5;
	text-align: center;
	background: #1877F2;
	border-radius: 4px;
	font-size: 19px;
}
.sns-list-item .sns-list-facebook:before {
	vertical-align: middle;
}

.sns-list-item .sns-list-twitter {
	/* Twitter */
	display: block;
	width: 30px;
	height: 30px;
	color: #FFF;
	line-height: 1.5;
	text-align: center;
	background: #55ACEE;
	border-radius: 4px;
	font-size: 19px;
}
.sns-list-item .sns-list-twitter:before {
	vertical-align: middle;
}



/* ------------------------------
　　フッター
------------------------------ */
/* お問い合わせ誘導エリア */
.suggest-box {
	background: #DDD;
}

.suggest-inner {
	display: table;
	width: 100%;
	padding: 15px 0;
}

.suggest-item {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.suggest-text {
	margin: 0 0 10px 0;
	line-height: 1.5;
	font-size: 14px;
}

.suggest-tel {
	margin: 0 0 10px 0;
	color: #666;
	font-weight: bold;
	font-size: 24px;
}
.suggest-tel a {
	color: inherit;
}

.suggest-btn {
	margin: 0;
}

@media screen and (min-width: 768px) {
	.suggest-inner {
		padding: 0;
	}
	.suggest-item {
		padding: 30px 10px;
	}
	.suggest-tel {
		margin: 0;
	}
	.suggest-half {
		display: table-cell;
		width: 50%;
		vertical-align: middle;
	}
}


.sns-list-item .sns-list-youtube {
	/* YouTube */
	display: block;
	width: 30px;
	height: 30px;
	color: #FFF;
	line-height: 1.5;
	text-align: center;
	background: #CD201F;
	border-radius: 4px;
	font-size: 19px;
}
.sns-list-item .sns-list-youtube:before {
	vertical-align: middle;
}

@media screen and (min-width: 768px) {
	.sns-list {
		float: right;
		margin: 0 -10px;
	}
	.sns-list-item {
		margin: 10px;
	}
	.sns-list-item a:hover {
		opacity: .8;
		transition: opacity .25s linear;
	}
}


  /* 著作権表示 */
.copyright {
	margin: 0;
	color: #FFF;
}

.copyright-text {
	margin: 0 auto;
}

.copryright-logo {
	vertical-align: middle;
}

