@charset "utf-8";
/* # =================================================================
#### font-family
# ================================================================= */

@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@1,100&display=swap");

html {
  /*font-family: "Lato", "Noto Sans JP", "ヒラギノ角ゴ ProN",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;*/
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN",
    "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
/* # =================================================================
#### font-size
# ================================================================= */
html {
  font-size: 62.5%; /* fontのベースサイズを10pxに指定 */
}
body {
  font-size: 1.6rem; /* 16px */
}
h1 {
  font-size: 36px; /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429)); /* 24px~36pxで可変 */
}
h2 {
  font-size: 24px; /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143)); /* 20px~24pxで可変 */
}
h3 {
  font-size: 20px; /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(1.8rem + ((1vw - 0.64rem) * 0.3571)); /* 18px~20pxで可変 */
}
h4 {
  font-size: 18px; /* IE8以下とAndroid4.3以下用フォールバック */
  font-size: calc(1.6rem + ((1vw - 0.64rem) * 0.3571)); /* 16px~18pxで可変 */
}
@media screen and (max-width: 480px) {
  /* 480px以下*/
  p,
  a,
  li,
  dt,
  dd,
  th,
  td {
    font-size: 1.4rem; /* 14px */
  }
}
/* # =================================================================
#### table
# ================================================================= */
table {
  border-collapse: collapse;
  width: 100%;
}
table,
th,
td {
  border: 1px solid #000;
  padding: 10px;
  text-align: center;
}
/* # =================================================================
#### common
# ================================================================= */
body {
  position: relative;
  letter-spacing: 0.1em;
}
img {
  display: block;
}
img.obj {
  object-fit: cover;
  object-position: center center;
  font-family: "object-fit:cover; object-position: center center;";
}
a {
  text-decoration: none;
  transition: 0.5s;
}
a:hover {
  transition: 0.5s;
}
ol li,
ul li {
  list-style: none;
}
:focus {
  outline: none;
}
/* # =================================================================
#### header
# ================================================================= */
header {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
header:after {
  content: "";
  display: block;
  height: 62px;
}
.header_wrap {
  position: fixed;
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
  padding: 15px 30px 15px 85px;
}
/* page arcive single用 */
.page .header_wrap,
.archive .header_wrap,
.single .header_wrap {
  padding: 15px 30px;
}
/*** スクロール下で収納 上で出現 ***/
.header_wrap.site-header {
  top: 0;
  transition: 0.5s;
  position: fixed;
  display: block;
  width: 100%;
  z-index: 1000;
}
.header_wrap.site-header.hide {
  transform: translateY(-100%);
  transition: 0.5s;
}
/*** header_inner_pc ***/
.header_inner_pc {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: auto;
}
.header_wrap .header_inner_pc h1 {
  position: relative;
  display: block;
  width: 350px;
  height: auto;
}
@media only screen and (min-width:768px) and (max-width:1360px) {
	.header_wrap .header_inner_pc h1 {
		display: flex;
		align-items: center;
		width: 250px !important;
	}
}
.header_wrap .header_inner_pc h1 a {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.header_wrap .header_inner_pc h1 a:hover {
  opacity: 0.5;
}
.header_wrap .header_inner_pc h1 a img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/*** header_inner_sp ***/
.header_inner_sp {
  display: none;
}
/* # =================================================================
#### footer
# ================================================================= */
#page-top {
  position: fixed;
  right: 20px;
  width: 64px;
  height: 64px;
  z-index: 100;
}
#page-top a {
  position: relative;
  display: block;
  background: url(../images/common/return_top.png) no-repeat;
  background-size: contain;
  width: 64px;
  height: 64px;
}
/*トップへ戻るボタン*/
.topBtn {
  position: fixed;
  bottom: 20px;
  right: 10px;
  display: block;
  background: url(../images/common/return_top.png) no-repeat;
  background-size: contain;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  font-size: 11px;
  width: 60px;
  height: 60px;
  text-align: center;
  line-height: 22px;
  border-radius: 30px;
  padding-top: 30px;
  box-sizing: border-box;
  z-index: 100;
}
.topBtn:hover {
  opacity: 0.7;
}
/*** footer ***/
footer {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.footer_inner {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding-top: 50px;
  background: rgba(31, 97, 217, 0.03);
}
/*** footer_nav ***/
.footer_nav {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 30px 0;
}
.footer_nav ul {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 870px;
  height: auto;
  margin: 0 auto;
}
.footer_nav ul li {
  position: relative;
  display: block;
  width: auto;
  height: auto;
}
.footer_nav ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  color: #1a1a1a;
  font-size: 13px;
}
.footer_nav ul li a:hover {
  color: #2366c9;
}
/*** logo_area ***/
.logo_area {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 1200px;
  height: auto;
  margin: 0 auto 50px;
  padding-bottom: 50px;
  border-bottom: 1px solid #cacaca;
  align-items: baseline;
}
.logo_area h2 {
  position: relative;
  display: block;
  width: 380px;
  height: auto;
}
.logo_area h2 a {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.logo_area h2 a:hover {
}
.logo_area h2 img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/*  */
.logo_area .footer_link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.logo_area .footer_link a.more {
  margin-right: 30px;
}
.logo_area .footer_link a.more.white {
  background: #fff;
}
.logo_area .footer_link a.more.white:hover {
  color: #fff;
  background: #2366c9;
  opacity: 1;
}
.logo_area .footer_link a.more.white:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_02.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
.logo_area .footer_link a.more.white:hover:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_01.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
.logo_area .footer_link a.more.white:hover:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_01.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
/*** com_list ***/
.com_list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 1200px;
  height: auto;
  margin: 0 auto 50px;
}
.com_list .left_box h3,
.com_list .right_box h3 {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  font-size: 16px;
  margin-bottom: 30px;
}
/** left_box **/
.com_list .left_box {
  position: relative;
  display: block;
  width: 65%;
  height: auto;
}
.com_list .left_box:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 11px;
  margin: auto;
  width: 1px;
  height: 100%;
  border-right: 1px solid #cacaca;
}
.com_list .left_box ul {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: auto;
}
.com_list .left_box ul li {
  position: relative;
  display: block;
  width: 48%;
  height: auto;
  margin-bottom: 30px;
}
.com_list .left_box ul li p.name {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}
.com_list .left_box ul li p.addr {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding-left: 0.5em;
  font-size: 14px;
  line-height: 1.5;
}
.com_list .left_box ul li a {
  position: relative;
  display: block;
  width: 115px;
  height: auto;
  padding-left: 12px;
  margin-top: 5px;
}
.com_list .left_box ul li a:hover {
  opacity: 0.5;
}
.com_list .left_box ul li a img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/** right_box **/
.com_list .right_box {
  position: relative;
  display: block;
  width: 32%;
  height: auto;
}
.com_list .right_box ul {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.com_list .right_box ul li {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}
.com_list .right_box ul li p.name {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}
.com_list .right_box ul li p.addr {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding-left: 0.5em;
  font-size: 14px;
  line-height: 1.5;
}
.com_list .right_box ul li a {
  position: relative;
  display: block;
  width: 115px;
  height: auto;
  padding-left: 12px;
  margin-top: 5px;
}
.com_list .right_box ul li a:hover {
  opacity: 0.5;
}
.com_list .right_box ul li a img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/*** small ***/
small {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
  background: #1f61d9;
  color: #fff;
  font-size: 15px;
  padding: 15px 0;
}
small span {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  color: #a8c7f4;
  font-size: 14px;
  margin-top: 10px;
}
/* # =================================================================
#### front
# ================================================================= */
main {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/**** common ****/
.contents_area {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 100px 0 45px;
}
h2.headline {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 50px;
  letter-spacing: 0.1em;
}
h2.headline.center {
  text-align: center;
}
h2.headline span.font {
  position: relative;
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 48px;
  font-weight: 100;
  font-style: italic;
  color: #1f61d9;
  margin-bottom: 15px;
}
h2.headline span.line {
  position: relative;
  /* display: inline-block; */
  display: block;
  width: auto;
  height: auto;
  padding-bottom: 15px;
  font-size: 27px;
  font-weight: normal;
  letter-spacing: 0.1em;
}
.line-basic{
  position: relative;
  text-align: center;
  display: block;
  padding-bottom: 15px;
  font-size: 27px;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  margin-top: 60px;
}
h2.headline span.line:before {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-top: 2px solid #1f61d9;
  width: 1.5em;
}
.line-basic:before {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-top: 2px solid #1f61d9;
  width: 1.5em;
}
p.explanation {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
p.explanation.center {
  text-align: center;
}
/* more */
a.more {
  position: relative;
  display: block;
  width: 300px;
  height: auto;
  border: 1px solid #2366c9;
  border-radius: 50px;
  text-align: center;
  background: #2366c9;
  color: #fff;
  padding: 15px 0;
}
a.more:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_01.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
a.more:hover {
  background: #fff;
  color: #2366c9;
}
a.more:hover:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_02.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
/* more.white */
a.more.white {
  position: relative;
  display: block;
  width: 280px;
  height: auto;
  text-align: center;
  color: #2366c9;
  /*padding: 10px 0;*/
}
a.more.white:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_02.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
a.more.white:hover {
  opacity: 0.5;
}
/**** main_images ****/
.main_images {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  /* height: calc(100vh - 62px); */
}
/*** scroll ***/
.scroll {
  position: relative;
  display: block;
  width: 85px;
  height: auto;
}
.scroll a {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  bottom: 10px;
  left: 0;
  right: 0;
  margin: auto;
  width: 20px;
  height: auto;
}
.scroll a:hover {
}
.scroll a img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/*** splide ***/
.splide  {
  position: relative;
  display: block;
  width: calc(100% - 85px);
  height: 100%;
  overflow: hidden;
}
.splide  img.pc {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px 0 0 10px;
}
.splide  img.sp {
  position: relative;
  width: 100%;
  height: auto;
}
.splide img{
  max-width: 100%;
}
/**** contents01 ****/
.contents01 {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.contents01 .flex {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 1200px;
  height: auto;
  margin: 50px auto;
}
.contents01 .flex .item_box {
  position: relative;
  display: block;
  width: 48%;
  height: auto;
  margin-bottom: 50px;
}
.contents01 .flex .item_box:nth-last-child(1),
.contents01 .flex .item_box:nth-last-child(2) {
  margin-bottom: 0;
}
.contents01 .flex .item_box span.image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}
.contents01 .flex .item_box span.image img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}
.contents01 .flex .item_box p.title {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 5px;
}
.contents01 .flex .item_box span.title {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  text-align: center;
  font-family: "Josefin Sans", sans-serif;
  font-size: 48px;
  font-weight: 100;
  font-style: italic;
  color: #d2dff7;
  font-size: 30px;
}
.contents01 a.more {
  margin: 0 auto;
}
/**** contents02 ****/
.contents02 {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding-bottom: 180px;
}
.contents02 .wrap.full {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 170px;
}
/*** images_box ***/
.contents02 .wrap.full .images_box {
  position: relative;
  display: block;
  width: 60%;
  height: auto;
}
.contents02 .wrap.full .images_box img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/***  ***/
.contents02 .wrap.full .text_box {
  position: absolute;
  display: block;
  width: 55%;
  height: auto;
  background: #fff;
  bottom: 0;
  right: 0;
  padding: 100px 15vw 0 100px;
  border-radius: 10px 0 0 0;
}
.contents02 .wrap.full .text_box h2.headline {
}
.contents02 .wrap.full .text_box h2.headline img {
}
.contents02 .wrap.full .text_box h2.headline span {
}
.contents02 .wrap.full .text_box h2.headline span:before {
  right: auto;
}
.contents02 .wrap.full .text_box p.explanation {
  line-height: 1.8;
  text-align: justify;
  margin-bottom: 50px;
}
.contents02 .wrap.full .text_box a.more {
  margin: 0 0 0 auto;
}
/** order **/
.contents02 .wrap.full.order {
  margin-bottom: 0;
}
.contents02 .wrap.full.order .images_box {
  margin: 0 0 0 auto;
}
.contents02 .wrap.full.order .text_box {
  right: auto;
  left: 0;
}
/**** contents03 ****/
.contents03 {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding-bottom: 100px;
}
.contents03 .wrap {
  position: relative;
  display: block;
  max-width: 1100px;
  height: auto;
  margin: 0 auto 40px;
  padding-bottom: 300px;
}
.contents03 .wrap img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
/***  ***/
.contents03 .wrap .text_box {
  position: absolute;
  display: block;
  width: 800px;
  height: auto;
  border-radius: 10px 10px 0 0;
  background: #fff;
  padding: 100px 90px 0 55px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.contents03 .wrap .text_box p.explanation {
  line-height: 1.8;
  text-align: justify;
  margin-bottom: 30px;
}
.contents03 .wrap .text_box a.more {
  margin: 0 auto;
}
/**** footer_contents ****/
.footer_contents {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 150px 0;
  background: url(../images/top/img_contact_01.png) no-repeat;
  background-size: cover;
}
.footer_contents .wrap.flex {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 1000px;
  height: auto;
  margin: 0 auto;
}
/*** left_box ***/
.footer_contents .wrap.flex .left_box {
  position: relative;
  display: block;
  width: 50%;
  height: auto;
  padding: 50px;
}
.footer_contents .wrap.flex .left_box h2.headline {
  color: #fff;
}
.footer_contents .wrap.flex .left_box h2.headline span.font {
  color: #fff;
}
.footer_contents .wrap.flex .left_box h2.headline span.line:before {
  right: auto;
}
.footer_contents .wrap.flex .left_box p.explanation {
  color: #fff;
  line-height: 1.8;
  text-align: justify;
}
/**/
.footer_contents .wrap.flex .left_box:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  border-right: 1px solid #fff;
  width: 1px;
  height: 65%;
}
/*** right_box ***/
.footer_contents .wrap.flex .right_box {
  position: relative;
  display: block;
  width: 50%;
  height: auto;
  padding: 50px;
}
.footer_contents .wrap.flex .right_box a.tel span {
  position: relative;
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 16px;
  font-weight: 100;
  font-style: italic;
  color: #fff;
  margin-bottom: 5px;
}
.footer_contents .wrap.flex .right_box a.tel {
  position: relative;
  display: block;
  width: 300px;
  height: auto;
  margin: 0 auto 50px;
  font-family: "Josefin Sans", sans-serif;
  font-size: 48px;
  font-weight: bold;
  font-style: italic;
  color: #fff;
  margin-bottom: 50px;
}
.footer_contents .wrap.flex .right_box a.tel:hover {
  opacity: 0.5;
}
.footer_contents .wrap.flex .right_box a.tel img {
}
.footer_contents .wrap.flex .right_box a.more {
  color: #2366c9;
  background: #fff;
  border: 1px solid #fff;
  margin: 0 auto;
  padding: 20px 0;
}
.footer_contents .wrap.flex .right_box a.more:hover {
  color: #fff;
  background: #2366c9;
  border: 1px solid #2366c9;
}
.footer_contents .wrap.flex .right_box a.more:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_02.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
.footer_contents .wrap.flex .right_box a.more:hover:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  background: url(../images/common/arrow_01.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
/* # =================================================================
#### お知らせ
# ================================================================= */
.news_wrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  padding: 50px;
  background: rgba(31, 97, 217, 0.03);
}
.news_wrap .wrap {
  position: relative;
  display: block;
  width: 800px;
  height: auto;
  margin: 0 auto;
}
.news_wrap .wrap dl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 50px;
}
.news_wrap .wrap dl dt {
  position: relative;
  display: block;
  width: 15%;
  height: auto;
  color: #1f61d9;
  line-height: 1.8;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.news_wrap .wrap dl dd {
  position: relative;
  display: block;
  width: 85%;
  height: auto;
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.news_wrap .wrap dl dt:nth-last-child(2),
.news_wrap .wrap dl dd:nth-last-child(1) {
  border: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.news_wrap .wrap dl dd a {
  position: relative;
  display: inline-block;
  width: auto;
  height: auto;
  color: #333333;
  line-height: 1.8;
  text-align: justify;
}
.news_wrap .wrap dl dd a:hover {
  color: #1f61d9;
}
.news_wrap a.more.white {
  color: #2366c9;
  background: #fff;
  border: 1px solid transparent;
  margin: 0 0 0 auto;
  width: 200px;
  border: 1px solid #2366c9;
}
.news_wrap a.more.white:hover {
  color: #fff;
  background: #2366c9;
  opacity: 1;
}
.news_wrap a.more.white:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  background: url(../images/common/arrow_02.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
.news_wrap a.more.white:hover:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  background: url(../images/common/arrow_01.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
}
/* .news_wrap a.more.white:hover:after {
  content: "";
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  background: url(../images/common/arrow_02.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 10px;
  transition: 0.5s;
} */
/*** archive ***/
.news_wrap .wrap dl.archive dt {
  width: 100px;
}
.news_wrap .wrap dl.archive dd {
  width: calc(100% - 100px);
  padding-left: 30px;
}
.news_wrap .wrap dl.archive dd time {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  color: #1f61d9;
  margin-bottom: 5px;
}
.news_wrap .wrap dl.archive dd a {
  font-size: 18px;
}
.news_wrap .wrap dl.archive dt .img_wrap {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-top: 75%;
}
.news_wrap .wrap dl.archive dt .img_wrap img.obj {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.d-inline-block{
  display: inline-block;
}
.justify-content-center{
  justify-content: center!important;
}
/* # =================================================================
#### 追従バナー（採用）
# ================================================================= */
.rec_bnr {
	display: table;
	position: fixed;
	top: calc(100% - 240px);
	right: 10px;
	z-index: 1;
}
body:not(.page-template-page-recruit) .rec_bnr {
	display: none;
}
@media only screen and (max-width:768px) {
	.rec_bnr {
		right: 20px;
		top: calc(100% - 67px);
	}
	.page-template-page-recruit .rec_bnr {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		right: auto;
		left: 10px;
		width: 74%;
	}
}
.rec_bnr_item {
	width: 210px;
	height: 65px;
	overflow: hidden;
	border: 1px solid #666;
}
@media only screen and (max-width:375px) {
	.rec_bnr_item {
		width: 130px;
		height: 40px;
	}
}
.rec_bnr_item:nth-child(1) {
	margin-bottom: 1em;
}
.rec_bnr_item a {
	display: inline-block;
	width: 100%;
	height: 100%;
	transition: opacity .3s ease;
}
.rec_bnr_item a:hover {
	opacity: .6;
}
.rec_bnr_item img {
	width: 100%;
	height: auto;
}