@charset "UTF-8";
/*----------------------------------------------------------
 Reset
------------------------------------------------------------*/
body, div, section, article, aside, nav,
h1, h2, h3, h4, h5, h6,
span, time, figure, figcaption,
p, blockquote, pre, address, code,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, button,
table, tbody, thead, tfoot, tr, th, td {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  word-break: break-all; }

header, main, aside, footer, section {
  display: block; }

h1, h2, h3, h4, h5, h6, th, td, small {
  font-size: 100%; }

ul, ol {
  list-style: none; }

img {
  border: 0;
  vertical-align: bottom;
  max-width: 100%; }

table {
  border-collapse: collapse; }

input,
select {
  vertical-align: middle; }

em {
  font-style: normal; }

button {
  background: none;
  border: none; }

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/*----------------------------------------------------
	setting
----------------------------------------------------*/
/*
  mixin
*/
/*----------------------------------------------------
	basic
----------------------------------------------------*/
body {
  color: #333;
  font-size: 16px;
  font-size: 1rem;
  font-family: 'Noto Sans JP', "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  line-height: 2; }
  @media screen and (max-width: 768px) {
    body {
      min-width: 0;
      font-size: 14px;
      font-size: 0.875rem; } }

@media screen and (max-width: 768px) {
  html, body {
    height: 100%; } }

p + p {
  margin-top: 1em; }

a:link {
  color: #ef1384;
  text-decoration: none; }
a:visited {
  color: #ef1384; }
a:hover {
  color: #ef1384; }
a:active {
  color: #ef1384; }

br[data-show="sp"] {
  display: none; }
  @media screen and (max-width: 768px) {
    br[data-show="sp"] {
      display: block; } }

@media screen and (max-width: 768px) {
  br[data-show="pc"] {
    display: none; } }

/*----------------------------------------------------
	layout
----------------------------------------------------*/
/*----------------------------------------------------
	header
----------------------------------------------------*/
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 25px; }
  .header__logo a {
    display: flex;
    align-items: center;
    font-family: ten-mincho-text, serif;
    font-weight: 400;
    font-size: 30px;
    font-size: 1.875rem;
    font-size: 20px;
    font-size: 1.25rem;
    font-size: clamp(20px, 1.875vw, 30px);
    color: #182882; }
    @media screen and (max-width: 768px) {
      .header__logo a {
        font-size: clamp(20px, 3.75vw, 30px); } }
  .header__logo img {
    width: 80px;
    margin-right: 20px; }
  .header-nav {
    position: relative;
    width: 1000px;
    margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .header {
      padding: 13px 10px;
      overflow: hidden; }
      .header__logo a {
        font-size: 16px;
        font-size: 1rem; }
      .header__logo img {
        width: 42px;
        margin-right: 10px; }
      .header-nav {
        position: relative;
        width: auto;
        margin: 0 auto; } }

/*----------------------------------------------------
	nav
----------------------------------------------------*/
.nav {
  position: relative;
  z-index: 1; }
  .nav-title {
    display: none; }
  .nav-list {
    display: flex;
    align-items: flex-end; }
    .nav-list li {
      margin: 0 25px; }
      .nav-list li a {
        transition: .5s;
        font-weight: bold;
        color: #182882; }
        .nav-list li a:hover {
          opacity: .7; }
  @media screen and (max-width: 768px) {
    .nav {
      position: absolute;
      top: 0;
      right: 0;
      width: 56%;
      z-index: 1000; }
      .nav-title {
        position: absolute;
        top: 13px;
        right: 10px;
        display: block;
        width: 36px;
        padding-top: 25px;
        font-size: 12px;
        font-size: 0.75rem;
        color: #7273b5; }
        .nav-title span {
          position: absolute;
          display: block;
          width: 36px;
          height: 1px;
          background: #7273b5;
          transition: .3s; }
          .nav-title span:nth-of-type(1) {
            top: 0; }
          .nav-title span:nth-of-type(2) {
            top: 8px; }
          .nav-title span:nth-of-type(3) {
            top: 17px; }
        .nav-title.-active {
          top: 0;
          right: 0;
          width: 60px;
          height: 60px;
          background: #fff;
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
          font-size: 0; }
          .nav-title.-active span {
            width: 20px; }
            .nav-title.-active span:nth-of-type(1) {
              top: 20px;
              left: 13px;
              transform: rotate(-45deg); }
            .nav-title.-active span:nth-of-type(2) {
              opacity: 0; }
            .nav-title.-active span:nth-of-type(3) {
              top: 20px;
              right: 13px;
              transform: rotate(45deg); }
      .nav-list {
        position: absolute;
        top: 60px;
        right: 0;
        display: block;
        width: 100%;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
        background: #fff; }
        .nav-list li {
          margin: 0;
          border-bottom: 1px solid #7273b5; }
          .nav-list li:last-child {
            border: 0; }
          .nav-list li a {
            display: block;
            padding: 20px;
            padding-top: calc(20px - (((1rem * 1.5) - 1rem) / 2));
            padding-bottom: calc(20px - (((1rem * 1.5) - 1rem) / 2));
            font-family: ten-mincho-text, serif;
            font-weight: 400;
            font-size: 16px;
            font-size: 1rem;
            color: #7273b5;
            font-weight: normal; } }

/*----------------------------------------------------
	main
----------------------------------------------------*/
.main {
  position: relative;
  z-index: 1;
  padding: 0 0 70px; }
  @media screen and (max-width: 768px) {
    .main {
      padding-bottom: 20px; } }

/*----------------------------------------------------
	2column layout
----------------------------------------------------*/
.column-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 70px; }
  .column-wrap .main {
    width: 800px;
    padding-top: 0; }
  .column-wrap .aside {
    width: 250px; }
    .column-wrap .aside__title {
      padding: 12px;
      padding-top: calc(20px - (((24px * 1.5) - 24px) / 2));
      padding-bottom: calc(20px - (((24px * 1.5) - 24px) / 2));
      font-size: 24px;
      font-size: 1.5rem;
      font-family: ten-mincho-text, serif;
      font-weight: 400;
      border-top: 5px solid #182882;
      color: #182882; }
    .column-wrap .aside-list {
      margin-bottom: 10px;
      padding: 30px 12px;
      border-top: 1px solid #182882; }
      .column-wrap .aside-list li {
        margin-bottom: calc(20px - (((1rem * 1.5) - 1rem) / 2)); }
        .column-wrap .aside-list li:last-child {
          margin: 0; }
        .column-wrap .aside-list li a {
          display: inline-flex;
          align-items: center;
          color: #182882;
          transition: .3s; }
          .column-wrap .aside-list li a:before {
            content: "";
            display: block;
            width: 17px;
            height: 17px;
            margin-right: 10px;
            background: url(../img/icon/icon_link.svg) no-repeat;
            background-size: contain; }
          .column-wrap .aside-list li a:hover {
            opacity: .7; }
  @media screen and (max-width: 768px) {
    .column-wrap {
      display: block;
      padding-top: 10px;
      padding-bottom: 20px; }
      .column-wrap .main,
      .column-wrap .aside {
        width: auto; }
      .column-wrap .aside__title {
        padding: 12px;
        padding-top: calc(15px - (((20px * 1.5) - 20px) / 2));
        padding-bottom: calc(15px - (((20px * 1.5) - 20px) / 2));
        font-size: 20px;
        font-size: 1.25rem; }
      .column-wrap .aside-list {
        margin-bottom: 10px;
        padding: 15px 12px; }
        .column-wrap .aside-list li {
          margin-bottom: calc(10px - (((1rem * 1.5) - 1rem) / 2)); } }

/*----------------------------------------------------
	footer
----------------------------------------------------*/
.footer {
  padding-top: 60px;
  font-family: "Noto Sans JP", sans-serif;
  background: #f5f5f5;
  text-align: center; }
  .footer__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 35px;
    font-family: ten-mincho-text, serif;
    font-weight: 400;
    font-size: 26px;
    font-size: 1.625rem;
    color: #182882; }
    .footer__logo img {
      width: 70px; }
  .footer-nav {
    display: flex;
    justify-content: center;
    margin-bottom: 45px; }
    .footer-nav li {
      padding: 0 20px; }
      .footer-nav li a {
        color: #182882;
        transition: .5s; }
        .footer-nav li a:hover {
          text-decoration: underline; }
  .footer .copyright {
    padding: 20px;
    background: #182882;
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-size: 0.75rem; }
  @media screen and (max-width: 768px) {
    .footer {
      padding-top: 40px; }
      .footer__logo {
        margin-bottom: 15px;
        font-size: 22px;
        font-size: 1.375rem; }
      .footer-nav {
        display: block;
        text-align: center;
        margin-bottom: 50px;
        font-size: 16px;
        font-size: 1rem; }
        .footer-nav li {
          margin-bottom: calc(15px - (((1rem * 1.5) - 1rem) / 2));
          padding: 0; } }

/*----------------------------------------------------
	0.basic
----------------------------------------------------*/
.is-left {
  text-align: left; }

.is-center {
  text-align: center; }

.is-right {
  text-align: right; }

.contents, .column-wrap, .page-title__main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 4%; }
  .contents small, .column-wrap small, .page-title__main small {
    font-size: 12px;
    font-size: 0.75rem; }
  @media screen and (max-width: 768px) {
    .contents, .column-wrap, .page-title__main {
      width: auto;
      padding: 0 20px; } }

.topicpath ol {
  width: 1100px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .topicpath ol {
      width: auto;
      margin: 0 15px; } }

/* ぱんくず */
.topicpath ol {
  display: flex;
  padding: 20px 0 50px;
  font-size: 14px;
  font-size: 0.875rem; }
  .topicpath ol li a {
    display: flex;
    align-items: center;
    color: #000; }
    .topicpath ol li a:after {
      content: "";
      width: 13px;
      height: 13px;
      margin: 0 12px;
      background: url(../img/icon/icon_path.svg) no-repeat;
      background-size: contain; }
  .topicpath ol li:last-child a:after {
    display: none; }
@media screen and (max-width: 768px) {
  .topicpath ol {
    padding-bottom: 30px; } }

/* タイトル */
.page-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 350px;
  background: #182882 url(../img/share/line.svg) no-repeat;
  background-size: auto 120%;
  background-position-y: center;
  color: #fff;
  font-family: ten-mincho-text, serif;
  font-weight: 400; }
  .page-title__main {
    padding-left: 70px;
    font-size: 40px;
    font-size: 2.5rem;
    letter-spacing: 0.2em;
    font-weight: normal;
    text-shadow: 1px 1px 2px #182882, -1px 1px 2px #182882, 1px -1px 2px #182882, -1px -1px 2px #182882; }
    .page-title__main span {
      display: block;
      font-size: 24px;
      font-size: 1.5rem;
      text-transform: uppercase; }
  @media screen and (max-width: 768px) {
    .page-title {
      height: auto;
      padding: 40px 20px;
      background: #182882 url(../img/share/line.svg) no-repeat;
      background-size: 150px auto;
      background-position: -80px -10px;
      color: #fff;
      font-family: ten-mincho-text, serif;
      font-weight: 400; }
      .page-title__main {
        padding: 0px;
        font-size: 30px;
        font-size: 1.875rem; }
        .page-title__main span {
          font-size: 20px;
          font-size: 1.25rem; } }

.title-l2, .entry__title {
  margin-bottom: calc(35px - (((30px * 1.5) - 30px) / 2));
  padding-bottom: calc(10px - (((30px * 1.5) - 30px) / 2));
  font-size: 30px;
  font-size: 1.875rem;
  font-family: ten-mincho-text, serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #182882; }
  @media screen and (max-width: 768px) {
    .title-l2, .entry__title {
      font-size: 24px;
      font-size: 1.5rem; } }

.title-l3, .entry-body h3 {
  position: relative;
  margin-top: calc(35px - (((28px * 1.5) - 28px) / 2));
  margin-bottom: calc(50px - (((28px * 1.5) - 28px) / 2));
  padding-left: 15px;
  border-left: 7px solid #182882;
  font-size: 28px;
  font-size: 1.75rem;
  color: #182882;
  font-weight: normal; }
  .title-l3:after, .entry-body h3:after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: -7px;
    display: block;
    width: calc(100% + 7px);
    height: 1px;
    background: #182882; }
  @media screen and (max-width: 768px) {
    .title-l3, .entry-body h3 {
      font-size: 20px;
      font-size: 1.25rem; } }

.title-l4, .entry-body h4 {
  margin-bottom: calc(35px - (((24px * 1.5) - 24px) / 2));
  font-size: 24px;
  font-size: 1.5rem;
  color: #182882; }
  @media screen and (max-width: 768px) {
    .title-l4, .entry-body h4 {
      font-size: 18px;
      font-size: 1.125rem; } }

.title-l5, .entry-body h5 {
  margin-bottom: calc(35px - (((21px * 1.5) - 21px) / 2));
  font-size: 21px;
  font-size: 1.3125rem;
  color: #182882; }
  @media screen and (max-width: 768px) {
    .title-l5, .entry-body h5 {
      font-size: 16px;
      font-size: 1rem; } }

.title-l6, .entry-body h6 {
  margin-bottom: calc(35px - (((1rem * 1.5) - 1rem) / 2));
  font-size: 16px;
  font-size: 1rem;
  color: #fff;
  font-weight: normal; }
  .title-l6 span, .entry-body h6 span {
    display: inline-block;
    padding: 15px;
    padding-top: calc(15px - (((1rem * 1.5) - 1rem) / 2));
    padding-bottom: calc(15px - (((1rem * 1.5) - 1rem) / 2));
    background: #ef1384; }
  @media screen and (max-width: 768px) {
    .title-l6, .entry-body h6 {
      font-size: 14px;
      font-size: 0.875rem; } }

/* テキスト */
.read {
  margin-bottom: calc(60px - (((1rem * 1.5) - 1rem) / 2)); }
  @media screen and (max-width: 768px) {
    .read {
      margin-bottom: calc(30px - (((1rem * 1.5) - 1rem) / 2)); } }

/* リスト */
.list-ul, .entry-body ul:not(.tab-nav) {
  margin-bottom: calc(45px - (((1rem * 1.5) - 1rem) / 2));
  font-size: 18px;
  font-size: 1.125rem; }
  .list-ul li, .entry-body ul:not(.tab-nav) li {
    margin-bottom: 10px;
    padding-left: 1em; }
    .list-ul li:before, .entry-body ul:not(.tab-nav) li:before {
      content: "●";
      margin-left: -1em;
      color: #ef1384; }
    .list-ul li ul, .entry-body ul:not(.tab-nav) li ul {
      margin-top: 10px;
      margin-left: 1em; }
  @media screen and (max-width: 768px) {
    .list-ul, .entry-body ul:not(.tab-nav) {
      font-size: 16px;
      font-size: 1rem; } }

.list-ol, .entry-body ol {
  margin-bottom: calc(45px - (((1rem * 1.5) - 1rem) / 2));
  padding-left: 1em;
  font-size: 18px;
  font-size: 1.125rem;
  counter-reset: entry-ol; }
  .list-ol li, .entry-body ol li {
    counter-increment: entry-ol;
    margin-bottom: 10px;
    padding-left: 1.5em;
    text-indent: -1.5em; }
    .list-ol li:before, .entry-body ol li:before {
      content: "(" counters(entry-ol,")-") ")";
      margin-right: .2em;
      margin-left: -.8em;
      color: #ef1384; }
    .list-ol li ol, .entry-body ol li ol {
      margin-top: 10px; }
      .list-ol li ol li:before, .entry-body ol li ol li:before {
        content: "(" counters(entry-ol,")-"); }
  @media screen and (max-width: 768px) {
    .list-ol, .entry-body ol {
      font-size: 16px;
      font-size: 1rem; } }

/* table */
.table, .entry-body table {
  width: calc(100% - 36px);
  margin: 0 auto 80px; }
  .table th, .entry-body table th, .table td, .entry-body table td {
    padding: 15px;
    text-align: center; }
    .table th:last-child, .entry-body table th:last-child, .table td:last-child, .entry-body table td:last-child {
      border-right: 0 !important; }
  .table th, .entry-body table th {
    background: #7273b5;
    color: #fff;
    font-weight: normal;
    border-right: 1px solid #fff; }
  .table td, .entry-body table td {
    background: #f3f4f9;
    color: #182882;
    border-right: 1px solid #7273b5; }
  @media screen and (max-width: 768px) {
    .table, .entry-body table {
      width: 100%;
      margin-bottom: 40px; }
      .table th, .entry-body table th, .table td, .entry-body table td {
        padding: 10px; } }

/* blockquote */
blockquote {
  position: relative;
  margin-bottom: 80px;
  padding: 60px;
  background: #f3f4f9; }
  blockquote:before, blockquote:after {
    content: "";
    position: absolute;
    display: block;
    width: 40px;
    height: 35px;
    background: url(../img/icon/quote.svg) no-repeat;
    background-size: contain; }
  blockquote:before {
    top: 20px;
    left: 15px; }
  blockquote:after {
    right: 20px;
    bottom: 15px;
    transform: rotate(180deg); }
  @media screen and (max-width: 768px) {
    blockquote {
      margin-bottom: 40px;
      padding: 40px 30px; }
      blockquote:before, blockquote:after {
        width: 30px; }
      blockquote:before {
        top: 10px; }
      blockquote:after {
        bottom: 10px; } }

.box {
  margin-bottom: 80px;
  padding: 35px 40px;
  border: 1px solid #7273b5; }
  @media screen and (max-width: 768px) {
    .box {
      margin-bottom: 40px;
      padding: 20px; } }

/* tab */
.tab {
  width: calc(100% - 36px);
  margin: 0 auto 80px;
  border: 1px solid #7273b5; }
  .tab-nav {
    display: flex;
    border-bottom: 1px solid #7273b5; }
    .tab-nav li {
      flex: 1; }
      .tab-nav li a {
        display: block;
        padding: 15px;
        color: #7273b5;
        text-align: center;
        border-right: 1px solid #7273b5; }
        .tab-nav li a.active {
          background: #7273b5;
          color: #fff; }
      .tab-nav li:last-child a {
        border: 0; }
  .tab-contents-section {
    padding: 35px 40px; }
  @media screen and (max-width: 768px) {
    .tab {
      width: 100%;
      margin-bottom: 40px; }
      .tab-nav li a {
        padding: 10px; }
      .tab-contents-section {
        padding: 20px; } }

/* アコーディオン */
.toggle {
  margin-bottom: 100px; }
  .toggle-title {
    position: relative;
    padding: 20px;
    padding-top: calc(20px - (((21px * 1.5) - 21px) / 2));
    padding-bottom: calc(20px - (((21px * 1.5) - 21px) / 2));
    border-top: 3px solid #182882;
    border-bottom: 1px solid #182882;
    font-size: 21px;
    font-size: 1.3125rem;
    color: #182882; }
    .toggle-title:hover {
      cursor: pointer; }
    .toggle-title:after {
      content: "";
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      display: block;
      width: 25px;
      height: 12px;
      background: url(../img/icon/arrow2.svg) no-repeat; }
    .toggle-title.active {
      background: #f3f4f9;
      border-bottom: 0; }
      .toggle-title.active:after {
        transform: translateY(-50%) rotate(180deg); }
  .toggle-contents {
    display: none;
    padding: 35px 40px;
    border-bottom: 1px solid #182882; }
    .toggle-contents.active {
      display: block; }
    .toggle-contents + .toggle-title {
      margin-top: 100px; }
  @media screen and (max-width: 768px) {
    .toggle {
      margin-bottom: 40px; }
      .toggle-title {
        padding: 10px;
        font-size: 18px;
        font-size: 1.125rem; }
        .toggle-title:after {
          right: 10px;
          width: 20px; }
      .toggle-contents {
        padding: 20px; }
        .toggle-contents + .toggle-title {
          margin-top: 40px; } }

/* btn */
.btn {
  text-align: center;
  margin-bottom: 80px; }
  .btn__link, .btn__link--strong {
    position: relative;
    display: inline-block;
    margin-bottom: 25px;
    padding: 20px 60px 20px 35px;
    padding-top: calc(20px - (((18px * 1.5) - 18px) / 2));
    padding-bottom: calc(20px - (((18px * 1.5) - 18px) / 2));
    background: #f0f0f0;
    color: #182882 !important;
    border-radius: 100px;
    font-size: 18px;
    font-size: 1.125rem;
    font-family: ten-mincho-text, serif;
    font-weight: 400;
    text-align: center; }
    .btn__link:after, .btn__link--strong:after {
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translateY(-50%);
      content: "";
      display: inline-block;
      width: 37px;
      height: 11px;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2037.61%2011.88%22%20width%3D%2237.61%22%20height%3D%2211.88%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23182882%3B}.cls-2{fill%3Anone%3Bstroke%3A%23182882%3Bstroke-miterlimit%3A10%3Bstroke-width%3A0.82px%3B}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2230.46%2011.88%2030.46%200%2037.61%205.94%2030.46%2011.88%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2235.27%22%20y1%3D%225.94%22%20y2%3D%225.94%22%2F%3E%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-size: contain; }
    .btn__link--strong {
      background: #ef1384;
      color: #fff !important; }
      .btn__link--strong:after {
        content: "";
        display: inline-block;
        width: 37px;
        height: 11px;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2037.61%2011.88%22%20width%3D%2237.61%22%20height%3D%2211.88%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23fff%3B}.cls-2{fill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A0.82px%3B}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2230.46%2011.88%2030.46%200%2037.61%205.94%2030.46%2011.88%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2235.27%22%20y1%3D%225.94%22%20y2%3D%225.94%22%2F%3E%3C%2Fsvg%3E");
        background-repeat: no-repeat;
        background-size: contain; }
  @media screen and (max-width: 768px) {
    .btn {
      margin-bottom: 40px; }
      .btn__link, .btn__link--strong {
        margin-bottom: 25px;
        padding: 20px 60px 20px 25px;
        padding-top: calc(20px - (((16px * 1.5) - 16px) / 2));
        padding-bottom: calc(20px - (((16px * 1.5) - 16px) / 2));
        font-size: 16px;
        font-size: 1rem; }
        .btn__link:after, .btn__link--strong:after {
          right: 10px;
          width: 30px; } }

/* link */
.link {
  display: inline-flex;
  align-items: center;
  color: #333 !important; }
  .link:before {
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    margin-right: 5px;
    background: url(../img/icon/icon_link2.svg) no-repeat;
    background-size: contain; }

.access-address {
  padding: 10px;
  background: #736357;
  color: #fff;
  text-align: center;
  font-size: 23px;
  font-size: 1.4375rem; }
.access .googlemap {
  position: relative;
  width: 100%;
  height: 600px;
  overflow: hidden; }
  .access .googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
@media screen and (max-width: 768px) {
  .access {
    /* ---------------------------SP */ }
    .access-address {
      font-size: 18px;
      font-size: 1.125rem; }
    .access .googlemap {
      height: 300px; } }

/*----------------------------------------------------
	top page
----------------------------------------------------*/
.-top .main {
  padding-bottom: 0;
  background: url(../img/share/line.svg) no-repeat;
  background-size: 345px auto;
  background-position: right -120px bottom -20px; }

.mainvisual {
  position: relative;
  display: flex;
  justify-content: flex-end; }
  .mainvisual-text {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: 40px 3%;
    font-family: ten-mincho-text, serif;
    font-weight: 400;
    color: #182882;
    z-index: 100;
    background: #fff;
    box-sizing: border-box; }
    .mainvisual-text__main {
      font-size: 173px;
      font-size: 10.8125rem;
      font-size: 100px;
      font-size: 6.25rem;
      font-size: clamp(100px, 10.8125vw, 173px);
      margin-right: -.6em; }
      @media screen and (max-width: 768px) {
        .mainvisual-text__main {
          font-size: clamp(100px, 21.625vw, 173px); } }
    .mainvisual-text__text {
      font-size: 20px;
      font-size: 1.25rem;
      letter-spacing: 0.05em; }
  .mainvisual-img {
    width: 75%; }
    .mainvisual-img .ri-grid {
      margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .mainvisual-text {
      padding: 20px; }
      .mainvisual-text__main {
        font-size: 56px;
        font-size: 3.5rem; }
      .mainvisual-text__text {
        font-size: 6px;
        font-size: 0.375rem; }
    .mainvisual-img {
      width: 72%; } }

.top-section {
  padding-top: 120px; }
  .top-section-header {
    display: flex;
    align-items: center;
    margin-bottom: calc(55px - (((36px * 1.5) - 36px) / 2)); }
    .top-section-header__title {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      font-family: ten-mincho-text, serif;
      font-weight: 400;
      color: #182882;
      font-size: 36px;
      font-size: 2.25rem;
      letter-spacing: 0.2em; }
      .top-section-header__title:after {
        content: "";
        display: block;
        width: 31px;
        height: 33px;
        background: url(../img/share/line.svg) no-repeat;
        background-size: contain; }
    .top-section-header .btn {
      width: 100%;
      margin: 0;
      text-align: right; }
      .top-section-header .btn__link, .top-section-header .btn__link--strong {
        margin: 0; }
  @media screen and (max-width: 768px) {
    .top-section {
      padding-top: 70px; }
      .top-section-header {
        flex-direction: column;
        align-items: center;
        margin-bottom: calc(40px - (((1rem * 1.5) - 1rem) / 2));
        color: #182882; }
        .top-section-header .btn {
          margin-top: calc(25px - (((1rem * 1.5) - 1rem) / 2));
          text-align: center; } }

.top-message {
  position: relative;
  display: flex;
  align-items: center;
  padding: 18.5714285714vh 0vh 12.8571428571vh 0vh;
  background: #182882;
  background-size: auto 100%;
  color: #fff;
  overflow: hidden; }
  .top-message:before {
    content: "";
    position: absolute;
    top: -90px;
    left: -31%;
    display: block;
    width: 1012px;
    width: 63%;
    padding-top: 110%;
    background: url(../img/share/line.svg) no-repeat;
    background-size: contain; }
  .top-message .contents, .top-message .column-wrap, .top-message .page-title__main {
    display: flex;
    justify-content: flex-end; }
  .top-message-detail {
    width: 700px;
    width: 63%;
    margin-left: calc(100% - 63%);
    box-sizing: border-box;
    padding: 0 9%; }
  .top-message__title {
    margin-bottom: calc(25px - (((40px * 1.5) - 40px) / 2));
    font-size: 40px;
    font-size: 2.5rem;
    text-align: center;
    font-family: ten-mincho-text, serif;
    font-weight: 400;
    letter-spacing: 0.2em; }
  .top-message__headline {
    margin-bottom: calc(50px - (((21px * 1.5) - 21px) / 2));
    font-size: 21px;
    font-size: 1.3125rem;
    text-align: center;
    font-family: ten-mincho-text, serif;
    font-weight: 400;
    letter-spacing: 0.05em; }
  .top-message .btn {
    margin: 35px 0 0; }
    .top-message .btn__link, .top-message .btn__link--strong {
      margin: 0;
      background: none;
      color: #fff !important;
      border: 1px solid #fff; }
      .top-message .btn__link:after, .top-message .btn__link--strong:after {
        content: "";
        display: inline-block;
        width: 37px;
        height: 11px;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2037.61%2011.88%22%20width%3D%2237.61%22%20height%3D%2211.88%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23fff%3B}.cls-2{fill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A0.82px%3B}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2230.46%2011.88%2030.46%200%2037.61%205.94%2030.46%2011.88%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2235.27%22%20y1%3D%225.94%22%20y2%3D%225.94%22%2F%3E%3C%2Fsvg%3E");
        background-repeat: no-repeat;
        background-size: contain; }
  @media screen and (max-width: 768px) {
    .top-message {
      display: block;
      min-height: unset;
      padding: 70px 30px 50px;
      background: #182882 url(../img/share/line.svg) no-repeat;
      background-size: 215px auto;
      background-position: -110px -10px; }
      .top-message:before {
        display: none; }
      .top-message .contents, .top-message .column-wrap, .top-message .page-title__main {
        display: block; }
      .top-message-detail {
        width: auto;
        margin: 0;
        padding: 0; } }

.top-business {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px; }
  .top-business-section {
    width: calc(100% / 2 - 2%); }
    .top-business-section a {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      width: 100%;
      padding-top: 114.2857%;
      border-radius: 7px;
      background-repeat: no-repeat;
      background-size: cover;
      transition: .5s; }
      .top-business-section a:before {
        position: absolute;
        top: 13px;
        font-size: 185px;
        font-size: 11.5625rem;
        font-family: ten-mincho-text, serif;
        font-weight: 400;
        line-height: 1; }
      .top-business-section a:hover {
        opacity: .7; }
    .top-business-section-detail {
      position: absolute;
      bottom: 0;
      display: flex;
      justify-content: space-between;
      width: 100%;
      padding-top: calc(30px - (((30px * 1.5) - 30px) / 2));
      padding-bottom: calc(30px - (((30px * 1.5) - 30px) / 2));
      padding-right: 25px;
      padding-left: 30px;
      border-top: 1px solid #fff;
      color: #fff;
      box-sizing: border-box; }
    .top-business-section__title {
      font-size: 24px;
      font-size: 1.5rem;
      font-family: ten-mincho-text, serif;
      font-weight: 400;
      letter-spacing: 0.05em;
      word-break: keep-all; }
    .top-business-section__text {
      display: flex;
      align-items: center;
      font-family: "Noto Sans JP", sans-serif; }
      .top-business-section__text:after {
        content: "";
        display: inline-block;
        width: 37px;
        height: 11px;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2037.61%2011.88%22%20width%3D%2237.61%22%20height%3D%2211.88%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1{fill%3A%23fff%3B}.cls-2{fill%3Anone%3Bstroke%3A%23fff%3Bstroke-miterlimit%3A10%3Bstroke-width%3A0.82px%3B}%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpolygon%20class%3D%22cls-1%22%20points%3D%2230.46%2011.88%2030.46%200%2037.61%205.94%2030.46%2011.88%22%2F%3E%3Cline%20class%3D%22cls-2%22%20x1%3D%2235.27%22%20y1%3D%225.94%22%20y2%3D%225.94%22%2F%3E%3C%2Fsvg%3E");
        background-repeat: no-repeat;
        background-size: contain;
        margin-left: 5px; }
    .top-business-section.-car a {
      background-image: url(../img/top/img01.png); }
      .top-business-section.-car a:before {
        content: "車";
        left: 25px;
        color: #182882; }
    .top-business-section.-eat a {
      background-image: url(../img/top/img02.png); }
      .top-business-section.-eat a:before {
        content: "食";
        right: 20px;
        color: #fff; }
  @media screen and (max-width: 768px) {
    .top-business {
      display: block;
      margin-bottom: 30px; }
      .top-business-section {
        width: 100%;
        margin-bottom: 15px; }
        .top-business-section a:before {
          top: 13px;
          font-size: 121px;
          font-size: 7.5625rem; }
        .top-business-section-detail {
          display: block;
          padding-top: calc(20px - (((30px * 1.5) - 30px) / 2));
          padding-bottom: calc(20px - (((30px * 1.5) - 30px) / 2));
          padding-right: 15px;
          padding-left: 20px; }
        .top-business-section__title {
          margin-bottom: calc(15px - (((24px * 1.5) - 24px) / 2));
          font-size: 24px;
          font-size: 1.5rem; }
        .top-business-section__text {
          justify-content: space-between; } }

.top-info {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px;
  padding-bottom: 100px; }
  .top-info-item {
    width: calc(100% / 3 - 40px);
    margin: 0 20px 20px;
    border: 1px solid #182882;
    border-radius: 10px;
    font-family: "Noto Sans JP", sans-serif;
    overflow: hidden;
    box-sizing: border-box; }
    .top-info-item a {
      display: block;
      height: 100%;
      color: #182882; }
      .top-info-item a:hover {
        background: #f5f5f5; }
    .top-info-item-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px;
      border-bottom: 1px solid #182882; }
    .top-info-item__cat, .top-info-item__cat--news, .top-info-item__cat--recruit {
      display: inline-block;
      min-width: 85px;
      padding: 8px;
      line-height: 1;
      font-weight: bold;
      text-align: center;
      color: #fff;
      font-size: 14px;
      font-size: 0.875rem;
      border-radius: 4px; }
      .top-info-item__cat--news {
        background: #182882; }
      .top-info-item__cat--recruit {
        background: #ef1384; }
    .top-info-item__date {
      font-size: 14px;
      font-size: 0.875rem; }
    .top-info-item__title {
      padding: 30px; }
  @media screen and (max-width: 768px) {
    .top-info {
      display: block;
      margin: 0;
      padding-bottom: 40px; }
      .top-info-item {
        width: 100%;
        margin: 0 0 20px; }
        .top-info-item a {
          background: #fff; } }

/* footer slider */
.footer-slider {
  display: flex; }

/*----------------------------------------------------
	お知らせ
----------------------------------------------------*/
@media screen and (max-width: 768px) {
  .-news .column-wrap {
    display: flex;
    flex-direction: column; }
    .-news .column-wrap .main {
      order: 1; }
    .-news .column-wrap .pagination {
      order: 2; }
    .-news .column-wrap .aside {
      order: 3; } }

.news-list {
  border-top: 5px solid #182882; }
  .news-list-item {
    border-bottom: 1px solid #182882; }
    .news-list-item a {
      display: flex;
      align-items: center;
      padding: 15px 0;
      color: #182882; }
      .news-list-item a:hover {
        background: #f5f5f5; }
    .news-list-item__date, .entry__date {
      flex-shrink: 0;
      width: 11.25%;
      padding-top: calc(15px - (((1rem * 1.5) - 1rem) / 2));
      padding-bottom: calc(15px - (((1rem * 1.5) - 1rem) / 2));
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: bold;
      text-align: center;
      border-right: 1px solid #182882;
      line-height: 1; }
      .news-list-item__date span, .entry__date span {
        display: block;
        font-size: 14px;
        font-size: 0.875rem;
        font-weight: normal; }
    .news-list-item__cat, .news-list-item__cat--news, .entry__cat--news, .news-list-item__cat--recruit, .entry__cat--recruit {
      flex-shrink: 0;
      display: inline-block;
      min-width: 4em;
      margin: 0 35px;
      padding: 10px 15px;
      padding-top: calc(10px - (((14px * 1.5) - 14px) / 2));
      padding-bottom: calc(10px - (((14px * 1.5) - 14px) / 2));
      font-size: 14px;
      font-size: 0.875rem;
      text-align: center;
      color: #fff;
      border-radius: 4px; }
      .news-list-item__cat--news, .entry__cat--news {
        background: #182882; }
      .news-list-item__cat--recruit, .entry__cat--recruit {
        background: #ef1384; }
  @media screen and (max-width: 768px) {
    .news-list {
      border: 0; }
      .news-list-item {
        border-top: 5px solid #182882;
        border-bottom: 1px solid #182882; }
        .news-list-item a {
          flex-wrap: wrap;
          justify-content: space-between; }
        .news-list-item__date, .entry__date {
          flex-shrink: 0;
          width: auto;
          padding: 0 15px;
          border: 0; }
        .news-list-item__cat, .news-list-item__cat--news, .entry__cat--news, .news-list-item__cat--recruit, .entry__cat--recruit {
          margin: 0 15px;
          padding: 8px 15px; }
        .news-list-item__title {
          width: 100%;
          margin-top: 15px;
          padding: 15px;
          border-top: 1px solid #182882;
          box-sizing: border-box; } }

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 150px 0; }
  .pagination li {
    margin: 0 6px; }
    .pagination li a,
    .pagination li span {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 50px;
      height: 50px;
      border: 1px solid #7273b5;
      color: #7273b5;
      font-size: 24px;
      font-size: 1.5rem;
      border-radius: 100%;
      transition: .3s; }
      .pagination li a:hover,
      .pagination li span:hover {
        opacity: .7; }
    .pagination li span {
      background: #7273b5;
      color: #fff; }
    .pagination li.prev a, .pagination li.next a {
      display: inline-flex;
      width: auto;
      height: auto;
      border: 0;
      color: #182882;
      font-size: 16px;
      font-size: 1rem; }
    .pagination li.prev {
      margin-right: 30px; }
      .pagination li.prev a:before {
        content: "";
        display: block;
        width: 35px;
        height: 35px;
        margin-right: 10px;
        background: url(../img/icon/icon_link.svg) no-repeat;
        background-size: contain;
        transform: rotate(180deg); }
    .pagination li.next {
      margin-left: 30px; }
      .pagination li.next a:after {
        content: "";
        display: block;
        width: 35px;
        height: 35px;
        margin-left: 10px;
        background: url(../img/icon/icon_link.svg) no-repeat;
        background-size: contain; }
  @media screen and (max-width: 768px) {
    .pagination {
      margin: 20px 0 50px; }
      .pagination li {
        margin: 0 6px; }
        .pagination li a,
        .pagination li span {
          width: 25px;
          height: 25px;
          font-size: 14px;
          font-size: 0.875rem; }
        .pagination li span {
          background: #7273b5;
          color: #fff; }
        .pagination li.prev a, .pagination li.next a {
          display: flex;
          align-items: center;
          font-size: 0; }
          .pagination li.prev a:before, .pagination li.next a:before {
            width: 25px;
            height: 25px;
            margin: 0; }
        .pagination li.prev {
          margin-right: 10px; }
          .pagination li.prev a:before {
            width: 25px;
            height: 25px;
            margin-right: 0; }
        .pagination li.next {
          margin-left: 10px; }
          .pagination li.next a:after {
            width: 25px;
            height: 25px;
            margin-left: 0; } }

/* 詳細 */
.entry-header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  padding: 15px 0;
  border-top: 5px solid #182882;
  border-bottom: 1px solid #182882; }
.entry__date {
  order: 1;
  border: 0;
  color: #182882; }
.entry__title {
  order: 2;
  margin: 0;
  padding: 0;
  padding-top: calc(15px - (((30px * 1.5) - 30px) / 2));
  padding-bottom: calc(15px - (((30px * 1.5) - 30px) / 2));
  padding-left: 35px;
  border: 0;
  border-left: 1px solid #182882; }
.entry__cat, .entry__cat--news, .entry__cat--recruit {
  margin: 0; }
.entry-body {
  padding-top: 70px; }
@media screen and (max-width: 768px) {
  .entry__date {
    padding: 0 10px; }
  .entry__title {
    padding-left: 10px;
    font-size: 20px;
    font-size: 1.25rem; }
  .entry-body {
    padding-top: 30px; } }

/*----------------------------------------------------
	business
----------------------------------------------------*/
.business-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 140px;
  font-family: "Noto Sans JP", sans-serif; }
  .business-section:last-child {
    margin-bottom: 0; }
  .business-section .title-l3, .business-section .entry-body h3, .entry-body .business-section h3 {
    width: 100%; }
  .business-section__img {
    width: 50%; }
  .business-section-detail {
    width: 45%; }
  .business-section__headline {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: calc(30px - (((24px * 1.5) - 24px) / 2));
    font-size: 24px;
    font-size: 1.5rem;
    color: #182882; }
  .business-section-shop {
    width: 100%;
    margin-top: 30px;
    border-top: 1px solid #182882; }
    .business-section-shop th, .business-section-shop td {
      padding: 20px 12px;
      padding-top: calc(20px - (((14px * 1.5) - 14px) / 2));
      padding-bottom: calc(20px - (((14px * 1.5) - 14px) / 2));
      border-bottom: 1px solid #182882;
      font-size: 14px;
      font-size: 0.875rem;
      font-weight: normal; }
    .business-section-shop th {
      width: 24%;
      text-align: left;
      vertical-align: top;
      color: #182882; }
@media screen and (max-width: 768px) {
  .business-section {
    display: block;
    margin-bottom: 70px; }
    .business-section:last-child {
      margin-bottom: 50px; }
    .business-section .title-l3, .business-section .entry-body h3, .entry-body .business-section h3 {
      width: auto;
      margin-top: 0; }
    .business-section__img {
      width: auto;
      margin-bottom: 20px;
      text-align: center; }
    .business-section-detail {
      width: auto; }
    .business-section__headline {
      margin-bottom: calc(20px - (((20px * 1.5) - 20px) / 2));
      font-size: 20px;
      font-size: 1.25rem; }
      .business-section__headline img {
        width: 20%; }
    .business-section-shop {
      margin-top: 30px; }
      .business-section-shop th, .business-section-shop td {
        padding: 15px 12px;
        padding-top: calc(15px - (((14px * 1.5) - 14px) / 2));
        padding-bottom: calc(15px - (((14px * 1.5) - 14px) / 2)); }
      .business-section-shop td {
        word-break: keep-all; } }

/*# sourceMappingURL=common.css.map */
