@charset "UTF-8";
@font-face {
  font-family: 'NotosansCjkjp-Regular';
  src: url("../fonts/notosans-cjkjp-regular.woff2") format("woff2"), url("../fonts/notosans-cjkjp-regular.woff") format("woff"), url("../fonts/notosans-cjkjp-regular.otf") format("opentype");
  font-display: swap;
}
@font-face {
  font-family: 'NotosansCjkjp-Medium';
  src: url("../fonts/notosans-cjkjp-medium.woff2") format("woff2"), url("../fonts/notosans-cjkjp-medium.woff") format("woff"), url("../fonts/notosans-cjkjp-medium.otf") format("opentype");
  font-display: swap;
}
@font-face {
  font-family: 'fontello';
  src: url("../fonts/fontello.eot");
  src: url("../fonts/fontello.eot") format("embedded-opentype"), url("../fonts/fontello.woff2") format("woff2"), url("../fonts/fontello.woff") format("woff"), url("../fonts/fontello.ttf") format("truetype"), url("../fonts/fontello.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, fieldset, footer, header, hgroup, menu, nav, section, summary, main, picture {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  box-sizing: border-box;
  font-style: normal;
}

article, aside, canvas, details, figcaption, figure, fieldset, footer, header, hgroup, menu, nav, section, summary, main, picture {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  box-sizing: border-box;
  font-weight: normal;
}

html, body {
  width: 100%;
}

html {
  font-size: 62.5%;
}

body {
  word-break: break-word;
  -webkit-text-size-adjust: none;
}

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

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

input {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

select {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}

@-webkit-keyframes fadeAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
html.fontsize_m {
  font-size: 68.75%;
}

html.fontsize_l {
  font-size: 75%;
}

body {
  font-family: 'NotosansCjkjp-Regular', sans-serif;
  font-size: 1.6rem;
  line-height: 1.875;
  color: #171717;
  overflow-x: hidden;
  position: relative;
  padding-top: 70px;
}

@media print, screen and (min-width: 1001px) {
  body {
    padding-top: 0;
  }
}
@media print, screen and (max-width: 1000px) {
  body.hidden, body.modal_open {
    overflow: hidden;
  }
}
a {
  color: #B90018;
  text-decoration: none;
}

a.blue {
  color: #335BA5;
}

b {
  font-weight: 600;
}

h1, h2, h3, h4, h5, h6, .heading_style_h2, .main_page h2, .heading_style_h3, .main_page h3, .heading_style_h4, .main_page h4, .heading_style_h5, .main_page h5 {
  font-family: 'NotosansCjkjp-Medium';
  line-height: 1.47368;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .heading_style_h2 a, .main_page h2 a, .heading_style_h3 a, .main_page h3 a, .heading_style_h4 a, .main_page h4 a, .heading_style_h5 a, .main_page h5 a {
  text-decoration: none;
}

textarea, select, input {
  font-family: 'NotosansCjkjp-Regular', sans-serif;
  font-size: 16px;
}

.main {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media print, screen and (min-width: 1001px) {
  .main {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.main_unique {
  padding-top: 0;
}

.header {
  border-top: solid 12px #B90018;
  background-color: #fff;
  width: 100%;
  height: 70px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}

@media print, screen and (min-width: 1001px) {
  .header {
    border-top: solid 35px #B90018;
    height: auto;
    position: relative;
    top: auto;
    left: auto;
  }
}
.header_container {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 1001px) {
  .header_container {
    width: 1200px;
    margin: 0 auto;
    padding: 15px 0;
  }
}
.header_logo {
  width: 70px;
  margin-left: 15px;
}

@media print, screen and (max-width: 320px) {
  .header_logo {
    width: 50px;
    margin-left: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_logo {
    width: 160px;
    margin-left: 10px;
  }
}
.header_logo a, .header_logo img {
  display: block;
}

.header_logo a {
  padding: 22px 0 20px;
}

@media print, screen and (min-width: 1001px) {
  .header_logo a {
    padding: 15px 0 10px;
  }
}
.header_logo_ofg {
  position: relative;
  width: 135px;
  padding-left: 10px;
  margin-left: 15px;
}

@media print, screen and (max-width: 320px) {
  .header_logo_ofg {
    width: 115px;
    margin-left: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_logo_ofg {
    width: 272px;
    margin-left: 15px;
  }
}
.header_logo_ofg a, .header_logo_ofg img {
  display: block;
}

.header_logo_ofg a {
  padding-top: 22px;
}

@media print, screen and (min-width: 1001px) {
  .header_logo_ofg a {
    padding-top: 14px;
  }
}
.header_logo_ofg::before {
  content: "";
  display: block;
  width: 1px;
  height: 14px;
  background-color: #ccc;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 10;
}

.header_menu {
  background-color: #B90018;
  color: #fff;
  position: fixed;
  width: 60px;
  height: 60px;
  top: 0;
  right: 0;
  z-index: 20;
  text-align: center;
  font-size: 12px;
  border-radius: 0 0 0 5px;
  padding-top: 8px;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .header_menu {
    display: none;
  }
}
.header_menu::before, .header_menu::after {
  content: "";
  display: block;
  width: 32px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 14px;
  z-index: 10;
  transition: all .3s ease;
  transform: rotate(0);
}

.header_menu::before {
  top: 32px;
}

.header_menu::after {
  top: 40px;
}

.header_menu .open {
  display: block;
}

.header_menu .close {
  display: none;
}

.header_menu.active::before, .header_menu.active::after {
  width: 17px;
  top: 36px;
  left: 22px;
}

.header_menu.active::before {
  transform: rotate(45deg);
}

.header_menu.active::after {
  transform: rotate(-45deg);
}

.header_menu.active .open {
  display: none;
}

.header_menu.active .close {
  display: block;
}

.header_contact {
  position: absolute;
  top: -35px;
  right: 0;
  z-index: 20;
}

@media print, screen and (max-width: 1000px) {
  .header_contact {
    display: none;
  }
}
.header_contact a {
  display: block;
  color: #fff;
  background: #B90018 url(../img/common/icon_mail.svg) no-repeat center 20px;
  text-decoration: none;
  border-radius: 0 0 0 8px;
  font-size: 1rem;
  padding: 50px 10px 12px 10px;
  text-align: center;
}

.header_nav {
  background-color: #fff;
}

@media print, screen and (max-width: 1000px) {
  .header_nav {
    display: none;
    position: fixed;
    top: 70px;
    left: 0;
    z-index: 10;
    width: 100%;
    max-height: calc( 100vh - 70px);
    overflow: auto;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav {
    border-top: solid 1px #D8D8D8;
    display: block !important;
  }
}
.header_nav a {
  text-decoration: none;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }
}
.header_nav_main > li {
  border-top: solid 1px #D8D8D8;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li {
    border-top: none;
    width: calc( 100% / 6);
  }
}
.header_nav_main > li > span, .header_nav_main > li > a {
  display: block;
  color: #171717;
  padding: 15px 30px 15px 42px;
  position: relative;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li > span, .header_nav_main > li > a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 60px;
    text-align: center;
    font-size: 12px;
    line-height: 1.2;
    padding: 0 40px;
    transition: background-color .6s ease;
  }
}
@media print, screen and (min-width: 1301px) {
  .header_nav_main > li > span, .header_nav_main > li > a {
    font-size: 14px;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1301px) {
  .header_nav_main > li > span > br, .header_nav_main > li > a > br {
    display: none;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main > li > span:hover, .header_nav_main > li > span.active, .header_nav_main > li > a:hover, .header_nav_main > li > a.active {
    background-color: #B90018;
    color: #fff;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main > li > span:hover::before, .header_nav_main > li > span.active::before, .header_nav_main > li > a:hover::before, .header_nav_main > li > a.active::before {
    display: none;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main > li > span::before, .header_nav_main > li > a::before {
    content: "";
    display: block;
    width: 0;
    height: 25px;
    border-left: solid 1px #A7A7A7;
    position: absolute;
    top: 15px;
    right: 0;
    z-index: 10;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main > li:last-child > span::before, .header_nav_main > li:last-child > a::before {
    display: none;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main > li > span.icon_next::after {
    border: none;
    background: url(../img/common/icon_arrow_bottom-red.svg) no-repeat center center/cover;
    width: 10px;
    height: 12px;
    animation-name: fadeAnimation;
    animation-duration: 1s;
    animation-direction: alternate;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main > li > span:hover::after,
  .header_nav_main > li > span.active::after {
    background-image: url(../img/common/icon_arrow_bottom-white.svg);
  }
}
.header_nav_main > li .icon_next::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: solid 5px transparent;
  border-left: solid 7px #B90018;
  position: absolute;
  top: 50%;
  right: 15px;
  z-index: 10;
  transform: translate(0, -50%);
}

.header_nav_main > li .icon_link::after {
  content: "\f054";
  display: inline-block;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-size: 12px;
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translate(0, -50%);
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_link::after {
    font-size: 14px;
  }
}
.header_nav_main > li .icon_toggle::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: solid 5px transparent;
  border-top: solid 7px #555;
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transition: all .3s ease;
  transform: translate(0, -25%) rotate(0);
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_toggle::after {
    border: none;
    background: url(../img/common/icon_arrow_bottom-white.svg) no-repeat center center/cover;
    width: 10px;
    height: 12px;
    animation-name: fadeAnimation;
    animation-duration: 1s;
    animation-direction: alternate;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
  }
}
@media print, screen and (max-width: 1000px) {
  .header_nav_main > li .icon_toggle.active::after {
    transform: translate(0, -75%) rotate(180deg);
  }
}
.header_nav_main > li .icon_gnav_1 {
  background: url(../img/common/icon_gnav_1.svg) no-repeat 15px center;
  background-size: 17px 17px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_gnav_1:hover, .header_nav_main > li .icon_gnav_1.active {
    background-image: url(../img/common/icon_gnav_hover_1.svg);
  }
}
.header_nav_main > li .icon_gnav_2 {
  background: url(../img/common/icon_gnav_2.svg) no-repeat 14px center;
  background-size: 19px 19px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_gnav_2:hover, .header_nav_main > li .icon_gnav_2.active {
    background-image: url(../img/common/icon_gnav_hover_2.svg);
  }
}
.header_nav_main > li .icon_gnav_3 {
  background: url(../img/common/icon_gnav_3.svg) no-repeat 16px center;
  background-size: 14px 18px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_gnav_3:hover, .header_nav_main > li .icon_gnav_3.active {
    background-image: url(../img/common/icon_gnav_hover_3.svg);
  }
}
.header_nav_main > li .icon_gnav_4 {
  background: url(../img/common/icon_gnav_4.svg) no-repeat 15px center;
  background-size: 18px 18px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_gnav_4:hover, .header_nav_main > li .icon_gnav_4.active {
    background-image: url(../img/common/icon_gnav_hover_4.svg);
  }
}
.header_nav_main > li .icon_gnav_5 {
  background: url(../img/common/icon_gnav_5.svg) no-repeat 15px center;
  background-size: 17px 17px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_gnav_5:hover, .header_nav_main > li .icon_gnav_5.active {
    background-image: url(../img/common/icon_gnav_hover_5.svg);
  }
}
.header_nav_main > li .icon_gnav_6 {
  background: url(../img/common/icon_gnav_6.svg) no-repeat 15px center;
  background-size: 16px 16px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main > li .icon_gnav_6:hover, .header_nav_main > li .icon_gnav_6.active {
    background-image: url(../img/common/icon_gnav_hover_6.svg);
  }
}
.header_nav_main .header_subnav {
  position: fixed;
  top: 70px;
  left: 0;
  z-index: 100;
  width: 100%;
  height: calc( 100vh - 70px);
  background-color: #fff;
  overflow: auto;
  transform: translate(100%, 0);
}

@media print, screen and (max-width: 1000px) {
  .header_nav_main .header_subnav {
    transition: transform .6s ease;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav {
    display: none;
    position: absolute;
    top: auto;
    left: 0;
    height: auto;
    background-color: rgba(85, 85, 85, 0.95);
  }
}
@media print, screen and (max-width: 1000px) {
  .header_nav_main .header_subnav ul {
    background-color: #F8F7F6;
    border-bottom: solid 1px #D8D8D8;
  }
}
.header_nav_main .header_subnav li {
  border-top: solid 1px #D8D8D8;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav li {
    border-top: none;
  }
}
.header_nav_main .header_subnav li > span, .header_nav_main .header_subnav li a {
  display: block;
  color: #171717;
  padding: 15px 25px 15px 12px;
  position: relative;
  cursor: pointer;
  line-height: 1.5;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav li > span, .header_nav_main .header_subnav li a {
    color: #fff;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav_inner {
    max-width: 1300px;
    margin: 0 auto;
    padding-top: 32px;
    padding-left: 50px;
    padding-right: 50px;
    position: relative;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav_inner .subnav_list {
    position: relative;
    min-height: 300px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav_inner .subnav_list > li:first-child {
    border-top: solid 1px #fff;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav_inner .subnav_list > li {
    width: 210px;
    border-bottom: solid 1px #fff;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav_inner .subnav_list > li > span.open,
  .header_nav_main .header_subnav_inner .subnav_list > li > span:hover {
    background-color: #fff;
    color: #000;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav_inner .subnav_list > li > span.open::after,
  .header_nav_main .header_subnav_inner .subnav_list > li > span:hover::after {
    background-image: url(../img/common/icon_arrow_bottom-red.svg);
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav_inner .subnav_list > li > a:hover {
    background-color: #fff;
    color: #000;
  }
}
.header_nav_main .header_subnav.active {
  transform: translate(0, 0);
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .header_subnav.active {
    display: block;
    animation-name: fadeAnimation;
    animation-duration: .3s;
    animation-timing-function: linear;
    animation-iteration-count: 1;
    animation-fill-mode: both;
  }
}
.header_nav_main .subnav_heading {
  width: 100%;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading {
    position: relative;
    margin-bottom: 60px;
  }
}
.header_nav_main .subnav_heading .subnav_heading_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  height: 26.66667vw;
  width: 100%;
  padding-left: 50%;
  padding-right: 12px;
  background-color: #fff;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading .subnav_heading_inner {
    height: 158px;
    position: relative;
    z-index: 0;
    padding-left: 240px;
    padding-bottom: 2em;
    border-radius: 16px;
  }
}
@media print, screen and (min-width: 1301px) {
  .header_nav_main .subnav_heading .subnav_heading_inner {
    padding-left: 290px;
  }
}
.header_nav_main .subnav_heading .heading {
  font-family: 'NotosansCjkjp-Medium';
  font-size: 4.26667vw;
  line-height: 1.4;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading .heading {
    font-size: 2.4rem;
  }
}
.header_nav_main .subnav_heading .btn_prev {
  position: absolute;
  bottom: 0;
  right: 12px;
  z-index: 10;
  font-size: 10px;
  padding: 10px 0;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading .btn_prev {
    display: none;
  }
}
.header_nav_main .subnav_heading .btn_prev span {
  display: inline-block;
  border: solid 1px #707070;
  background-color: #fff;
  text-align: center;
  padding: 2px 6px;
  border-radius: 5px;
}

.header_nav_main .subnav_heading .btn_prev span::before {
  content: "\f053";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 4px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading .subnav_heading_button {
    position: absolute;
    bottom: 2em;
    left: 240px;
  }
}
@media print, screen and (min-width: 1301px) {
  .header_nav_main .subnav_heading .subnav_heading_button {
    left: 290px;
  }
}
.header_nav_main .subnav_heading .subnav_heading_button a {
  display: block;
  color: #B90018;
  padding: 15px 35px 15px 12px;
  position: relative;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading .subnav_heading_button a {
    display: flex;
    font-family: 'NotosansCjkjp-Medium';
    font-size: 14px;
    color: #fff;
    background-color: #B90018;
    padding: 5px 50px 5px 20px;
    border-radius: 5px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading .subnav_heading_button a {
    transition: transform .3s ease;
  }

  .header_nav_main .subnav_heading .subnav_heading_button a:hover {
    transform: scale(1.04);
  }
}
.header_nav_main .subnav_heading .subnav_heading_button a::after {
  content: "\f054";
  display: inline-block;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-size: 1.2rem;
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translate(0, -50%);
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading .subnav_heading_button a::after {
    font-size: 16px;
    right: 15px;
  }
}
.header_nav_main .subnav_heading_1 .subnav_heading_inner {
  background: #fff url(../img/common/img_subnav_heading_mobile_1.png) no-repeat left top;
  background-size: cover;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading_1 .subnav_heading_inner {
    background-image: url(../img/common/img_subnav_heading_laptop_1.png);
  }
}
.header_nav_main .subnav_heading_2 .subnav_heading_inner {
  background: #fff url(../img/common/img_subnav_heading_mobile_2.png) no-repeat left top;
  background-size: cover;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading_2 .subnav_heading_inner {
    background-image: url(../img/common/img_subnav_heading_laptop_2.png);
  }
}
.header_nav_main .subnav_heading_3 .subnav_heading_inner {
  background: #fff url(../img/common/img_subnav_heading_mobile_3.jpg) no-repeat left top;
  background-size: cover;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading_3 .subnav_heading_inner {
    background-image: url(../img/common/img_subnav_heading_laptop_3.jpg);
  }
}
.header_nav_main .subnav_heading_4 .subnav_heading_inner {
  background: #fff url(../img/common/img_subnav_heading_mobile_4.png) no-repeat left top;
  background-size: cover;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading_4 .subnav_heading_inner {
    background-image: url(../img/common/img_subnav_heading_laptop_4.png);
  }
}
.header_nav_main .subnav_heading_5 .subnav_heading_inner {
  background: #fff url(../img/common/img_subnav_heading_mobile_5.png) no-repeat left top;
  background-size: cover;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_heading_5 .subnav_heading_inner {
    background-image: url(../img/common/img_subnav_heading_laptop_5.png);
  }
}
.header_nav_main .subnav_epartner {
  padding: 25px 12.5px;
  border-top: solid 1px #D8D8D8;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_epartner {
    border-top: none;
    padding: 0;
    width: 240px;
    position: absolute;
    top: 68px;
    right: 106px;
    z-index: 10;
  }

  .header_nav_main .subnav_epartner a {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
}
@media print, screen and (min-width: 1301px) {
  .header_nav_main .subnav_epartner {
    width: 380px;
    right: 180px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_epartner a {
    transition: transform .3s ease;
  }

  .header_nav_main .subnav_epartner a:hover {
    transform: scale(1.04);
  }
}
.header_nav_main .subnav_list_inner {
  display: none;
  border-top: solid 1px #D8D8D8;
  padding: 10px;
}

@media print, screen and (min-width: 1001px) and (max-width: 1300px) {
  .header_nav_main .subnav_list_inner {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner {
    padding: 0;
    border-top: none;
    position: absolute;
    top: -5px;
    left: 245px;
    z-index: 10;
    width: calc( 100% - 240px);
  }
}
.header_nav_main .subnav_list_inner .subnav_list_heading {
  color: #B90018;
  border-bottom: solid 1px #B90018;
  margin: 10px 5px;
}

.header_nav_main .subnav_list_inner .subnav_list_heading:first-child {
  margin-top: 0;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner .subnav_list_heading {
    font-family: 'NotosansCjkjp-Medium';
    color: #fff;
    border-bottom: solid 1px #fff;
    font-size: 20px;
  }
}
.header_nav_main .subnav_list_inner ul {
  border: none;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner ul {
    display: flex;
    flex-wrap: wrap;
  }
}
.header_nav_main .subnav_list_inner li {
  padding: 5px;
  border: none;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner li {
    width: calc( 25% - 10px);
    background-color: #fff;
    margin: 5px;
    padding: 0;
    border-radius: 5px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner li.full {
    width: calc( 100% - 10px);
  }
}
.header_nav_main .subnav_list_inner li a {
  display: flex;
  flex-flow: column;
  justify-content: center;
  background-color: #fff;
  border-radius: 3px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner li a {
    padding: 15px 25px 15px 15px;
    min-height: 70px;
    height: 100%;
    line-height: 1.4;
    color: #171717;
  }
}
.header_nav_main .subnav_list_inner li a span.icon-online {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: 'NotosansCjkjp-Medium';
  font-size: 10px;
  color: #B90018;
  margin-bottom: 3px;
}

.header_nav_main .subnav_list_inner li a span.icon-online::before {
  content: "";
  display: block;
  width: 14px;
  height: 10px;
  background: url(../img/common/icon_online.svg) no-repeat center center/cover;
}

.header_nav_main .subnav_list_inner li a > span {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding: 0;
  color: #171717;
}

.header_nav_main .subnav_list_inner li a > span > span {
  font-size: 1.2rem;
}

.header_nav_main .subnav_list_inner li a::after {
  content: "\f054";
  display: inline-block;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-size: 12px;
  position: absolute;
  top: 50%;
  right: 8px;
  z-index: 10;
  transform: translate(0, -50%);
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner li a:hover {
    color: #B90018;
  }

  .header_nav_main .subnav_list_inner li a:hover span {
    color: #B90018;
  }
}
.header_nav_main .subnav_list_inner li a.icon_blank::after {
  content: "\f35d";
}

.header_nav_main .subnav_list_inner li a.icon_file::after {
  right: 7px;
  font-family: fontello;
  content: "\E80E";
  font-weight: 400;
  font-size: 1.45em;
  margin: 0;
}

.header_nav_main .subnav_list_inner li a.item_center {
  justify-content: center;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_main .subnav_list_inner.open {
    display: block;
  }
}
.header_nav_sub {
  background-color: #B90018;
  padding: 25px 0;
  font-size: 1.3rem;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_sub {
    position: absolute;
    top: -35px;
    right: 170px;
    z-index: 10;
    padding: 0 10px 0 0;
    font-size: 1.2rem;
    display: flex;
    flex-wrap: wrap;
  }
}
.header_nav_sub a {
  display: block;
  color: #fff;
  padding: 5px 12px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_sub a {
    padding: 6px 10px;
    height: 35px;
  }
}
.header_nav_sub a::before {
  content: "\f054";
  display: inline-block;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  margin-right: .5em;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_sub a::before {
    display: none;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_sub a:hover {
    background-color: #fff;
    color: #B90018;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_others_wrap {
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 10;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1380px) {
  .header_nav_others_wrap {
    left: 0;
  }
}
@media print, screen and (min-width: 1381px) {
  .header_nav_others_wrap {
    width: 1200px;
    left: 50%;
    margin-left: -600px;
  }
}
.header_nav_others {
  border-top: solid 1px #D8D8D8;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_others {
    display: flex;
    flex-wrap: wrap;
    border-top: none;
    position: absolute;
    top: 17px;
    right: 0;
    z-index: 10;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1380px) {
  .header_nav_others {
    right: 90px;
  }
}
.header_nav_others .nav_search {
  background-color: #B90018;
  padding: 12.5px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_others .nav_search {
    background-color: transparent;
    padding: 0 18px 0 0;
  }
}
.header_nav_others .nav_search .search_box {
  display: block;
  position: relative;
}

.header_nav_others .nav_search .search_text {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 45px;
  background-color: #F9F9F9;
  background-size: 20px 20px;
  border-radius: 45px;
  border: none;
  outline: none;
  box-shadow: none;
  padding: 0 40px 0 20px;
  font-family: 'NotosansCjkjp-Regular', sans-serif;
  font-size: 16px;
  letter-spacing: .1em;
  position: relative;
  z-index: 0;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_others .nav_search .search_text {
    width: 300px;
    border: solid 2px #D9D9D9;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1100px) {
  .header_nav_others .nav_search .search_text {
    width: 200px;
  }
}
.header_nav_others .nav_search .search_button {
  -webkit-appearance: none;
  appearance: none;
  width: 40px;
  height: 100%;
  border-radius: 0 45px 45px 0;
  border: none;
  outline: none;
  box-shadow: none;
  background-color: transparent;
  padding: 0;
  text-align: left;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  cursor: pointer;
}

.header_nav_others .nav_btn_fontsize {
  display: none;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_others .nav_btn_fontsize {
    display: block;
    padding-right: 18px;
  }
}
.header_nav_others .nav_btn_fontsize span {
  display: block;
  font-size: 1.4rem;
  background-color: #fff;
  text-align: center;
  padding: 7px 12px;
  border-radius: 5px;
  border: solid 2px #D8D8D8;
  cursor: pointer;
}

.header_nav_others .nav_btn_fontsize select {
  font-family: 'NotosansCjkjp-Regular';
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  color: #171717;
  background-color: #fff;
  text-align: center;
  padding: 12px;
  border-radius: 5px;
  border: solid 2px #D8D8D8;
  cursor: pointer;
  margin: 0;
  line-height: 1.2;
}

.header_nav_others .nav_btn_logon {
  padding: 25px 12.5px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_others .nav_btn_logon {
    padding: 0;
  }
}
.header_nav_others .nav_btn_logon .brn_style {
  display: block;
  color: #fff;
  font-size: 1.4rem;
  background-color: #B90018;
  text-align: center;
  padding: 12px 0;
  border-radius: 3px;
  cursor: pointer;
}

@media print, screen and (max-width: 320px) {
  .header_nav_others .nav_btn_logon .brn_style {
    font-size: 1.3rem;
    padding: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_others .nav_btn_logon .brn_style {
    padding: 9px 12px;
    border-radius: 5px;
  }
}
.header_nav_others .nav_btn_logon .brn_style i {
  margin-right: 4px;
}

@media print, screen and (max-width: 1000px) {
  .header_nav_others .nav_btn_epartner {
    width: 66%;
  }
}
@media print, screen and (max-width: 320px) {
  .header_nav_others .nav_btn_epartner {
    width: auto;
  }
}
.header_nav_others .nav_btn_epartner .brn_style {
  display: block;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  background-color: #171717;
  text-align: center;
  padding: 12px 0;
  border-radius: 3px;
}

@media print, screen and (max-width: 320px) {
  .header_nav_others .nav_btn_epartner .brn_style {
    font-size: 1.3rem;
    padding: 10px 15px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_others .nav_btn_epartner .brn_style {
    padding: 9px 15px;
    border-radius: 5px;
  }
}
.header_nav_en {
  position: absolute;
  top: 6px;
  right: 70px;
  z-index: 20;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_en {
    top: -35px;
    right: 100px;
    padding-left: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_en::before {
    content: "";
    display: block;
    width: 0;
    height: 1.2rem;
    border-left: solid 1px #fff;
    position: absolute;
    top: 1.2rem;
    left: 0;
    z-index: 10;
  }
}
.header_nav_en a {
  display: block;
  color: #555;
  font-size: 1rem;
  text-decoration: none;
  padding: 10px 0;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_en a {
    color: #fff;
    font-size: 1.2rem;
    padding: 6px 10px;
    height: 35px;
  }
}
@media print, screen and (min-width: 1001px) {
  .header_nav_en a:hover {
    color: #B90018;
    background-color: #fff;
  }
}
.header_nav_en span {
  display: inline-block;
  border: solid 1px #D8D8D8;
  border-radius: 3px;
  text-align: center;
  padding: 0 8px;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_en span {
    padding: 0;
    border: none;
  }
}
.header_nav_controller {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px 10px 100px;
  background-color: #fff;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_controller {
    padding: 50px;
    background-color: transparent;
  }
}
.header_nav_controller .btn_controller {
  display: block;
  text-align: center;
  width: calc( 50% - 10px);
  max-width: 340px;
  border: solid 1px #555;
  border-radius: 5px;
  padding: 6px;
  font-weight: 600;
  position: relative;
  margin: 0 5px;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .header_nav_controller .btn_controller {
    width: 120px;
    padding: 4px 14px 4px 24px;
    border: solid 1px #fff;
    color: #fff;
  }
}
.header_nav_controller .btn_controller::before {
  display: inline-block;
  content: "\f00d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 10;
  transform: translate(0, -50%);
}

.header_nav_controller .header_subnav_hide::before {
  content: "\f053";
}

.modal_logon {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 100%;
  background-color: rgba(85, 85, 85, 0.85);
  color: #fff;
}

@media print, screen and (min-width: 1001px) {
  .modal_logon {
    position: absolute;
    top: 96px;
    max-width: 900px;
    height: auto;
    padding-top: 25px;
    background-color: transparent;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1380px) {
  .modal_logon {
    left: auto;
    right: 0;
  }
}
@media print, screen and (min-width: 1381px) {
  .modal_logon {
    right: auto;
    left: 50%;
    margin-left: -300px;
  }
}
.modal_logon.active {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  animation-name: fadeAnimation;
  animation-duration: .3s;
  animation-timing-function: linear;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

.modal_logon .modal_logon_inner {
  width: 100%;
  max-height: 100%;
  padding: 30px;
  position: relative;
}

@media print, screen and (max-width: 1000px) {
  .modal_logon .modal_logon_inner {
    overflow-y: auto;
  }
}
@media print, screen and (min-width: 1001px) {
  .modal_logon .modal_logon_inner {
    background-color: rgba(85, 85, 85, 0.85);
  }
}
@media print, screen and (min-width: 1001px) {
  .modal_logon .modal_logon_inner::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: solid 16px transparent;
    border-bottom: solid 16px #555;
    opacity: .85;
    position: absolute;
    top: -32px;
    right: 123px;
    z-index: 10;
  }
}
@media print, screen and (min-width: 1381px) {
  .modal_logon .modal_logon_inner::before {
    right: 32px;
  }
}
.modal_logon .modal_logon_heading {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 25px;
}

@media print, screen and (min-width: 1001px) {
  .modal_logon .modal_logon_list {
    column-count: 2;
  }
}
.modal_logon .modal_logon_list li {
  margin-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .modal_logon .modal_logon_list li {
    margin-bottom: 0;
    padding: 0 13px 30px;
  }
}
.modal_logon .modal_logon_list li:last-child {
  margin-bottom: 0;
}

.modal_logon .modal_logon_close {
  margin-top: 25px;
}

@media print, screen and (min-width: 1001px) {
  .modal_logon .modal_logon_close {
    margin-top: 0;
  }
}
.modal_logon .modal_logon_close span {
  display: block;
  text-align: center;
  width: calc( 50% - 10px);
  max-width: 340px;
  border: solid 1px #fff;
  border-radius: 5px;
  padding: 6px;
  font-weight: 600;
  position: relative;
  margin: 0 auto;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .modal_logon .modal_logon_close span {
    width: 120px;
    padding: 4px 14px 4px 24px;
  }
}
.modal_logon .modal_logon_close span::before {
  display: inline-block;
  content: "\f00d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 10;
  transform: translate(0, -50%);
}

#newTitle, #pageTitle {
  background-color: #FFFDEA;
  font-size: 1.8rem;
  line-height: 1.4;
}

@media print, screen and (min-width: 1001px) {
  #newTitle, #pageTitle {
    font-size: 3.6rem;
  }
}
@media print, screen and (min-width: 1001px) {
  #newTitle .pieceContainer, #pageTitle .pieceContainer {
    max-width: 1300px;
    padding-left: 50px;
    padding-right: 50px;
    margin: 0 auto;
  }
}
#newTitle .pieceBody, #pageTitle .pieceBody {
  display: table;
  width: 100%;
  min-height: 120px;
}

@media print, screen and (min-width: 1001px) {
  #newTitle .pieceBody, #pageTitle .pieceBody {
    min-height: 260px;
  }
}
#newTitle .pieceBody h1, #pageTitle .pieceBody h1 {
  display: table-cell;
  vertical-align: middle;
  text-align: left;
  padding: 12px;
}

@media print, screen and (min-width: 1001px) {
  #newTitle .pieceBody h1, #pageTitle .pieceBody h1 {
    padding: 15px 0;
  }
}
#breadCrumbs {
  font-size: 1.2rem;
}

@media print, screen and (min-width: 1001px) {
  #breadCrumbs {
    font-size: 1.4rem;
  }
}
#breadCrumbs .pieceBody {
  padding-left: 12px;
  padding-right: 12px;
}

@media print, screen and (min-width: 1001px) {
  #breadCrumbs .pieceBody {
    max-width: 1300px;
    margin: 0 auto;
    padding-left: 50px;
    padding-right: 50px;
  }
}
#breadCrumbs a {
  color: #171717;
  text-decoration: none;
}

#breadCrumbs a:last-child {
  color: #B90018;
}

.footer {
  padding-top: 130px;
  position: relative;
}

@media print, screen and (min-width: 1001px) {
  .footer {
    background: url(../img/common/img_illustration.svg) repeat-x left 27px;
    padding-top: 80px;
  }
}
.footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 85px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background: url(../img/common/img_illustration.svg) repeat-x left bottom;
  border-bottom: solid 45px #B90018;
}

@media print, screen and (min-width: 1001px) {
  .footer::before {
    display: none;
  }
}
.footer .list_arrow_red li {
  padding-left: 1em;
  margin-bottom: 1em;
  position: relative;
}

.footer .list_arrow_red li::before {
  content: "";
  display: block;
  width: 6px;
  height: 9px;
  background: url(../img/common/icon_arrow_red.svg) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 8px;
  left: 0;
  z-index: 10;
}

.footer .list_arrow_red li a {
  color: #171717;
  text-decoration: none;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_container {
    max-width: 1200px;
    margin: 0 auto;
  }
}
.footer .footer_content_subnav {
  display: none;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_content_subnav {
    display: block;
    font-size: 1.2rem;
    background-color: #B90018;
  }
}
.footer .footer_content_subnav .subnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-right: 100px;
  position: relative;
}

.footer .footer_content_subnav .subnav a {
  display: inline-block;
  color: #fff;
  padding: 6px 10px;
  height: 35px;
  text-decoration: none;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_content_subnav .subnav a:hover {
    background-color: #fff;
    color: #B90018;
  }
}
.footer .footer_content_subnav .subnav .subnav_en {
  position: relative;
  padding-left: 10px;
  margin-left: 10px;
}

.footer .footer_content_subnav .subnav .subnav_en::before {
  content: "";
  display: block;
  width: 0;
  height: 1.2rem;
  border-left: solid 1px #fff;
  position: absolute;
  top: 1.2rem;
  left: 0;
  z-index: 10;
}

.footer .footer_content_subnav .subnav .subnav_contact {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}

.footer .footer_content_subnav .subnav .subnav_contact a {
  display: block;
  color: #fff;
  background: #B90018 url(../img/common/icon_mail.svg) no-repeat center 20px;
  text-decoration: none;
  border-radius: 0 0 0 8px;
  font-size: 1rem;
  padding: 50px 10px 12px 10px;
  text-align: center;
  height: auto;
}

.footer .footer_content_nav {
  font-size: 1.3rem;
  padding: 0 12px;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav {
    padding: 0;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav a:hover {
    color: #B90018;
  }
}
.footer .footer_content_nav .footer_container {
  padding: 25px 0 40px;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav .footer_container {
    padding: 50px 0;
  }
}
.footer .footer_content_nav .footer_column {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (max-width: 1000px) {
  .footer .footer_content_nav .footer_column .column_item_odd {
    width: 100%;
    order: 2;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav .footer_column .column_item_odd {
    width: 50%;
    padding-left: 10px;
  }
}
@media print, screen and (max-width: 1000px) {
  .footer .footer_content_nav .footer_column .column_item_even {
    width: 100%;
    order: 1;
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav .footer_column .column_item_even {
    width: 50%;
    padding-right: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav .footer_nav_wrap {
    display: flex;
    flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav .footer_nav:nth-child(odd) {
    width: 210px;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_nav .footer_nav:nth-child(even) {
    width: 380px;
  }
}
.footer .footer_content_info {
  font-size: 1rem;
  text-align: center;
  padding: 0 12px;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_content_info {
    border-top: solid 1px #B90018;
  }
}
.footer .footer_content_info .footer_container {
  border-top: solid 1px #B90018;
  padding: 10px 0 25px;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_content_info .footer_container {
    border-top: none;
    padding: 32px 0 37px;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_info .footer_column {
    display: flex;
    flex-wrap: wrap;
  }
}
.footer .footer_content_info .footer_column .column_item_odd {
  margin-bottom: 10px;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_content_info .footer_column .column_item_odd {
    width: 300px;
    margin-bottom: 0;
    padding-left: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .footer_content_info .footer_column .column_item_even {
    width: calc( 100% - 300px);
  }
}
.footer .footer_logo {
  width: 80px;
  margin: 0 auto;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_logo {
    width: 160px;
    margin: 0;
  }
}
.footer .footer_logo a, .footer .footer_logo img {
  display: block;
}

.footer .footer_logo a {
  padding: 15px 0;
}

.footer .footer_banner_heading {
  font-size: 1.1rem;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_banner_heading {
    font-size: 1.4rem;
  }
}
.footer .footer_banner a {
  display: inline-block;
  width: 95%;
  max-width: 669px;
}

@media print, screen and (min-width: 1001px) {
  .footer .footer_banner a {
    max-width: 416px;
    margin: 0;
  }
}
.footer .footer_banner img {
  width: 100%;
  vertical-align: bottom;
}

.footer .banktext {
  margin-bottom: 25px;
}

@media print, screen and (min-width: 1001px) {
  .footer .banktext {
    margin-bottom: 15px;
  }
}
@media print, screen and (min-width: 1001px) {
  .footer .banktext br {
    display: none;
  }
}
.footer .bankcode {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1rem;
}

@media print, screen and (min-width: 1001px) {
  .footer .bankcode {
    font-size: 1.2rem;
  }
}
.footer .bankcode dd {
  padding-right: 1em;
}

@media print, screen and (min-width: 1001px) {
  .footer .bankcode dd {
    padding-right: 2em;
  }
}
.footer .copyright {
  background-color: #B90018;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  padding: 4px;
}

@media print, screen and (min-width: 1001px) {
  .footer .copyright {
    text-align: right;
    font-size: 1.2rem;
    padding: 15px 25px;
  }
}
.section_logon {
  padding: 15px 0 50px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon {
    padding-top: 35px;
  }
}
@media print, screen and (min-width: 1301px) {
  .section_logon .logonitem {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
.section_logon .logonitem_list {
  display: flex;
  flex-wrap: wrap;
}

.section_logon .logonitem_list li {
  width: 50%;
  padding-bottom: 10px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .logonitem_list li {
    width: 100%;
    padding-bottom: 0;
  }
}
.section_logon .logonitem_list li:nth-child(odd) {
  padding-right: 5px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .logonitem_list li:nth-child(odd) {
    padding-right: 0;
  }
}
.section_logon .logonitem_list li:nth-child(even) {
  padding-left: 5px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .logonitem_list li:nth-child(even) {
    padding-left: 0;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1300px) {
  .section_logon .logonitem_list_horizontal {
    margin: 0 -10px;
  }
}
@media print, screen and (min-width: 1301px) {
  .section_logon .logonitem_list_horizontal {
    width: calc( 100% - 390px);
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1300px) {
  .section_logon .logonitem_list_horizontal li:nth-child(odd), .section_logon .logonitem_list_horizontal li:nth-child(even) {
    width: 50%;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media print, screen and (min-width: 1301px) {
  .section_logon .logonitem_list_horizontal li:nth-child(odd), .section_logon .logonitem_list_horizontal li:nth-child(even) {
    width: 50%;
    padding-left: 0;
    padding-right: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .section_logon .logonitem_list_horizontal .btn_basic_large {
    height: 90px;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1300px) {
  .section_logon .logonitem_list_vertical {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
  }
}
@media print, screen and (min-width: 1301px) {
  .section_logon .logonitem_list_vertical {
    width: 390px;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1300px) {
  .section_logon .logonitem_list_vertical li:nth-child(odd), .section_logon .logonitem_list_vertical li:nth-child(even) {
    width: 50%;
    padding: 20px 10px 0;
  }
}
@media print, screen and (min-width: 1001px) {
  .section_logon .logonitem_list_vertical li:nth-child(1) {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .section_logon .logonitem_list_vertical .btn_basic_large {
    height: 40px;
    font-size: 1.6rem;
  }
}
.section_logon .list_panel_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1.4;
  margin-top: 35px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav {
    margin: 70px -11px 0;
  }
}
.section_logon .list_panel_nav li {
  width: 50%;
  max-width: 343px;
  padding-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav li {
    width: 25%;
  }
}
.section_logon .list_panel_nav li:nth-child(odd) {
  padding-right: 7px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav li:nth-child(odd) {
    padding: 0 11px;
  }
}
.section_logon .list_panel_nav li:nth-child(even) {
  padding-left: 7px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav li:nth-child(even) {
    padding: 0 11px;
  }
}
.section_logon .list_panel_nav a {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 100%;
  position: relative;
  border-radius: 9px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav a {
    transition: all .3s ease;
  }
}
@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav a:hover {
    background-size: 110% 110%;
  }
}
.section_logon .list_panel_nav span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 45px;
  color: #fff;
  background-color: rgba(185, 0, 24, 0.9);
  font-size: 12px;
  padding-left: 15px;
}

@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav span {
    font-size: 16px;
    height: 56px;
    padding: 0 27px;
  }
}
.section_logon .list_panel_nav span::after {
  content: "\f054";
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 10px;
  line-height: 1;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  z-index: 10;
  transform: translate(0, -50%);
}

@media print, screen and (min-width: 1001px) {
  .section_logon .list_panel_nav span::after {
    font-size: 16px;
  }
}
.section_logon .list_panel_nav .panel_nav_1 a {
  background-image: url(../img/index/img_panel_nav_1.jpg);
}

.section_logon .list_panel_nav .panel_nav_1 span {
  background-color: rgba(0, 204, 153, 0.9);
}

.section_logon .list_panel_nav .panel_nav_2 a {
  background-image: url(../img/index/img_panel_nav_2.jpg);
}

.section_logon .list_panel_nav .panel_nav_3 a {
  background-image: url(../img/index/img_panel_nav_3.jpg);
}

.section_logon .list_panel_nav .panel_nav_4 a {
  background-image: url(../img/index/img_panel_nav_4.jpg);
}

.section_recommended {
  background-color: #B90018;
  padding: 25px 0 50px;
  overflow: hidden;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended {
    padding: 40px 0 100px;
  }
}
@media print, screen and (min-width: 1001px) {
  .section_recommended .section_container {
    width: 645px;
    height: 400px;
    margin: 0 auto;
    position: relative;
  }
}
@media print, screen and (min-width: 1921px) {
  .section_recommended .section_container {
    width: 100%;
    height: auto;
  }
}
.section_recommended .slick-arrow {
  opacity: 1;
  color: #fff;
  background-color: #B90018;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 16px;
  border-radius: 20px;
  position: absolute;
  top: 50%;
  z-index: 10;
  margin-top: -20px;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-arrow {
    width: 66px;
    height: 66px;
    line-height: 66px;
    border-radius: 33px;
    margin-top: -33px;
  }
}
.section_recommended .slick-arrow.prev {
  left: 5px;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-arrow.prev {
    left: 50%;
    margin-left: -360px;
  }
}
@media print, screen and (min-width: 1921px) {
  .section_recommended .slick-arrow.prev {
    left: 20px;
    margin-left: 0;
  }
}
.section_recommended .slick-arrow.prev::before {
  content: "\f053";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.section_recommended .slick-arrow.next {
  right: 5px;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-arrow.next {
    right: 50%;
    margin-right: -360px;
  }
}
@media print, screen and (min-width: 1921px) {
  .section_recommended .slick-arrow.next {
    right: 20px;
    margin-right: 0;
  }
}
.section_recommended .slick-arrow.next::before {
  content: "\f054";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.section_recommended .slick-dotted.slick-slider {
  margin-bottom: 0;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-dotted.slick-slider {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 10;
    width: 1920px;
    transform: translate(-50%, 0);
  }
}
@media print, screen and (min-width: 1921px) {
  .section_recommended .slick-dotted.slick-slider {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    transform: translate(0, 0);
  }
}
.section_recommended .slick-initialized .slick-slide {
  padding: 6px 25px;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-initialized .slick-slide {
    padding: 15px 40px;
    transition: transform .3s ease;
  }
}
.section_recommended .slick-initialized .slick-slide a, .section_recommended .slick-initialized .slick-slide img {
  display: block;
  width: 100%;
}

.section_recommended .slick-initialized .slick-slide a {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 8px;
  overflow: hidden;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-initialized .slick-slide:hover {
    transform: scale(1.05);
  }
}
@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-initialized .slick-track {
    padding: 20px 0;
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1920px) {
  .section_recommended .slick-initialized .slick-center {
    transform: scale(1.15);
  }
}
@media print, screen and (min-width: 1001px) and (max-width: 1920px) {
  .section_recommended .slick-initialized .slick-center:hover {
    transform: scale(1.15);
  }
}
.section_recommended .slick-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  bottom: -40px;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-dots {
    bottom: -56px;
  }
}
.section_recommended .slick-dots li {
  display: block;
  padding: 10px;
  width: auto;
  height: auto;
  margin: 0;
}

.section_recommended .slick-dots li button {
  width: 12px;
  height: 12px;
  opacity: 1;
  border-radius: 6px;
  border: solid 2px #fff;
  padding: 0;
}

@media print, screen and (min-width: 1001px) {
  .section_recommended .slick-dots li button {
    width: 16px;
    height: 16px;
    border-radius: 8px;
  }
}
.section_recommended .slick-dots li button:before {
  display: none;
}

.section_recommended .slick-dots li.slick-active button {
  background-color: #fff;
}

#newCampaignBanner {
  padding-top: 40px;
  padding-bottom: 95px;
  overflow: hidden;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner {
    padding-top: 80px;
    padding-bottom: 167px;
  }
}
#newCampaignBanner .pieceBody {
  position: relative;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .pieceBody {
    height: 415px;
  }
}
@media print, screen and (min-width: 1301px) {
  #newCampaignBanner .pieceBody {
    width: 375px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 1921px) {
  #newCampaignBanner .pieceBody {
    width: 100%;
    height: auto;
  }
}
#newCampaignBanner .slick-arrow {
  opacity: 1;
  color: #fff;
  background-color: #B90018;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 16px;
  border-radius: 20px;
  position: absolute;
  top: 50%;
  z-index: 10;
  margin-top: -20px;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-arrow {
    width: 66px;
    height: 66px;
    line-height: 66px;
    border-radius: 33px;
    margin-top: -33px;
  }
}
#newCampaignBanner .slick-arrow.prev {
  left: 5px;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-arrow.prev {
    left: 50%;
    margin-left: -510px;
  }
}
@media print, screen and (min-width: 1301px) {
  #newCampaignBanner .slick-arrow.prev {
    left: 50%;
    margin-left: -600px;
  }
}
@media print, screen and (min-width: 1921px) {
  #newCampaignBanner .slick-arrow.prev {
    left: 20px;
    margin-left: 0;
  }
}
#newCampaignBanner .slick-arrow.prev::before {
  content: "\f053";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

#newCampaignBanner .slick-arrow.next {
  right: 5px;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-arrow.next {
    right: 50%;
    margin-right: -510px;
  }
}
@media print, screen and (min-width: 1301px) {
  #newCampaignBanner .slick-arrow.next {
    margin-right: -600px;
  }
}
@media print, screen and (min-width: 1921px) {
  #newCampaignBanner .slick-arrow.next {
    right: 20px;
    margin-right: 0;
  }
}
#newCampaignBanner .slick-arrow.next::before {
  content: "\f054";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

#newCampaignBanner .slick-dotted.slick-slider {
  margin-bottom: 0;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-dotted.slick-slider {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 10;
    width: 1600px;
    transform: translate(-50%, 0);
  }
}
@media print, screen and (min-width: 1301px) {
  #newCampaignBanner .slick-dotted.slick-slider {
    width: 1920px;
  }
}
@media print, screen and (min-width: 1921px) {
  #newCampaignBanner .slick-dotted.slick-slider {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    transform: translate(0, 0);
  }
}
#newCampaignBanner .slick-initialized .slick-slide {
  padding: 25px;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 8px;
  overflow: hidden;
  margin: 0 10px;
  height: auto;
  float: none;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-initialized .slick-slide {
    transition: transform .3s ease;
    margin: 0 20px;
  }
}
#newCampaignBanner .slick-initialized .slick-slide .image {
  display: block;
  margin: -25px -25px 25px;
}

#newCampaignBanner .slick-initialized .slick-slide .image img {
  width: 100%;
}

#newCampaignBanner .slick-initialized .slick-slide .summary {
  color: #B90018;
  font-size: 1rem;
  font-weight: 600;
  display: block;
}

#newCampaignBanner .slick-initialized .slick-slide .title a {
  color: #171717;
  font-size: 1.5rem;
  font-weight: 600;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-initialized .slick-slide:hover {
    transform: scale(1.05);
  }

  #newCampaignBanner .slick-initialized .slick-slide:hover a {
    color: #B90018;
  }
}
@media print, screen and (max-width: 1000px) {
  #newCampaignBanner .slick-list {
    padding-left: 2% !important;
    padding-right: 15% !important;
  }
}
@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-list {
    padding-left: 19.5% !important;
    padding-right: 19.5% !important;
    overflow: unset;
  }
}
#newCampaignBanner .slick-track {
  display: flex;
  flex-wrap: wrap;
  padding: 6px 0;
}

#newCampaignBanner .slick-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  bottom: -60px;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-dots {
    bottom: -96px;
  }
}
#newCampaignBanner .slick-dots li {
  display: block;
  padding: 10px;
  width: auto;
  height: auto;
  margin: 0;
}

#newCampaignBanner .slick-dots li button {
  width: 12px;
  height: 12px;
  opacity: 1;
  border-radius: 12px;
  border: solid 2px #B90018;
  padding: 0;
}

@media print, screen and (min-width: 1001px) {
  #newCampaignBanner .slick-dots li button {
    width: 17px;
    height: 17px;
  }
}
#newCampaignBanner .slick-dots li button:before {
  display: none;
}

#newCampaignBanner .slick-dots li.slick-active button {
  background-color: #B90018;
}

.section_heading {
  position: relative;
  text-align: center;
  padding-top: 15px;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 1001px) {
  .section_heading {
    padding-top: 30px;
    margin-bottom: 50px;
  }
}
.section_heading::before {
  content: "";
  display: block;
  width: 114px;
  height: 1px;
  background-color: #B90018;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 10;
  margin-left: -57px;
}

@media print, screen and (min-width: 1001px) {
  .section_heading::before {
    width: 150px;
    margin-left: -75px;
  }
}
.section_heading .en {
  display: block;
  font-size: 3rem;
}

@media print, screen and (min-width: 1001px) {
  .section_heading .en {
    font-size: 4.2rem;
  }
}
.section_heading .ja {
  display: block;
  font-size: 1.5rem;
  color: #B90018;
}

@media print, screen and (min-width: 1001px) {
  .section_heading .ja {
    font-size: 2rem;
    padding-top: 12px;
  }
}
@media print, screen and (min-width: 1001px) {
  .display_mobile {
    display: none !important;
  }
}
@media print, screen and (max-width: 1000px) {
  .display_laptop {
    display: none !important;
  }
}
.large_letters {
  font-size: 1.8rem;
}

@media print, screen and (min-width: 1001px) {
  .large_letters {
    font-size: 2rem;
  }
}
.flex {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.flex_justify_center {
  justify-content: center;
}

.flex_align_center {
  align-items: center;
  align-items: center;
}

.main_page p {
  margin-bottom: 30px;
}

.main_page a {
  text-decoration: underline;
}

@media print, screen and (min-width: 1001px) {
  .main_page a:hover {
    text-decoration: none;
  }
}
.main_page ul.list_basic > li {
  padding-left: 0;
}

.main_page ul.list_basic > li::before {
  display: none;
}

.heading_style_h2, .main_page h2 {
  font-family: 'NotosansCjkjp-Medium';
  font-size: 2rem;
  color: #B90018;
  margin-top: 50px;
  margin-bottom: 40px;
  padding-bottom: 8px;
  border-bottom: solid 5px #B90018;
}

@media print, screen and (min-width: 1001px) {
  .heading_style_h2, .main_page h2 {
    font-size: 3rem;
    border-bottom: solid 10px #B90018;
  }
}
.heading_style_h2:first-child, .main_page h2:first-child {
  margin-top: 0;
}

.heading_style_h2 a, .main_page h2 a {
  text-decoration: none;
}

.heading_style_h2 a::after, .main_page h2 a::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 10;
  transform: translate(0, -50%);
}

.heading_style_h3, .main_page h3 {
  font-family: 'NotosansCjkjp-Medium';
  font-size: 1.9rem;
  margin-top: 40px;
  margin-bottom: 30px;
  padding-left: 1.5em;
  padding-bottom: .5em;
  background: url(../img/common/icon_h3.svg) no-repeat 0 0.2em;
  background-size: 1em auto;
  border-bottom: solid 1px #B90018;
}

@media print, screen and (min-width: 1001px) {
  .heading_style_h3, .main_page h3 {
    font-size: 2.4rem;
  }
}
.heading_style_h3:first-child, .main_page h3:first-child {
  margin-top: 0;
}

.heading_style_h3 a, .main_page h3 a {
  text-decoration: none;
}

.heading_style_h3 a::after, .main_page h3 a::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 10;
  transform: translate(0, -50%);
}

.heading_style_h4, .main_page h4 {
  font-family: 'NotosansCjkjp-Medium';
  font-size: 1.8rem;
  margin-top: 40px;
  margin-bottom: 30px;
  border-left: solid 2px #B90018;
  padding-left: .7rem;
}

@media print, screen and (min-width: 1001px) {
  .heading_style_h4, .main_page h4 {
    font-size: 2rem;
    border-left: solid 3px #B90018;
    padding-left: 1.4rem;
  }
}
.heading_style_h4:first-child, .main_page h4:first-child {
  margin-top: 0;
}

.heading_style_h4 a, .main_page h4 a {
  text-decoration: none;
}

.heading_style_h4 a::after, .main_page h4 a::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 10;
  transform: translate(0, -50%);
}

.heading_style_h5, .main_page h5 {
  font-family: 'NotosansCjkjp-Medium';
  font-size: 1.7rem;
  margin-top: 40px;
  margin-bottom: 30px;
  position: relative;
  padding-left: 1.9rem;
}

.heading_style_h5::before, .main_page h5::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: #B90018;
  position: absolute;
  top: 8px;
  left: 0;
  z-index: 10;
}

.heading_style_h5:first-child, .main_page h5:first-child {
  margin-top: 0;
}

.heading_style_h5 a, .main_page h5 a {
  text-decoration: none;
}

.heading_style_h5 a::after, .main_page h5 a::after {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 10;
  transform: translate(0, -50%);
}

.heading_style_red {
  font-family: 'NotosansCjkjp-Medium';
  font-size: 2rem;
  color: #B90018;
  text-align: center;
  margin-bottom: 40px;
}

@media print, screen and (min-width: 1001px) {
  .heading_style_red {
    font-size: 3rem;
  }
}
.icon_arrow::after, .icon_blank::after {
  text-indent: 0;
  display: inline-block;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  margin: 0 .3em;
  text-indent: 0;
}

.icon_arrow::after {
  content: "\f054";
}

.fa-file-download:before {
  font-family: fontello;
  content: "\E80E";
  display: inline-block;
  line-height: 1;
  font-family: fontello;
  font-weight: 400;
  font-size: 1.2em;
  margin: 0 .3em;
}

.icon_file::after {
  font-family: fontello;
  content: "\E80E";
  display: inline-block;
  line-height: 1;
  font-family: fontello;
  font-weight: 400;
  font-size: 1.2em;
  margin: 0 .3em;
  text-indent: 0;
}

.icon_blank::after {
  content: "\f35d";
}

h1 a, h2 a, h3 a, h4 a, h5 a, .heading_style_h2 a, .main_page h2 a, .heading_style_h3 a, .main_page h3 a, .heading_style_h4 a, .main_page h4 a, .heading_style_h5 a, .main_page h5 a {
  position: relative;
  display: inline-block;
  padding-right: 2em;
}

h1 .icon_file::after, h2 .icon_file::after, h3 .icon_file::after, h4 .icon_file::after, h5 .icon_file::after, .heading_style_h2 .icon_file::after, .main_page h2 .icon_file::after, .heading_style_h3 .icon_file::after, .main_page h3 .icon_file::after, .heading_style_h4 .icon_file::after, .main_page h4 .icon_file::after, .heading_style_h5 .icon_file::after, .main_page h5 .icon_file::after {
  transform: translate(0, -30%);
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.align_center {
  text-align: center;
}

.align_right {
  text-align: right;
}

table {
  width: 100%;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 1001px) {
  table {
    margin-bottom: 50px;
  }
}
table th, table td, table caption {
  border: solid 1px #D8D8D8;
  text-align: left;
  vertical-align: middle;
  font-weight: normal;
  padding: 10px;
}

table caption {
  border-bottom: none;
}

table th {
  background-color: #F2F2F2;
}

table td {
  background-color: #fff;
}

@media print, screen and (max-width: 1000px) {
  table.details {
    display: block;
  }
}
@media print, screen and (max-width: 1000px) {
  table.details tbody, table.details tr, table.details th, table.details td {
    display: block;
  }
}
table.details th, table.details td, table.details caption {
  background-color: #fff;
  border: none;
}

table.details th {
  color: #B90018;
  border-bottom: solid 1px #B90018;
  padding: 15px 0;
}

@media print, screen and (max-width: 1000px) {
  table.details th {
    border-bottom: none;
    padding: 10px 0 0;
  }
}
@media print, screen and (min-width: 1001px) {
  table.details th {
    width: 200px;
  }
}
table.details td {
  border-bottom: solid 1px #B90018;
  padding: 15px;
}

@media print, screen and (max-width: 1000px) {
  table.details td {
    padding: 10px 0;
  }
}
.main_page li {
  margin-bottom: .5em;
}

.main_page li ul, .main_page li ol {
  margin-top: .5em;
  margin-bottom: auto;
}

.main_page ul {
  margin-bottom: 30px;
}

.main_page ul:last-child {
  margin-bottom: 0;
}

.main_page ul > li {
  position: relative;
  padding-left: 20px;
}

.main_page ul > li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #B90018;
  position: absolute;
  top: 12px;
  left: 6px;
  z-index: 10;
}

.main_page ol {
  margin-bottom: 30px;
  counter-reset: count;
}

.main_page ol:last-child {
  margin-bottom: 0;
}

.main_page ol > li {
  position: relative;
  padding-left: 3rem;
}

.main_page ol > li::before {
  font-weight: 600;
  counter-increment: count;
  content: counter(count) ".";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 2.6rem;
}

.main_page .list_postdata li {
  padding: 15px 0;
  border-top: solid 1px #D8D8D8;
  overflow: hidden;
}

@media print, screen and (min-width: 1001px) {
  .main_page .list_postdata li {
    padding: 17px 0;
  }
}
.main_page .list_postdata li:last-child {
  border-bottom: solid 1px #D8D8D8;
}

.main_page .list_postdata li::before {
  display: none;
}

.main_page .list_postdata li a {
  text-decoration: none;
}

.list_ul {
  margin-bottom: 30px;
}

.list_ul:last-child {
  margin-bottom: 0;
}

.list_ul > li {
  position: relative;
  padding-left: 20px;
}

.list_ul > li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #B90018;
  position: absolute;
  top: 12px;
  left: 6px;
  z-index: 10;
}

.list_ol {
  counter-reset: count;
}

.list_ol > li {
  position: relative;
  padding-left: 2.2rem !important;
}

.list_ol > li::before {
  position: absolute !important;
  top: 0.55em !important;
  left: 0 !important;
  z-index: 10 !important;
  display: inline-block;
  width: 1.6rem !important;
  height: 1.6rem !important;
  border: 1px solid #171717;
  border-radius: 50%;
  font-family: "NotosansCjkjp-Medium";
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 1.58rem;
  text-align: center;
  counter-increment: count;
  content: counter(count) !important;
}

.list_indent > li {
  position: relative;
  padding-left: 3.2rem !important;
}

.list_indent > li .symbol {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.list_indent > li::before {
  display: none !important;
}

@media print, screen and (min-width: 1001px) {
  .list_column {
    column-count: 2;
  }
}
.list_column li {
  margin-bottom: 16px;
}

.list_column li a {
  text-decoration: none;
}

.list_postdata {
  margin-bottom: 30px;
}

.list_postdata li {
  padding: 15px 0;
  border-top: solid 1px #D8D8D8;
  overflow: hidden;
}

@media print, screen and (min-width: 1001px) {
  .list_postdata li {
    padding: 17px 0;
  }
}
.list_postdata li:last-child {
  border-bottom: solid 1px #D8D8D8;
}

.list_postdata .publish_date {
  display: block;
  font-size: 1rem;
  color: #A7A7A7;
}

@media print, screen and (min-width: 1001px) {
  .list_postdata .publish_date {
    font-size: 1.4rem;
    float: left;
    margin-top: .25rem;
  }
}
.list_postdata .title {
  display: block;
  color: #B90018;
}

@media print, screen and (max-width: 1000px) {
  .list_postdata .title {
    position: relative;
    padding-right: 3em;
  }
}
@media print, screen and (min-width: 1001px) {
  .list_postdata .title {
    padding-left: 120px;
  }
}
@media print, screen and (max-width: 1000px) {
  .list_postdata .title i {
    font-size: 1.5em;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 10;
    transform: translate(0, -50%);
  }
}
.list_postdata .title a {
  display: block;
  font-size: 1.6rem;
  display: -webkit-box;
  overflow: hidden;
  color: #171717;
}

@media print, screen and (max-width: 1000px) {
  .list_postdata .title a {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
@media print, screen and (min-width: 1001px) {
  .list_postdata .title a {
    display: inline;
  }
}
.list_postdata .title a::after {
  color: #B90018;
}

@media print, screen and (min-width: 1001px) {
  .list_postdata .title a:hover {
    color: #B90018;
  }
}
hr {
  border: none;
  border-top: solid 1px #D8D8D8;
  margin: 30px auto;
}

.btn_basic, .btn_logon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #171717;
  text-decoration: none !important;
  width: 100%;
  max-width: 380px;
  font-family: 'NotosansCjkjp-Medium';
  font-size: 1.4rem;
  padding: 20px 25px;
  border: solid 1px #B90018;
  border-radius: 5px;
  position: relative;
}

@media print, screen and (min-width: 1001px) {
  .btn_basic, .btn_logon {
    font-size: 1.8rem;
    padding: 15px 25px;
  }
}
.btn_basic > i, .btn_logon > i, .btn_basic:after, .btn_logon:after {
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 10;
  transform: translate(0, -50%);
  color: #B90018;
  margin: 0;
}

.btn_basic .text-small, .btn_logon .text-small {
  display: block;
  width: 100%;
  font-size: .77em;
  text-align: center;
}

.btn_basic.disabled, .disabled.btn_logon {
  border-color: #F3F3F3;
  color: #A7A7A7;
  pointer-events: none;
}

.btn_basic.disabled::before, .disabled.btn_logon::before, .btn_basic.disabled::after, .disabled.btn_logon::after {
  color: #A7A7A7;
}

.btn_logon {
  background-color: #B90018;
  color: #fff;
  text-decoration: none;
  padding: 0 4rem;
  height: 65px;
}

@media print, screen and (min-width: 1001px) {
  .btn_logon {
    height: 90px;
  }
}
.btn_logon.icon_file::after, .btn_logon.icon_blank::after, .btn_logon.icon_arrow::after {
  color: #fff;
}

.btn_logon .btn_icon {
  position: relative;
  display: block;
  padding-left: 3rem;
}

.btn_logon .btn_icon::before {
  content: "\f2f6";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 10;
  transform: translate(0, -50%);
  font-size: 2rem;
  font-weight: 900;
}

.btn_basic_large {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #B90018;
  border: solid 1px #B90018;
  text-decoration: none;
  width: 100%;
  height: 50px;
  font-family: 'NotosansCjkjp-Medium';
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
  border-radius: 5px;
  padding: 0 26px;
  position: relative;
}

@media print, screen and (max-width: 320px) {
  .btn_basic_large {
    padding: 0 26px 0 10px;
  }
}
@media print, screen and (min-width: 1001px) {
  .btn_basic_large {
    height: 90px;
    font-size: 1.8rem;
  }
}
.btn_basic_large::after {
  position: absolute;
  top: 50%;
  right: 10px;
  z-index: 10;
  transform: translate(0, -50%);
}

@media print, screen and (min-width: 1001px) {
  .btn_basic_large::after {
    font-size: 12px;
  }
}
.btn_basic_large .btn_inner {
  display: block;
}

.btn_basic_large .btn_type {
  display: inline-block;
  font-size: 1rem;
  padding-left: 2em;
  position: relative;
  margin-bottom: .2em;
}

@media print, screen and (min-width: 1001px) {
  .btn_basic_large .btn_type {
    font-size: 1.4rem;
  }
}
.btn_basic_large .btn_type::before {
  content: "\f2f6";
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 10;
  transform: translate(0, -50%);
  font-size: 1.4em;
  font-weight: 900;
}

.btn_basic_large .btn_text {
  display: block;
}

.btn_green {
  background-color: #00CC99;
  border: solid 1px #00CC99;
}

.btn_green.icon_file::after, .btn_green.icon_blank::after, .btn_green.icon_arrow::after {
  color: #fff;
}

.btn_white {
  background-color: #fff;
  border: solid 1px #D8D8D8;
  color: #171717;
}

.btn_white.icon_file::after, .btn_white.icon_blank::after, .btn_white.icon_arrow::after {
  color: #D8D8D8;
}

.btn_white > i {
  color: #D8D8D8;
}

i.file::before {
  font-family: fontello;
  content: "\E80E";
  display: inline-block;
  line-height: 1;
  font-family: fontello;
  font-weight: 400;
  font-size: 1.2em;
  margin: 0 .3em;
}

.btn_agree, .btn_disagree {
  display: inline-block;
  width: 150px;
  height: 45px;
  line-height: 45px;
  font-size: 16px;
  text-align: center;
  color: #fff;
  background-color: #00CC99;
  border-radius: 5px;
  text-decoration: none !important;
}

@media print, screen and (min-width: 1001px) {
  .btn_agree, .btn_disagree {
    width: 140px;
    height: 40px;
    line-height: 40px;
  }
}
.btn_disagree {
  background-color: #B90018;
}

.text_color_red {
  color: #B90018;
}

.content_area {
  margin-bottom: 25px;
}

.content_area {
  margin-bottom: 50px;
}

.content_area {
  margin-bottom: 75px;
}

.content_area {
  margin-bottom: 100px;
}

.box_gray {
  font-size: 1.3rem;
  padding: 15px;
  background-color: #F2F2F2;
  margin: 0 auto 50px;
}

.box_gray:last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 1001px) {
  .box_gray {
    font-size: 1.6rem;
    padding: 40px;
  }
}
@media print, screen and (max-width: 1000px) {
  .box_gray ul, .box_gray ol, .box_gray p {
    margin-bottom: 1em;
  }
}
.box_gray ul:last-child, .box_gray ol:last-child, .box_gray p:last-child {
  margin-bottom: 0;
}

.box_AdobeAcrobatReader {
  padding: 15px;
  background-color: #F2F2F2;
  margin: 0 auto 50px;
}

@media print, screen and (min-width: 1001px) {
  .box_AdobeAcrobatReader {
    font-size: 1.6rem;
    padding: 40px;
  }
}
.box_AdobeAcrobatReader p {
  margin-bottom: 1em;
}

.box_AdobeAcrobatReader p:last-child {
  margin-bottom: 0;
}

.table_scroll {
  margin-bottom: 30px;
}

.table_scroll table {
  margin-bottom: 0;
}

.table_scroll::before {
  content: "←　横にスライドできます　→";
  display: block;
  text-align: center;
  color: #B90018;
  font-size: 12px;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .table_scroll::before {
    display: none;
  }
}
.table_scroll.table_scroll_heading::before {
  display: none;
}

@media print, screen and (max-width: 1000px) {
  .table_wrap {
    overflow: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .table_wrap table {
    margin-bottom: auto;
  }
}
.scroll_content {
  overflow: hidden;
  overflow-y: auto;
  width: 100%;
  height: 300px;
  border: solid 1px #D8D8D8;
  padding: 10px;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 1001px) {
  .scroll_content {
    height: 400px;
  }
}
.pagination {
  position: relative;
  padding-top: 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 350px;
  margin: 50px auto 0;
}

@media print, screen and (min-width: 1001px) {
  .pagination {
    margin-top: 100px;
  }
}
.pagination a, .pagination em, .pagination .gap {
  display: block;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  color: #B90018;
  background-color: #fff;
  text-decoration: none;
  border-radius: 4px;
}

.pagination .current {
  color: #fff;
  background-color: #B90018;
}

.pagination .previous_page {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  width: 150px;
  height: 40px;
  background-color: #B90018;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
}

.pagination .next_page {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  width: 150px;
  height: 40px;
  background-color: #B90018;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
}

.pagination .disabled {
  display: none;
}

.qa_contents_wrap {
  font-size: 1.4rem;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 1001px) {
  .qa_contents_wrap {
    font-size: 1.6rem;
  }
}
.qa_contents_wrap .qa_item {
  position: relative;
  border: solid 1px #B90018;
  border-radius: 2px;
  margin-bottom: 30px;
  overflow: hidden;
}

@media print, screen and (min-width: 1001px) {
  .qa_contents_wrap .qa_item {
    border: solid 2px #B90018;
    border-radius: 5px;
  }
}
.qa_contents_wrap .qa_item:last-child {
  margin-bottom: 0;
}

.qa_contents_wrap .qa_heading {
  position: relative;
  padding: 15px 15px 10px 50px;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .qa_contents_wrap .qa_heading {
    padding: 25px 100px;
  }
}
.qa_contents_wrap .qa_heading p {
  margin-bottom: 0;
}

.qa_contents_wrap .qa_heading::before {
  content: "Q";
  display: block;
  font-family: 'NotosansCjkjp-Medium';
  color: #B90018;
  font-size: 30px;
  line-height: 1;
  position: absolute;
  top: 10px;
  left: 15px;
  z-index: 10;
}

@media print, screen and (min-width: 1001px) {
  .qa_contents_wrap .qa_heading::before {
    font-size: 40px;
    top: 18px;
    left: 34px;
  }
}
.qa_contents_wrap .qa_content {
  display: none;
  position: relative;
  padding: 15px 15px 15px 50px;
  background-color: #F2F2F2;
}

@media print, screen and (min-width: 1001px) {
  .qa_contents_wrap .qa_content {
    padding: 30px 100px;
  }
}
.qa_contents_wrap .qa_content p:last-child, .qa_contents_wrap .qa_content ul:last-child {
  margin-bottom: 0;
}

.qa_contents_wrap .qa_content::before {
  content: "A";
  display: block;
  font-family: 'NotosansCjkjp-Medium';
  color: #555;
  font-size: 30px;
  line-height: 1;
  position: absolute;
  top: 10px;
  left: 16px;
  z-index: 10;
}

@media print, screen and (min-width: 1001px) {
  .qa_contents_wrap .qa_content::before {
    font-size: 40px;
    top: 24px;
    left: 36px;
  }
}
.qa_contents_wrap .qa_toggle {
  position: relative;
  height: 40px;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .qa_contents_wrap .qa_toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    width: 100px;
    height: 80px;
  }
}
.qa_contents_wrap .qa_toggle img {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  transform: translate(-50%, -50%);
}

.qa_contents_wrap .icon_qa_open {
  display: block;
}

.qa_contents_wrap .icon_qa_close {
  display: none;
}

@media print, screen and (max-width: 1000px) {
  .qa_contents_wrap .open .qa_toggle {
    background-color: #F2F2F2;
  }
}
.qa_contents_wrap .open .icon_qa_open {
  display: none;
}

.qa_contents_wrap .open .icon_qa_close {
  display: block;
}

.box_chatbot {
  font-size: 1.4rem;
  margin-bottom: 30px;
}

@media print, screen and (min-width: 1001px) {
  .box_chatbot {
    border: solid 2px #B90018;
    background-color: #F2F2F2;
    border-radius: 17px;
    padding: 0 0 30px 190px;
    font-size: 1.6rem;
    max-width: 815px;
    margin-bottom: 60px;
  }
}
.box_chatbot p {
  margin-bottom: 0;
}

.box_chatbot .box_chatbot_inner {
  position: relative;
  border: solid 2px #B90018;
  background-color: #F2F2F2;
  border-radius: 8px;
  margin-bottom: 15px;
  min-height: 215px;
}

@media print, screen and (min-width: 1001px) {
  .box_chatbot .box_chatbot_inner {
    border: none;
    background-color: transparent;
    min-height: 1px;
    margin-bottom: 0;
  }
}
.box_chatbot .box_chatbot_heading {
  color: #B90018;
  padding: 15px 15px 10px 95px;
  font-family: 'NotosansCjkjp-Medium';
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
}

@media print, screen and (min-width: 1001px) {
  .box_chatbot .box_chatbot_heading {
    padding: 25px 25px 15px 0;
    font-size: 3.6rem;
    border-radius: 15px 15px 0 0;
  }
}
.box_chatbot .box_chatbot_content {
  padding: 0 15px 15px 95px;
}

@media print, screen and (min-width: 1001px) {
  .box_chatbot .box_chatbot_content {
    padding: 0 0 30px;
  }
}
.box_chatbot .name {
  font-family: 'NotosansCjkjp-Medium';
  font-size: 1.9rem;
  font-weight: 600;
  margin-bottom: 10px;
}

@media print, screen and (min-width: 1001px) {
  .box_chatbot .name {
    font-size: 2.4rem;
  }
}
.box_chatbot .text {
  margin-bottom: 10px;
}

.box_chatbot .link {
  font-size: 1.6rem;
}

.box_chatbot .file {
  margin-top: 10px;
}

.box_chatbot .box_chatbot_inner::before {
  content: "";
  display: block;
  width: 54px;
  height: 181px;
  background: url(../img/common/icon_chatbot_1.png) no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 16px;
  left: 20px;
  z-index: 10;
}

@media print, screen and (min-width: 1001px) {
  .box_chatbot .box_chatbot_inner::before {
    width: 83px;
    height: 275px;
    top: 34px;
    left: -140px;
  }
}
.box_chatbot.chatbot_2 .box_chatbot_inner::before {
  background-image: url(../img/common/icon_chatbot_2.png);
}

.box_chatbot.chatbot_3 .box_chatbot_inner::before {
  background-image: url(../img/common/icon_chatbot_3.png);
}

.accordion_basic {
  border: solid 1px #B90018;
  background-color: #fff;
  border-radius: 2px;
  margin-bottom: 25px;
  overflow: hidden;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic {
    margin-bottom: 50px;
    border-radius: 5px;
    border: solid 2px #B90018;
  }
}
.accordion_basic:last-child {
  margin-bottom: 0;
}

.accordion_basic .accordion_toggle {
  padding: 15px 15px 75px;
  position: relative;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic .accordion_toggle {
    padding: 40px 170px 40px 100px;
  }
}
.accordion_basic .accordion_toggle::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/common/icon_menu_open.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: 22px;
  right: 50%;
  z-index: 10;
  margin-right: -20px;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic .accordion_toggle::after {
    bottom: 50%;
    right: 100px;
    margin-right: 0;
    margin-bottom: -20px;
  }
}
.accordion_basic .accordion_heading {
  font-size: 2rem;
  color: #B90018;
  margin-bottom: 10px;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic .accordion_heading {
    font-size: 2.4rem;
  }
}
.accordion_basic .accordion_text {
  font-size: 1.6rem;
  margin-bottom: 0;
}

.accordion_basic .accordion_content {
  display: none;
  background-color: #F9F9F9;
  padding: 60px 15px 30px;
  position: relative;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic .accordion_content {
    padding: 80px 100px 35px;
  }
}
.accordion_basic .accordion_content p {
  margin-bottom: 30px;
}

.accordion_basic .accordion_close_icon {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic .accordion_close_icon {
    top: 30px;
    right: 100px;
    line-height: 60px;
  }
}
.accordion_basic .accordion_close_icon img {
  width: 15px;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic .accordion_close_icon img {
    width: 26px;
  }
}
.accordion_basic .accordion_close_button {
  display: block;
  text-align: center;
  width: 50%;
  max-width: 340px;
  border: solid 1px #555;
  border-radius: 5px;
  padding: 4px 14px 4px 24px;
  font-weight: 600;
  position: relative;
  margin: 30px auto 0;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .accordion_basic .accordion_close_button {
    margin-top: 50px;
    max-width: 120px;
  }
}
.accordion_basic .accordion_close_button::before {
  display: inline-block;
  content: "\f00d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 15px;
  z-index: 10;
  transform: translate(0, -50%);
}

.bnr_chatbot {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 1000;
  width: 180px;
}

@media print, screen and (min-width: 1001px) {
  .bnr_chatbot {
    width: 292px;
    bottom: 30px;
  }
}
.bnr_chatbot a, .bnr_chatbot img {
  display: block;
}

@media print, screen and (min-width: 1001px) {
  .article_panle_list {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    margin: 0 -15px;
  }
}
.article_panle_list .article {
  border-radius: 5px;
  border: solid 1px #B90018;
  background-color: #fff;
  padding: 15px;
}

@media print, screen and (max-width: 1000px) {
  .article_panle_list .article {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 1001px) {
  .article_panle_list .article {
    width: calc( 33.33% - 30px);
    padding: 25px 30px;
    margin: 0 15px 30px;
  }
}
@media print, screen and (max-width: 1000px) {
  .article_panle_list .article:last-child {
    margin-bottom: 0;
  }
}
.article_panle_list .article_heading {
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .article_panle_list .article_heading {
    font-size: 2.4rem;
  }
}
.article_panle_list .article_img {
  text-align: center;
  margin-bottom: 15px;
}

.article_panle_list .article_img img {
  width: 70%;
  max-width: 330px;
  vertical-align: bottom;
}

@media print, screen and (min-width: 1001px) {
  .article_panle_list .article_img img {
    width: 100%;
  }
}
.article_panle_list .article_text {
  font-size: 1.3rem;
  margin-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .article_panle_list .article_text {
    font-size: 1.4rem;
  }
}
.article_panle_list .article_link {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

@media print, screen and (min-width: 1001px) {
  .article_panle_list .article_link {
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 1001px) {
  .article_panle_list.double .article {
    width: calc( 50% - 30px);
  }
}
.linebox {
  border: solid 1px #B90018;
  padding: 25px 15px;
  border-radius: 4px;
}

@media print, screen and (min-width: 1001px) {
  .linebox {
    border: solid 2px #B90018;
    padding: 60px 90px;
    border-radius: 9px;
  }
}
.linebox p:last-child {
  margin-bottom: 0;
}

.panel_gray {
  background-color: #F3F3F3;
  padding: 25px 30px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 1em;
}

@media print, screen and (min-width: 1001px) {
  .panel_gray {
    max-width: 570px;
    padding: 50px;
    border-radius: 9px;
    font-size: 20px;
  }
}
.panel_gray img {
  vertical-align: bottom;
}

.panel_gray p {
  margin-bottom: 20px;
}

.panel_gray p:last-child {
  margin-bottom: 0;
}

.box_followup {
  margin-bottom: 30px;
  padding-bottom: 230px;
  background: url(../img/page/bg_box_followup.png) no-repeat center bottom;
  background-size: 230px auto;
}

@media print, screen and (min-width: 1001px) {
  .box_followup {
    padding-bottom: 0;
    background-position: right top;
    background-size: 314px auto;
    min-height: 275px;
  }
}
.box_keiei_support {
  margin-bottom: 30px;
  padding-bottom: 230px;
  background: url(../img/page/bg_box_keiei_support.png) no-repeat center bottom;
  background-size: 200px auto;
}

@media print, screen and (min-width: 1001px) {
  .box_keiei_support {
    padding-bottom: 0;
    background-position: right top;
    background-size: 240px auto;
  }
}
.box_keiei_support .panel_gray {
  max-width: 650px;
  font-size: 16px;
}

@media print, screen and (min-width: 1001px) {
  .box_keiei_support .panel_gray {
    font-size: 30px;
    padding: 40px 30px;
  }
}
.column_app_details {
  margin-bottom: 40px;
}

@media print, screen and (min-width: 1001px) {
  .column_app_details {
    display: flex;
    flex-wrap: wrap;
  }
}
.column_app_details .column_item_odd {
  text-align: center;
  padding-bottom: 30px;
}

@media print, screen and (min-width: 1001px) {
  .column_app_details .column_item_odd {
    text-align: left;
    width: 220px;
    padding-bottom: 0;
    padding-right: 20px;
  }
}
.column_app_details .column_item_odd img {
  vertical-align: bottom;
}

@media print, screen and (min-width: 1001px) {
  .column_app_details .column_item_even {
    width: calc( 100% - 220px);
  }
}
.column_app_links {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}

@media print, screen and (min-width: 1001px) {
  .column_app_links {
    max-width: 350px;
  }
}
.column_app_links img {
  vertical-align: bottom;
}

.column_app_links a {
  display: inline-block;
}

.column_app_links .column_item {
  width: 50%;
}

.column_app_links .column_item .link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
}

.column_app_links .column_item .qrcode {
  width: 100%;
}

.label_checkbox {
  display: inline-block;
  padding-left: 2em;
  position: relative;
  cursor: pointer;
  user-select: none;
}

.label_checkbox input {
  transform: translate(0, -50%) scale(2);
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 10;
}

.points_to_note {
  border: solid 1px #707070;
  padding: 25px;
  margin: 30px auto;
}

@media print, screen and (min-width: 1001px) {
  .points_to_note {
    padding: 40px;
    margin: 60px auto;
  }
}
.points_to_note .note_heading {
  line-height: 1.4;
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 20px;
}

@media print, screen and (min-width: 1001px) {
  .points_to_note .note_heading {
    font-size: 3rem;
    margin-bottom: 40px;
  }
}
.points_to_note .note_list {
  margin-bottom: 0;
}

.points_to_note .note_list li {
  margin-bottom: 1em;
}

.points_to_note .note_list li:last-child {
  margin-bottom: 0;
}

.box_line_red {
  padding: 15px;
  margin: 30px auto;
  border: solid 1px #B90018;
  border-radius: 9px;
}

@media print, screen and (min-width: 1001px) {
  .box_line_red {
    padding: 40px;
  }
}
@media print, screen and (max-width: 1000px) {
  .box_line_red ul, .box_line_red ol, .box_line_red p {
    margin-bottom: 1em;
  }
}
.box_line_red ul:last-child, .box_line_red ol:last-child, .box_line_red p:last-child {
  margin-bottom: 0;
}

.label_large_checkbox {
  font-size: 1.9rem;
  color: #B90018;
  font-weight: 600;
  user-select: none;
  cursor: pointer;
  text-decoration: underline;
  position: relative;
  display: inline-block;
  padding-left: 40px;
}

@media print, screen and (max-width: 1000px) {
  .label_large_checkbox {
    font-size: 2rem;
  }
}
.label_large_checkbox input[type="checkbox"] {
  transform: scale(2);
  position: absolute;
  top: 12px;
  left: 8px;
  z-index: 10;
}

@media print, screen and (min-width: 1001px) {
  .form_item_list {
    max-width: 800px;
    display: flex;
    flex-wrap: wrap;
  }
}
.form_item_list input[type="text"] {
  width: 100%;
  font-size: 16px;
  letter-spacing: .1em;
  padding: 8px;
}

@media print, screen and (min-width: 1001px) {
  .form_item_list input.short {
    width: 150px;
  }
}
.form_item_list dt {
  padding-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .form_item_list dt {
    width: 250px;
    padding-bottom: 30px;
  }
}
.form_item_list dd {
  padding-bottom: 30px;
}

@media print, screen and (min-width: 1001px) {
  .form_item_list dd {
    width: 550px;
  }
}
.label_radio {
  display: inline-block;
  user-select: none;
  cursor: pointer;
  padding-right: 20px;
}

.label_radio input[type="radio"] {
  transform: scale(1.5);
  margin-left: 5px;
  margin-right: 10px;
}

.sendform {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 1001px) {
  .sendform {
    margin-top: 75px;
  }
}
.sendform .button {
  background-color: #fff;
  margin-bottom: 30px;
  cursor: pointer;
}

@media print, screen and (min-width: 1001px) {
  .sendform .button {
    margin-bottom: 0;
    margin-right: 20px;
  }
}
.sendform .button::after {
  content: "\f054";
  display: inline-block;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  line-height: 1;
  color: #B90018;
  position: absolute;
  top: 50%;
  right: 16px;
  z-index: 10;
  transform: translate(0, -50%);
}

.definition_list_basic dd {
  padding-bottom: 15px;
}

@media print, screen and (min-width: 1001px) {
  .definition_list_basic dd {
    padding-bottom: 30px;
  }
}
@media print, screen and (min-width: 1001px) {
  .column_activities {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.column_activities .column_activities_photo {
  display: block;
  max-width: 350px;
  margin: 0 auto 15px;
}

@media print, screen and (min-width: 1001px) {
  .column_activities .column_activities_photo {
    width: 50%;
    max-width: 550px;
    margin: 0;
  }
}
.column_activities .column_activities_photo .slideshow {
  width: 100%;
  padding-top: 75%;
  position: relative;
  margin-bottom: 0;
}

.column_activities .column_activities_photo .slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

@media print, screen and (min-width: 1001px) {
  .column_activities .column_activities_photo .slideshow img {
    width: 100%;
  }
}
@media print, screen and (min-width: 1001px) {
  .column_activities .column_activities_content {
    width: 50%;
  }
}
.box_line {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px 16px;
  border: 2px solid #B90018;
  border-radius: 10px;
}

@media print, screen and (min-width: 1001px) {
  .box_line {
    width: calc( 50% - 50px);
    margin: 15px 25px;
    padding: 35px 40px;
  }
}
.box_line .heading_style_h3, .box_line .main_page h3, .main_page .box_line h3 {
  margin-bottom: 15px;
}

.l-container {
  padding-left: 12px;
  padding-right: 12px;
}

@media print, screen and (min-width: 1001px) {
  .l-container {
    max-width: 1300px;
    margin: 0 auto;
    padding-left: 50px;
    padding-right: 50px;
  }
}
.l-narrow_container {
  max-width: 800px;
  margin: 0 auto;
}

.l-partition_s {
  margin-bottom: 25px;
}

.l-partition_m {
  margin-bottom: 50px;
}

.l-partition_l {
  margin-bottom: 75px;
}

.l-partition_xl {
  margin-bottom: 100px;
}

@media print, screen and (min-width: 1001px) {
  .l-button_column {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    margin: 0 -15px;
  }
}
@media print, screen and (min-width: 1001px) {
  .l-button_column > p, .l-button_column > div {
    width: calc( 33.33% - 30px);
    margin: 0 15px 30px;
  }
}
.l-shortbutton_column {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}

@media print, screen and (min-width: 1001px) {
  .l-shortbutton_column {
    margin: 0 -15px;
  }
}
.l-shortbutton_column > p {
  width: calc( 100% / 2);
  padding: 10px;
  margin-bottom: 0;
}

@media print, screen and (min-width: 1001px) {
  .l-shortbutton_column > p {
    width: calc( 100% / 6);
    padding: 15px;
  }
}
@media print, screen and (min-width: 1001px) {
  .l-column_pair {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    margin: 0 -30px;
  }
}
@media print, screen and (min-width: 1001px) {
  .l-column_pair .column_item {
    width: 50%;
    padding: 0 30px;
  }
}
@media print, screen and (min-width: 1001px) {
  .l-box_column {
    display: flex;
    flex-wrap: wrap;
    margin: -15px -25px;
  }
}
.btn_scroll {
  position: absolute;
  right: 20px;
  top: -76px;
  z-index: 100;
  line-height: 1;
  cursor: pointer;
  margin: 0;
  opacity: 0;
  transition: opacity .3s ease;
}

@media print, screen and (max-width: 1000px) {
  .btn_scroll {
    display: none !important;
  }
}
.btn_scroll.btn_fixed {
  position: fixed;
  top: auto;
  bottom: 180px;
}

.btn_scroll.btn_show {
  opacity: 1;
}

.youtube_wrap {
  max-width: 640px;
  margin-top: 40px;
  margin-bottom: 40px;
}

.youtube_wrap .youtube_container {
  position: relative;
  padding-top: 56.25%;
}

.youtube_wrap .youtube_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.report_data dl {
  display: grid;
  grid-template-columns: 100px 1fr;
  border-top: solid 1px #D8D8D8;
  border-left: solid 1px #D8D8D8;
  font-size: 13px;
  margin-bottom: 10px;
}

@media print, screen and (min-width: 1001px) {
  .report_data dl {
    grid-template-columns: 130px 130px 300px 1fr;
    font-size: 14px;
    margin-bottom: 0;
  }
}
.report_data dt, .report_data dd {
  padding: 4px 8px;
  border-right: solid 1px #D8D8D8;
  border-bottom: solid 1px #D8D8D8;
}

.report_data dt {
  background-color: #F2F2F2;
}

@media print, screen and (min-width: 1001px) {
  .report_data dt:nth-of-type(1) {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 1;
    grid-row-end: 2;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dt:nth-of-type(2) {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 2;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dt:nth-of-type(3) {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 2;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dt:nth-of-type(4) {
    grid-column-start: 4;
    grid-column-end: 5;
    grid-row-start: 1;
    grid-row-end: 2;
  }
}
.report_data dd {
  background-color: #fff;
}

@media print, screen and (min-width: 1001px) {
  .report_data dd:nth-of-type(1) {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 2;
    grid-row-end: 3;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dd:nth-of-type(2) {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dd:nth-of-type(3) {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 2;
    grid-row-end: 3;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dd:nth-of-type(4) {
    grid-column-start: 4;
    grid-column-end: 5;
    grid-row-start: 2;
    grid-row-end: 3;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dl + dl {
    border-top: none;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dl + dl dt {
    display: none;
  }
}
@media print, screen and (min-width: 1001px) {
  .report_data dl + dl dd {
    grid-row-start: 1;
    grid-row-end: 2;
  }
}
.mod_article {
  padding-bottom: 30px;
}

.mod_article_photo {
  text-align: center;
  padding-bottom: 1em;
}

.mod_article_photo img {
  vertical-align: bottom;
}

.mod_article_contents p {
  margin-bottom: 0.5em;
}

.mod_article_heading {
  font-size: 1.2em;
  line-height: 1.4;
}

@media print {
  @page {
    size: A3;
    margin: 0;
  }
  html, body {
    width: 1310px;
  }

  .header_nav {
    position: absolute;
    overflow: visible;
    min-height: 61px;
  }

  .header_nav_others {
    top: -60px;
    right: 60px;
  }

  .header_nav_sub {
    position: absolute;
    top: -114px;
    right: 170px;
    z-index: 10;
    padding: 0 10px 0 0;
    font-size: 1.2rem;
    display: flex;
    flex-wrap: wrap;
  }

  .header_contact {
    display: block;
    position: absolute;
    top: -35px;
    right: 0;
    z-index: 20;
  }
}
/* ---------------------------------------------------------
フリーレイアウト
--------------------------------------------------------- */
main.main_free_layout {
  padding: 0;
}

/* ---------------------------------------------------------
オンライン対応アイコン
--------------------------------------------------------- */
.heading_style_h3 span.icon_online,
.main_page h3 span.icon_online {
  display: block;
  padding-left: 18px;
  font-size: 10px;
  color: #B90018;
  background: url(../img/common/icon_online.svg) no-repeat left center;
}
