body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0
}

html {
  overflow-y: scroll
}

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

ol,
ul {
  list-style: none
}

fieldset,
img {
  border: 0
}

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

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

caption,
th {
  text-align: left
}

a {
  text-decoration: none;
  color: #000
}

a:focus {
  outline: none
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal
}

* {
  box-sizing: border-box
}

input,
textarea,
select {
  /* -webkit-appearance: none;
  -moz-appearance: none;
  /* appearance: none;*/
  border: 0
}

:root {
  --white: #fff;
  --black: #000;
  --table_stripe: #efefef;
  --table_hover: #c5c5c5;
  --border_color: #dee2e6;
  --primary: #0d6efd;
  --secondary: #13266c;
  --success: #198754;
  --danger: #dc3545;
  --warning: #ffc107;
  --info: #0dcaf0;
  --light: #f8f9fa;
  --dark: #212529;
  --info: #0d6efd;
  --site_color1: #13266c;
  --site_color2: #e60012;
  --site_color3: #f29c9f;
  --site_color4: #d4bba9;
  --site_color5: #f5f5f5;
  --site_color6: #f5f5f5
}

body {
  overflow: hidden;
  line-height: 1.5;
  word-break: break-word;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  /* font-family: "Zen Kaku Gothic New", sans-serif, "Noto Sans JP", sans-serif;*/
  font-weight: 300;
  color: var(--site_letter_base);
  font-size: 1.6rem;
  font-weight: 400;
  font-style: normal;
  font-family: "Zen Old Mincho", serif;
}

html {
  font-size: 62.5%;
}

@media (min-width:1367px) {
  body {
    font-size: 16px
  }
}

@media (max-width:1024px) {
  body {
    font-size: 1.4545454545rem
  }
}

@media (max-width:768px) {
  body {
    font-size: 1.6rem
  }
}

@media (max-width:nullpx) {
  body {
    font-size: 1.3333333333rem
  }
}

.on1366,
.on1024,
.on768,
.on480,
.on375 {
  display: none
}

@media (min-width:1367px) {
  .off1366 {
    display: none
  }

  .on1366 {
    display: block
  }
}

@media (max-width:1024px) {
  .off1024 {
    display: none
  }

  .on1024 {
    display: block
  }
}

@media (max-width:768px) {
  .off768 {
    display: none
  }

  .on768 {
    display: block
  }
}

@media (max-width:480px) {
  .off480 {
    display: none
  }

  .on480 {
    display: block
  }
}

.tc {
  text-align: center
}

.tr {
  text-align: right
}

.tl {
  text-align: left
}

.tj {
  text-align: justify
}

.fb {
  font-weight: 700
}

.fsb {
  font-weight: 600
}

.fm {
  font-weight: 500
}

.fr {
  font-weight: 400
}

.fl {
  font-weight: 300
}

.lh1 {
  line-height: 1
}

.lh1\.25 {
  line-height: 1.25
}

.lh1\.5 {
  line-height: 1.5
}

.lh1\.75 {
  line-height: 1.75
}

.lh2 {
  line-height: 2
}

.ver {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright
}

.ver.ver_part {
  text-orientation: sideways
}

.mc {
  margin: auto
}

.mxc {
  margin-left: auto;
  margin-right: auto
}

.myc {
  margin-top: auto;
  margin-bottom: auto
}

.mr {
  margin-left: auto;
  margin-right: 0
}

.ml {
  margin-left: 0;
  margin-right: auto
}

.opa {
  transition: 0.3s !important;
  cursor: pointer
}

.opa:hover {
  opacity: 0.6 !important
}

.u_line {
  transition: 0.3s;
  border-bottom: 1px solid transparent
}

.u_line:hover {
  border-bottom: 1px solid
}

.short {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.bc1 {
  border-color: var(--site_color1)
}

.bc2 {
  border-color: var(--site_color2)
}

.bc3 {
  border-color: var(--site_color3)
}

.bc4 {
  border-color: var(--primary)
}

.bc5 {
  border-color: var(--secondary)
}

.bc6 {
  border-color: var(--success)
}

.bc7 {
  border-color: var(--danger)
}

.bc8 {
  border-color: var(--warning)
}

.bc9 {
  border-color: var(--light)
}

.bc10 {
  border-color: var(--dark)
}

.b1 {
  border: 1px solid
}

.b1t {
  border-top: 1px solid
}

.b1r {
  border-right: 1px solid
}

.b1b {
  border-bottom: 1px solid
}

.b1l {
  border-left: 1px solid
}

.b2 {
  border: 2px solid
}

.b2t {
  border-top: 2px solid
}

.b2r {
  border-right: 2px solid
}

.b2b {
  border-bottom: 2px solid
}

.b2l {
  border-left: 2px solid
}

.b3 {
  border: 3px solid
}

.b3t {
  border-top: 3px solid
}

.b3r {
  border-right: 3px solid
}

.b3b {
  border-bottom: 3px solid
}

.b3l {
  border-left: 3px solid
}

.outfit-bd {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal
}

.outfit-smbd {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal
}

.outfit-rg {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal
}

.outfit-lt {
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal
}

.noto-sans-bd {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal
}

.noto-sans-smbd {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal
}

.noto-sans-md {
  font-family: "Zen Kaku Gothic New", sans-serif, "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal
}

.noto-sans-rg {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal
}

.btn {
  transition: 0.2s
}

.btn:hover {
  opacity: 0.7
}

.btn_primary {
  display: block;
  width: 150px;
  border: 1px solid var(--primary);
  text-align: center;
  padding: 10px 0;
  border-radius: 10px;
  margin: auto;
  background: var(--primary);
  color: var(--white)
}

.under_common_section {
  max-width: 1100px;
  width: 98%;
  margin-left: auto;
  margin-right: auto;
  padding: 7% 0 5%
}

.under_common_section .title_en {
  margin-top: 10px
}

@media (max-width:768px) {
  .under_common_section .title_ja {
    font-size: 32px
  }

  .under_common_section .title_en {
    font-size: 20px
  }
}

@media (max-width:480px) {
  .under_common_section {
    width: 85%
  }

  .under_common_section .title_ja {
    font-size: 22px
  }

  .under_common_section .title_en {
    font-size: 16px
  }
}

.paging {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5%
}

.paging .page-numbers {
  display: block;
  line-height: 1;
  padding: 5px 5px;
  margin: 0 5px;
  border: 1px solid var(--site_color1);
  color: var(--site_color1);
  border-radius: 3px;
  transition: 0.2s;
  cursor: pointer
}

.paging .page-numbers:hover,
.paging .page-numbers.current {
  background-color: var(--site_color1);
  color: var(--white)
}

.paging .page-numbers.dots {
  border: 0;
  cursor: auto;
  pointer-events: none
}

.openbtn2 {
  position: relative;
  width: 60px;
  height: 34px;
  cursor: pointer;
  background: none
}

.openbtn2 span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 13px;
  height: 1px;
  background-color: white
}

.openbtn2 span:nth-of-type(1) {
  top: 22px;
  width: 50%
}

.openbtn2 span:nth-of-type(2) {
  top: 29px;
  width: 30%
}

.openbtn2.active span:nth-of-type(1) {
  top: 20px;
  left: 16px;
  transform: translateY(6px) rotate(-45deg);
  width: 35%
}

.openbtn2.active span:nth-of-type(2) {
  top: 32px;
  left: 16px;
  transform: translateY(-6px) rotate(45deg);
  width: 35%
}

.lead {
  margin: 0 auto;
  text-align: center;
  color: white
}

.btn-block {
  width: 200px;
  padding: 30px
}

.under_page {
  background-color: #13266c
}

header {
  position: fixed;
  z-index: 1;
  width: 100%;
  top: 0;
  left: 0
}

header.active {
  background-color: #13266c
}

header.underhead {
  background: black
}

header .headerwrap {
  display: flex;
  align-items: center;
  line-height: 1.5;
  padding-left: 15%;
  height: 64px
}

@media (max-width:1024px) {
  header .headerwrap {
    padding-left: 8%
  }
}

header .headerwrap .headercontainer {
  display: flex;
  align-items: center
}

header .headerwrap .headercontainer a {
  color: white;
  font-size: 22px;
  letter-spacing: 0.04em
}

header .headerwrap .headercontainer .left .outfit-smbd img {
  display: block;
  max-width: 90px
}

header .headerwrap .headercontainer .right {
  position: absolute;
  right: 8%;
  width: 50%
}

header .headerwrap .headercontainer .right ul {
  display: flex;
  justify-content: space-between
}

header .headerwrap .headercontainer .right ul a {
  font-size: 16px;
  letter-spacing: 0.2em
}

@media (max-width:1024px) {
  header .headerwrap .headercontainer .right {
    width: auto
  }

  header .headerwrap .headercontainer .right ul a {
    display: block;
    line-height: 1;
    margin: 0 10px
  }
}

@media (max-width:768px) {
  header .headerwrap .headercontainer .right {
    display: none
  }
}

@media (max-width:480px) {
  header .headerwrap .headercontainer .right {
    display: none
  }
}

header .headerwrap .spmenu {
  position: fixed;
  right: 1.1%;
  z-index: 10
}

@media (max-width:768px) {
  header .headerwrap .spmenu {
    top: 0;
    right: 3%
  }
}

@media (max-width:768px) {
  header .headerwrap {
    padding-left: 5%;
    height: 55px
  }
}

.menu_wrapper {
  position: fixed;
  right: -100%;
  top: 0;
  transition: 0.3s;
  background-color: #13266c;
  width: 350px;
  height: 100vh
}

.menu_wrapper.active {
  right: 0
}

.menu_wrapper ul {
  padding-top: 80px
}

.menu_wrapper ul li {
  width: 90%;
  padding: 15px;
  border-bottom: 1px solid #fff;
  margin: auto;
  line-height: 1;
  transition: 0.2s;
  font-size: 16px
}

.menu_wrapper ul li:hover {
  opacity: 0.7
}

.menu_wrapper ul li a {
  color: #fff;
  display: block
}

@media (max-width:480px) {
  .menu_wrapper {
    width: 300px
  }
}

.padrl15 {
  padding-right: 15%;
  padding-left: 15%
}

.padleft15 {
  padding-left: 15%
}

.padright15 {
  padding-right: 15%
}

.padbt7 {
  padding-bottom: 7%
}

@media (max-width:1024px) {
  .padrl15 {
    padding-right: 8%;
    padding-left: 8%
  }
}

@media (max-width:480px) {
  .padrl15 {
    padding-right: 5%;
    padding-left: 5%
  }
}

.maincol {
  color: #13266c
}

.footerwrap {
  padding: 5% 6%;
  background: black;
  color: white
}

.footerwrap a {
  color: white
}

.footerwrap .fttitle {
  padding: 3% 0%
}

.footerwrap .ftmenu {
  display: flex;
  padding: 3% 8%;
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: #5c5c5c;
  margin-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;

}

.footerwrap .ftmenu ul li {
  padding-bottom: 1em
}

.footerwrap .ftmenu .left {
  width: 75%
}

.footerwrap .ftmenu .left ul {
  column-count: 3
}

.footerwrap .ftmenu .right {
  display: flex;
  width: 50%;
}

.footerwrap .ftmenu .right ul {
  width: 50%;
}

.footerwrap .copyright {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.footerwrap .copyright .cpleft {
  display: flex;
  width: 70%;
  padding: 0 8%;
  justify-content: space-between
}

.footerwrap .copyright .cpright {
  display: flex;
  align-items: center;
  margin-right: 20px
}

.footerwrap .copyright .cpright a {
  display: block;
  margin: 0 5px;
  margin-left: 0.2em;
  width: 100%;
  line-height: 1;
  max-width: 30px
}

@media (max-width:1024px) {
  .footerwrap .copyright .cpleft {
    flex-wrap: wrap;
    justify-content: right
  }

  .footerwrap .copyright .cpleft p {
    width: 100%;
    line-height: 1
  }

  .footerwrap .copyright .cpleft a {
    display: block;
    margin: 10px 5px 0;
    line-height: 1
  }
}

@media (max-width:768px) {
  .footerwrap {
    padding: 5%
  }

  .footerwrap .fttitle {
    padding: 10px 0;
    font-size: 25px;
    width: 70%;
    margin: 0 auto;
  }

  .footerwrap .ftaddress {
    width: 70%;
    margin: 0 auto;
  }

  .footerwrap .ftmenu {
    padding: 3% 1%;
    display: block;
  }

  .footerwrap .ftmenu-title {
    width: 70%;
    margin: 0 auto;
  }

  .footerwrap .ftmenu .right {
    width: 70%;
    margin: 0 auto;
    margin-top: 3.4375rem;
  }
}

@media (max-width:480px) {
  .footerwrap .ftmenu {

    font-size: 14px;
    margin-bottom: 20px
  }

  .footerwrap .ftmenu .left {
    width: 100%
  }

  .footerwrap .ftmenu .left ul {
    column-count: 2
  }

  .footerwrap .ftmenu .right {
    width: 100%
  }


  .footerwrap .copyright {
    flex-direction: column
  }

  .footerwrap .copyright .cpleft {
    order: 2;
    width: 100%;
    padding: 0;
    text-align: center;
    justify-content: center
  }

  .footerwrap .copyright .cpleft a {
    margin: 20px 10px
  }

  .footerwrap .copyright .cpright {
    order: 1;
    margin: 0;
    margin-bottom: 30px
  }
}

.new-pagenation {
  display: flex
}

.new-pagenation,
.navigation.pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 6.4%
}

.screen-reader-text {
  display: none
}

.page-numbers.current {
  border-bottom: 1px solid #333;
}

.page-numbers {
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding: 0px 8px;
  margin: 0 1%
}



.next.page-numbers,
.prev.page-numbers {
  position: relative;
  color: transparent
}

.next.page-numbers::before,
.prev.page-numbers::before {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  content: "";
  background-image: url(../img/common/pagenation_arrow.png);
  width: 10px;
  height: 16px;
  top: 0;
  bottom: 0;
  margin: auto
}

.prev.page-numbers {
  transform: rotate(180deg)
}

@media screen and (max-width:1024px) {

  .next.page-numbers,
  .prev.page-numbers {
    background-size: 100%
  }
}

@media (max-width:480px) {
  .new-pagenation .page-numbers {
    font-size: 16px
  }

  .new-pagenation,
  .navigation.pagination .nav-links {
    margin-top: 10%
  }

  .next.page-numbers::before,
  .prev.page-numbers::before {
    width: 8px;
    height: 14px
  }

  .page-numbers {
    padding: 5px 8px;
    margin: 0 5px
  }
}

@media (max-width:480px) {
  .list_design_container .news_title {
    font-size: 16px
  }
}