@charset "UTF-8";
/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700;900&display=swap");
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  tab-size: 4;
  word-break: normal;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Defaults                                  */
/* ========================================== */
html {
  width: 100%;
  height: 100%;
  font-size: 3.6458333333vw;
  scroll-behavior: smooth;
}
@media print, all and (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #4D4D4D;
  text-align: center;
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

h1, h2, h3, h4, h5 {
  font-size: 1rem;
  font-weight: normal;
}

a:not([class^=wp-]):link {
  color: #333333;
}
a:not([class^=wp-]):active {
  color: #666666;
}
a:not([class^=wp-]):hover {
  color: #666666;
}
a:not([class^=wp-]):visited {
  color: #333333;
}

.l-main form input:not([class])[type=text], .l-main form input:not([class])[type=password], .l-main form input:not([class])[type=number], .l-main form input:not([class])[type=email] {
  border: 1px solid #ddd;
  padding: 0.5rem 0.75rem;
  max-width: 100%;
}
.l-main form textarea:not([class]) {
  width: 100%;
  border: 1px solid #aaa;
  padding: 0.5rem 0.75rem;
  max-width: 100%;
}
.l-main form select:not([class]) {
  border: 1px solid #ddd;
  padding: 0.5rem 2.625rem 0.5rem 0.75rem;
  background: url(../img/ic_pulldown.svg) no-repeat center right/auto 48%;
  max-width: 100%;
}
@media print, all and (max-width: 767px) {
  .l-main form .mwform-tel-field input {
    width: 28%;
  }
}
.l-main .required {
  color: #F00;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Header                                    */
/* ========================================== */
.l-header {
  width: 100%;
  padding: 1.25rem 5%;
  border-top: 0.625rem solid #266099;
}
@media print, all and (min-width: 768px) {
  .l-header {
    border-bottom: 0.1875rem solid #d3d3d3;
    padding: 1.875rem 1.875rem 1.5625rem;
  }
}
.l-header__inner {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media print, all and (min-width: 1200px) {
  .l-header__inner {
    justify-content: space-between;
  }
}
.l-header__siteid {
  width: 11.25rem;
}
@media print, all and (min-width: 768px) {
  .l-header__siteid {
    width: 15rem;
  }
}
.l-drawer .l-header__siteid {
  width: 12.5rem;
  margin: 0 auto;
}
@media print, all and (min-width: 768px) {
  .l-drawer .l-header__siteid {
    width: 20rem;
  }
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Util                                    */
/* ========================================== */
.l-util {
  width: 10rem;
  display: none;
}
@media print, all and (min-width: 1200px) {
  .l-util {
    display: block;
  }
}
.l-drawer .l-util {
  display: block;
  margin: 1.875rem auto 0;
  width: 11.25rem;
}
@media print, all and (min-width: 768px) {
  .l-drawer .l-util {
    width: 16.25rem;
    margin: 3.125rem auto 0;
  }
}
.l-util-sns__list {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-drawer .l-util-sns__list {
  justify-content: space-between;
}
@media print, all and (min-width: 768px) {
  .l-drawer .l-util-sns__list {
    justify-content: center;
  }
}
.l-util-sns__item {
  width: 2rem;
  display: block;
}
.l-drawer .l-util-sns__item {
  width: 2.34375rem;
}
.l-drawer .l-util-sns__item:not(:last-child) {
  margin-right: 0.625rem;
}
@media print, all and (min-width: 768px) {
  .l-drawer .l-util-sns__item {
    width: 3.125rem;
  }
  .l-drawer .l-util-sns__item:not(:last-child) {
    margin-right: 0.9375rem;
  }
}
.l-util-sns__item.op-instagram {
  height: 2rem;
  background: url(../img/sns_ico_instagram@2x.png) #fff no-repeat center center/60% auto;
  border-radius: 50%;
  box-shadow: 0.1875rem 0.1875rem 0.3125rem rgba(0, 0, 0, 0.3);
}
.l-drawer .l-util-sns__item.op-instagram {
  height: 2.34375rem;
  width: 2.34375rem;
  overflow: hidden;
}
@media print, all and (min-width: 768px) {
  .l-drawer .l-util-sns__item.op-instagram {
    height: 3.125rem;
    width: 3.125rem;
  }
}
.l-util-search {
  border: 1px solid #266099;
  line-height: 2rem;
  border-radius: 3.125rem;
  position: relative;
  margin-top: 0.9375rem;
}
.l-util-search form {
  width: 100%;
  height: 100%;
  position: relative;
}
.l-util-search input[type=text] {
  width: 100%;
  height: 100%;
  padding-left: 2.8125rem;
}
.l-util-search input[type=submit] {
  width: 2.375rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0.3125rem;
  background: url(../img/ico_search_blue.svg) no-repeat center center/50% auto;
  overflow: hidden;
  text-indent: -999em;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Menu                                      */
/* ========================================== */
.l-menu {
  display: none;
}
@media print, all and (min-width: 1200px) {
  .l-menu {
    display: block;
  }
}
.l-drawer .l-menu {
  display: inline-block;
  margin-top: 1.875rem;
}
@media print, all and (min-width: 768px) {
  .l-drawer .l-menu {
    margin-top: 3.125rem;
  }
}
.l-menu__list {
  display: flex;
}
.l-drawer .l-menu__list {
  display: block;
}
@media print, all and (min-width: 768px) {
  .l-drawer .l-menu__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.875rem;
  }
}
.l-menu__item {
  position: relative;
}
.l-menu__item:not(:last-child) {
  margin-right: 1.5625rem;
}
.l-drawer .l-menu__item {
  margin-right: 0;
}
.l-drawer .l-menu__item:not(:last-child) {
  margin-bottom: 0.625rem;
}
.l-menu__item a {
  color: #666666;
  font-size: 0.8125rem;
  text-decoration: none;
  display: block;
  line-height: 1.32;
}
.l-drawer .l-menu__item a {
  width: 100%;
  display: flex;
  justify-self: flex-start;
  align-items: center;
  text-align: left;
  font-size: 1rem;
}
.l-menu__item.op-machizukuri a::before {
  content: "";
  width: 3.75rem;
  height: 3.75rem;
  display: block;
  margin: 0 auto;
  margin: 0 auto;
  background: url(../img/nav_icon_machizukuri.png) no-repeat center center/cover;
}
.l-drawer .l-menu__item.op-machizukuri a::before {
  width: 4.375rem;
  height: 4.375rem;
  margin: 0 0.625rem 0 0;
}
.l-menu__item.op-soudan a::before {
  content: "";
  width: 3.75rem;
  height: 3.75rem;
  display: block;
  margin: 0 auto;
  margin: 0 auto 0.5em;
  background: url(../img/nav_icon_soudan.png) no-repeat center center/cover;
}
.l-drawer .l-menu__item.op-soudan a::before {
  width: 4.375rem;
  height: 4.375rem;
  margin: 0 0.625rem 0 0;
}
.l-menu__item.op-shikaku a::before {
  content: "";
  width: 3.75rem;
  height: 3.75rem;
  display: block;
  margin: 0 auto;
  margin: 0 auto;
  background: url(../img/nav_icon_shikaku.png) no-repeat center center/cover;
}
.l-drawer .l-menu__item.op-shikaku a::before {
  width: 4.375rem;
  height: 4.375rem;
  margin: 0 0.625rem 0 0;
}
.l-menu__item.op-fukuri a::before {
  content: "";
  width: 3.75rem;
  height: 3.75rem;
  display: block;
  margin: 0 auto;
  margin: 0 auto;
  background: url(../img/nav_icon_fukuri.png) no-repeat center center/cover;
}
.l-drawer .l-menu__item.op-fukuri a::before {
  width: 4.375rem;
  height: 4.375rem;
  margin: 0 0.625rem 0 0;
}
.l-menu__item.op-about a::before {
  content: "";
  width: 3.75rem;
  height: 3.75rem;
  display: block;
  margin: 0 auto;
  margin: 0 auto 0.5em;
  background: url(../img/nav_icon_about.png) no-repeat center center/cover;
}
.l-drawer .l-menu__item.op-about a::before {
  width: 4.375rem;
  height: 4.375rem;
  margin: 0 0.625rem 0 0;
}
.l-menu__item.op-current::after {
  content: "";
  width: 3.4375rem;
  height: 0.1875rem;
  display: block;
  position: absolute;
  left: 50%;
  bottom: -1.8125rem;
  transform: translateX(-50%);
  background: #266099;
}
.l-drawer .l-menu__item.op-current::after {
  display: none;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Main                                    */
/* ========================================== */
.l-main {
  width: 100%;
  display: block;
  position: relative;
}
.l-main__inner {
  position: relative;
}
.l-main + * {
  margin-top: 5rem;
}
.l-main .l-section {
  position: relative;
  text-align: center;
}
@media print, all and (min-width: 768px) {
  .l-main .l-section {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}
.l-main .l-section__header + * {
  margin-top: 1.875rem;
}
@media print, all and (min-width: 768px) {
  .l-main .l-section__header + * {
    margin-top: 3.125rem;
  }
}
.l-main .l-section__headline {
  font-size: 1.375rem;
  font-weight: 900;
  color: #2660AC;
}
@media print, all and (min-width: 768px) {
  .l-main .l-section__headline {
    font-size: 2rem;
  }
}
.l-main .l-section__headline.op-gray {
  color: #4D4D4D;
}
.l-main .l-section__headlineStep {
  text-align: center;
  font-size: 1.25rem;
  color: #2660AC;
  padding-top: 2.5rem;
}
@media print, all and (min-width: 768px) {
  .l-main .l-section__headlineStep {
    padding-top: 3.75rem;
    font-size: 1.375rem;
  }
}
.l-main .l-section__headlineStep span {
  display: block;
  color: #666666;
  font-size: 0.875rem;
  padding-bottom: 0.4375rem;
}
@media print, all and (min-width: 768px) {
  .l-main .l-section__headlineStep span {
    font-size: 1.125rem;
  }
}
.l-main .l-section__headlineStep::before {
  content: "";
  width: 3.75rem;
  height: 1.25rem;
  display: block;
  margin: 0 auto 1.5625rem;
  background: url(../img/ico_step_arrow@2x.png) no-repeat center center/contain;
}
.l-main .l-section__sub {
  font-size: 0.875rem;
  margin-top: 0.75rem;
}
.l-main .l-section.op-to + * {
  margin-top: 3.125rem;
}
.l-main .l-section.op-bg-beige {
  background: #F0EDE9;
  padding: 3.75rem 0 5rem;
}
.l-main .l-section.op-bg-bottomBeige {
  padding: 6.25rem 0 2.5rem;
}
.l-main .l-section.op-bg-bottomBeige::before {
  content: "";
  width: 100%;
  height: 15rem;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #F0EDE9;
  z-index: -1;
}
.l-main .l-container {
  width: 90%;
  text-align: left;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media print, all and (min-width: 768px) {
  .l-main .l-container {
    max-width: 70rem;
  }
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Article                                    */
/* ========================================== */
.l-article {
  position: relative;
  text-align: center;
}
.l-article__inner {
  text-align: left;
  margin: 0 auto;
  width: 100%;
  padding: 0 1.875rem;
}
.l-article__inner > * + * {
  margin-top: 5rem;
}
.l-article-header-h2 {
  border-bottom: 4px solid #BCBCBC;
  position: relative;
  padding-bottom: 0.75rem;
}
.l-article-header-h2::before {
  content: "";
  width: 2em;
  height: 4px;
  background: #2660AC;
  display: block;
  position: absolute;
  bottom: -4px;
  left: 0;
}
@media print, all and (min-width: 768px) {
  .l-article-header-h2::before {
    width: 11.25rem;
  }
}
.l-article-header-h2 + * {
  margin-top: 1.875rem;
}
.l-article-header-h2 .l-article-headline {
  font-size: 1.375rem;
  color: #2660AC;
  padding-left: 2rem;
  background: url(../img/ico_article_arrow.png) no-repeat left center/1.125rem auto;
}
.l-article-header-h3 {
  border-left: 4px solid #2660AC;
  padding: 1rem 1rem 1rem 1.75rem;
  background: #d2e1f5;
}
.l-article-header-h3 + * {
  margin-top: 1.875rem;
}
.l-article-header-h3 .l-article-headline {
  font-size: 1.125rem;
  color: #2660AC;
}
.l-article-header-h5 + * {
  margin-top: 1.25rem;
}
.l-article-header-h5 .l-article-headline {
  font-size: 1.125rem;
  color: #2660AC;
  padding-left: 2rem;
  background: url(../img/ico_article_arrow.png) no-repeat left center/1rem auto;
}
.l-article-section {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.l-article-section.op-section-type-h3:not(first-child) {
  margin-top: 2.5rem;
}
.l-article-section.op-section-type-h4:not(first-child) {
  margin-top: 1.875rem;
}
.l-article-section.op-section-type-h5:not(first-child) {
  margin-top: 1.875rem;
}
.l-article-section h2 {
  border-bottom: 4px solid #BCBCBC;
  position: relative;
  padding-bottom: 0.75rem;
  font-size: 1.375rem;
  color: #2660AC;
  padding-left: 2rem;
  background: url(../img/ico_article_arrow.png) no-repeat left top 0.4375rem/1.125rem auto;
}
.l-article-section h2:not(first-child) {
  margin-top: 3.125rem;
}
.l-article-section h2::before {
  content: "";
  width: 5em;
  height: 4px;
  background: #2660AC;
  display: block;
  position: absolute;
  bottom: -4px;
  left: 0;
}
@media print, all and (min-width: 768px) {
  .l-article-section h2::before {
    width: 11.25rem;
  }
}
.l-article-section h2 + * {
  margin-top: 1.875rem;
}
.l-article-section h3 {
  font-size: 1.125rem;
  color: #2660AC;
  border-left: 4px solid #2660AC;
  padding: 1rem 1rem 1rem 1.75rem;
  background: #d2e1f5;
}
.l-article-section h3:not(first-child) {
  margin-top: 2.5rem;
}
.l-article-section h3 + * {
  margin-top: 1.25rem;
}
.l-article-section h4 {
  font-size: 1rem;
  color: #2660AC;
  border-top: 1px solid #2660AC;
  border-bottom: 1px solid #2660AC;
  padding: 0.625rem 0;
}
.l-article-section h4:not(first-child) {
  margin-top: 1.875rem;
}
.l-article-section h4 + * {
  margin-top: 1.25rem;
}
.l-article-section h5 {
  font-size: 0.9375rem;
  font-weight: bold;
  color: #2660AC;
  padding-left: 1.5rem;
  background: url(../img/ico_article_arrow.png) no-repeat left center/0.75rem auto;
}
.l-article-section h5:not(first-child) {
  margin-top: 1.875rem;
}
.l-article-section h5 + * {
  margin-top: 1.25rem;
}
.l-article-section > * + * {
  margin-top: 1.25rem;
}
.l-article-section ul.linkList > li {
  text-indent: -1.5rem;
  margin-left: 1.5rem;
}
.l-article-section ul.linkList > li::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  display: inline-block;
  border-right: 2px solid #266099;
  border-bottom: 2px solid #266099;
  transform: rotate(-45deg);
  position: relative;
  top: -0.0625rem;
  left: 0;
  vertical-align: middle;
  margin-right: 0.5rem;
}
.l-article-section table {
  width: 100%;
  border-collapse: collapse;
  border: none;
}
.l-article-section table + * {
  margin-top: 1.25rem;
}
.l-article-section table tr th, .l-article-section table tr td {
  border: none;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid #ddd;
}
.l-article-section table tr th {
  white-space: nowrap;
}
.l-article-section table thead th, .l-article-section table thead td {
  color: #266099;
  border-bottom: 2px solid #266099;
}
.l-article-section table.op-break {
  display: block;
}
.l-article-section table.op-break tr th, .l-article-section table.op-break tr td {
  display: block;
  width: 100%;
}
@media print, all and (max-width: 767px) {
  .l-article-section form table {
    display: block;
  }
  .l-article-section form table thead, .l-article-section form table tbody {
    width: 100%;
    display: block;
  }
  .l-article-section form table tr {
    display: block;
    width: 100%;
  }
  .l-article-section form table tr th, .l-article-section form table tr td {
    display: block;
    width: 100%;
  }
}
.l-article-section a:not([class])[href$=".pdf"]::after, .l-article-section a:not([class])[href$=".doc"]::after, .l-article-section a:not([class])[href$=".docx"]::after, .l-article-section a:not([class])[href$=".xls"]::after, .l-article-section a:not([class])[href$=".xlsx"]::after, .l-article-section a:not([class])[href$=".ppt"]::after, .l-article-section a:not([class])[href$=".pptx"]::after, .l-article-section a:not([class])[target=_blank]::after {
  content: "";
  display: inline-block;
  vertical-align: bottom;
}
.l-article-section a:not([class])[target=_blank]::after {
  vertical-align: middle;
  width: 0.875rem;
  height: 0.875rem;
  margin: 0 0.3125rem 0 0.1875rem;
  background: url(../img/icon_blank.gif) no-repeat 0 0/contain;
}
.l-article-section a:not([class])[href$=".pdf"]::after {
  width: 2.625rem;
  height: 2rem;
  background: url(../img/icon_doc_pdf.png) no-repeat 0 0/contain;
}
.l-article-section a:not([class])[href$=".doc"]::after, .l-article-section a:not([class])[href$=".docx"]::after {
  width: 2.625rem;
  height: 2rem;
  background: url(../img/icon_doc_word.png) no-repeat 0 0/contain;
}
.l-article-section a:not([class])[href$=".xls"]::after, .l-article-section a:not([class])[href$=".xlsx"]::after {
  width: 2.625rem;
  height: 2rem;
  background: url(../img/icon_doc_excel.png) no-repeat 0 0/contain;
}
.l-article-section a:not([class])[href$=".ppt"]::after, .l-article-section a:not([class])[href$=".pptx"]::after {
  width: 2.625rem;
  height: 2rem;
  background: url(../img/icon_doc_ppt.png) no-repeat 0 0/contain;
}
.l-article-section ul:not([class]) li {
  position: relative;
  padding-left: 1.375rem;
}
.l-article-section ul:not([class]) li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.l-article-section ul:not([class]) li::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  display: block;
  position: absolute;
  top: 0.4375rem;
  left: 0;
  background: #266099;
  border-radius: 50%;
}
.l-article-section ol:not([class]) {
  counter-reset: item;
  list-style: none;
}
.l-article-section ol:not([class]) li {
  position: relative;
  padding-left: 1.375rem;
}
.l-article-section ol:not([class]) li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.l-article-section ol:not([class]) li::before {
  counter-increment: item;
  content: counter(item) ".";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: #266099;
}
.l-article-index__list {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.875rem 1.25rem;
}
@media print, all and (min-width: 768px) {
  .l-article-index__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3.125rem 1.875rem;
  }
}
.l-article-index-page {
  display: block;
  text-decoration: none;
}
.l-article-index-page__image {
  width: 100%;
  height: 0;
  padding-top: 75%;
  position: relative;
  overflow: hidden;
  background: #fff;
}
.l-article-index-page__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  object-fit: cover;
  transition: 0.3s opacity ease, 0.3s transform ease;
}
.l-article-index-page + * {
  margin-top: 0.75rem;
}
.l-article-index-page:hover img {
  opacity: 0.7;
  transform: translate(-50%, -50%) scale(1.05);
}
.l-article-format-feature {
  max-width: 70rem;
  margin-left: auto;
  margin-right: auto;
}
.l-article-format-feature + .l-article-section {
  margin-top: 0;
}
.l-article-format-feature__inner {
  background: url(../img/ico_step_arrow@2x.png) no-repeat #F3F0EC center top/3.75rem auto;
  border-radius: 0.625rem;
  padding: 3.125rem 1.875rem 1.875rem;
}
@media print, all and (min-width: 768px) {
  .l-article-format-feature__inner {
    padding: 3.75rem 5rem 3.125rem;
  }
}
.l-article-format-feature__header {
  text-align: center;
}
.l-article-format-feature__header + * {
  margin-top: 1.25rem;
}
@media print, all and (min-width: 768px) {
  .l-article-format-feature__header + * {
    margin-top: 1.875rem;
  }
}
.l-article-format-feature__headline {
  font-size: 1.375rem;
}
@media print, all and (min-width: 768px) {
  .l-article-format-feature__headline {
    font-size: 1.75rem;
  }
}
.l-article-format-feature__desc {
  font-size: 0.875rem;
  line-height: 1.92;
}
.l-article-format-imgset {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, all and (min-width: 768px) {
  .l-article-format-imgset__body {
    display: flex;
    justify-content: space-between;
  }
}
.l-article-format-imgset__desc {
  font-size: 0.875rem;
  line-height: 1.92;
}
@media print, all and (min-width: 768px) {
  .l-article-format-imgset__desc {
    width: calc(71.4% - 3.125rem);
  }
}
.l-article-format-imgset__image {
  text-align: center;
}
@media print, all and (max-width: 767px) {
  .l-article-format-imgset__image + * {
    margin-top: 1.25rem;
  }
}
@media print, all and (min-width: 768px) {
  .l-article-format-imgset__image {
    width: 28.6%;
    order: 1;
  }
}
.l-article-format-titleset {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.l-article-format-titleset__body {
  padding-left: 2em;
}
.l-article-format-titleset__desc {
  font-size: 0.875rem;
  line-height: 1.92;
}
.l-article-format-titleset2 {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.l-article-format-titleset2__header {
  border-top: 1px solid #2660AC;
  border-bottom: 1px solid #2660AC;
  padding: 1rem 0;
}
.l-article-format-titleset2__header + * {
  margin-top: 1.25rem;
}
.l-article-format-titleset2__headline {
  font-size: 1.125rem;
  color: #2660AC;
}
.l-article-format-titleset2__desc {
  font-size: 0.875rem;
  line-height: 1.92;
}
.l-article-format-thumb__list {
  display: flex;
  justify-content: center;
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.l-article-format-thumb__item {
  width: calc((100% - 3.75rem) / 3);
  text-align: center;
}
.l-article-format-thumb__item:not(:nth-child(3n)) {
  margin-right: 1.875rem;
}
.l-article-contact {
  max-width: 60rem;
  background: #F3F0EC;
  border-radius: 0.625rem;
  padding: 1.875rem;
  margin-left: auto;
  margin-right: auto;
}
.l-article-contact__header + * {
  margin-top: 0.9375rem;
}
.l-article-contact__headline {
  font-size: 1rem;
  font-weight: bold;
  color: #2660AC;
  padding-left: 1.5rem;
  background: url(../img/ico_article_arrow.png) no-repeat left top 0.375rem/0.75rem auto;
}
.l-article-contact__desc {
  font-size: 0.875rem;
  line-height: 1.422;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Page                                      */
/* ========================================== */
.l-page-header {
  width: 100%;
  padding: 3.75rem 1.875rem 7.5rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: url(../img/footer_img.png) #fef5e6 no-repeat center bottom 1.875rem/90% auto;
}
@media print, all and (min-width: 768px) {
  .l-page-header {
    padding: 0 1.875rem;
    min-height: 15rem;
    background: url(../img/footer_img.png) #fef5e6 no-repeat right bottom 1.875rem/45rem auto;
  }
}
.l-page-header__inner {
  text-align: center;
  margin: 0 auto;
  max-width: 70rem;
  width: 100%;
}
@media print, all and (min-width: 768px) {
  .l-page-header__inner {
    text-align: left;
  }
}
.l-page-name {
  font-size: 1.5rem;
  font-weight: 900;
  display: inline-block;
  padding: 0.5rem 0;
  background: rgba(254, 245, 230, 0.7);
}
.l-page-name::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: transparent;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Breadcrumbs                                      */
/* ========================================== */
.l-breadcrumbs {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 1.875rem;
  margin-top: 1.875rem;
}
.l-breadcrumbs + * {
  margin-top: 2.5rem;
}
@media print, all and (min-width: 768px) {
  .l-breadcrumbs + * {
    margin-top: 3.75rem;
  }
}
.l-breadcrumbs__inner {
  text-align: left;
  margin: 0 auto;
  max-width: 70rem;
  width: 100%;
}
.l-breadcrumbs-step {
  font-size: 0.875rem;
}
.l-breadcrumbs-step:not(:last-child)::after {
  content: "";
  width: 0.5rem;
  height: 0.75rem;
  display: inline-block;
  background: url(../img/ico_step.svg) no-repeat center center/contain;
  margin: 0 0.75rem 0 0.9375rem;
  position: relative;
  top: 0.0625rem;
}
.l-breadcrumbs-step.op-home::before {
  content: "";
  width: 1rem;
  height: 1rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_home.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.1875rem;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Footer                                    */
/* ========================================== */
.l-footer {
  border-top: 1px solid #A0A0A0;
}
@media print, all and (min-width: 768px) {
  .l-footer-section {
    padding: 0 1.875rem;
  }
}
.l-footer-container {
  width: 90%;
  margin: 0 auto;
  text-align: left;
  position: relative;
}
@media print, all and (min-width: 768px) {
  .l-footer-container {
    max-width: 70rem;
  }
}
.l-footer-head {
  padding: 3.125rem 1.875rem 1.875rem;
}
@media print, all and (min-width: 768px) {
  .l-footer-head {
    padding: 4.375rem 1.875rem;
  }
}
.l-footer-head__logo {
  max-width: 23.75rem;
  margin: 0 auto;
}
.l-footer-features {
  background: #F0EDE9;
  padding: 1.875rem 0;
}
@media print, all and (min-width: 1200px) {
  .l-footer-features {
    padding: 3.125rem 5rem;
  }
}
.l-footer-features__list {
  width: 100%;
  gap: 0.9375rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media print, all and (min-width: 1200px) {
  .l-footer-features__list {
    gap: 1.875rem 2.5rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.l-footer-features__link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 6.25rem;
  background: url(../img/ico_arrow_corner.svg) #fff no-repeat right 0.75rem bottom 0.75rem/0.75rem auto;
  border: 2px solid #266099;
  border-radius: 0.625rem;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.125rem;
  transition: 0.3s background ease;
}
@media print, all and (min-width: 1200px) {
  .l-footer-features__link {
    font-size: 1.75rem;
    height: 8.4375rem;
    background: url(../img/ico_arrow_corner.svg) #fff no-repeat right 0.75rem bottom 0.75rem/1.125rem auto;
  }
}
.l-footer-features__link:link, .l-footer-features__link:visited {
  color: #266099;
}
.l-footer-features__link:hover {
  background-color: #e0ecf7;
}
.l-footer-sitemap {
  padding: 3.125rem 0 9.375rem;
  position: relative;
}
@media print, all and (min-width: 768px) {
  .l-footer-sitemap {
    padding: 3.125rem 1.875rem 23.75rem;
  }
}
.l-footer-sitemap::before {
  content: "";
  width: 100%;
  height: 4.375rem;
  position: absolute;
  left: 0;
  bottom: 1.875rem;
  background: url(../img/footer_img.png) no-repeat center bottom/90% auto;
  z-index: 10;
}
@media print, all and (min-width: 768px) {
  .l-footer-sitemap::before {
    height: 18rem;
    background: url(../img/footer_img.png) no-repeat center bottom/80rem auto;
    bottom: 3.75rem;
  }
}
.l-footer-sitemap::after {
  content: "";
  width: 100%;
  height: 3.25rem;
  display: block;
  background: #EBCB4A;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media print, all and (min-width: 768px) {
  .l-footer-sitemap::after {
    height: 9.375rem;
  }
}
@media print, all and (min-width: 768px) {
  .l-footer-sitemap__list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.875rem 2.5rem;
  }
}
@media print, all and (max-width: 767px) {
  .l-footer-sitemap__row:not(:last-child) {
    margin-bottom: 1.875rem;
  }
}
.l-footer-sitemap-category__headline {
  border-bottom: 3px solid #ddd;
  padding-bottom: 0.75rem;
  position: relative;
}
.l-footer-sitemap-category__headline + * {
  margin-top: 0.625rem;
}
.l-footer-sitemap-category__headline a {
  text-decoration: none;
  font-size: 1rem;
  display: flex;
  align-items: center;
}
.l-footer-sitemap-category__headline a::before {
  content: "";
  width: 3.75rem;
  height: 3.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/nav_icon_about.png) no-repeat center center/contain;
  margin-right: 0.625rem;
}
.l-footer-sitemap-category__headline.op-machizukuri {
  border-bottom: 3px solid #64b9ba;
}
.l-footer-sitemap-category__headline.op-machizukuri a {
  color: #64b9ba;
}
.l-footer-sitemap-category__headline.op-machizukuri a::before {
  background-image: url(../img/nav_icon_machizukuri.png);
}
.l-footer-sitemap-category__headline.op-soudan {
  border-bottom: 3px solid #f19ba7;
}
.l-footer-sitemap-category__headline.op-soudan a {
  color: #f19ba7;
}
.l-footer-sitemap-category__headline.op-soudan a::before {
  background-image: url(../img/nav_icon_soudan.png);
}
.l-footer-sitemap-category__headline.op-shikaku {
  border-bottom: 3px solid #d58bb9;
}
.l-footer-sitemap-category__headline.op-shikaku a {
  color: #d58bb9;
}
.l-footer-sitemap-category__headline.op-shikaku a::before {
  background-image: url(../img/nav_icon_shikaku.png);
}
.l-footer-sitemap-category__headline.op-fukuri {
  border-bottom: 3px solid #f2c475;
}
.l-footer-sitemap-category__headline.op-fukuri a {
  color: #f2c475;
}
.l-footer-sitemap-category__headline.op-fukuri a::before {
  background-image: url(../img/nav_icon_fukuri.png);
}
.l-footer-sitemap-category__headline.op-about {
  border-bottom: 3px solid #5ec5f2;
}
.l-footer-sitemap-category__headline.op-about a {
  color: #5ec5f2;
}
.l-footer-sitemap-category__headline.op-about a::before {
  background-image: url(../img/nav_icon_about.png);
}
.l-footer-sitemap-link__item {
  margin-left: 1em;
  text-indent: calc(-1em - 2px);
  line-height: 1.32;
}
.l-footer-sitemap-link__item a {
  font-size: 0.875rem;
  text-decoration: none;
  color: #4D4D4D;
}
.l-footer-sitemap-link__item a::before {
  content: "・";
}
.l-footer-sitemap-link__item:not(:last-child) {
  margin-bottom: 0.5rem;
}
.l-footer-org {
  padding: 3.125rem 0;
}
@media print, all and (min-width: 768px) {
  .l-footer-org {
    padding: 3.125rem 1.875rem;
  }
}
@media print, all and (min-width: 768px) {
  .l-footer-org .l-footer-container {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
  }
}
@media print, all and (max-width: 767px) {
  .l-footer-org__data {
    margin-bottom: 1.875rem;
  }
}
@media print, all and (min-width: 768px) {
  .l-footer-org__data {
    margin-right: 3.125rem;
  }
}
.l-footer-org__name {
  font-size: 1.4375rem;
  font-weight: 900;
}
.l-footer-org__address {
  margin-top: 0.5rem;
}
.l-footer-org-contact__list {
  margin-top: 0.625rem;
}
.l-footer-org-contact__item {
  display: flex;
  align-content: center;
  line-height: 1;
}
.l-footer-org-contact__item:not(:last-child) {
  margin-bottom: 0.625rem;
}
.l-footer-org-contact__item dt {
  padding: 0.1875rem 1.125rem;
  background: #D7DCE4;
  border-radius: 1.25rem;
  color: #266099;
  font-size: 1.125rem;
  line-height: 1.24;
  font-weight: 900;
  margin-right: 0.9375rem;
}
.l-footer-org-contact__item dd {
  font-size: 1.375rem;
}
.l-footer-org-link__list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.l-footer-org-link__list a {
  text-decoration: none;
  color: #266099;
  font-size: 0.75rem;
}
@media print, all and (min-width: 768px) {
  .l-footer-org-link__list a {
    font-size: 0.875rem;
  }
}
.l-footer-org-link__list a::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -0.0625rem;
  margin-right: 0.3125rem;
  background: url(../img/ico_arrow_solid.svg) no-repeat center center/contain;
}
.l-footer-org-link__list a.op-contact {
  border: 3px solid #266099;
  border-radius: 3.125rem;
  padding: 0.5rem 0.625rem 0.5rem 0.875rem;
  font-size: 0.875rem;
  font-weight: 900;
  margin-left: auto;
}
@media print, all and (min-width: 768px) {
  .l-footer-org-link__list a.op-contact {
    margin-left: 0;
    font-size: 1rem;
    padding: 0.5rem 0.75rem 0.5rem 1.25rem;
  }
}
.l-footer-org-link__list a.op-contact::before {
  display: none;
}
.l-footer-org-link__list a.op-contact::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: -0.0625rem;
  margin-left: 0.3125rem;
  background: url(../img/ico_arrow_solid.svg) no-repeat center center/contain;
}
@media print, all and (min-width: 768px) {
  .l-footer-org-link__list a.op-contact::after {
    margin-left: 0.5rem;
  }
}
.l-footer-org-link__item:not(:last-child) {
  margin-right: 0.625rem;
}
@media print, all and (min-width: 768px) {
  .l-footer-org-link__item:not(:last-child) {
    margin-right: 1.25rem;
  }
}
.l-footer-login__link {
  margin-top: 0.9375rem;
}
.l-footer-login__link a {
  display: inline-block;
  border: 1px solid #ddd;
  text-decoration: none;
  border-radius: 1.875rem;
  padding: 0.5rem 1rem 0.5rem 2.625rem;
  font-size: 0.875rem;
  background: url(../img/ico_login.svg) no-repeat center left 0.9375rem/1.25rem auto;
}
.l-footer-copy {
  background: url(../img/footer_bg.jpg) repeat-x center center/auto 6.25rem;
  height: 6.25rem;
  padding: 1.25rem 1.875rem 0;
}
.l-footer-copyright {
  text-align: center;
  color: #fff;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Drawer                                      */
/* ========================================== */
.l-drawer {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  border-top: 12px solid #2660AC;
  opacity: 1;
  pointer-events: inherit;
  visibility: visible;
  transition: 0.3s visibility ease, 0.3s opacity ease;
}
.l-drawer__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s opacity ease, 0.3s visibility ease;
}
[data-drawer=on] .l-drawer__bg {
  opacity: 1;
  visibility: visible;
}
.l-drawer__trigger {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.625rem;
  height: 1.375rem;
}
@media print, all and (min-width: 768px) {
  .l-drawer__trigger {
    width: 2rem;
    height: 1.75rem;
  }
}
@media print, all and (min-width: 1200px) {
  .l-drawer__trigger {
    display: none;
  }
}
.l-drawer__trigger i {
  width: 100%;
  height: 4px;
  background: #266099;
  position: absolute;
  left: 0;
}
.l-drawer__trigger i:first-child {
  top: 0;
}
.l-drawer__trigger i:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.l-drawer__trigger i:last-child {
  bottom: 0;
}
[data-drawer=off] .l-drawer {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.l-drawer__inner {
  width: 100%;
  height: 100%;
  position: relative;
  overflow-y: scroll;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
.l-drawer-close {
  color: #2660AC;
  position: absolute;
  top: 5%;
  right: 5%;
  z-index: 999;
  font-size: 0.875rem;
}
.l-drawer-close::before {
  content: "";
  width: 2rem;
  height: 1.125rem;
  display: block;
  margin: 0 auto 0.125rem;
  background: url(../img/ico_close.svg) no-repeat center center/cover;
}
@media print, all and (min-width: 768px) {
  .l-drawer-close {
    top: 2.5rem;
    right: 2.5rem;
  }
}
.l-drawer-body {
  width: 100%;
  padding: 3.125rem 0;
  position: relative;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s opacity 0.5s ease, 0.3s visibility 0.5s ease;
}
[data-drawer=on] .l-drawer-body {
  opacity: 1;
  visibility: visible;
}
@media print, all and (min-width: 768px) {
  .l-drawer-body {
    max-width: 55rem;
  }
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Search                                      */
/* ========================================== */
.l-search__list {
  margin-top: 3.125rem;
}
.l-search__item > a {
  display: block;
  background: url(../img/ico_arrow_solid.svg) #fff no-repeat center left/0.5rem auto;
  padding-left: 1.25rem;
}
.l-search__item:not(:last-child) {
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px dotted #aaa;
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Language                                    */
/* ========================================== */
.l-language__wrapper {
  width: 100%;
  height: 100%;
  background: white;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s opacity ease, 0.3s visibility ease;
}
[data-language=on] .l-language__wrapper {
  opacity: 1;
  visibility: visible;
  pointer-events: inherit;
}
.l-language__body {
  width: 80%;
  height: auto;
}
.l-language__close {
  position: absolute;
  top: 1.875rem;
  right: 1.875rem;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: #aaa;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  font-weight: bold;
  color: #efefef;
}
.l-language__label {
  font-size: 1.5rem;
  font-weight: bold;
  color: #585858;
  background: #efefef;
  border-radius: 0.5rem;
  padding: 0.9375rem 1.75rem 0.9375rem 4rem;
  text-align: left;
  display: inline-block;
  margin: 0 auto 0 0;
  background: url(../img/ico_lang.svg) #efefef no-repeat center left 0.625rem/2.625rem auto;
}
.l-language__label + * {
  margin-top: 1.25rem;
}
.l-language__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media print, all and (min-width: 768px) {
  .l-language__list {
    justify-content: flex-start;
  }
}
.l-language__item {
  width: calc((100% - 1.875rem) / 2);
  text-align: left;
  border-bottom: 1px solid #ddd;
  display: block;
  padding: 0.75rem 0;
}
@media print, all and (min-width: 768px) {
  .l-language__item {
    width: calc((100% - 3.75rem) / 3);
  }
  .l-language__item:not(:nth-child(3n)) {
    margin-right: 1.875rem;
  }
}

/* ========================================== */
/* @Vars                                      */
/* ========================================== */
/* Default Settings */
/* Colors */
/* Break Points */
/* Categories */
/* Width */
/* ========================================== */
/* @Mixins                                    */
/* ========================================== */
/**
 * @ トラッキング値の指定
 * params: $tr : photoshop等で指定しているトラッキング値
 */
/**
* @ 行送り値の指定
* params: $fontsize : photoshop等で指定しているフォントサイズ
* params: $to : photoshop等で指定している行送りの数値
*/
/**
 * @ px => rem Convert
 * params: $px : 利用したいpx値を指定
 */
/* Media Query */
/* ========================================== */
/* @Button                                  */
/* ========================================== */
.c-button {
  min-width: 12.5rem;
  border: 5px solid #2660AC;
  border-radius: 3.125rem;
  padding: 0.625rem 2.625rem 0.625rem 1.875rem;
  font-size: 0.875rem;
  color: #2660AC;
  text-align: center;
  font-weight: 900;
  background: url(../img/ico_arrow_solid.svg) #fff no-repeat center right 1.25rem/0.625rem auto;
}
@media print, all and (min-width: 768px) {
  .c-button {
    min-width: 15rem;
    font-size: 1.25rem;
  }
}
.c-button:link, .c-button:active, .c-button:visited {
  color: #2660AC;
}
.c-button.op-solid {
  background: url(../img/ico_arrow_solid_wht.svg) #2660AC no-repeat center right 1.25rem/0.625rem auto;
}
.c-button.op-solid:link, .c-button.op-solid:active, .c-button.op-solid:visited {
  color: #fff;
}
.c-button__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.c-button__list .c-button {
  margin: 0.5rem 0.625rem;
}
.c-button__list a {
  text-decoration: none;
}

/* ========================================== */
/* @Information                                  */
/* ========================================== */
.c-information__list {
  width: 100%;
}
.c-information__list a {
  text-decoration: none;
}
.c-information__item {
  border-bottom: 1px dotted #A0A0A0;
  padding: 1.25rem 0;
}
.c-information-entry {
  display: block;
}
.c-information-entry__headline {
  margin-top: 1.125rem;
  font-size: 1rem;
}
@media print, all and (min-width: 768px) {
  .c-information-entry__headline {
    font-size: 1.125rem;
  }
}
.c-information-meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
@media print, all and (max-width: 767px) {
  .c-information-meta {
    flex-wrap: wrap;
  }
}
.c-information-meta__date {
  margin-right: 1.25rem;
  display: block;
  color: #808080;
  white-space: nowrap;
}
.c-information-meta-cat__list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
@media print, all and (max-width: 767px) {
  .c-information-meta-cat__list {
    width: 100%;
    margin-top: 0.625rem;
  }
}
.c-information-meta-cat__item {
  background: #ddd;
  padding: 0.25rem 0.625rem;
  min-width: 3.75rem;
  text-align: center;
  text-decoration: none;
  border-radius: 0.375rem;
  font-size: 0.625rem;
  white-space: nowrap;
}
.c-information-meta-cat__item:not(:last-child) {
  margin-right: 0.625rem;
}
@media print, all and (min-width: 768px) {
  .c-information-meta-cat__item {
    min-width: 5.625rem;
    font-size: 1rem;
    padding: 0.25rem 0.9375rem;
  }
}
.c-information-meta-cat__item a {
  color: #585858;
  text-decoration: none;
}
.c-information-meta-cat__item a:link, .c-information-meta-cat__item a:visited {
  color: #585858;
}
.c-information-meta-cat__item.op-new {
  background: #2660AC;
}
.c-information-meta-cat__item.op-new a {
  color: #fff;
}
.c-information-meta-cat__item.op-new a:link, .c-information-meta-cat__item.op-new a:visited {
  color: #fff;
}
.c-information-meta-cat__item.op-important {
  background: #CD4C5B;
}
.c-information-meta-cat__item.op-important a {
  color: #fff;
}
.c-information-meta-cat__item.op-important a:link, .c-information-meta-cat__item.op-important a:visited {
  color: #fff;
}
.c-information-meta-cat__item.op-recruitment {
  background: #7989A7;
}
.c-information-meta-cat__item.op-recruitment a {
  color: #fff;
}
.c-information-meta-cat__item.op-recruitment a:link, .c-information-meta-cat__item.op-recruitment a:visited {
  color: #fff;
}
.c-information-meta-cat__item.op-hold {
  background: #76AAA0;
}
.c-information-meta-cat__item.op-hold a {
  color: #fff;
}
.c-information-meta-cat__item.op-hold a:link, .c-information-meta-cat__item.op-hold a:visited {
  color: #fff;
}
.c-information-meta-cat__item.op-offer {
  background: #D4A800;
}
.c-information-meta-cat__item.op-offer a {
  color: #fff;
}
.c-information-meta-cat__item.op-offer a:link, .c-information-meta-cat__item.op-offer a:visited {
  color: #fff;
}
.c-information-meta-cat__item.op-topic {
  background: #CF919F;
}
.c-information-meta-cat__item.op-topic a {
  color: #fff;
}
.c-information-meta-cat__item.op-topic a:link, .c-information-meta-cat__item.op-topic a:visited {
  color: #fff;
}
.c-information-meta-cat__item.op-other {
  background: #B48CAD;
}
.c-information-meta-cat__item.op-other a {
  color: #fff;
}
.c-information-meta-cat__item.op-other a:link, .c-information-meta-cat__item.op-other a:visited {
  color: #fff;
}

.c-information-meta-cat__item.op-kopf {
  background: #0081CC;
}
.c-information-meta-cat__item.op-kopf a {
  color: #fff;
}
.c-information-meta-cat__item.op-kopf a:link, .c-information-meta-cat__item.op-kopf a:visited {
  color: #fff;
}

/* ========================================== */
/* @Card                                  */
/* ========================================== */
.c-card__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.125rem 1.875rem;
}
@media print, all and (min-width: 992px) {
  .c-card__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.c-card-media {
  display: block;
  text-decoration: none;
}
.c-card-media__image {
  width: 100%;
  height: 0;
  padding-top: 141.3376309428%;
  position: relative;
}
.c-card-media__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

/* ========================================== */
/* @Pagination                                  */
/* ========================================== */
.c-pagination {
  margin-top: 3.125rem;
  text-align: center;
  display: flex;
  justify-content: center;
}
.c-pagination .screen-reader-text {
  display: none;
}
.c-pagination > .page-numbers {
  margin-top: 3.125rem;
  text-align: center;
  display: flex;
  justify-content: center;
}
.c-pagination > .page-numbers .page-numbers {
  margin: 0 0.3125rem;
  width: 2.625rem;
  height: 2.625rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 0.1875rem;
  text-decoration: none;
  background: #fafafa;
  color: #808080;
}
.c-pagination > .page-numbers .page-numbers.current {
  background: #266099;
  border: 1px solid #266099;
  color: #fff;
}

/* ========================================== */
/* @Form                                  */
/* ========================================== */
.c-form-message {
  display: none;
}
.c-form-message + * {
  margin-top: 1.25rem;
}
.mw_wp_form_input .c-form-message.op-input {
  display: block;
}
.mw_wp_form_confirm .c-form-message.op-confirm {
  display: block;
}

/* ========================================== */
/* @Home                                      */
/* ========================================== */
.swiper {
  width: 100%;
}

.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.loader__wrapper {
  width: 100%;
  text-align: center;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  pointer-events: none;
  opacity: 1;
  visibility: visible;
  transition: 0.75s opacity ease, 0.75s visibility ease;
}
.loader__wrapper.op-init {
  opacity: 0;
  visibility: hidden;
}

.loader {
  font-size: 10px;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(0, 113, 169, 0.2);
  border-right: 1.1em solid rgba(0, 113, 169, 0.2);
  border-bottom: 1.1em solid rgba(0, 113, 169, 0.2);
  border-left: 1.1em solid #0071a9;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% - 0.5em);
  transform-origin: left;
  z-index: 999;
  pointer-events: none;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg) translate(-50%, 0);
    transform: rotate(0deg) translate(-50%, 0);
  }
  100% {
    -webkit-transform: rotate(360deg) translate(-50%, 0);
    transform: rotate(360deg) translate(-50%, 0);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg) translate(-50%, 0);
    transform: rotate(0deg) translate(-50%, 0);
  }
  100% {
    -webkit-transform: rotate(360deg) translate(-50%, 0);
    transform: rotate(360deg) translate(-50%, 0);
  }
}
.p-home-slider-button {
  width: 2.25rem;
  height: 2.25rem;
  display: block;
  background: #fff;
  border-radius: 50%;
  background: url(../img/ico_arrow.svg) #fff no-repeat center center/35% auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-home-slider-button__list {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  z-index: 999;
}
.p-home-slider-button__list.op-event {
  display: none;
}
@media print, all and (min-width: 768px) {
  .p-home-slider-button__list.op-event {
    display: block;
  }
}
@media print, all and (min-width: 768px) {
  .p-home-slider-button {
    width: 3.75rem;
    height: 3.75rem;
  }
}
.p-home-slider-button.swiper-button-disabled {
  display: none;
}
.p-home-slider-button.op-prev {
  left: 2.5%;
}
@media print, all and (min-width: 768px) {
  .p-home-slider-button.op-prev {
    left: 9.8%;
  }
}
@media print, all and (min-width: 1200px) {
  .p-home-slider-button.op-prev {
    left: 22.8%;
  }
}
.p-home-slider-button.op-next {
  right: 2.5%;
  transform: translateY(-50%) scale(-1, -1);
}
@media print, all and (min-width: 768px) {
  .p-home-slider-button.op-next {
    right: 9.8%;
  }
}
@media print, all and (min-width: 1200px) {
  .p-home-slider-button.op-next {
    right: 22.8%;
  }
}
.p-home-slider-button.op-event-prev {
  left: 0;
  border: 1px solid #A0A0A0;
  transform: translate(-0.625rem, -50%);
}
.p-home-slider-button.op-event-next {
  right: 0;
  transform: translate(0.625rem, -50%) scale(-1, -1);
  border: 1px solid #A0A0A0;
}
.p-home-slider-pagination {
  font-size: 0;
  margin-top: 1.25rem;
}
.p-home-slider-pagination .swiper-pagination-bullet {
  width: 1.875rem;
  height: 0.375rem;
  border-radius: inherit;
}
.p-home-slider-scrollbar {
  width: 90%;
  height: 0.9375rem;
  position: relative;
  margin-top: 1.875rem;
  margin: 0 5%;
  box-sizing: border-box;
}
.p-home-slider-scrollbar .swiper-scrollbar-drag {
  background: #2660AC;
}
.p-home-mv-section {
  height: auto;
  visibility: visible;
}
.p-home-mv-section::before {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.p-home-mv-section.l-section {
  background: #F0EDE9;
  padding: 1.25rem 0 1.875rem;
}
@media print, all and (min-width: 768px) {
  .p-home-mv-section.l-section {
    padding: 2.5rem 0 1.875rem;
  }
}
.p-home-mv-section .swiper {
  opacity: 1;
  visibility: visible;
  height: auto;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s opacity ease, 0.5s visibility ease;
}
.p-home-mv-section .swiper:not(.swiper-initialized) {
  height: 0;
}
.p-home-mv-section .swiper.op-init {
  opacity: 1;
  visibility: visible;
}
.p-home-mv-slider {
  position: relative;
}
.p-home-mv-slider .swiper-slide {
  transition: 0.5s transform ease;
}
.p-home-mv-slider .swiper-slide:not(.swiper-slide-active) {
  transform: scale(0.8);
}
.p-home-mv-slider__image {
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 57.3248407643%;
  border-radius: 1.25rem;
  overflow: hidden;
}
.p-home-mv-slider__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.p-home-mv-slider__thumb {
  width: 100%;
  height: 0;
  position: relative;
  padding-top: 57.3248407643%;
  overflow: hidden;
}
.p-home-mv-slider__thumb img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.p-home-mv-slider-button {
  width: 3.75rem;
  height: 3.75rem;
  display: block;
  background: #fff;
  border-radius: 50%;
  background: url(../img/ico_arrow.svg) #fff no-repeat center center/35% auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.p-home-mv-slider-button__list {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  z-index: 99;
}
.p-home-mv-slider-button.op-prev {
  left: 9.5%;
}
.p-home-mv-slider-button.op-next {
  right: 9.5%;
  transform: translateY(-50%) scale(-1, -1);
}
.p-home-mv-slider-thumbnail {
  margin-top: 1.875rem;
}
.p-home-mv-slider-thumbnail .swiper-wrapper {
  display: flex;
  justify-content: center;
}
.p-home-mv-slider-thumbnail .swiper-slide {
  width: 1.875rem !important;
  border-radius: 0.3125rem;
  overflow: hidden;
  opacity: 0.7;
  box-sizing: border-box;
  transition: 0.5s opacity ease;
  cursor: pointer;
  background: #aaa;
  border-radius: inherit;
}
@media print, all and (max-width: 767px) {
  .p-home-mv-slider-thumbnail .swiper-slide {
    height: 0.5rem;
  }
  .p-home-mv-slider-thumbnail .swiper-slide img {
    display: none;
  }
}
@media print, all and (min-width: 768px) {
  .p-home-mv-slider-thumbnail .swiper-slide {
    width: 6.875rem !important;
  }
}
.p-home-mv-slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
  background: #2660AC;
}
@media print, all and (min-width: 768px) {
  .p-home-mv-slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    border: 3px solid #2660AC;
  }
}
.p-home-alert-section {
  position: relative;
  padding: 1.25rem 0 0;
}
@media print, all and (min-width: 768px) {
  .p-home-alert-section {
    border-top: 1px solid #A0A0A0;
    border-bottom: 1px solid #A0A0A0;
    padding: 0;
  }
}
.p-home-alert-section + .p-home-alert-section {
  border-top: 0;
}
.p-home-alert-section::before {
  content: "";
  height: 100%;
  display: block;
  background: #2660AC;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 999;
}
@media print, all and (min-width: 768px) {
  .p-home-alert-section::before {
    width: 50%;
    z-index: -1;
  }
}
.p-home-alert-section.op-attention::before {
  background: #f9401e;
}
.p-home-alert__wrapper {
  width: 100%;
}
@media print, all and (min-width: 768px) {
  .p-home-alert__wrapper {
    display: flex;
  }
}
.p-home-alert__headline {
  color: #2660AC;
  white-space: nowrap;
  font-size: 1.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-home-alert__headline::before {
  content: "";
  width: 1.625rem;
  height: 1.625rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.3125rem;
  position: relative;
  top: -0.0625rem;
}
@media print, all and (min-width: 768px) {
  .p-home-alert__headline::before {
    margin-right: 0.625rem;
  }
}
.op-feature .p-home-alert__headline::before {
  background: url(../img/ico_feature_blue.svg) no-repeat center center/contain;
}
@media print, all and (min-width: 768px) {
  .op-feature .p-home-alert__headline::before {
    background: url(../img/ico_feature.svg) no-repeat center center/contain;
  }
}
.op-attention .p-home-alert__headline::before {
  background: url(../img/ico_attention_red.svg) no-repeat center center/contain;
}
@media print, all and (min-width: 768px) {
  .op-attention .p-home-alert__headline::before {
    background: url(../img/ico_attention.svg) no-repeat center center/contain;
  }
}
@media print, all and (min-width: 768px) {
  .p-home-alert__headline {
    padding: 1.25rem 1.25rem 1.25rem 0;
    color: #fff;
    font-size: 1rem;
    width: 11.25rem;
  }
}
.op-attention .p-home-alert__headline {
  color: #f9401e;
}
@media print, all and (min-width: 768px) {
  .op-attention .p-home-alert__headline {
    color: #fff;
    background: #f9401e;
  }
}
.p-home-alert__list {
  padding: 1.25rem 0 1.25rem 1.25rem;
  background: #fff;
}
@media print, all and (min-width: 768px) {
  .p-home-alert__list {
    width: calc(100% - 11.25rem);
  }
}
.p-home-alert__row {
  width: 100%;
}
@media print, all and (min-width: 768px) {
  .p-home-alert__row {
    display: flex;
    align-items: center;
  }
}
.p-home-alert__row:not(:last-child) {
  margin-bottom: 0.5rem;
}
.p-home-alert__date {
  color: #808080;
  font-size: 0.875rem;
}
@media print, all and (min-width: 768px) {
  .p-home-alert__date {
    margin-right: 1.25rem;
  }
}
.p-home-contents-section {
  padding-top: 1.875rem;
  padding-bottom: 3.125rem;
}
@media print, all and (min-width: 768px) {
  .p-home-contents-section {
    padding-top: 3.125rem;
    padding-bottom: 3.125rem;
  }
}
.p-home-contents__list {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.25rem;
}
@media print, all and (min-width: 992px) {
  .p-home-contents__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media print, all and (min-width: 1200px) {
  .p-home-contents__list {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.p-home-search-section .l-container {
  width: 100%;
  padding: 1.875rem 5%;
  background: #E2DFDA;
}
@media print, all and (min-width: 768px) {
  .p-home-search-section .l-container {
    border-radius: 0.625rem;
    padding: 1.875rem;
  }
}
.p-home-search-group:not(:last-child) {
  margin-bottom: 3.125rem;
}
.p-home-search__field {
  border: 5px solid #000;
  border-radius: 5rem;
  background: #fff;
  max-width: 50rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.p-home-search__field input[type=text] {
  line-height: 3rem;
  width: 100%;
  padding: 0 1.25rem 0 1.25rem;
  font-size: 1.125rem;
}
@media print, all and (min-width: 768px) {
  .p-home-search__field input[type=text] {
    line-height: 4.5rem;
    padding: 0 1.25rem 0 2.1875rem;
  }
}
.p-home-search__field input[type=submit] {
  width: 1.375rem;
  height: 1.375rem;
  background: url(../img/ico_search_black.svg) no-repeat center center/contain;
  position: absolute;
  right: 0.9375rem;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
  text-indent: -99em;
}
@media print, all and (min-width: 768px) {
  .p-home-search__field input[type=submit] {
    width: 2.25rem;
    height: 2.25rem;
    right: 1.875rem;
  }
}
.p-home-search__headline {
  font-size: 1.25rem;
  color: #266099;
  text-align: center;
}
@media print, all and (min-width: 768px) {
  .p-home-search__headline {
    font-size: 1.375rem;
  }
}
.p-home-search__headline + * {
  margin-top: 1.25rem;
}
.p-home-search__headline::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}
@media print, all and (min-width: 768px) {
  .p-home-search__headline::before {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.p-home-search__headline.op-query::before {
  background: url(../img/ico_search_color.svg) no-repeat center center/contain;
}
.p-home-search__headline.op-page::before {
  background: url(../img/ico_document_color.svg) no-repeat center center/contain;
}
.p-home-search-tag__list {
  width: 100%;
  padding: 0 1.25rem;
}
@media print, all and (min-width: 768px) {
  .p-home-search-tag__list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
  }
}
.p-home-search-tag__item {
  background: #fff;
  display: inline-block;
  padding: 0.5rem 0.9375rem 0.5rem 1.875rem;
  border-radius: 3.125rem;
  text-decoration: none;
  background: url(../img/ico_arrow_solid.svg) #fff no-repeat center left 0.9375rem/0.5rem auto;
  font-size: 0.875rem;
}
@media print, all and (max-width: 767px) {
  .p-home-search-tag__item:not(:last-child) {
    margin-bottom: 0.9375rem;
  }
}
@media print, all and (min-width: 768px) {
  .p-home-search-tag__item {
    font-size: 1.125rem;
    background: url(../img/ico_arrow_solid.svg) #fff no-repeat center left 1.25rem/0.625rem auto;
    padding: 0.5rem 1.5625rem 0.5rem 2.5rem;
    margin: 0.5rem 0.75rem;
  }
}
.p-home-information-section {
  margin-top: 3.75rem;
}
.p-home-information-section.l-section {
  padding: 0;
}
.p-home-information-tab__header {
  padding: 0 5%;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__header {
    border-bottom: 5px solid #2660AC;
    padding: 0 1.875rem;
  }
}
.p-home-information-tab__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.25rem 0.625rem;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__list {
    max-width: 70rem;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 0 0.625rem;
  }
}
.p-home-information-tab__item {
  display: block;
  padding: 0.1875rem 0;
  text-align: center;
  text-decoration: none;
  border: 2px solid #ddd;
  border-radius: 0.5rem;
  border-bottom: 0;
  font-weight: bold;
  font-size: 1.125rem;
  cursor: pointer;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item {
    border-radius: 0.5rem 0.5rem 0 0;
    border-left: 6px solid #ddd;
    padding: 0.9375rem 0;
    border-top: 6px solid #ddd;
  }
}
.p-home-information-tab__item.op-new {
  border: 6px solid #2660AC;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item.op-new {
    border: 2px solid #2660AC;
    border-bottom: 0;
    border-left: 6px solid #2660AC;
    border-top: 6px solid #2660AC;
  }
}
.p-home-information-tab__item.op-new.op-select {
  background: #2660AC;
  color: #fff;
}
.p-home-information-tab__item.op-new.op-select::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_new.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.0625rem;
}
.p-home-information-tab__item.op-important {
  border: 6px solid #CD4C5B;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item.op-important {
    border: 2px solid #CD4C5B;
    border-bottom: 0;
    border-left: 6px solid #CD4C5B;
    border-top: 6px solid #CD4C5B;
  }
}
.p-home-information-tab__item.op-important.op-select {
  background: #CD4C5B;
  color: #fff;
}
.p-home-information-tab__item.op-new.op-select::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_new.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.0625rem;
}
.p-home-information-tab__item.op-recruitment {
  border: 6px solid #7989A7;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item.op-recruitment {
    border: 2px solid #7989A7;
    border-bottom: 0;
    border-left: 6px solid #7989A7;
    border-top: 6px solid #7989A7;
  }
}
.p-home-information-tab__item.op-recruitment.op-select {
  background: #7989A7;
  color: #fff;
}
.p-home-information-tab__item.op-new.op-select::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_new.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.0625rem;
}
.p-home-information-tab__item.op-hold {
  border: 6px solid #76AAA0;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item.op-hold {
    border: 2px solid #76AAA0;
    border-bottom: 0;
    border-left: 6px solid #76AAA0;
    border-top: 6px solid #76AAA0;
  }
}
.p-home-information-tab__item.op-hold.op-select {
  background: #76AAA0;
  color: #fff;
}
.p-home-information-tab__item.op-new.op-select::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_new.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.0625rem;
}
.p-home-information-tab__item.op-offer {
  border: 6px solid #D4A800;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item.op-offer {
    border: 2px solid #D4A800;
    border-bottom: 0;
    border-left: 6px solid #D4A800;
    border-top: 6px solid #D4A800;
  }
}
.p-home-information-tab__item.op-offer.op-select {
  background: #D4A800;
  color: #fff;
}
.p-home-information-tab__item.op-new.op-select::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_new.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.0625rem;
}
.p-home-information-tab__item.op-topic {
  border: 6px solid #CF919F;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item.op-topic {
    border: 2px solid #CF919F;
    border-bottom: 0;
    border-left: 6px solid #CF919F;
    border-top: 6px solid #CF919F;
  }
}
.p-home-information-tab__item.op-topic.op-select {
  background: #CF919F;
  color: #fff;
}
.p-home-information-tab__item.op-new.op-select::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_new.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.0625rem;
}
.p-home-information-tab__item.op-other {
  border: 6px solid #B48CAD;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__item.op-other {
    border: 2px solid #B48CAD;
    border-bottom: 0;
    border-left: 6px solid #B48CAD;
    border-top: 6px solid #B48CAD;
  }
}
.p-home-information-tab__item.op-other.op-select {
  background: #B48CAD;
  color: #fff;
}
.p-home-information-tab__item.op-new.op-select::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  display: inline-block;
  vertical-align: middle;
  background: url(../img/ico_new.svg) no-repeat center center/contain;
  margin-right: 0.5rem;
  position: relative;
  top: -0.0625rem;
}
.p-home-information-tab__blocks {
  padding: 1.25rem 0 2.5rem;
  text-align: left;
}
@media print, all and (min-width: 768px) {
  .p-home-information-tab__blocks {
    padding: 2.5rem 5rem;
  }
}
.p-home-information-tab__block {
  display: none;
}
.p-home-information-tab__block.op-show {
  display: block;
}
@media print, all and (max-width: 767px) {
  .p-home-event-section .l-container {
    width: 100%;
  }
}
@media print, all and (min-width: 768px) {
  .p-home-event-section .swiper-scrollbar-drag {
    display: none !important;
  }
}
@media print, all and (min-width: 768px) {
  .p-home-event-slider {
    margin-left: -1.25rem !important;
  }
}
.p-home-event-slider .swiper-slide {
  padding: 2.5rem 0 0 2.5rem;
  box-sizing: border-box;
}
@media print, all and (max-width: 767px) {
  .p-home-event__list {
    padding: 0 2.5rem;
    margin-bottom: 1.875rem;
  }
}
.p-home-event__item {
  border: 1px solid #A0A0A0;
  border-radius: 0.3125rem;
  background: #fff;
  padding: 1.875rem 2.5rem;
  box-sizing: border-box;
  position: relative;
}
.p-home-event__item.op-new::before {
  content: "";
  width: 5rem;
  height: 5rem;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  transform: translate(-50%, -50%);
  background: url(../img/ico_new_color.svg) no-repeat center center/contain;
}
.p-home-event-data {
  text-decoration: none;
  text-align: left;
}
.p-home-event-data__image {
  text-align: center;
  width: 100%;
  height: 0;
  padding-top: 142.731277533%;
  position: relative;
  display: block;
  border: 1px solid #D3D3D3;
  border-radius: 0.1875rem;
  overflow: hidden;
}
.p-home-event-data__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-home-event-data__image + * {
  margin-top: 1.25rem;
}
.p-home-event-data__headline {
  font-size: 1rem;
}
@media print, all and (min-width: 768px) {
  .p-home-event-data__headline {
    font-size: 1.125rem;
  }
}
.p-home-event-data__headline + * {
  margin-top: 0.5rem;
}
.p-home-event-data__desc {
  color: #585858;
}
.p-home-event-data__publish {
  font-size: 0.75rem;
}
@media print, all and (min-width: 768px) {
  .p-home-event-data__publish {
    font-size: 0.8125rem;
  }
}
.p-home-about-section.l-section {
  background: #2660AC;
  mix-blend-mode: multiply;
  padding: 0 0 0;
}
.p-home-about-section .l-section__header {
  position: relative;
  z-index: 999;
}
.p-home-about-section .l-section__headline {
  color: #fff;
}
.p-home-about-section .l-section__sub {
  color: #fff;
}
.p-home-about__content {
  position: relative;
  padding: 3.75rem 0 15rem;
}
@media print, all and (min-width: 768px) {
  .p-home-about__content {
    padding: 7.5rem 0 17.5rem;
  }
}
.p-home-about__content::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  background: url(../img/home_about_bg.png) no-repeat center center/cover;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: -1;
  mix-blend-mode: multiply;
}
.p-home-about__message {
  color: #fff;
  padding: 0 0;
}
.p-home-about__message a {
  color: #fff;
}
@media print, all and (min-width: 768px) {
  .p-home-about__message {
    padding: 0 7.5rem;
  }
}
@media print, all and (min-width: 1200px) {
  .p-home-about__message {
    padding: 0 11.25rem;
  }
}
.p-home-issue__content {
  position: relative;
  padding-bottom: 5rem;
  margin-top: -3.75rem;
}
.p-home-issue__content::before, .p-home-issue__content::after {
  content: "";
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  height: calc(100% - 6vw);
}
@media print, all and (min-width: 1200px) {
  .p-home-issue__content::before, .p-home-issue__content::after {
    height: calc(100% - 3.75rem);
  }
}
.p-home-issue__content .l-section__header {
  position: relative;
  top: -3.75rem;
}
.p-home-issue__content::before {
  background: #fff;
}
.p-home-issue__content::after {
  background: url(../img/issue_bg.jpg);
  opacity: 0.3;
}
.p-home-issue__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.875rem;
  position: relative;
  z-index: 5;
}
@media print, all and (min-width: 768px) {
  .p-home-issue__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.p-home-issue__num {
  background: url(../img/about_num_obj.svg) no-repeat center top/contain;
  width: 100%;
  padding-top: 8%;
  display: block;
  text-align: center;
  font-size: 1.75rem;
  color: #2660AC;
}
.p-home-issue__num + * {
  margin-top: 1.25rem;
}
.p-home-issue__image {
  position: relative;
}
.p-home-issue__image + * {
  margin-top: 1.875rem;
}
@media print, all and (min-width: 768px) {
  .p-home-issue__image + * {
    margin-top: 5rem;
  }
}
.p-home-issue__headline {
  position: relative;
  z-index: 20;
  text-align: center;
  color: #2660AC;
  font-size: 1.0625rem;
}
@media print, all and (min-width: 768px) {
  .p-home-issue__headline {
    font-size: 1.25rem;
  }
}
.p-home-issue__headline + * {
  margin-top: 1.25rem;
}
.p-home-issue__desc {
  text-align: left;
  font-size: 0.8125rem;
}
@media print, all and (min-width: 768px) {
  .p-home-issue__desc {
    font-size: 1rem;
  }
}
.p-home-book__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1.875rem;
  padding: 0rem 1.25rem;
}
@media print, all and (min-width: 768px) {
  .p-home-book__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.p-home-book__list + * {
  margin-top: 2.5rem;
}
.p-home-book__item {
  text-align: center;
  opacity: 1;
  transition: 0.3s transform ease, 0.3s opacity ease;
  transform: translateY(0);
}
.p-home-book__item:hover {
  transform: translateY(-5px);
  opacity: 0.7;
}
.p-home-book__item a {
  text-decoration: none;
  color: #868686;
  display: block;
}
.p-home-book__image {
  width: 100%;
  height: 0;
  padding-top: 142.731277533%;
  position: relative;
  display: block;
  border: 1px solid #D3D3D3;
  border-radius: 0.1875rem;
  overflow: hidden;
  box-shadow: 0.1875rem 0.3125rem 0.5rem rgba(0, 0, 0, 0.2);
}
.p-home-book__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-home-book__image + * {
  margin-top: 0.5rem;
}
@media print, all and (min-width: 768px) {
  .p-home-book__image + * {
    margin-top: 0.9375rem;
  }
}
.p-home-book__publish {
  text-align: right;
  font-size: 0.8125rem;
}
@media print, all and (min-width: 768px) {
  .p-home-book__publish {
    margin-top: 0.9375rem;
    font-size: 0.9375rem;
  }
}
.p-home-fukushimadayori-archtitle + * {
  margin-top: 1.25rem;
}
.p-home-kanrenlink-section {
  border-bottom: 1px solid #A0A0A0;
  padding-bottom: 4.375rem;
}
.p-home-kanrenlink__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.875rem 1.25rem;
}
@media print, all and (min-width: 992px) {
  .p-home-kanrenlink__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.p-home-kanrenlink__list a {
  text-decoration: none;
}
.p-home-kanrenlink__item {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #2660AC;
  border-radius: 0.5rem;
  padding: 3.125rem 1.25rem 1.25rem;
}
.p-home-kanrenlink__detail {
  display: block;
  border: 2px solid 2660AC;
  text-align: center;
}
.p-home-kanrenlink__image + * {
  margin-top: 1.25rem;
}
.p-home-kanrenlink__headline {
  color: #2660AC;
  font-size: 0.8125rem;
}
.p-home-partner__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media print, all and (min-width: 768px) {
  .p-home-partner__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.p-home-partner__item {
  display: block;
  box-shadow: 0.1875rem 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
}

/* Reset CSS */
/* Config */
/* Layout */
/* Components */
/* Pages */
