@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.2.0/dist/css/yakuhanjp.min.css");
@import url("https://use.fontawesome.com/releases/v5.6.3/css/all.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
:root {
  --color-primary: #e1d279;
  --color-primary-light: #faf8f4;
  --color-secondary: #5654a2;
  --color-secondary-light: #d3d3f0;
  --color-gray-light: #aaaaaa;
  --color-gray-light02:#e4e3df;
  --color-gray-light03: #808080;
  --color-blue-dark: #004C84;
  --color-blue-light: #F0F7FC;
  --color-green-dark: #3E8408;
  --color-confirm:#F38259;
  --color-danger:#F46183;
}

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, sup, 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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

strong {
  font-weight: 700;
}

body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  background: #fff;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.base {
  background: var(--color-primary-light);
}

@media all and (min-width: 768px) {
  .spOnly {
    display: none;
  }
}

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

@media screen and (max-width: 767px) {
  .spBlock {
    display: block;
  }
}

@media all and (min-width: 768px) {
  .pcBlock {
    display: block;
  }
}

.clearfix {
  zoom: 1;
}
.clearfix::after {
  content: " ";
  height: 0;
  clear: both;
  display: block;
  visibility: hidden;
}

a[href^=https],
a[href^="mailto:"] {
  word-break: break-all;
}

.float_R {
  float: right;
}

.float_L {
  float: left;
}

@media all and (min-width: 768px) {
  .float_R_Pc {
    float: right;
  }
}

@media all and (min-width: 768px) {
  .float_L_Pc {
    float: left;
  }
}

.l-container {
  max-width: 1180px;
  margin: 0 auto;
}
.l-container-right {
  margin: 0 0 0 auto !important;
}
@media screen and (min-width: 1340px) {
  .l-container-right {
    padding-left: 200px;
    max-width: 1180px;
    margin: 0 auto !important;
  }
}
.l-container-m {
  max-width: 600px;
  margin: 0 auto;
}
@media all and (max-width: 1040px) {
  .l-container-m {
    max-width: 100%;
    margin: 0 20px;
  }
}
.l-container-l {
  max-width: 700px;
  margin: 0 auto;
}
@media all and (max-width: 1040px) {
  .l-container-l {
    max-width: 100%;
    margin: 0 20px;
  }
}
.l-container-ll {
  max-width: 900px;
  margin: 0 auto;
}
@media all and (max-width: 1040px) {
  .l-container-ll {
    max-width: 100%;
    margin: 0 20px;
  }
}
.l-container-header {
  max-width: 1180px;
  padding: 0 10px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .l-container-header {
    margin: 0 7px !important;
  }
}
@media screen and (max-width: 767px) {
  .l-container {
    margin: 0 16px !important;
    max-width: inherit;
  }
}
@media screen and (max-width: 1200px) {
  .l-container {
    margin: 0 50px;
    max-width: inherit;
  }
}

@media all and (min-width: 768px) {
  .u-inline {
    display: inline;
  }
  .u-inlineblock {
    display: inline-block;
  }
  .u-flex {
    display: flex;
  }
  .u-flex-wrap {
    flex-wrap: wrap;
  }
  .u-flex-vertical--center {
    align-items: center;
  }
  .u-flex-justify--center {
    justify-content: center;
  }
  .u-flex-justify--space-between {
    justify-content: space-between;
  }
}
.u-text-noto {
  font-family: "Noto Sans JP", sans-serif !important;
}

.link-reset {
  text-decoration: none;
}

.c-link-mail {
  transition: 0.2s all;
  position: relative;
}
.c-link-mail::before {
  content: "";
  width: 0;
  height: 1px;
  background: var(--color-secondary);
  position: absolute;
  left: 0;
  bottom: 0;
  transition: 0.5s all;
}
.c-link-mail a {
  text-decoration: none;
  color: inherit;
}
.c-link-mail:hover {
  color: var(--color-secondary);
}
.c-link-mail:hover::before {
  width: 100%;
  left: 0;
}

body.fix {
  overflow: hidden;
}

.edit-area {
  padding: 3em 0;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .edit-area {
    padding: 1em 0;
    font-size: 1.0625rem;
  }
}

@font-face {
  font-family: "icomoon";
  src: url("fonts/icomoon.eot?i2ra8l");
  src: url("fonts/icomoon.eot?i2ra8l#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?i2ra8l") format("truetype"), url("fonts/icomoon.woff?i2ra8l") format("woff"), url("fonts/icomoon.svg?i2ra8l#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-]::before, [class*=" icon-"]::before, [class^=icon-]::after, [class*=" icon-"]::after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-top:before {
  content: "\e907";
  color: #5655a3;
}

.icon-btn-arrow01:before {
  content: "\e905";
  color: rgb(255, 252, 207);
}

.icon-btn-arrow01::after {
  content: "\e906";
  margin-left: -1.2666015625em;
  color: rgb(0, 0, 0);
}

.icon-arrow:before {
  content: "\e902";
  color: #fff;
}

.icon-mail:before {
  content: "\e903";
}

.icon-public:before {
  content: "\e904";
  color: #4b4b4b;
}

.icon-txt_arrow:before {
  content: "\e900";
  color: rgb(225, 210, 121);
}

.icon-txt_arrow::after {
  content: "\e901";
  margin-left: -1.2080078125em;
  color: rgb(0, 0, 0);
}

header {
  position: relative;
  width: 100%;
}
header .menu-btn {
  position: fixed;
  top: 40px;
  right: 50px;
  z-index: 20;
  transition: 0.5s all;
}
header .menu-btn:hover .menu-btn__inner::before {
  border: 0px transparent;
  background: transparent;
}
header .menu-btn:hover .menu-btn__inner::after {
  background: var(--color-secondary);
}
header .menu-btn:hover .menu-btn__inner .menu-border span {
  background: #fff;
}
header .menu-btn:hover .menu-btn__inner .menu-btn__inner--text {
  color: #fff;
}
@media all and (max-width: 1040px) {
  header .menu-btn {
    top: 20px;
  }
}
header .menu-btn__inner {
  width: 128px;
  height: 128px;
  border-radius: 50vh;
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
header .menu-btn__inner--text {
  color: var(--color-secondary);
  font-size: 0.75rem;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 6px;
  font-weight: 500;
}
header .menu-btn__inner::after {
  content: "";
  border: 2px var(--color-secondary) solid;
  width: 100%;
  height: 100%;
  border-radius: 50vh;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.3s all;
}
header .menu-btn__inner::before {
  content: "";
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border-radius: 50vh;
  left: 7px;
  top: 5px;
  background: var(--color-secondary-light);
  z-index: -1;
}
header .menu-border {
  position: relative;
  /*ボタン内側の基点となるためrelativeを指定*/
  cursor: pointer;
  width: 38px;
  height: 38px;
}
header .menu-border span {
  display: inline-block;
  transition: all 0.3s;
  position: absolute;
  left: 0px;
  height: 3px;
  background: var(--color-secondary);
  width: 100%;
}
header .menu-border span:nth-of-type(1) {
  top: 16px;
}
header .menu-border span:nth-of-type(2) {
  top: 26px;
}
header .menu-border span:nth-of-type(3) {
  top: 36px;
}
header .header-inner {
  position: relative;
  z-index: 11;
  top: 100px;
}

.header-inner {
  opacity: 0;
  visibility: hidden;
  height: 0;
}

#nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  transition: 0.2s all ease-in-out;
}

header.active #nav-overlay {
  background: rgb(86, 84, 162);
  background: linear-gradient(130deg, rgb(86, 84, 162) 0%, rgb(104, 102, 189) 42%, rgb(225, 210, 121) 100%);
  width: 100vw;
  height: 100vh;
  bottom: 0;
  top: initial;
  display: block;
  box-sizing: border-box;
  z-index: 3;
  opacity: 0.95;
}

.header-outer.active .header-inner {
  opacity: 1;
  visibility: visible;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
}
.header-outer.active .header-inner a::-moz-selection, .header-outer.active .header-inner p::-moz-selection {
  background-color: transparent;
  color: inherit;
}
.header-outer.active .header-inner a::selection,
.header-outer.active .header-inner p::selection {
  background-color: transparent;
  color: inherit;
}
.header-outer.active .header-inner__control {
  display: flex;
  flex-direction: column;
  height: 100vh;
  margin: 130px auto 0;
  align-items: center;
  overflow: scroll;
  box-sizing: border-box;
  padding-bottom: 150px;
}
@media all and (max-width: 1040px) {
  .header-outer.active .header-inner__control {
    padding-bottom: 350px;
  }
}
@media screen and (max-width: 767px) {
  .header-outer.active .header-inner__control {
    width: auto;
    padding-bottom: 350px;
    margin: 130px 0 25px 0;
  }
}
.header-outer.active .header-inner__control--item {
  width: 400px;
}
@media screen and (max-width: 767px) {
  .header-outer.active .header-inner__control--item {
    width: 100%;
    padding: 0 20px;
  }
}
.header-outer.active .header-inner__control--item ul li {
  width: 100%;
  margin-bottom: 25px;
}
.header-outer.active .header-inner__control--item ul li a {
  display: block;
  padding: 15px 20px;
  width: 100%;
  font-size: 1.125rem;
}
.header-outer.active .header-inner__control--etc {
  width: 400px;
  font-size: 1.375rem;
}
@media screen and (max-width: 767px) {
  .header-outer.active .header-inner__control--etc {
    width: 100%;
    font-size: 1.125rem;
    padding: 0 20px;
  }
}
.header-outer.active .header-inner__control--etc li {
  margin-bottom: 15px;
}
.header-outer.active .header-inner__control--etc li:last-child a::before {
  color: #a39855 !important;
}
.header-outer.active .header-inner__control--lang {
  padding-left: 0.2em;
  position: relative;
  width: 400px;
}
@media screen and (max-width: 767px) {
  .header-outer.active .header-inner__control--lang {
    width: 100%;
    padding: 0 20px;
  }
}
.header-outer.active .header-inner__control--lang .g-translate {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  transition: 0.3s all;
  left: 20px;
  top: 45px;
  font-size: 0.75rem;
  width: 85%;
}
.header-outer.active .header-inner__control--lang .g-translate__inner {
  position: relative;
}
.header-outer.active .header-inner__control--lang .g-translate__inner::after {
  content: "";
  position: absolute;
  top: -20px;
  left: 15%;
  margin-left: -17px;
  border: 8px solid transparent;
  border-bottom: 17px solid var(--color-secondary);
  z-index: -1;
}
.header-outer.active .header-inner__control--lang .g-translate__inner::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 15%;
  margin-left: -15px;
  border: 6px solid transparent;
  border-bottom: 14px solid #fff;
  z-index: 2;
}
.header-outer.active .header-inner__control--lang .g-translate__inner .triangle::before {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--color-secondary);
  pointer-events: none;
  z-index: 1;
}
.header-outer.active .header-inner__control--lang .g-translate__inner select {
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  font-size: 0.75rem;
  width: 100%;
  padding: 15px 60px 15px 15px;
  color: var(--color-secondary);
  background: #fff;
  border: 1px solid var(--color-secondary);
  font-weight: bold;
  position: relative;
  display: block;
}
.header-outer.active .header-inner__control--lang:hover .g-translate, .header-outer.active .header-inner__control--lang:active .g-translate {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 1040px) {
  .header-outer.active .header-inner__control--lang {
    display: none;
  }
}
.header-outer.active .menu-border span:nth-of-type(1) {
  top: 18px;
  left: 0px;
  transform: translateY(6px) rotate(-45deg);
}
.header-outer.active .menu-border span:nth-of-type(2) {
  opacity: 0;
}
.header-outer.active .menu-border span:nth-of-type(3) {
  top: 30px;
  left: 0px;
  transform: translateY(-6px) rotate(45deg);
}

header {
  box-shadow: 0px 2px 1.96px 0.04px rgba(0, 0, 0, 0.07);
}
header .header-outer {
  padding: 20px 0;
  position: relative;
  z-index: 4;
  background: #fff;
}

.header-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-info__option {
  margin-right: 240px;
}
.header-info__option ul li {
  cursor: pointer;
}
.header-info__option ul li span {
  transition: 0.3s all;
}
.header-info__option ul li:hover .col {
  color: #a39855 !important;
}
.header-info__option ul li:hover .icon-mail,
.header-info__option ul li:hover .icon-public {
  background: #a39855;
}
.header-info__option--language {
  position: relative;
}
.header-info__option--language:hover .g-translate {
  opacity: 1;
  visibility: visible;
  right: 0;
}
.header-info__option--language .g-translate {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  transition: 0.3s all;
  right: 0;
  margin: 15px;
  z-index: 20;
  font-size: 0.75rem;
}
.header-info__option--language .g-translate__inner {
  position: relative;
}
.header-info__option--language .g-translate__inner::after {
  content: "";
  position: absolute;
  top: -21px;
  right: 9%;
  margin-left: -17px;
  border: 8px solid transparent;
  border-bottom: 15px solid var(--color-secondary);
  z-index: -1;
}
.header-info__option--language .g-translate__inner::before {
  content: "";
  position: absolute;
  top: -17px;
  right: 10%;
  margin-left: -15px;
  border: 6px solid transparent;
  border-bottom: 12px solid #fff;
  z-index: 2;
}
.header-info__option--language .g-translate__inner .triangle::before {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--color-secondary);
  pointer-events: none;
  z-index: 1;
}
.header-info__option--language .g-translate__inner select {
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  font-size: 0.75rem;
  padding: 18px 68px 18px 20px;
  color: var(--color-secondary);
  background: #fff;
  border: 1px solid var(--color-secondary);
  font-weight: bold;
  position: relative;
}
.header-info__option--language #google_translate_element2 {
  display: none !important;
}
.header-info__option ul {
  display: flex;
}
.header-info__option ul li:first-child {
  margin-right: 15px;
}
.header-info__option ul li .col {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 0.6875rem;
  color: var(--color-secondary) !important;
}
.header-info__option ul li .col .icon-mail::before {
  font-size: 17px;
}
.header-info__option ul li .col span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-secondary);
  width: 50px;
  height: 50px;
  border-radius: 50vh;
  box-sizing: border-box;
  margin-bottom: 2px;
}
.header-info__option ul li .col span::before {
  font-size: 26px;
  color: #fff;
}
.header-info__heading {
  position: relative;
  z-index: 1;
  text-decoration: none;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .header-info__heading {
    margin-right: 60px;
  }
}
.header-info__heading p {
  line-height: 1.4;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .header-info__heading p {
    font-size: 1.0625rem;
    letter-spacing: -1.6px;
  }
}
.header-info__heading p .ico {
  position: relative;
}
.header-info__heading p .ico::before {
  content: "";
  width: 35px;
  height: 35px;
  background: var(--color-primary);
  position: absolute;
  top: -0.3em;
  right: -18px;
  border-radius: 50vh;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .header-info__heading p .ico::before {
    font-size: 1.0625rem;
    width: 1.5em;
    height: 1.5em;
    top: -0.2em;
    right: -0.8em;
  }
}
.header-info__heading p .ico::after {
  content: "";
  width: 23px;
  height: 23px;
  background: var(--color-secondary);
  position: absolute;
  top: 0.5em;
  right: -28px;
  border-radius: 50vh;
  z-index: -1;
}
@media screen and (max-width: 399px) {
  .header-info__heading p .ico::after {
    top: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .header-info__heading p .ico::after {
    width: 1em;
    height: 1em;
    right: -1em;
  }
}
.header-info__heading p .sub {
  font-size: 1rem;
  letter-spacing: 0.1px;
}
@media screen and (max-width: 767px) {
  .header-info__heading p .sub {
    font-size: 0.6875rem;
  }
}
@media screen and (max-width: 399px) {
  .header-info__heading p .sub {
    display: inline-block;
    margin-top: 4px;
  }
}

@media all and (max-width: 1040px) {
  .header-info__option {
    display: none !important;
  }
  .header-outer.active .menu-border span:nth-of-type(1) {
    top: 4px;
    left: 0px;
    transform: translateY(6px) rotate(-45deg);
  }
  .header-outer.active .menu-border span:nth-of-type(2) {
    opacity: 0;
  }
  .header-outer.active .menu-border span:nth-of-type(3) {
    top: 16px;
    left: 0px;
    transform: translateY(-6px) rotate(45deg);
  }
  .menu-btn {
    right: 15px !important;
  }
  .menu-btn__inner {
    width: 55px !important;
    height: 55px !important;
  }
  .menu-btn__inner--text {
    font-size: 0.5rem !important;
    margin-top: 0 !important;
    line-height: 1;
  }
  .menu-btn__inner::after {
    border: 1px var(--color-secondary) solid !important;
  }
  .menu-btn__inner::before {
    top: 4px !important;
    left: 4px !important;
  }
  .menu-btn__inner .menu-border {
    width: 22px;
    height: 22px;
  }
  .menu-btn__inner .menu-border span {
    height: 2px;
  }
  .menu-btn__inner .menu-border span:nth-of-type(1) {
    top: 4px;
  }
  .menu-btn__inner .menu-border span:nth-of-type(2) {
    top: 10px;
  }
  .menu-btn__inner .menu-border span:nth-of-type(3) {
    top: 16px;
  }
}
footer {
  background: var(--color-gray-light02);
  width: 100%;
}

.footer__etc {
  padding: 30px 0;
  border-bottom: 1px solid #fff;
}
.footer__etc--inner {
  max-width: 800px;
  margin: 0 auto;
  justify-content: center;
  display: flex;
}
@media screen and (max-width: 767px) {
  .footer__etc--inner {
    max-width: 100%;
    display: block;
  }
}
.footer__etc--inner ul {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .footer__etc--inner ul {
    flex-direction: column;
    justify-content: inherit;
    max-width: initial;
  }
}
.footer__etc--inner ul li {
  position: relative;
}
@media all and (min-width: 768px) {
  .footer__etc--inner ul li:not(:last-child)::before {
    content: "";
    width: 1px;
    height: 1em;
    background: var(--color-secondary);
    position: absolute;
    top: 0.4em;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(12deg);
  }
}
@media screen and (max-width: 767px) {
  .footer__etc--inner ul li::before {
    content: "";
    left: 0;
    right: inherit;
    top: 0.8em;
    width: 30px;
    height: 2px;
    background: var(--color-secondary);
    position: absolute;
    transform: initial;
    background: rgb(86, 84, 162);
    background: linear-gradient(86deg, rgb(86, 84, 162) 0%, rgb(225, 210, 121) 100%);
  }
}
.footer__etc--inner ul li a {
  padding: 0 25px;
  text-decoration: none;
  color: #000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: 0.3s all;
  font-weight: 500;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer__etc--inner ul li a {
    display: block;
    padding: 0 25px 0 45px;
    font-size: 1.25rem;
  }
}
.footer__etc--inner ul li a:hover {
  color: var(--color-secondary);
}
.footer__heading {
  padding: 30px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer__heading {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .footer__heading p {
    display: inline-block;
  }
}
.footer__heading--main {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .footer__heading--main {
    font-size: 1.25rem;
  }
}
.footer__heading--mainen {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .footer__heading--mainen {
    font-size: 0.75rem;
  }
}
.footer__info {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 400px) {
  .footer__info {
    flex-direction: column;
    align-items: center;
  }
}
.footer__info--name {
  margin-right: 20px;
  font-size: 1.375rem;
}
@media screen and (max-width: 400px) {
  .footer__info--name {
    margin-right: 0;
  }
}
.footer__info--mail {
  display: flex;
  align-items: center;
  transition: 0.4s all;
}
.footer__info--mail:hover .icon-mail {
  background: var(--color-secondary);
}
.footer__info--mail:hover .icon-mail::before {
  color: #fff;
}
.footer__info--mail .c-link-mail {
  padding-left: 0.3em;
}
.footer__info--mail .icon-mail {
  background: var(--color-primary);
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50vh;
  text-align: center;
  transition: 0.4s all;
  display: inline-block;
  line-height: 1.5rem;
}
.footer__info--mail .icon-mail::before {
  font-size: 0.625rem;
  transition: 0.4s all;
}
.footer__copy {
  color: var(--color-gray-light);
  font-size: 0.625rem;
  padding-bottom: 0.625em;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .footer__copy {
    margin: 0 20px;
  }
}

body {
  font: 16px/1.8 "教科書ICA M", "Kyoukasho ICA Medium", "Noto Sans JP", sans-serif, "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 400;
  letter-spacing: 0.04em;
}

html[lang=zh-CN] body,
html[lang=zh-TW] body {
  font-family: cursive, "Noto Sans JP", sans-serif, "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}

.foS12 {
  font-size: 0.75rem;
  line-height: 1.5;
}

.foS14 {
  font-size: 0.875rem;
  line-height: 1.6;
}

.foM16 {
  font-size: 1rem;
}

.foL20 {
  font-size: 1.25rem;
}

@media screen and (max-width: 767px) {
  .foS12 {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .foS14 {
    font-size: 0.875rem;
    line-height: 1.6;
  }
  .foM16 {
    font-size: 1rem;
  }
  .foL20 {
    font-size: 1.25rem;
  }
}
@media all and (min-width: 768px) {
  .foS12 {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .foS14 {
    font-size: 0.875rem;
    line-height: 1.6;
  }
  .foM16 {
    font-size: 1rem;
  }
  .foL20 {
    font-size: 1.25rem;
  }
}
.u-txt-primary {
  color: var(--color-primary);
}
.u-txt-primary-light {
  color: var(--color-primary-light);
}
.u-txt-secondary {
  color: var(--color-secondary);
}
.u-txt-secondary-light {
  color: var(--color-secondary-light);
}
.u-txt-gray-light {
  color: var(--color-gray-light);
}
.u-txt-gray-light02 {
  color: var(--color-gray-light02);
}
.u-txt-gray-light03 {
  color: var(--color-gray-light03);
}
.u-txt-blue-dark {
  color: var(--color-blue-dark);
}
.u-txt-blue-light {
  color: var(--color-blue-light);
}
.u-txt-green-dark {
  color: var(--color-green-dark);
}
.u-txt-confirm {
  color: var(--color-confirm);
}
.u-txt-danger {
  color: var(--color-danger);
}

.leading12 {
  line-height: 1.2 !important;
}

.leading08 {
  line-height: 0.8 !important;
}

.letter0 {
  letter-spacing: 0;
}

.letter08 {
  letter-spacing: 0.08em;
}

.letter15 {
  letter-spacing: 0.15em;
}

.foMedium {
  font-weight: 500;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
}

.foNormal {
  font-weight: normal;
}

.ma-0 {
  margin: 0rem !important;
}
.mb-0 {
  margin-bottom: 0rem !important;
}
.mt-0 {
  margin-top: 0rem !important;
}
.ml-0 {
  margin-left: 0rem !important;
}
.mr-0 {
  margin-right: 0rem !important;
}

.ma-1 {
  margin: 1rem !important;
}
.mb-1 {
  margin-bottom: 1rem !important;
}
.mt-1 {
  margin-top: 1rem !important;
}
.ml-1 {
  margin-left: 1rem !important;
}
.mr-1 {
  margin-right: 1rem !important;
}

.ma-2 {
  margin: 2rem !important;
}
.mb-2 {
  margin-bottom: 2rem !important;
}
.mt-2 {
  margin-top: 2rem !important;
}
.ml-2 {
  margin-left: 2rem !important;
}
.mr-2 {
  margin-right: 2rem !important;
}

.ma-3 {
  margin: 3rem !important;
}
.mb-3 {
  margin-bottom: 3rem !important;
}
.mt-3 {
  margin-top: 3rem !important;
}
.ml-3 {
  margin-left: 3rem !important;
}
.mr-3 {
  margin-right: 3rem !important;
}

.ma-4 {
  margin: 4rem !important;
}
.mb-4 {
  margin-bottom: 4rem !important;
}
.mt-4 {
  margin-top: 4rem !important;
}
.ml-4 {
  margin-left: 4rem !important;
}
.mr-4 {
  margin-right: 4rem !important;
}

.ma-5 {
  margin: 5rem !important;
}
.mb-5 {
  margin-bottom: 5rem !important;
}
.mt-5 {
  margin-top: 5rem !important;
}
.ml-5 {
  margin-left: 5rem !important;
}
.mr-5 {
  margin-right: 5rem !important;
}

.ma-6 {
  margin: 6rem !important;
}
.mb-6 {
  margin-bottom: 6rem !important;
}
.mt-6 {
  margin-top: 6rem !important;
}
.ml-6 {
  margin-left: 6rem !important;
}
.mr-6 {
  margin-right: 6rem !important;
}

.ma-7 {
  margin: 7rem !important;
}
.mb-7 {
  margin-bottom: 7rem !important;
}
.mt-7 {
  margin-top: 7rem !important;
}
.ml-7 {
  margin-left: 7rem !important;
}
.mr-7 {
  margin-right: 7rem !important;
}

.ma-8 {
  margin: 8rem !important;
}
.mb-8 {
  margin-bottom: 8rem !important;
}
.mt-8 {
  margin-top: 8rem !important;
}
.ml-8 {
  margin-left: 8rem !important;
}
.mr-8 {
  margin-right: 8rem !important;
}

.ma-9 {
  margin: 9rem !important;
}
.mb-9 {
  margin-bottom: 9rem !important;
}
.mt-9 {
  margin-top: 9rem !important;
}
.ml-9 {
  margin-left: 9rem !important;
}
.mr-9 {
  margin-right: 9rem !important;
}

.ma-10 {
  margin: 10rem !important;
}
.mb-10 {
  margin-bottom: 10rem !important;
}
.mt-10 {
  margin-top: 10rem !important;
}
.ml-10 {
  margin-left: 10rem !important;
}
.mr-10 {
  margin-right: 10rem !important;
}

@media all and (min-width: 768px) {
  .ma-0pc {
    margin: 0rem !important;
  }
  .mb-0pc {
    margin-bottom: 0rem !important;
  }
  .mt-0pc {
    margin-top: 0rem !important;
  }
  .ml-0pc {
    margin-left: 0rem !important;
  }
  .mr-0pc {
    margin-right: 0rem !important;
  }
  .ma-1pc {
    margin: 1rem !important;
  }
  .mb-1pc {
    margin-bottom: 1rem !important;
  }
  .mt-1pc {
    margin-top: 1rem !important;
  }
  .ml-1pc {
    margin-left: 1rem !important;
  }
  .mr-1pc {
    margin-right: 1rem !important;
  }
  .ma-2pc {
    margin: 2rem !important;
  }
  .mb-2pc {
    margin-bottom: 2rem !important;
  }
  .mt-2pc {
    margin-top: 2rem !important;
  }
  .ml-2pc {
    margin-left: 2rem !important;
  }
  .mr-2pc {
    margin-right: 2rem !important;
  }
  .ma-3pc {
    margin: 3rem !important;
  }
  .mb-3pc {
    margin-bottom: 3rem !important;
  }
  .mt-3pc {
    margin-top: 3rem !important;
  }
  .ml-3pc {
    margin-left: 3rem !important;
  }
  .mr-3pc {
    margin-right: 3rem !important;
  }
  .ma-4pc {
    margin: 4rem !important;
  }
  .mb-4pc {
    margin-bottom: 4rem !important;
  }
  .mt-4pc {
    margin-top: 4rem !important;
  }
  .ml-4pc {
    margin-left: 4rem !important;
  }
  .mr-4pc {
    margin-right: 4rem !important;
  }
  .ma-5pc {
    margin: 5rem !important;
  }
  .mb-5pc {
    margin-bottom: 5rem !important;
  }
  .mt-5pc {
    margin-top: 5rem !important;
  }
  .ml-5pc {
    margin-left: 5rem !important;
  }
  .mr-5pc {
    margin-right: 5rem !important;
  }
  .ma-6pc {
    margin: 6rem !important;
  }
  .mb-6pc {
    margin-bottom: 6rem !important;
  }
  .mt-6pc {
    margin-top: 6rem !important;
  }
  .ml-6pc {
    margin-left: 6rem !important;
  }
  .mr-6pc {
    margin-right: 6rem !important;
  }
  .ma-7pc {
    margin: 7rem !important;
  }
  .mb-7pc {
    margin-bottom: 7rem !important;
  }
  .mt-7pc {
    margin-top: 7rem !important;
  }
  .ml-7pc {
    margin-left: 7rem !important;
  }
  .mr-7pc {
    margin-right: 7rem !important;
  }
  .ma-8pc {
    margin: 8rem !important;
  }
  .mb-8pc {
    margin-bottom: 8rem !important;
  }
  .mt-8pc {
    margin-top: 8rem !important;
  }
  .ml-8pc {
    margin-left: 8rem !important;
  }
  .mr-8pc {
    margin-right: 8rem !important;
  }
  .ma-9pc {
    margin: 9rem !important;
  }
  .mb-9pc {
    margin-bottom: 9rem !important;
  }
  .mt-9pc {
    margin-top: 9rem !important;
  }
  .ml-9pc {
    margin-left: 9rem !important;
  }
  .mr-9pc {
    margin-right: 9rem !important;
  }
  .ma-10pc {
    margin: 10rem !important;
  }
  .mb-10pc {
    margin-bottom: 10rem !important;
  }
  .mt-10pc {
    margin-top: 10rem !important;
  }
  .ml-10pc {
    margin-left: 10rem !important;
  }
  .mr-10pc {
    margin-right: 10rem !important;
  }
}
@media screen and (max-width: 767px) {
  .ma-0sp {
    margin: 0rem !important;
  }
  .mb-0sp {
    margin-bottom: 0rem !important;
  }
  .mt-0sp {
    margin-top: 0rem !important;
  }
  .ml-0sp {
    margin-left: 0rem !important;
  }
  .mr-0sp {
    margin-right: 0rem !important;
  }
  .ma-1sp {
    margin: 1rem !important;
  }
  .mb-1sp {
    margin-bottom: 1rem !important;
  }
  .mt-1sp {
    margin-top: 1rem !important;
  }
  .ml-1sp {
    margin-left: 1rem !important;
  }
  .mr-1sp {
    margin-right: 1rem !important;
  }
  .ma-2sp {
    margin: 2rem !important;
  }
  .mb-2sp {
    margin-bottom: 2rem !important;
  }
  .mt-2sp {
    margin-top: 2rem !important;
  }
  .ml-2sp {
    margin-left: 2rem !important;
  }
  .mr-2sp {
    margin-right: 2rem !important;
  }
  .ma-3sp {
    margin: 3rem !important;
  }
  .mb-3sp {
    margin-bottom: 3rem !important;
  }
  .mt-3sp {
    margin-top: 3rem !important;
  }
  .ml-3sp {
    margin-left: 3rem !important;
  }
  .mr-3sp {
    margin-right: 3rem !important;
  }
  .ma-4sp {
    margin: 4rem !important;
  }
  .mb-4sp {
    margin-bottom: 4rem !important;
  }
  .mt-4sp {
    margin-top: 4rem !important;
  }
  .ml-4sp {
    margin-left: 4rem !important;
  }
  .mr-4sp {
    margin-right: 4rem !important;
  }
  .ma-5sp {
    margin: 5rem !important;
  }
  .mb-5sp {
    margin-bottom: 5rem !important;
  }
  .mt-5sp {
    margin-top: 5rem !important;
  }
  .ml-5sp {
    margin-left: 5rem !important;
  }
  .mr-5sp {
    margin-right: 5rem !important;
  }
  .ma-6sp {
    margin: 6rem !important;
  }
  .mb-6sp {
    margin-bottom: 6rem !important;
  }
  .mt-6sp {
    margin-top: 6rem !important;
  }
  .ml-6sp {
    margin-left: 6rem !important;
  }
  .mr-6sp {
    margin-right: 6rem !important;
  }
  .ma-7sp {
    margin: 7rem !important;
  }
  .mb-7sp {
    margin-bottom: 7rem !important;
  }
  .mt-7sp {
    margin-top: 7rem !important;
  }
  .ml-7sp {
    margin-left: 7rem !important;
  }
  .mr-7sp {
    margin-right: 7rem !important;
  }
  .ma-8sp {
    margin: 8rem !important;
  }
  .mb-8sp {
    margin-bottom: 8rem !important;
  }
  .mt-8sp {
    margin-top: 8rem !important;
  }
  .ml-8sp {
    margin-left: 8rem !important;
  }
  .mr-8sp {
    margin-right: 8rem !important;
  }
  .ma-9sp {
    margin: 9rem !important;
  }
  .mb-9sp {
    margin-bottom: 9rem !important;
  }
  .mt-9sp {
    margin-top: 9rem !important;
  }
  .ml-9sp {
    margin-left: 9rem !important;
  }
  .mr-9sp {
    margin-right: 9rem !important;
  }
  .ma-10sp {
    margin: 10rem !important;
  }
  .mb-10sp {
    margin-bottom: 10rem !important;
  }
  .mt-10sp {
    margin-top: 10rem !important;
  }
  .ml-10sp {
    margin-left: 10rem !important;
  }
  .mr-10sp {
    margin-right: 10rem !important;
  }
}
.pa-0 {
  padding: 0rem !important;
}
.pb-0 {
  padding-bottom: 0rem !important;
}
.pt-0 {
  padding-top: 0rem !important;
}
.pl-0 {
  padding-left: 0rem !important;
}
.pr-0 {
  padding-right: 0rem !important;
}

.pa-1 {
  padding: 1rem !important;
}
.pb-1 {
  padding-bottom: 1rem !important;
}
.pt-1 {
  padding-top: 1rem !important;
}
.pl-1 {
  padding-left: 1rem !important;
}
.pr-1 {
  padding-right: 1rem !important;
}

.pa-2 {
  padding: 2rem !important;
}
.pb-2 {
  padding-bottom: 2rem !important;
}
.pt-2 {
  padding-top: 2rem !important;
}
.pl-2 {
  padding-left: 2rem !important;
}
.pr-2 {
  padding-right: 2rem !important;
}

.pa-3 {
  padding: 3rem !important;
}
.pb-3 {
  padding-bottom: 3rem !important;
}
.pt-3 {
  padding-top: 3rem !important;
}
.pl-3 {
  padding-left: 3rem !important;
}
.pr-3 {
  padding-right: 3rem !important;
}

.pa-4 {
  padding: 4rem !important;
}
.pb-4 {
  padding-bottom: 4rem !important;
}
.pt-4 {
  padding-top: 4rem !important;
}
.pl-4 {
  padding-left: 4rem !important;
}
.pr-4 {
  padding-right: 4rem !important;
}

.pa-5 {
  padding: 5rem !important;
}
.pb-5 {
  padding-bottom: 5rem !important;
}
.pt-5 {
  padding-top: 5rem !important;
}
.pl-5 {
  padding-left: 5rem !important;
}
.pr-5 {
  padding-right: 5rem !important;
}

.pa-6 {
  padding: 6rem !important;
}
.pb-6 {
  padding-bottom: 6rem !important;
}
.pt-6 {
  padding-top: 6rem !important;
}
.pl-6 {
  padding-left: 6rem !important;
}
.pr-6 {
  padding-right: 6rem !important;
}

.pa-7 {
  padding: 7rem !important;
}
.pb-7 {
  padding-bottom: 7rem !important;
}
.pt-7 {
  padding-top: 7rem !important;
}
.pl-7 {
  padding-left: 7rem !important;
}
.pr-7 {
  padding-right: 7rem !important;
}

.pa-8 {
  padding: 8rem !important;
}
.pb-8 {
  padding-bottom: 8rem !important;
}
.pt-8 {
  padding-top: 8rem !important;
}
.pl-8 {
  padding-left: 8rem !important;
}
.pr-8 {
  padding-right: 8rem !important;
}

.pa-9 {
  padding: 9rem !important;
}
.pb-9 {
  padding-bottom: 9rem !important;
}
.pt-9 {
  padding-top: 9rem !important;
}
.pl-9 {
  padding-left: 9rem !important;
}
.pr-9 {
  padding-right: 9rem !important;
}

.pa-10 {
  padding: 10rem !important;
}
.pb-10 {
  padding-bottom: 10rem !important;
}
.pt-10 {
  padding-top: 10rem !important;
}
.pl-10 {
  padding-left: 10rem !important;
}
.pr-10 {
  padding-right: 10rem !important;
}

.index-heading2 h2 {
  font-size: 2.5rem;
  display: inline-block;
  position: relative;
  padding: 5px 80px 5px 5px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .index-heading2 h2 {
    font-size: 1.75rem;
  }
}
.index-heading2 h2::before {
  content: "";
  background: rgb(86, 84, 162);
  background: linear-gradient(86deg, rgb(86, 84, 162) 0%, rgb(225, 210, 121) 100%);
  width: 70px;
  height: 2px;
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
}

.page-heading {
  background: url("../images/bg_page_heading.jpg") no-repeat;
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
}
.page-heading::before {
  content: "";
  position: absolute;
  z-index: -1;
  opacity: 0.2;
  width: 100%;
  height: 100%;
  background: rgb(86, 84, 162);
  background: linear-gradient(86deg, rgb(86, 84, 162) 0%, rgb(104, 102, 189) 42%, rgb(225, 210, 121) 100%);
}
.page-heading__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.page-heading__inner--txt {
  font-size: 2.375rem;
  padding: 40px 10px;
  position: relative;
  z-index: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .page-heading__inner--txt {
    font-size: 1.75rem;
  }
}

.page-news-heading {
  padding: 40px 0 20px;
}
@media screen and (max-width: 767px) {
  .page-news-heading {
    padding: 20px 0 10px;
  }
}
.page-news-heading__time {
  color: #bea720;
  position: relative;
  padding-left: 80px;
}
.page-news-heading__time::before {
  content: "";
  left: 0;
  top: 0.8em;
  width: 70px;
  height: 2px;
  transform: initial;
  background: #5654a2;
  background: linear-gradient(86deg, #5654a2 0%, #e1d279 100%);
  position: absolute;
}
.page-news-heading__txt {
  font-size: 1.5rem;
  font-weight: 500;
  border-bottom: 5px solid var(--color-primary);
  padding: 0.3em 0 1em;
}

.h2_title01 {
  padding: 15px;
  border-top: 5px solid var(--color-secondary);
  border-bottom: 1px solid #e1e1e1;
  font-size: 1.5rem;
  margin: 1em 0;
}
@media screen and (max-width: 767px) {
  .h2_title01 {
    font-size: 1.25rem;
  }
}

.h3_title01 {
  position: relative;
  padding: 1.25rem 2.4rem;
  margin: 0.5em 0;
  font-size: 1.1875rem;
  border-bottom: #e4e4e4 2px solid;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .h3_title01 {
    font-size: 1.125rem;
  }
}
.h3_title01::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: var(--color-secondary);
  position: absolute;
  top: 1.25em;
  left: 5px;
  border-radius: 50vh;
  z-index: 1;
}
.h3_title01::after {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: var(--color-primary);
  position: absolute;
  top: 1.8em;
  left: 0px;
  border-radius: 50vh;
  z-index: 0s;
}

.base_round_white,
.base_round_yellow {
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .base_round_white,
  .base_round_yellow {
    padding: 20px 18px;
  }
}
@media all and (min-width: 768px) {
  .base_round_white,
  .base_round_yellow {
    padding: 25px 35px;
  }
}
@media screen and (max-width: 767px) {
  .base_round_white.thin,
  .base_round_yellow.thin {
    padding: 15px;
  }
}
@media all and (min-width: 768px) {
  .base_round_white.thin,
  .base_round_yellow.thin {
    padding: 15px 20px;
  }
}
@media screen and (max-width: 767px) {
  .base_round_white.wide,
  .base_round_yellow.wide {
    padding: 20px 25px;
  }
}
@media all and (min-width: 768px) {
  .base_round_white.wide,
  .base_round_yellow.wide {
    padding: 30px 60px;
  }
}

.base_round_white,
.base_round_yellow {
  border-radius: 15px;
}

.base_round_white {
  background: #fff;
}

.base_round_yellow {
  background: var(--color-gray-light02);
}

.base_corner_gray_border {
  background: #fff;
  border: solid 6px var(--color-gray-light02);
}

table {
  border: solid var(--color-gray-light02) 1px;
}
table th {
  padding: 8px 10px;
  border: solid var(--color-gray-light02) 1px;
  vertical-align: middle;
  text-align: left;
}
@media all and (min-width: 768px) {
  table th {
    padding: 12px 15px;
  }
}
table td {
  padding: 8px 10px;
  border: solid var(--color-gray-light02) 1px;
  vertical-align: top;
}
@media all and (min-width: 768px) {
  table td {
    padding: 12px 15px;
  }
}
table td.td_vertical_middle {
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  table.thin th, table.thin td {
    padding: 5px !important;
  }
}
@media all and (min-width: 768px) {
  table.thin th, table.thin td {
    padding: 8px !important;
  }
}

table .gray_pale {
  background: var(--color-gray-light02);
}

table .yellow_pale {
  background: var(--color-gray-light02);
}

table .td_valign_top {
  vertical-align: top;
}

table .td_valign_middle {
  vertical-align: middle;
}

.c-btn {
  text-decoration: none;
  color: inherit;
  display: block;
  transition: 0.3s all ease;
  box-sizing: border-box;
  cursor: pointer;
}
.c-btn a {
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
  transition: 0.3s all ease;
  cursor: pointer;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-btn-box {
  position: relative;
  padding: 16px 40px;
  z-index: 1;
  color: #fff;
  text-decoration: none;
  z-index: 1;
  box-sizing: border-box;
  display: block;
  cursor: pointer;
}
.c-btn-box__inner {
  letter-spacing: 0.1em;
  position: relative;
}
.c-btn-box__inner .icon-arrow {
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  transition: 0.5s all ease;
}
.c-btn-box:hover .icon-arrow {
  right: -55px;
}
.c-btn-box::before {
  background: rgb(72, 70, 139);
  background: linear-gradient(86deg, rgb(72, 70, 139) 0%, rgb(97, 95, 185) 100%);
  position: absolute;
  left: 6px;
  top: 5px;
  width: 100%;
  height: 100%;
  display: block;
  box-sizing: border-box;
  content: "";
  z-index: -1;
  opacity: 0.85;
}
.c-btn-box::after {
  border: 2px solid #fff;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  display: block;
  box-sizing: border-box;
  content: "";
  z-index: -1;
}
.c-btn-txt a {
  position: relative;
  padding: 0 1em 0 0;
  box-sizing: border-box;
}
.c-btn-txt a:hover {
  color: var(--color-secondary);
}
.c-btn-txt a:hover .icon-txt_arrow::before {
  color: var(--color-secondary);
}
.c-btn-txt a:hover .icon-txt_arrow::after {
  color: #fff;
}
.c-btn-txt a span {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.c-btn-txt a span::before,
.c-btn-txt a span ::after {
  transition: 0.3s all ease;
  display: inline-block;
}
.c-btn-list {
  display: inline-block;
  background: var(--color-primary);
  position: relative;
  box-sizing: border-box;
  padding: 30px 60px;
}
.c-btn-list .icon-btn-arrow01 {
  transition: 0.3s all;
}
.c-btn-list:hover {
  background: #d2b927;
}
.c-btn-list:hover .icon-btn-arrow01 {
  transform: translateX(13px);
}
.c-btn-list span {
  transform: translateX(10px);
}
.c-btn-list::after {
  content: "";
  position: absolute;
  top: 5px;
  right: -5px;
  width: 1px;
  height: 100%;
  background-color: var(--color-primary);
  transition: 0.2s ease 0.2s;
}
.c-btn-list::before {
  content: "";
  position: absolute;
  bottom: -5px;
  right: -5px;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
  transition: 0.2s ease 0s;
}
.c-btn-output {
  border: 1px solid rgb(86, 84, 162);
  -o-border-image: linear-gradient(86deg, rgb(86, 84, 162) 0%, rgb(225, 210, 121) 100%);
     border-image: linear-gradient(86deg, rgb(86, 84, 162) 0%, rgb(225, 210, 121) 100%);
  border-image-slice: 1;
  box-sizing: border-box;
  background: #fff;
  transition: 0.4s all;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-btn-output::before {
  content: "";
  transition: 0.8s;
  width: 0%;
  left: 0;
  top: 0;
  position: absolute;
}
.c-btn-output::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #b80000;
  opacity: 0;
  transition: 0.5s;
  color: #fff;
}
.c-btn-output:hover {
  background: var(--color-secondary-light);
}
.c-btn-header {
  display: block;
  border: 1px solid #fff;
  padding: 4px 20px;
  text-align: center;
  color: #fff;
}
.c-btn-header:hover {
  background: var(--color-secondary);
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5);
}
.c-btn-headetc {
  padding-left: 10px;
  position: relative;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0em 1em 0em 2em;
}
.c-btn-headetc::after {
  position: absolute;
  left: 10px;
  margin-left: 0 !important;
  font-size: 1rem;
  color: #fff !important;
}
.c-btn-headetc::before {
  content: "";
  position: absolute;
  left: 0px;
  font-size: 1.4375rem;
  color: #a7a7c3 !important;
}
.c-btn-lang {
  padding-left: 10px;
  position: relative;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0em 1em 0em 2em;
}
@media all and (max-width: 1040px) {
  .c-btn-lang {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .c-btn-lang {
    font-size: 1.25rem;
  }
}
.c-btn-lang::before {
  content: "";
  position: absolute;
  left: 0px;
  font-size: 16px !important;
  color: #a7a7c3 !important;
  background: var(--color-secondary);
  font-size: 13px;
  padding: 5px;
  border-radius: 50vh;
}
.c-btn-home {
  position: relative;
  display: inline-block;
  background: #fff;
  border: 1px solid var(--color-secondary);
  padding: 18px 100px;
  font-weight: 500;
  color: var(--color-secondary);
  font-size: 1.25rem;
}
.c-btn-home:hover {
  background: var(--color-secondary-light);
}
.c-btn-home:hover::before {
  width: 0;
}
.c-btn-home:hover::after {
  height: 0;
}
.c-btn-home:hover span::after {
  color: #fff;
}
.c-btn-home::after {
  content: "";
  position: absolute;
  top: 7px;
  right: -7px;
  width: 1px;
  height: 100%;
  background-color: var(--color-secondary);
  transition: 0.2s ease 0.2s;
}
.c-btn-home::before {
  content: "";
  position: absolute;
  bottom: -7px;
  right: -7px;
  width: 100%;
  height: 1px;
  background-color: var(--color-secondary);
  transition: 0.2s ease 0s;
}
.c-btn-home span {
  position: relative;
  padding-left: 1.8em;
}
.c-btn-home span::after, .c-btn-home span::before {
  position: absolute;
}
.c-btn-home span::after {
  content: "\e900";
  font-family: "icomoon";
  color: var(--color-secondary-light);
  top: 50%;
  transform: translateY(-50%);
  left: 0em;
}
.c-btn-home span::before {
  content: "\e901";
  font-family: "icomoon";
  left: 0.3em;
  top: 0.2em;
  z-index: 1;
  transform: scale(-1, 1);
  line-height: 1;
}
.c-btn-confirm {
  background: var(--color-confirm);
  color: #fff;
  padding: 15px 10px;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1rem;
  display: inline-block;
  margin: 5px 5px 5px 0px;
  position: relative;
}
.c-btn-confirm:hover {
  opacity: 0.8;
}
.c-btn-confirm:disabled {
  background: rgba(0, 0, 0, 0.5);
}
.c-btn-cancel {
  background: var(--color-gray-light03);
  color: #fff;
  padding: 15px 10px;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1rem;
  display: inline-block;
  margin: 5px 5px 5px 0px;
}
.c-btn-cancel:hover {
  opacity: 0.8;
}
.c-btn-simple {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  background: var(--color-secondary);
  padding: 1.2em 2em 1.3em 1.6em;
  font-weight: 500;
  border-radius: 3px;
  margin: 5px;
  position: relative;
}
.c-btn-simple:hover {
  background: #494794;
}
.c-btn-simple::after {
  content: "\e901";
  font-family: "icomoon";
  padding-left: 0.4em;
  font-weight: bold;
  font-size: 18px;
  transition: 0.2s all;
  position: absolute;
  right: 0em;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}

.pagetop {
  position: fixed;
  z-index: 10;
  right: 25px;
  display: block;
  bottom: 120px;
}
.pagetop a {
  text-decoration: none;
  position: relative;
  z-index: 1;
  display: block;
}
.pagetop a::before {
  background: var(--color-secondary-light);
  width: 60px;
  height: 60px;
  content: "";
  position: absolute;
  right: 5px;
  top: 10px;
  z-index: -1;
  border-radius: 50vh;
}
@media screen and (max-width: 767px) {
  .pagetop a::before {
    width: 40px;
    height: 40px;
  }
}
.pagetop a .icon-top::before {
  font-size: 60px;
}
@media screen and (max-width: 767px) {
  .pagetop a .icon-top::before {
    font-size: 40px;
  }
}

.link_btn {
  display: inline-block;
  padding: 1em 2em 1em 1em;
  text-decoration: none;
  margin: 5px;
  transition: 0.2s all;
  position: relative;
  margin: 0 5px 10px 0;
  box-sizing: border-box;
  background: #fff;
  border: 2px solid var(--color-primary);
  cursor: pointer;
  color: inherit;
}
.link_btn:hover {
  background: var(--color-primary);
}
.link_btn:hover::after {
  color: var(--color-primary-light);
}
.link_btn::after, .link_btn::before {
  position: absolute;
  transition: 0.2s all;
}
.link_btn::after {
  content: "\e900";
  font-family: "icomoon";
  color: var(--color-primary);
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
}
.link_btn::before {
  content: "\e901";
  font-family: "icomoon";
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

/*------------------------------------------------------ ボタンカラー*/
/* サブ */
.link_btn.link_btn-secondary {
  background: #fff;
  border: 2px solid var(--color-secondary);
}
.link_btn.link_btn-secondary::before {
  color: #000;
}
.link_btn.link_btn-secondary::after {
  color: #dbdbf0;
}
.link_btn.link_btn-secondary:hover {
  background: var(--color-secondary);
  color: #fff;
}

/* サブ03 */
.link_btn.link_btn-dark {
  background: #fff;
  border: 2px solid #b3b3b3;
}
.link_btn.link_btn-dark::after {
  color: #eee;
}
.link_btn.link_btn-dark::before {
  color: #000;
}
.link_btn.link_btn-dark:hover {
  background: #b3b3b3;
}
.link_btn.link_btn-dark:hover::after {
  color: #fff;
}

/*------------------------------------------------------ ボタンサイズ*/
/* 大 */
.link_btn.link_btn-large,
.link_btn.link_btn-large {
  font-size: 1.25rem;
  display: block;
}

.link_btn.link_btn-large,
.link_btn.link_btn-large {
  font-size: 1.25rem;
}

/* 小 */
.link_btn.link_btn-small,
.link_btn.link_btn-small {
  font-size: 0.75rem;
}

.link_btn.link_btn-small,
.link_btn.link_btn-small {
  font-size: 0.75rem;
}
.link_btn.link_btn-small::before, .link_btn.link_btn-small::after,
.link_btn.link_btn-small::before,
.link_btn.link_btn-small::after {
  font-size: 0.875rem;
  right: 5px;
}

/* ------------------------------PDFマーク */
.txtLink01-pdf {
  padding-left: 30px;
  background: url(../common/ico_pdf01.png) no-repeat left center;
  background-size: 19px auto;
}

/* ------------------------------ダウンロードマーク */
.txtLink01-dl {
  padding-left: 30px;
  background: url(../common/ico_dl01.png) no-repeat left center;
  background-size: 19px auto;
}

/* ------------------------------WORDマーク */
.txtLink01-word {
  padding-left: 30px;
  background: url(../common/ico_word01.png) no-repeat left center;
  background-size: 19px auto;
}

/* ------------------------------EXCELマーク */
.txtLink01-excel {
  padding-left: 30px;
  background: url(../common/ico_excel01.png) no-repeat left center;
  background-size: 19px auto;
}

/* ------------------------------PowerPointマーク */
.txtLink01-power {
  padding-left: 30px;
  background: url(../common/ico_power01.png) no-repeat left center;
  background-size: 19px auto;
}

/* ボタン・リンク END  =============================================================== */
/* ==========================================================================
太字
========================================================================== */
.edit-area strong,
.cke_editable strong {
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
}

/* ==========================================================================
リスト
========================================================================== */
.edit-area ol,
.edit-area ul,
.cke_editable ol,
.cke_editable ul,
.list_style {
  position: relative;
}

.edit-area ol,
.cke_editable ol {
  counter-reset: item;
  list-style-type: none;
  margin-left: 0;
}

.edit-area ol li,
.cke_editable ol li {
  list-style-type: none;
  margin-bottom: 5px;
  position: relative !important;
  padding: 4px 0 4px 30px;
}

.edit-area ol li:before,
.cke_editable ol li:before {
  counter-increment: item;
  content: counter(item) ".";
  display: block;
  position: absolute;
  top: 0.4em;
  left: 0;
  font-weight: bold;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  font-size: 1rem;
  /* 14px */
}

.edit-area ul li,
.cke_editable ul li {
  list-style-type: none;
  margin-bottom: 5px;
  padding-left: 1.5em;
  position: relative;
}

.edit-area ul li:before,
.cke_editable ul li:before,
.list_style li:before {
  content: "";
  box-sizing: border-box;
  display: inline-block;
  height: 1em;
  width: 1em;
  border-radius: 100%;
  background: var(--color-secondary);
  position: absolute;
  top: 0.4em;
  left: 0;
}

/* リスト END  =============================================================== */
/* ==========================================================================
テーブル※適宜変更してください。
========================================================================== */
.cke_editable th,
.edit-area table th {
  background: var(--color-secondary-light);
  border: 1px solid #fff !important;
  word-break: break-all;
}

.cke_editable table td,
.edit-area table td,
.cke_editable table th,
.edit-area table th {
  padding: 10px;
  border: 1px solid #d5d5d5;
  word-break: break-all;
}

/* テーブル END  =============================================================== */
/* ==========================================================================
　画像
========================================================================== */
.cke_editable img,
img {
  max-width: 100%;
  height: auto !important;
  vertical-align: bottom;
}

.newsImg03,
.newsImg02,
.newsImg01 {
  margin: 10px 0;
}

.newsImg03 ul,
.newsImg02 ul,
.newsImg01 ul {
  margin: 0;
}

@media all and (min-width: 768px) {
  .newsImg03 ul,
  .newsImg02 ul {
    display: flex;
    justify-content: space-between;
  }
  .newsImg03 ul li {
    width: calc(33.3333333333% - 10px);
  }
  .newsImg02 ul li {
    width: calc(50% - 10px);
  }
}
.newsImg03 ul li,
.newsImg02 ul li,
.newsImg01 ul li {
  list-style: none !important;
  text-align: center;
  padding: 0;
}

.newsImg03 ul li:before,
.newsImg02 ul li:before,
.newsImg01 ul li:before {
  display: none !important;
}

/* ------------------------------------------------------------絵文字 */
.ico_20 {
  width: 20px;
  height: 20px;
  padding: 0 4px;
  vertical-align: middle;
  margin-bottom: 3px;
}

/* 画像 END  =============================================================== */
/* ==========================================================================
囲い
========================================================================== */
.div_info01 {
  padding: 30px;
  margin: 15px 0;
  background: #dbdbf0;
}
@media screen and (max-width: 767px) {
  .div_info01 {
    padding: 20px;
  }
}

.div_info02 {
  padding: 30px;
  margin: 15px 0;
  background: #f5f4f0;
  border: 3px solid #c2c1bf;
}

.div_info03 {
  padding: 30px;
  margin: 15px 0;
  background: #fff;
  border: 3px solid #c2c1bf;
}

/* 囲い END  =============================================================== */
/* ==========================================================================
　境界線
========================================================================== */
hr.div_hr01 {
  display: block;
  margin: 15px 0;
  border: none;
  border-bottom: dashed 1px #CFCFCF;
}

/*管理画面側*/
.cke_editable .ckeditor_divline {
  background: url(../common/ckeditor_divline.gif) no-repeat;
}

/* 境界線 END  =============================================================== */
/* ==========================================================================
ckエディター
========================================================================== */
/*------------------------------------------------------------ニュース表示(日付)*/
/*黒*/
.day-color01 {
  color: #000000;
}

/*赤*/
.day-color02 {
  color: #e03e3e;
}

/*青*/
.day-color03 {
  color: #005692;
}

/*緑*/
.day-color04 {
  color: #099809;
}

/*ピンク*/
.day-color05 {
  color: #E77BE6;
}

/*グレー*/
.day-color06 {
  color: #666666;
}

/*太字*/
.day-bold {
  font-weight: bold;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
}

/*-----------------------------------------------------------ニュース表示(タイトル)*/
.title-size-small {
  font-size: 0.8125rem;
}

.title-size-middle {
  font-size: 0.9375rem;
}

.title-size-big {
  font-size: 1.25rem;
}

.title-color01 {
  color: #000000;
}

.title-color02 {
  color: #e03e3e;
}

.title-color03 {
  color: #005692;
}

.title-color04 {
  color: #099809;
}

.title-color05 {
  color: #E77BE6;
}

.title-color06 {
  color: #666666;
}

.title-bold {
  font-weight: bold;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
}

/*-----------------------------------------------------------文字サイズ*/
span.op_large {
  text-decoration: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  span.op_large {
    font-size: 1.375rem;
  }
}

span.op_large02 {
  text-decoration: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  font-size: 1.75rem;
}
@media screen and (max-width: 767px) {
  span.op_large02 {
    font-size: 1.5rem;
  }
}

span.op_mideamu {
  text-decoration: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  font-size: 1.125rem;
}

span.op_small {
  display: inline-block;
  line-height: 1.8;
  text-decoration: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  font-size: 0.75rem;
}

/*-----------------------------------------------------------文字の下付上付*/
sub {
  font-size: 75.5%;
  vertical-align: bottom;
}

sup {
  font-size: 75.5%;
  vertical-align: top;
}

/*-----------------------------------------------------------他装飾*/
.g-map {
  width: 100% !important;
}

.cke_editable .ckeditor_divline {
  background: url(../images/ckeditor_divline.gif) no-repeat;
}

/*ソーシャルボタン領域*/
.detail_news_social {
  display: flex;
  justify-content: flex-end;
  margin-top: 5px;
  margin-bottom: 5px;
}

.detail_news_social ul {
  display: flex;
  justify-content: center;
  margin-left: 0 !important;
}

.detail_news_social ul {
  margin-left: 10px !important;
  list-style: none !important;
}
.detail_news_social ul:first-child {
  margin-left: 0 !important;
}

.detail_news_social::after {
  display: none;
}

.detail_news_social a {
  vertical-align: bottom;
  display: inline-block;
  width: 34px;
  height: 34px;
  margin-right: 5px;
  background: #1a63ac url("../images/logo_fb01.png") no-repeat center;
  background-size: auto 18px;
  border-radius: 100px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  transition: 0.1s ease;
}

.detail_news_social a.tw {
  background: #57aae8 url("../images/logo_tw01.png") no-repeat center;
  background-size: auto 15px;
}

.detail_news_social a.line {
  background: #00b900 url("../images/logo_line02.png") no-repeat center;
  background-size: auto 20px;
}

.detail_news_social a:hover {
  transform: scale(1.1);
}

/*ソーシャルボタン領域END*/
/* ckエディター END  =============================================================== */
/* ==========================================================================
  Youtube
========================================================================== */
/* テキスト END  =============================================================== */
/* ==========================================================================
  テキスト
========================================================================== */
/* ------------------------------------------------------------ テキストインデント */
.text_mark {
  margin-left: 1em;
  text-indent: -1em;
}

.text_marks {
  margin-left: 0.857em;
  text-indent: -0.857em;
}

/* ------------------------------------------------------------ テキスト寄せ */
.text_center {
  text-align: center;
}

@media all and (min-width: 768px) {
  .text_center_Pc {
    text-align: center;
  }
  .text_right_Pc {
    text-align: right;
  }
  .text_left_Pc {
    text-align: left;
  }
}
/* テキスト END  =============================================================== */
/* ==========================================================================
  編集パーツ用　番号付属リスト・チェックリスト
   ========================================================================== */
.list_num01 {
  counter-reset: item;
  list-style: none;
  padding: 0;
  margin-left: 0 !important;
}

.list_num01 li {
  position: relative;
  padding: 4px 0 4px 35px;
  margin-bottom: 10px;
  list-style: none !important;
}

.list_num01 li:before {
  counter-increment: item;
  content: counter(item) !important;
  display: block;
  position: absolute;
  top: 0em;
  left: 0;
  font-weight: bold;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
  width: 24px;
  height: 24px;
  line-height: 18px;
  border-radius: 100%;
  text-align: center;
  font-size: 0.75rem;
  background: var(--color-secondary);
  color: #fff !important;
}

.edit-area .list_check,
.cke_editable .list_check {
  list-style: none;
  padding: 0;
  position: relative;
  margin-left: 0 !important;
}

.edit-area li {
  position: relative;
  margin-bottom: 10px;
}

.list_check li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 10px;
  list-style: none !important;
}

.edit-area .list_check li:before,
.cke_editable .list_check li:before {
  box-sizing: border-box;
  position: absolute;
  content: "";
  display: block;
  top: 0.4em;
  left: 0.2em;
  height: 10px;
  width: 6px;
  transform: rotate(45deg);
  border-radius: 0;
  margin: 0;
  background: none;
  border-bottom: solid 3px var(--color-primary);
  border-right: solid 3px var(--color-primary);
}

.cke_editable .lay-grid > .col-1,
.cke_editable .lay-grid > .col-2,
.cke_editable .lay-grid > .col-3,
.cke_editable .lay-grid > .col-4,
.cke_editable .lay-grid > .col-5,
.cke_editable .lay-grid > .col-6,
.cke_editable .lay-grid > .col-7,
.cke_editable .lay-grid > .col-8,
.cke_editable .lay-grid > .col-9,
.cke_editable .lay-grid > .col-10,
.cke_editable .lay-grid > .col-11,
.cke_editable .lay-grid > .col-12 {
  padding: 10px;
  border: dashed 1px #dedacd;
  border-radius: 4px;
}

.lay-grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
}
.lay-grid figure {
  text-align: center;
}

.lay-grid > .col-1,
.lay-grid > .col-2,
.lay-grid > .col-3,
.lay-grid > .col-4,
.lay-grid > .col-5,
.lay-grid > .col-6,
.lay-grid > .col-7,
.lay-grid > .col-8,
.lay-grid > .col-9,
.lay-grid > .col-10,
.lay-grid > .col-11,
.lay-grid > .col-12 {
  box-sizing: border-box;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.lay-grid > .col-1 {
  width: calc(8.3333333333% - 20px);
}

.lay-grid > .col-2 {
  width: calc(16.6666666667% - 20px);
}

.lay-grid > .col-3 {
  width: calc(25% - 20px);
}

.lay-grid > .col-4 {
  width: calc(33.3333333333% - 20px);
}

.lay-grid > .col-5 {
  width: calc(41.6666666667% - 20px);
}

.lay-grid > .col-6 {
  width: calc(50% - 20px);
}

.lay-grid > .col-7 {
  width: calc(58.3333333333% - 20px);
}

.lay-grid > .col-8 {
  width: calc(66.6666666667% - 20px);
}

.lay-grid > .col-9 {
  width: calc(75% - 20px);
}

.lay-grid > .col-10 {
  width: calc(83.3333333333% - 20px);
}

.lay-grid > .col-11 {
  width: calc(91.6666666667% - 20px);
}

.lay-grid > .col-12 {
  width: calc(100% - 20px);
}

.lay-grid > .col-lg-1,
.lay-grid > .col-lg-2,
.lay-grid > .col-lg-3,
.lay-grid > .col-lg-4,
.lay-grid > .col-lg-5,
.lay-grid > .col-lg-6,
.lay-grid > .col-lg-7,
.lay-grid > .col-lg-8,
.lay-grid > .col-lg-9,
.lay-grid > .col-lg-10,
.lay-grid > .col-lg-11,
.lay-grid > .col-lg-12 {
  box-sizing: border-box;
  margin-left: 10px;
  margin-right: 10px;
}

@media all and (min-width: 768px) {
  .lay-grid > .col-lg-1 {
    width: calc(8.3333333333% - 20px);
  }
  .lay-grid > .col-lg-2 {
    width: calc(16.6666666667% - 20px);
  }
  .lay-grid > .col-lg-3 {
    width: calc(25% - 20px);
  }
  .lay-grid > .col-lg-4 {
    width: calc(33.3333333333% - 20px);
  }
  .lay-grid > .col-lg-5 {
    width: calc(41.6666666667% - 20px);
  }
  .lay-grid > .col-lg-6 {
    width: calc(50% - 20px);
  }
  .lay-grid > .col-lg-7 {
    width: calc(58.3333333333% - 20px);
  }
  .lay-grid > .col-lg-8 {
    width: calc(66.6666666667% - 20px);
  }
  .lay-grid > .col-lg-9 {
    width: calc(75% - 20px);
  }
  .lay-grid > .col-lg-10 {
    width: calc(83.3333333333% - 20px);
  }
  .lay-grid > .col-lg-11 {
    width: calc(91.6666666667% - 20px);
  }
  .lay-grid > .col-lg-12 {
    width: calc(100% - 20px);
  }
  .card-box__item--lg-last {
    order: 1;
  }
}
.card-box {
  margin-top: 20px;
}

.card-box__item--fast {
  margin-top: 20px;
}

/* ==========================================================================
  summary
   ========================================================================== */
.pagesummary {
  background: #eee;
  box-sizing: border-box;
  padding: 20px 30px;
}
@media screen and (max-width: 767px) {
  .pagesummary {
    padding: 20px;
  }
}
.pagesummary .tit {
  display: block;
  border-bottom: 1px solid #f8f8f8;
  font-weight: bold;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
  padding-bottom: 10px;
}
.pagesummary ul {
  display: flex;
  flex-wrap: wrap;
  margin-left: 0;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .pagesummary ul {
    flex-direction: column;
  }
}
.pagesummary ul li {
  padding-left: 0;
}
.pagesummary ul li::before {
  display: none;
}
.pagesummary ul li a {
  text-decoration: none;
  color: #000;
  padding: 0.8em;
  transition: 0.3s all ease;
}
.pagesummary ul li a:hover {
  color: var(--color-secondary);
}
.pagesummary ul li a:hover::after {
  border-top: 6px solid var(--color-secondary);
}
.pagesummary ul li a::after {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 0;
  height: 0;
  padding: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #000;
  pointer-events: none;
  z-index: 1;
  transition: 0.7s all;
}

.l-password {
  display: flex;
  margin: 10px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 340px) {
  .l-password {
    flex-direction: column;
  }
}
.l-password-txt {
  max-width: 10em;
}
.l-password-txt .c-input {
  width: 100%;
}
.l-password-btn {
  margin-left: 10px;
  max-width: 4em;
  text-align: center;
}
@media screen and (max-width: 340px) {
  .l-password-btn {
    margin-left: 0px;
    margin-top: 15px;
  }
}
.l-password-btn a {
  width: 100px;
}

input::-moz-placeholder, button::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--color-gray-light);
}

input::placeholder,
button::placeholder,
select::placeholder,
textarea::placeholder {
  color: var(--color-gray-light);
}

.c-input input,
.c-input button,
.c-input select,
.c-input textarea {
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  font-size: 1rem !important;
}
.c-input-select {
  position: relative;
  box-sizing: border-box;
  display: inline-block;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .c-input-select {
    display: block;
    width: 100%;
  }
}
.c-input-select::before {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--color-secondary);
  pointer-events: none;
  z-index: 1;
}
.c-input-select select {
  padding-right: 1em;
  color: var(--color-secondary);
  background: #fff;
  border: 1px solid var(--color-secondary);
  font-size: 1.125em;
  position: relative;
  padding: 25px 56px 25px 15px;
}
@media screen and (max-width: 767px) {
  .c-input-select select {
    display: block;
    width: 100%;
  }
}
.c-input-text {
  box-sizing: border-box;
  padding: 12px 15px;
  background: #fff;
  border-radius: 3px;
  border: none;
  border: solid 1px #d9d9d9;
  font-size: 1rem !important;
}
.c-input-radios {
  margin: 0 0 6px;
  display: inline-block;
}
.c-input-radios input[type=radio] {
  display: none;
}
.c-input-radios input[type=radio]:checked + label {
  background: var(--color-gray-light02);
}
.c-input-radios input[type=radio]:checked + label:before {
  border-color: var(--color-secondary);
  animation: ripple 0.2s linear forwards;
}
.c-input-radios input[type=radio]:checked + label:after {
  transform: scale(1);
}
.c-input-radios label {
  display: inline-block;
  position: relative;
  margin-bottom: 0;
  cursor: pointer;
  padding: 10px 40px;
  border: 1px solid #d9d9d9;
}
.c-input-radios label:before, .c-input-radios label:after {
  position: absolute;
  content: "";
  border-radius: 50%;
  transition: all 0.3s ease;
  transition-property: transform, border-color;
}
.c-input-radios label:before {
  left: 1em;
  top: 1em;
  width: 14px;
  height: 14px;
  border: 2px solid var(--color-secondary);
}
.c-input-radios label:after {
  left: 21px;
  top: 21px;
  width: 8px;
  height: 8px;
  transform: scale(0);
  background: var(--color-secondary);
}
.c-input-check {
  margin: 5px;
  display: inline-block;
}
.c-input-check input[type=checkbox] {
  display: none;
}
.c-input-check input[type=checkbox]:checked + label:before {
  border-color: var(--color-secondary);
  animation: ripple 0.2s linear forwards;
}
.c-input-check input[type=checkbox]:checked + label:after {
  opacity: 1;
}
.c-input-check label {
  display: inline-block;
  position: relative;
  margin-bottom: 0;
  cursor: pointer;
  padding: 10px 50px;
  font-size: 19px;
}
@media screen and (max-width: 767px) {
  .c-input-check label {
    padding: 10px 20px;
    font-size: 16px;
  }
}
.c-input-check label:before, .c-input-check label:after {
  position: absolute;
  content: "";
  transition: all 0.3s ease;
  transition-property: transform, border-color;
}
.c-input-check label:before {
  left: 0.8em;
  top: 1em;
  width: 14px;
  height: 14px;
  border: 2px solid var(--color-secondary);
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .c-input-check label:before {
    left: 0;
  }
}
.c-input-check label:after {
  left: 21px;
  top: 16px;
  opacity: 0;
  box-sizing: border-box;
  position: absolute;
  content: "";
  display: block;
  height: 0.8em;
  width: 0.4em;
  transform: rotate(45deg);
  border-radius: 0;
  margin: 0;
  background: none;
  border-bottom: solid 3px var(--color-secondary);
  border-right: solid 3px var(--color-secondary);
  transition: 0.2s all ease-in-out;
}
@media screen and (max-width: 767px) {
  .c-input-check label:after {
    left: 8px;
  }
}

@keyframes ripple {
  0% {
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
  }
  50% {
    box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0.1);
  }
  100% {
    box-shadow: 0px 0px 0px 15px rgba(0, 0, 0, 0);
  }
}
#TopWrap {
  position: relative;
  background: #fff;
}

#index header {
  background: none;
  box-shadow: none;
}
#index header .header-outer {
  padding: 0px 0;
}
#index header .header-outer.active #nav-overlay {
  top: 0;
  height: 100vh;
}
#index header .menu-btn:hover .menu-btn__inner::before {
  background: transparent;
}
#index header .menu-btn__inner::before {
  background: rgba(255, 255, 255, 0.85);
}
#index .header-info__heading {
  display: none;
}
#index .header-info__option {
  position: absolute;
  z-index: 1;
  top: 25px;
  right: 0px;
}
#index .header-info__option ul .header-info__option--language {
  position: relative;
}
#index .header-info__option ul li:hover .icon-mail, #index .header-info__option ul li:hover .icon-public {
  background: var(--color-secondary);
}
#index .header-info__option ul li:hover .icon-mail::before, #index .header-info__option ul li:hover .icon-public::before {
  color: #fff;
}
#index .header-info__option ul li .col {
  color: #fff !important;
  text-shadow: 0px 2px 1.96px rgba(26, 26, 26, 0.32);
  position: relative;
}
#index .header-info__option ul li .col span {
  background: #fff;
}
#index .header-info__option ul li .col span::before {
  text-shadow: none;
  color: var(--color-secondary);
}
#index .news {
  padding-bottom: 20px;
}
#index .news .c-btn-txt {
  text-align: right;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
}
#index .news .c-btn-txt a {
  font-size: 1.25rem;
  padding: 0 3rem 0 0;
  display: inline-block;
}
#index .news .c-btn-txt a span::before, #index .news .c-btn-txt a span::after {
  font-size: 1.625rem;
}
@media screen and (max-width: 767px) {
  #index .news .c-btn-txt {
    text-align: center;
  }
}

.l-slide {
  position: relative;
}
@media all and (max-width: 1040px) {
  .l-slide .l-container {
    margin: 0 !important;
  }
}
.l-slide .index-heading1 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media all and (max-width: 1040px) {
  .l-slide .index-heading1 {
    width: calc(100% - 130px);
    width: calc(100% - 70px);
  }
}
.l-slide .index-heading1__outer {
  opacity: 0.85;
  position: relative;
  padding: 45px 60px 45px 16px;
  background: #fff;
  box-sizing: border-box;
}
@media all and (max-width: 1040px) {
  .l-slide .index-heading1__outer {
    padding: 20px 15px 20px 15px;
  }
}
.l-slide .index-heading1__outer::before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: -7px;
  width: 100%;
  height: 4px;
  background-color: var(--color-primary);
  transition: 0.2s ease 0s;
}
.l-slide .index-heading1__outer::after {
  content: "";
  position: absolute;
  top: 10px;
  right: -10px;
  width: 4px;
  height: 100%;
  background-color: var(--color-primary);
  transition: 0.2s ease 0.2s;
}
.l-slide .index-heading1__inner {
  position: relative;
  z-index: 1;
  display: inline-block;
}
@media all and (max-width: 1040px) {
  .l-slide .index-heading1 h1 {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  .l-slide .index-heading1 h1 {
    font-size: 1.625rem;
    letter-spacing: 0;
  }
}
.l-slide .index-heading1 h1 .icon {
  position: relative;
}
.l-slide .index-heading1 h1 .icon::before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  background: var(--color-primary);
  position: absolute;
  top: 0em;
  right: -18px;
  border-radius: 50vh;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-slide .index-heading1 h1 .icon::before {
    width: 1.8rem;
    height: 1.8rem;
  }
}
.l-slide .index-heading1 h1 .icon::after {
  content: "";
  width: 23px;
  height: 23px;
  background: var(--color-secondary);
  position: absolute;
  top: 0.5em;
  right: -28px;
  border-radius: 50vh;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .l-slide .index-heading1 h1 .icon::after {
    top: 0.8em;
    right: -1.2em;
    width: 1rem;
    height: 1rem;
  }
}
.l-slide .index-heading1 h1 .main {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .l-slide .index-heading1 h1 .main {
    font-size: 1.375rem;
  }
}
.l-slide .index-heading1 h1 .sub {
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .l-slide .index-heading1 h1 .sub {
    font-size: 0.875rem;
    display: inline-block;
    letter-spacing: 0;
    margin-top: 8px;
  }
}

@media all and (max-width: 1040px) {
  .splide__slide {
    height: 270px;
  }
}
.splide__slide img {
  width: 100%;
}
@media all and (max-width: 1040px) {
  .splide__slide img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center center;
       object-position: center center;
    height: 100% !important;
  }
}
.splide__arrow {
  display: none !important;
}
.splide__pagination {
  display: none !important;
}

.l-research__cols {
  display: block;
  width: calc(50% - 17px);
  position: relative;
  padding: 100px 30px 100px 30px;
  overflow: hidden;
  text-align: center;
  transition: 0.6s all ease;
  z-index: 1;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .l-research__cols {
    padding: 70px 30px 70px 30px;
    width: 100%;
  }
  .l-research__cols:nth-child(2n) {
    margin-left: 0 !important;
  }
  .l-research__cols:not(:last-child) {
    margin-bottom: 20px;
  }
}
.l-research__cols:nth-child(2n) {
  margin-left: 32px;
}
@media all and (min-width: 768px) {
  .l-research__cols:hover::before {
    transform: scale(1.05);
  }
  .l-research__cols:hover .c-btn-box .icon-arrow {
    right: -55px;
  }
}
@media screen and (max-width: 767px) {
  .l-research__cols:active::before {
    transform: scale(1.05);
  }
  .l-research__cols:active .c-btn-box .icon-arrow {
    right: -55px;
  }
}
.l-research__cols .c-btn-box {
  padding: 10px 80px 10px 60px;
  display: inline-block !important;
  text-align: center;
  font-size: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-research__cols .c-btn-box {
    font-size: 1.6875rem;
  }
}
.l-research .image {
  position: relative;
}
.l-research .image::before {
  background: url("../images/img_reserch01.jpg") no-repeat;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  border-radius: inherit;
  z-index: -2;
  pointer-events: none;
  background-size: cover;
  background-position: 50%;
  transition: inherit;
}
.l-research .image::after {
  background: url("../images/pic_rectangles.png") no-repeat;
  content: "";
  top: 1px;
  right: 2px;
  width: 50%;
  height: calc(100% - 2px);
  position: absolute;
  border-radius: inherit;
  z-index: -2;
  pointer-events: none;
  background-size: cover;
  transition: inherit;
  box-sizing: border-box;
}
.l-research .nm2::before {
  background-image: url("../images/img_reserch02.jpg");
}

.index-btnlist__list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .index-btnlist__list {
    flex-direction: column;
  }
}

.index-btnlist__list.col2 li {
  width: calc(50% - 10px);
  margin-right: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .index-btnlist__list.col2 li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 28px;
  }
}
.index-btnlist__list.col2 li:nth-child(2n) {
  margin-right: 0px;
}
.index-btnlist__list.col2 li a {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
}

.index-btnlist__list.col3 li {
  width: calc(33.3333333333% - 10px);
  margin-right: 15px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .index-btnlist__list.col3 li {
    width: 100%;
    margin-right: 0;
  }
}
.index-btnlist__list.col3 li a {
  padding: 20px 40px;
  width: 100%;
  display: block;
  height: 100%;
  text-align: center;
  font-size: 1.25rem;
  text-shadow: 0.3px 0.3px 0, 0.3px -0.3px 0px, -0.3px 0.3px 0, -0.3px -0.3px 0px, 0.3px 0px 0px, 0px 0.3px 0px, -0.3px 0px 0px, 0px -0.3px 0px;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .index-btnlist__list.col3 li a {
    text-align: center;
    font-size: 1.375rem;
    font-weight: bold;
  }
}
.index-btnlist__list.col3 li:nth-child(3n) {
  margin-right: 0px;
}

.index-btnlist__list.col4 li {
  width: calc(25% - 12px);
  margin-right: 15px;
  margin-bottom: 15px;
}
.index-btnlist__list.col4 li a img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .index-btnlist__list.col4 li {
    width: 100%;
    margin-right: 0;
  }
}
.index-btnlist__list.col4 li:nth-child(4n) {
  margin-right: 0px;
}

#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background: var(--color-primary-light);
}
#loading .spinner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
#loading .spinner__wait {
  font-size: 0.75rem;
}
#loading .spinner__heading {
  margin: 30px 30px 0;
  font-size: 1.125rem;
}
#loading .spinner__heading .icon {
  position: relative;
}
#loading .spinner__heading .icon::before {
  content: "";
  width: 35px;
  height: 35px;
  background: var(--color-primary);
  position: absolute;
  top: -0.3em;
  right: -18px;
  border-radius: 50vh;
  z-index: -1;
}
#loading .spinner__heading .icon::after {
  content: "";
  width: 23px;
  height: 23px;
  background: var(--color-secondary);
  position: absolute;
  top: 0.6em;
  right: -28px;
  border-radius: 50vh;
  z-index: -1;
}
#loading .spinner__heading .sub {
  font-size: 0.875rem;
  padding-top: 0.4em;
}
#loading .spinner__heading span {
  font-weight: bold;
  display: inline-block;
}

.loaded {
  opacity: 0;
  width: 0vw;
  visibility: hidden;
}

.c-new {
  color: #c40000;
  font-weight: bold;
  font-size: 0.875rem;
  display: block;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
}

.news {
  position: relative;
  z-index: 1;
}
.news-under::before {
  display: none;
}
.news::before {
  content: "";
  width: 100%;
  height: 192px;
  background: url("../images/news_bg.jpg") no-repeat center center;
  position: absolute;
  bottom: 0px;
  background-size: cover;
  z-index: -1;
}
.news__wrap {
  background: #e4e3df;
  padding: 20px 100px 40px;
}
@media screen and (max-width: 767px) {
  .news__wrap {
    padding: 15px;
  }
}
.news__wrap .newsinfo {
  display: flex;
}
.news__wrap .newsinfo img {
  margin-right: 10px;
  width: 80px;
  height: 80px !important;
}
.news__wrap .newsinfo dl {
  display: flex;
  margin-right: 10px;
  align-items: center;
  word-wrap: none;
}
@media screen and (max-width: 767px) {
  .news__wrap .newsinfo dl {
    flex-direction: column;
    align-items: inherit;
  }
}
.news__wrap .newsinfo dt {
  font-size: 1rem;
  margin: 10px;
  letter-spacing: 0;
  min-width: 10em;
}
@media screen and (max-width: 767px) {
  .news__wrap .newsinfo dt {
    margin: 5px 0;
  }
}
.news__wrap .newsinfo .category {
  padding: 2px;
  font-size: 0.875rem;
  background: #d2d2d2;
}
.news__wrap-under {
  background: transparent;
  padding: 0;
}
.news__wrap-under .news__block--thumb {
  max-width: 5rem;
}
.news__wrap-under .news__block {
  max-height: initial;
  overflow: initial;
}
.news__wrap-under article {
  background: #fff;
  padding: 26px 50px 26px 30px !important;
  border: 1px solid var(--color-primary) !important;
}
.news__wrap-under article:not(:last-child) {
  margin-bottom: 20px;
}
.news__wrap-under a {
  text-decoration: none;
  color: inherit;
  position: relative;
}
.news__wrap-under a:hover article {
  background: var(--color-primary) !important;
}
.news__wrap-under a:hover::after, .news__wrap-under a:hover::before {
  right: 5px;
}
.news__wrap-under a::after, .news__wrap-under a::before {
  position: absolute;
  font-size: 30px;
  transition: 0.4s all;
}
.news__wrap-under a::after {
  content: "\e900";
  font-family: "icomoon";
  color: var(--color-primary);
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
}
.news__wrap-under a::before {
  content: "\e901";
  font-family: "icomoon";
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.news__wrap-under a:not(:last-child) {
  margin-bottom: 20px;
}
.news__block {
  max-height: 200px;
  overflow: auto;
}
.news__block article {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #fff;
  padding: 28px 10px;
  letter-spacing: 0.15em;
  transition: 0.4s all;
  box-sizing: border-box;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .news__block article {
    padding: 15px 5px;
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.125rem;
  }
}
.news__block article .category {
  padding: 2px;
  font-size: 0.875rem;
  background: #f9f9f9;
  display: inline-block;
}
.news__block article img {
  margin-right: 10px;
  width: 80px;
  height: 80px !important;
}
.news__block--info {
  max-width: 10rem;
  min-width: 7rem;
  line-height: 1.4;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .news__block--info {
    display: flex;
    font-size: 0.875rem;
  }
  .news__block--info .c-new {
    margin-left: 1em;
    order: 2;
  }
}
.news__block--info .time {
  font-size: 1.125rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .news__block--info .time {
    order: 1;
    font-size: 0.875rem;
  }
}
.news__block--thumb {
  max-width: 6rem;
  margin-top: 0.3em;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .news__block--thumb {
    display: none;
  }
}
.news a {
  text-decoration: none;
  color: inherit;
  display: block;
  box-sizing: border-box;
}
.news a:hover article {
  background: #eeece8;
}

.NewsCount {
  margin: 30px 0 45px;
}
.NewsCount__info {
  text-align: center;
}

.NewsCountList {
  margin-top: 20px;
}
.NewsCountList ul {
  display: flex;
  justify-content: center;
}
.NewsCountList ul li {
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .NewsCountList ul li {
    width: 25%;
    margin-right: 10px;
  }
}
.NewsCountList ul li:last-child {
  margin-right: 0px;
}
.NewsCountList ul li a {
  display: flex;
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  transition: 0.3s all ease-in-out;
  border-radius: 50vh;
  align-items: center;
  box-sizing: border-box;
  background: var(--color-gray-light02);
  color: #000;
  padding: 10px 60px;
}
@media screen and (max-width: 767px) {
  .NewsCountList ul li a {
    justify-content: center;
    padding: 5px 20px;
  }
}
@media screen and (max-width: 410px) {
  .NewsCountList ul li a {
    font-size: 0.8125rem;
    padding: 5px 10px;
  }
}
.NewsCountList ul li a:hover {
  background: var(--color-gray-light03);
  color: #fff;
}
.NewsCountList ul .page__next .count_active, .NewsCountList ul .page__last .count_active {
  background: var(--color-primary);
  color: #000;
  padding: 10px 40px 10px 60px;
}
@media screen and (max-width: 767px) {
  .NewsCountList ul .page__next .count_active, .NewsCountList ul .page__last .count_active {
    padding: 5px 10px 5px 20px;
  }
}
@media screen and (max-width: 410px) {
  .NewsCountList ul .page__next .count_active, .NewsCountList ul .page__last .count_active {
    padding: 5px 2px 5px 6px;
  }
}
.NewsCountList ul .page__next .count_active::after, .NewsCountList ul .page__last .count_active::after {
  content: "\e901";
  font-family: "icomoon";
  z-index: 1;
  line-height: 1;
  margin-left: 0.4em;
  font-size: 16px;
  transition: 0.2s all;
}
.NewsCountList ul .page__next .count_active:hover, .NewsCountList ul .page__last .count_active:hover {
  background: #bea720;
  color: #fff;
}
.NewsCountList ul .page__next .count_active:hover::after, .NewsCountList ul .page__last .count_active:hover::after {
  transform: translateX(5px);
  color: #fff;
}
.NewsCountList ul .page__first .count_active, .NewsCountList ul .page__prev .count_active {
  background: var(--color-primary);
  color: #000;
  padding: 10px 60px 10px 40px;
}
@media screen and (max-width: 767px) {
  .NewsCountList ul .page__first .count_active, .NewsCountList ul .page__prev .count_active {
    padding: 5px 10px 5px 20px;
  }
}
@media screen and (max-width: 410px) {
  .NewsCountList ul .page__first .count_active, .NewsCountList ul .page__prev .count_active {
    padding: 5px 2px 5px 6px;
  }
}
.NewsCountList ul .page__first .count_active::before, .NewsCountList ul .page__prev .count_active::before {
  content: "\e901";
  font-family: "icomoon";
  z-index: 1;
  line-height: 1;
  margin-right: 0.4em;
  font-size: 16px;
  transition: 0.2s all;
  transform: scale(-1, 1);
}
.NewsCountList ul .page__first .count_active:hover, .NewsCountList ul .page__prev .count_active:hover {
  background: #bea720;
  color: #fff;
}
.NewsCountList ul .page__first .count_active:hover::before, .NewsCountList ul .page__prev .count_active:hover::before {
  transform: translateX(-5px) scale(-1, 1);
  color: #fff;
}

#form header .menu-btn {
  display: none;
}
#form header .header-info__option {
  display: none;
}
#form footer .footer__etc {
  display: none;
}

.l-form dl {
  display: flex;
}
@media all and (max-width: 1040px) {
  .l-form dl {
    flex-direction: column;
    margin: 15px;
  }
}
.l-form dl dt {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 250px;
  max-width: 250px;
  padding: 15px;
  vertical-align: baseline;
  font-weight: bold !important;
  font-size: 1.071em;
  box-sizing: border-box;
  background: var(--color-primary);
}
@media all and (max-width: 1040px) {
  .l-form dl dt {
    min-width: 100%;
    max-width: 100%;
  }
}
.l-form dl dd {
  padding: 15px 25px;
  display: table-cell;
  color: #000;
  background: #fff;
  vertical-align: middle;
  width: 100%;
  box-sizing: border-box;
}
.l-form dl dd .c-input-text {
  width: 100%;
}
.l-form dl dd textarea {
  resize: vertical;
}

.c-badge {
  display: inline-block;
  line-height: 1;
  border-radius: 3px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 5px 6px 4px;
  font-size: 0.75rem;
  box-sizing: border-box;
}
.c-badge-essential {
  background: #DD4D12;
}

.ajax_err {
  color: var(--color-danger);
}

/* 未使用
@import "partials/detail_list"; //リストなど
@import "partials/detail_acordion.scss"; //折りたたみコンテンツなど

@import "partials/page_news"; // 個別ページ(ニュース画面)
@import "partials/page_form"; // 個別ページ(フォーム画面)
・
・
・
*//*# sourceMappingURL=style.css.map */