

@import url("css22.css");
@import url("css23.css");
/*
@import "https://fonts.googleapis.com/css?family=Fjalla+One";
@import "https://fonts.googleapis.com/css?family=Oswald:400,300";
*/
@import url('css9.css');

/* ----------------------------------------------------------------
normalize
-------------------------------------------------------------------*/
/* normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
}

body {
  margin: 0;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  margin: 0.67em 0;
  font-size: 1.44em;
}

mark {
  color: #000;
  background: #ff0;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  color: inherit;
  font: inherit;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
  border: 1px solid #c0c0c0;
}

legend {
  padding: 0;
  border: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

td,
th {
  padding: 0;
}

/* ----------------------------------------------------------------
base
-------------------------------------------------------------------*/
@font-face {
  font-family: 'Yu Gothic M';
  src: local('Yu Gothic Medium');
  font-weight: normal;
}
@font-face {
  font-family: 'Yu Gothic M';
  src: local('Yu Gothic Bold');
  font-weight: bold;
}


* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  font-size: 62.5%;
}
body {
  padding: 0;
  min-width: 1000px;
  color: #000;
  font-family: 'Catamaran',"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", "游ゴシック", YuGothic, "Meiryo UI", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.3em;
  -webkit-text-size-adjust: 100%;
  background-color: #f5f5f5;
}
@media (max-width: 601px) {
  body {
    min-width: 0;
  }
}


a {
  text-decoration: underline;
  color: #597fc8;
}

a:hover {
/*  color: #597fc8;*/
}

h1,
h2,
h3,
h4,
figure {
  margin: 0;
  padding: 0;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block;
}

/* ----------------------------------------------------------------
layout
-------------------------------------------------------------------*/
/* l-main_2
----------------------------------------------*/
.l-main_2 {
  padding-left: 290px;
}
.is-mainnav-open .l-main_2 {
  padding-left: 250px;
}
.is-subnav-open .l-main_2 {
  padding-left: 290px;
}
@media (max-width: 601px) {
  .l-main_2 {
    padding-top: 40px;
    padding-left: 0 !important;
  }
  .is-toppage .l-main_2 {
    padding-top: 140px;
  }
}

/* l-main
----------------------------------------------*/
.l-main {
/*  padding-top: 30px;
  background-color: #fff;*/
}

/* content
----------------------------------------------*/
.l-content {
  width: 1200px;
  min-width: 1200px;
  margin: 0 auto;
  padding-right: 10px;
  padding-left: 10px;
}

.l-content:before,
.l-content:after {
  display: table;
  content: " ";
}

.l-content:after {
  clear: both;
}

/* ----------------------------------------------------------------
l-header-toppage
-------------------------------------------------------------------*/
.l-header-toppage {
  border-bottom: solid 1px #9a9a9a;
  height: 100px;
}
.l-header-toppage .header_2__sp_fixed {
  height: 100%;
}
.l-header-toppage__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 0 25px 0 35px;
  height: 100%;
}

.l-header-toppage__logo {
  font-size: 0;
}
.l-header-toppage__head {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #0c052e;
  font-size: 3rem;
  letter-spacing: 0.18em;
  white-space: nowrap;
}
.l-header-toppage__btn {
  display: inline-flex;
  align-items: center;
  position: relative;
  border: 1px solid #0c052e;
  border-radius: 10px;
  padding: 5px 17px 5px 20px;
  background: #0c052e;
  height: 55px;
  color: #fff;
  font-size: 1.6rem;
  line-height: 0.9375;
  letter-spacing: 0.08em;
  transition: all 0.2s;
}
.l-header-toppage__btn > span {
  position: relative;
  top: 1px;
}
.l-header-toppage__btn:hover {
  color: #0c052e;
  background: #fff;
}
.l-header-toppage__btn::after {
  content: '';
  position: relative;
  top: 0;
  margin-left: 13px;
  background-image: url(../image/ico_link_arrow_01_pc.png);
  background-position: left top;
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  transition: all 0.2s;
}
.l-header-toppage__btn:hover::after {
  background-image: url(../image/ico_link_arrow_02_pc.png);
}
@media (min-width: 602px) and (max-height: 899px) {
  .l-header-toppage {
    height: calc(70px + ((100vh - 700px) / 200 * 30));
    min-height: 70px;
  }
  .l-header-toppage__inner {
    padding: 0 calc(15px + ((100vh - 700px) / 200 * 10)) 0 35px;
  }
  .l-header-toppage__btn {
    padding: 5px calc(12px + ((100vh - 700px) / 200 * 5)) 5px calc(14px + ((100vh - 700px) / 200 * 6));
    height: calc(40px + ((100vh - 700px) / 200 * 15));
  }
  .l-header-toppage__btn:hover {
    color: #0c052e;
    background: #fff;
  }
  .l-header-toppage__btn::after {
    content: '';
    position: relative;
    top: 0;
    margin-left: 13px;
    background-image: url(../image/ico_link_arrow_01_pc.png);
    background-position: left top;
    background-repeat: no-repeat;
    width: 22px;
    height: 22px;
    transition: all 0.2s;
  }
  .l-header-toppage__btn:hover::after {
    background-image: url(../image/ico_link_arrow_02_pc.png);
  }
}
@media (min-width: 602px) and (max-height: 699px) {
  .l-header-toppage__inner {
    padding: 0 15px 0 35px;
  }
  .l-header-toppage__btn {
    padding: 5px 12px 5px 14px;
    height: 40px;
  }
}
@media (max-width: 601px) {
  .l-header-toppage {
    position: relative;
    z-index: 1000;
    display: block;
    border-bottom: none;
    height: 105px;
  }
  .l-header-toppage .header_2__sp_fixed {
    height: 100%;
  }
  .l-header-toppage__inner {
    display: block;
    position: relative;
    z-index: 3;
    padding: 15px;
    background: #fff;
    height: 100%;
  }
  .is-open .l-header-toppage__inner {
    height: 40px;
  }
  .l-header-toppage__logo {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 0;
  }
  .l-header-toppage__head {
    position: absolute;
    top: auto;
    left: 15px;
    bottom: 13px;
    transform: translate(0, 0);
    color: #0c052e;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.04;
    letter-spacing: 0.14em;
    white-space: nowrap;
  }
  .is-open .l-header-toppage__head {
    display: none;
  }
  .l-header-toppage__btn {
    display: inline-flex;
    align-items: center;
    position: absolute;
    right: 15px;
    bottom: 15px;
    border: 1px solid #9a9a9a;
    border-radius: 5px;
    padding: 3px 6px 3px 9px;
    background: none;
    height: 35px;
    color: #130a39;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0.08em;
    transition: none;
  }
  .is-open .l-header-toppage__btn {
    display: none;
  }
  .l-header-toppage__btn:hover {
    color: inherit;
    background: none;
  }
  .l-header-toppage__btn::after {
    content: '';
    position: relative;
    top: 0;
    margin-left: 5px;
    background-image: url(../image/ico_link_arrow_02_sp.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 22px;
    height: 22px;
    transition: none;
  }
  .l-header-toppage__btn:hover::after {
    background-image: inherit;
  }
}

/* ----------------------------------------------------------------
header_2
-------------------------------------------------------------------*/
.header_2 {
  display: none;
  position: relative;
  height: 100px;
  line-height: 1;
  padding-left: 0;
}
.is-toppage .header_2 {
  display: block;
}
.header_2 a {
  color: inherit;
  text-decoration: none;
}
.header_2 p,
.header_2 h2,
.header_2 h3,
.header_2 h4 {
  margin: 0;
  padding: 0;
}
.header_2 ul,
.header_2 li,
.header_2 dl,
.header_2 dt,
.header_2 dd {
  list-style: none;
  margin: 0;
  padding: 0;
}
.header_2__inner {
  display: flex;
  justify-content: space-between;
  border-left: 10px solid #090031;
  padding-left: 25px;
  height: 100%;
}

.header_2__sitelogo {
  padding-top: 32px;
  font-size: 3.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}
@media (max-width: 375px) {
  .is-scroll .header_2__sitelogo {
    font-size: calc((100vw / 375) * 20);
  }
}
.header_2__sitelogo a {
  color: #000;
  transition: opacity 0.2s;
}
.header_2__sitelogo a:hover {
  opacity: 0.7;
}
.header_2__lead {
  padding-top: 10px;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
}
.header_2__sublogo {
  margin: 15px 15px 0 0;
  text-align: right;
}
.header_2__sublogo img {
  height: 14px;
}
.header_2__sublogo a img {
  transition: opacity 0.2s;
}
.header_2__sublogo a:hover img {
  opacity: 0.7;
}
.header_2__contact {
  margin-top: 31px;
}
.header_2__contact a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px 0 0 10px;
  padding: 5px 5px 5px 13px;
  background: rgba(9, 0, 49, 1);
  width: 140px;
  height: 40px;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  transition: width 0.2s;
}
.header_2__contact a:hover {
  width: 150px;
}

.header_2__ico_menu {
  display: none;
}
.header_2__sp_menu {
  display: none;
}
.header_2__lead_sp {
  display: none;
}
.header_2__sublogo_sp {
  display: none;
}

@media (max-width: 601px) {
  .header_2 {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.4);
    width: 100%;
    height: 40px;
    line-height: 1;
    padding-left: 0;
    transition: all 0.2s;
  }
  .is-toppage .header_2 {
    height: 140px;
  }
  .header_2.is-scroll,
  .header_2.is-open {
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0);
  }
  .header_2 a {
    color: inherit;
    text-decoration: none;
  }
  .header_2 p {
    margin: 0;
  }
  .header_2__sp_fixed {
    position: relative;
    width: 100%;
  }
  .is-scroll .header_2__sp_fixed,
  .is-open .header_2__sp_fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.4);
  }
  .header_2__inner {
    position: relative;
    z-index: 3;
    display: block;
    border-left: 5px solid #090031;
    padding-left: 0;
    background: #fff;
    width: 100%;
    height: 40px;
    transition: all 0.2s;
  }
  .is-toppage .header_2__inner {
    height: 66px;
  }
  .is-scroll .header_2__inner,
  .is-open .header_2__inner {
    border-left: none;
    height: 40px;
  }
  .is-open-sub .header_2__inner {
    box-shadow: 0 0 10px 0px rgb(0 0 0 / 40%);
  }
  
  .header_2__sitelogo {
    display: flex;
    align-items: center;
    position: absolute;
    left: 15px;
    bottom: -2px;
    padding-top: 0;
    max-width: 310px;
    height: 40px;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    transition: all 0.2s;
  }
  .is-toppage .header_2__sitelogo {
    align-items: flex-end;
    left: 9px;
    bottom: -6px;
    height: 66px;
    font-size: 3rem;
  }
  .is-scroll .header_2__sitelogo,
  .is-open .header_2__sitelogo {
    align-items: center;
    left: 15px;
    bottom: -2px;
    height: 40px;
    font-size: 2rem;
  }
  .header_2__sitelogo a {
    color: #000;
    transition: opacity 0.2s;
    letter-spacing: 0.1em;
  }
  .header_2__sitelogo a:hover {
    opacity: 1;
  }
  .header_2__lead {
    display: none;
  }
  .header_2__sublogo {
    display: none;
  }
  .header_2__contact {
    display: none;
  }

  .header_2__ico_menu {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background: #090031;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }
  .header_2__ico_menu::before,
  .header_2__ico_menu span,
  .header_2__ico_menu::after {
    content: '';
    position: absolute;
    right: 13px;
    background: #fff;
    width: 14px;
    height: 1px;
    transition: all 0.3s;
  }
  .header_2__ico_menu::before {
    top: 14px;
  }
  .header_2__ico_menu span {
    top: 20px;
    opacity: 1;
  }
  .header_2__ico_menu::after {
    top: 26px;
  }
  .is-open .header_2__ico_menu::before,
  .is-open .header_2__ico_menu span,
  .is-open .header_2__ico_menu::after {
    right: 10px;
    width: 20px;
  }
  .is-open .header_2__ico_menu::before {
    top: 20px;
    transform: rotate(45deg);
  }
  .is-open .header_2__ico_menu span {
    top: 20px;
    transform: rotate(45deg);
    opacity: 0;
  }
  .is-open .header_2__ico_menu::after {
    top: 20px;
    transform: rotate(-45deg);
  }

  .header_2__sp_menu {
    overflow-y: auto;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    background: #090031;
    width: 100%;
    height: 0;
    transition: all 0.3s;
  }
  .is-open .header_2__sp_menu {
    height: 100vh;
  }
  .header_2__sp_menu_inner {
    overflow: auto;
    display: flex;
    flex-direction: column;
    padding: 40px 0px 0px;
    height: 100%;
    color: #fff;
  }

  .header_2__sp_menu_nav {
    margin-bottom: 30px;
  }
  .header_2__sp_menu_nav__inner {
    
  }
  .header_2__sp_menu_nav__item {
    overflow: hidden;
    display: block;
    position: relative;
    border-bottom: 1px solid #333352;
    height: 74px;
    color: #fff;
    transition: all 0.3s;
  }
  .header_2__sp_menu_nav__item:nth-child(1) {
    border-top: 1px solid #333352;
  }
  .header_2__sp_menu_nav__item:nth-child(3) {
    height: 102px;
  }
  .header_2__sp_menu_nav__item.is-link {
    height: 50px;
  }
  .header_2__sp_menu_nav__item.is-link a {
    display: block;
  }

  .header_2__sp_menu_nav__item__inner {
    position: relative;
    padding: 15px;
    transition: all 0.3s;
  }
  .header_2__sp_menu_nav__item.is-active .header_2__sp_menu_nav__item__inner {
    height: 100%;
  }

  .header_2__sp_menu_nav__item__ico {
    content: '';
    position: absolute;
    right: 10px;
    top: 14px;
    background: url(../image/ico_plus_01_sp.png) center center no-repeat;
    background-size: 13px;
    width: 23px;
    height: 23px;
  }
  .header_2__sp_menu_nav__item.is-active .header_2__sp_menu_nav__item__ico {
    background-image: url(../image/ico_minus_01_sp.png);
  }
  .header_2__sp_menu_nav__item.is-link .header_2__sp_menu_nav__item__ico {
    content: '';
    position: absolute;
    right: 15px;
    top: 15px;
    background: url(../image/ico_link_arrow_01_sp.png) center center no-repeat;
    background-size: 21px;
    width: 21px;
    height: 21px;
  }

  .header_2__sp_menu_nav__main {
    flex: none;
  }
  .header_2__sp_menu_nav__item.is-active .header_2__sp_menu_nav__main {
    display: none;
  }
  .header_2__sp_menu_nav__main__head {
    font-family: 'Noto Serif JP';
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.11em;
    white-space: nowrap;
  }
  .header_2__sp_menu_nav__main__body {
    margin-top: 10px;
    color: #adadad;
    font-size: 1.1rem;
    line-height: 1.36;
  }
  .header_2__sp_menu_nav__main__body ul {
    display: flex;
    flex-wrap: wrap;
  }
  .header_2__sp_menu_nav__main__body ul li:not(:first-child)::before {
    content: ' / ';
    white-space: pre-wrap;
  }

  .header_2__sp_menu_nav__sub {
    display: none;
  }
  .header_2__sp_menu_nav__item.is-active .header_2__sp_menu_nav__sub {
    display: block
  }
  .header_2__sp_menu_nav__sub__head {
    font-family: 'Noto Serif JP';
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.11em;
  }
  .header_2__sp_menu_nav__sub__body {
    margin-top: 35px;
  }
  .header_2__sp_menu_nav__sub__body dl:not(:first-child) {
    margin-top: 25px;
  }
  .header_2__sp_menu_nav__sub__body dl dt {
    font-size: 1.9rem;
    font-weight: bold;
    line-height: 1;
  }
  .header_2__sp_menu_nav__sub__body dl dt a {
    color: inherit;
  }
  .header_2__sp_menu_nav__sub__body dl dt a::after {
    content: '';
    display: inline-block;
    position: relative;
    top: 5px;
    margin-left: 10px;
    background-image: url(../image/ico_link_arrow_01_sp.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 21px;
    height: 21px;
  }
  .header_2__sp_menu_nav__sub__body dl dd ul {
    margin-top: 5px;
  }
  .header_2__sp_menu_nav__sub__body dl dd ul li {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .header_2__sp_menu_nav__sub__body dl dd ul li:not(:first-child) {
    margin-top: 5px;
  }
  .header_2__sp_menu_nav__sub__body dl dd ul li a {
    display: block;
    padding-left: 15px;
    color: inherit;
  }
  .header_2__sp_menu_nav__sub__body dl dd ul li a::after {
    content: '';
    display: inline-block;
    position: relative;
    top: 6px;
    margin-left: 10px;
    background-image: url(../image/ico_link_arrow_01_sp.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 21px;
    height: 21px;
  }

  .header_2__sp_menu_contact {
    margin-top: 50px;
  }
  .header_2__sp_menu_contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #fff;
    border-radius: 10px;
    padding-left: 0.1em;
    height: 50px;
    font-size: 1.9rem;
    font-weight: 500;
    letter-spacing: 0.1em;
  }

  .header_2__sp_menu_bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: auto;
    padding: 0 25px 25px;
  }
  .header_2__sp_menu_subnav_ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .header_2__sp_menu_subnav_li {
    margin: 0;
    padding: 0;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 0.06em;
    list-style: none;
  }
  .header_2__sp_menu_subnav_li + .header_2__sp_menu_subnav_li {
    margin-top: 15px;
  }

  .header_2__lead_sp {
    display: block;
    position: absolute;
    top: 85px;
    left: 0;
    z-index: 2;
    padding: 0 15px;
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.458;
    letter-spacing: 0.02em;
  }
  .header_2__sublogo_sp {
    display: block;
    position: absolute;
    bottom: 74px;
    right: 15px;
    z-index: 2;
    margin: 0;
    text-align: left;
  }

  .header_2__ico_menu_sub {
    display: block;
    position: absolute;
    top: 40px;
    right: 0;
    background: url(../image/header_2__ico_arrow_down.png) center center no-repeat rgba(255, 255, 255, 0.6);
    background-size: 14px;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }
  .is-open-sub .header_2__ico_menu_sub {
    z-index: 2;
    background-image: url(../image/header_2__ico_arrow_up.png);
    background-color: none;
  }

  .header_2__sp_menu_sub {
    overflow-y: auto;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    background: rgba(255, 255, 255, 0.95);
    width: 100%;
    height: 0;
    transition: all 0.3s;
  }
  .is-open-sub .header_2__sp_menu_sub {
    height: 100vh;
  }
  .header_2__sp_menu_sub_inner {
    padding: 53px 30px 30px;
    color: #090031;
  }
  .header_2__sp_menu_sub_nav {
    display: none;
  }
  .header_2__sp_menu_sub_nav.is-current {
    display: block;
  }
  .header_2__sp_menu_sub_nav p {
    margin-left: -15px;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
  }
  .header_2__sp_menu_sub_nav_ul {
    margin: 40px 0 0 0 !important;
    padding: 0;
    list-style: none;
  }
  .header_2__sp_menu_sub_nav_li {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1.6rem;
    letter-spacing: 0.14em;
    line-height: 1;
  }
  .header_2__sp_menu_sub_nav_li + .header_2__sp_menu_sub_nav_li {
    margin-top: 25px;
  }
  .header_2__sp_menu_sub_contact {
    margin-top: 50px;
  }
  .header_2__sp_menu_sub_contact a {
    display: none;
    justify-content: center;
    align-items: center;
    border: 2px solid #090031;
    border-radius: 10px;
    padding-left: 0.1em;
    height: 50px;
    font-size: 1.9rem;
    font-weight: 500;
    letter-spacing: 0.1em;
  }
  .header_2__sp_menu_sub_contact a.is-current {
    display: flex;
  }
  .header_2__sp_menu_sub_bottom {
    margin-top: 25px;
  }
  .header_2__sp_menu_sub_bottom::before {
    content: '';
    display: block;
    margin-bottom: 25px;
    border-top: 1px solid #090031;
  }
  .header_2__sp_menu_sub_bottom_logo {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
  }
}

/* ----------------------------------------------------------------
Header
-------------------------------------------------------------------*/
/* header
----------------------------------------------*/
.header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  display: table;
  width: 100%;
  height: 54px;
  padding: 12px 30px;
  background-color: #ffffff;
  line-height: 1;
}

.header:before,
.header:after {
  display: table;
  content: " ";
}

.header:after {
  clear: both;
}

@media (max-width: 1101px) {
  .header {
    padding: 10px;
  }
}

@media (max-width: 601px) {
  .header {
    position: relative;
    height: 44px;
    padding: 0 10px;
  }
  .header.header_top {
    position: fixed;
  }
}

.header,
.header a {
  color: #000000;
}

.header a {
  text-decoration: none;
}

.header a:hover {
  color: #333333;
}

.header__inner {
  display: table-cell;
  vertical-align: middle;
}

/* sitelogo
----------------------------------------------*/
.header__sitelogo {
  float: left;
  font-family: 'Catamaran', sans-serif;
  font-weight: 800;
  transition: all .3s;
  padding-top: 1px;
  margin: 0;
  padding: 1px 0 0 0;
  font-size: 24px;
}

.header__sitelogo img {
  width: auto;
  height: 32px;
  margin-right: 3px;
}

@media (max-width: 1101px) {
  .header__sitelogo {
    float: none;
    margin-bottom: 0;
    text-align: center;
  }
}

@media (max-width: 601px) {
  .header__sitelogo {
    float: none;
    margin-bottom: 0;
    text-align: center;
    font-size: 20px;
  }

  .header__sitelogo img {
    height: 26px;
  }
}

@media (max-width: 401px) {
  .header__sitelogo {
  }

  .header__sitelogo img {
    height: 26px;
  }
}

.header__sublogo {
  float: right;
  line-height: 24px;
}

.header__sublogo img {
  width: auto;
  height: 14px;
}
.header__sublogo a {
}

.header__sublogo a:hover {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
}

@media (max-width: 1101px) {
  .header__sublogo {
    position: absolute;
    z-index: 99;
    top: 50%;
    right: 10px;
    float: none;
    margin: 0 auto;
    margin-top: -20px;
    padding: 10px;
  }
}

@media (max-width: 601px) {
  .header__sublogo {
    display: none;
  }
}

.header__lang_link {
  float: right;
  font-size: 13px;
  height: 20px;
  line-height: 20px;
  margin-left: 45px;
}
.header__lang_link a {
  padding: 0 8px;
  height: 20px;
  line-height: 20px;
  display: inline-block;
}
.header__lang_link a.active {
  background-color: #636363;
}
.header__lang_link_sp {
  display: none;
}
@media (max-width: 1101px) {
.header__lang_link {
  float: none;
  font-size: 13px;
  height: auto;
  line-height: 20px;
  margin-left: 20px;
  text-align: left;
  display: none;
}
}

@media (max-width: 601px) {
.header__lang_link_sp {
  display: block;
  text-align: left;
  padding-left: 20px;
}
.header__lang_link_sp ul {
  font-size: 0;
  text-align: left;
  padding: 0;
  margin-bottom: 25px;
}
.header__lang_link_sp ul li {
  display: inline-block;
  text-align: center;
}
.header__lang_link_sp ul li a {
  display: inline-block;
  width: 92px;
  height: 40px;
  border:solid 1px #ffffff;
  color: #ffffff;
  font-size: 11px;
  line-height: 40px;
}
.header__lang_link_sp ul li a.active {
  background-color: #ffffff;
  color: #597dd1;
}
.header__nav__sublogo img {
  width: auto;
  height: 14px;
}
}

/* nav
----------------------------------------------*/
.header__nav {
  float: right;
  margin-right: 40px;
  word-wrap: break-word;
  font-family: 'Catamaran', sans-serif;
  font-weight: 500;
}

@media (max-width: 1101px) {
  .header__nav {
    float: none;
    margin: 0 auto;
    text-align: center;
  }
}
/* button */
.header__nav__button {
  position: absolute;
  z-index: 99;
  top: 50%;
  left: 10px;
  display: none;
  margin-top: -20px;
  padding: 10px;
}

.header__nav__button:hover {
  cursor: pointer;
}

@media (max-width: 1101px) {
  .header__nav__button {
    display: block;
  }
}

.header__nav__button__inner {
  position: relative;
  display: block;
  width: 24px;
  height: 18px;
  border: 2px solid #000000;
  border-width: 2px 0;
}

.header__nav__button__inner::before,
.header__nav__button__inner::after {
  position: absolute;
  top: 6px;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 2px;
  content: "";
  transition: all linear 0.08s;
  background-color: #000000;
}

.is-open .header__nav__button__inner {
  border-width: 0;
}

.is-open .header__nav__button__inner::before {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.is-open .header__nav__button__inner::after {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (max-width: 601px) {
.is-open .header__nav__button {
  position: fixed;
  top: 10px;
  margin-top: 0;
}
}
/* list */
.header__nav__area {

}
@media (max-width: 1101px) {
  .header__nav__area {
    position: absolute;
    top: 0;
    left: -100%;
    bottom: 0;
    height: 100%;
    padding-top: 100px;
    transition: all linear 0.1s;
    background-color: #ffffff;
    background-color: rgba(255,255,255,0.9);
    font-size: 17px;
    width: 280px;
  }

  .is-open .header__nav__area {
    left: 0;
    height: 100vh;
    overflow-y: scroll;
  }
}

@media (max-width: 601px) {
  .is-open-sub,
  .is-open {
    overflow: hidden;
  }
  .header__nav__area {
    position: absolute;
    top: 0;
    left: -100%;
    bottom: 0;
    height: 100%;
    padding-top: 100px;
    background-color: #ffffff;
    font-size: 17px;
    width: 100%;
  }
  .is-open .header__nav__area {
    position: fixed;
    left: 0;
    height: 100vh;
    overflow-y: scroll;
  }
}

.header__nav__list {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  font-family: 'Catamaran', sans-serif;
  font-weight: 500;
}

.header__nav__list,
.header__nav__list li {
  list-style-type: none;
  float: left;
}
.header__nav__list li {
  float: left;
  line-height: 26px;
  font-size: 16px;
  margin-left: 34px;
}

.header__nav__list li:first-child(),
.header__nav__list li:nth-child(2) {
  margin-left: 0;
}

.header__nav__list li.header__nav__list_to-header {
  display: none;
}
.header__nav__list li a {
  position: relative;
}
.header__nav__list li.active a {
  border-bottom: solid 1px #ffffff;
}
.header__nav__list li.disabled {
  color: #999;
}
.header__nav__list li a:hover:before {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background-color: #000000;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
}

.header__nav__list .header__nav__list_l2 {
  display: none;
}

.header__nav__list_to_sub a {
  position: relative;
  padding-right: 30px;
}
.header__nav__list_to_sub a:after {
  content: "";
  width: 14px;
  height: 8px;
  background-image: url(../image/icn_arrow_nav_sub.png);
  background-size: cover;
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 10;
  margin-top: -4px;
}

@media (max-width: 1101px) {
.header__nav__list,
.header__nav__list li {
  float: none;
}
.header__nav__list {
  margin-bottom: 70px;
  padding: 0 20px;
}
.header__nav__list li {
  float: none;
  margin: 0;
  text-align: center;
}

.header__nav__list li a {
  display: block;
  padding: 15px 15px;
  text-align: left;
}

.header__nav__list li a:hover {
  color: #b6cbf4;
}
.header__nav__list li a:hover:before {
  display: none;
}
.header__nav__list li.header__nav__list_to-header {
  display: block;
}
.header__nav__list li.header__nav__list_to-header a {
  padding: 15px 0;
}
.header__nav__list li.disabled {
  padding: 15px 20px;
  text-align: left;
  color: #b6cbf4;
}
.header__nav__list li.active a {
  border-bottom: none;
}
.header__nav__list_to_sub a:after {
  display: none;
}
.header__nav__list .header__nav__list_l2 {
  display: block;
  margin: 0;
  padding: 0;
  padding-left: 18px;
}
.header__nav__list .header__nav__list_l2 li {
  border-top: #000000 solid 1px;
  border-bottom: none;
  padding:0;
}
}

@media (max-width: 601px) {
.header__nav__list {
  padding: 0 20px;
}
.header__nav__list li {
  border-bottom: #000000 solid 1px;
  font-weight: normal;
  padding: 0 17px;
}
.header__nav__list li.header__nav__list_to-header {
  padding: 0;
}
.header__nav__list li a {
  padding: 15px 0;
}
.header__nav__list li a:hover:before {
  display: none;
}
.header__nav__list li.disabled {
  color: #666666;
}
}

.header_page {
  position: fixed;
  z-index: 110;
  top: 54px;
  left: 0;
  display: table;
  width: 100%;
  height: 44px;
  background-color: rgba(0,0,0,0.8);
  line-height: 1;
}
.header_page:before,
.header_page:after {
  display: table;
  content: " ";
}
.header_page:after {
  clear: both;
}

@media (max-width: 1101px) {
  .header_page {
    padding: 0;
  }
}
@media (max-width: 601px) {
.header_page {
  position: relative;
  top: 0;
  height: 43px;
}
.is-fixed .header_page {
  position: fixed;
}
}

.header_page__inner {
  display: table-cell;
  vertical-align: middle;
  padding: 12px 30px;
}
.header_page_title {
  font-size: 21px;
  margin: 0;
  padding: 0;
}
.header_page_title a{
  font-size: 21px;
  color: #ffffff;
  float: left;
  line-height: 20px;
  letter-spacing: 1px;
  text-decoration: none;
  font-family: 'Catamaran', sans-serif;
  font-weight: 600;
}
.header_page_title a:hover{
  color: #999;
}
.header_page__nav {
  float: right;
}
.header_page__list {
  padding: 0;
  margin: 0;
  font-family: 'Catamaran', sans-serif;
}
.header_page__list li {
  float: left;
  list-style: none;
  margin-left: 42px;
  line-height: 20px;
  font-size: 16px;
  font-family: 'Catamaran', sans-serif;
  font-weight: 600;
}
.header_page__list li:first-child {
  margin-left: 0;
}
.header_page__list li a {
  color: #ffffff;
  text-decoration: none;
}
.header_page__list li a:hover {
  color: #cccccc;
}
.header_page_btn {
  display: none;
}
@media (max-width: 1101px) {
.header_page__inner {
  padding: 10px;
}
.header_page_title {
  font-size: 15px;
  color: #000000;
  float: none;
  line-height: 20px;
}
.header_page__nav {
  display: block;
  position: absolute;
  right: 0;
  top: -1000px;
  background-color: rgba(0,0,0,0.8);
  padding: 60px 30px;
  height: 1000px;
  transition: all linear 0.1s;
}
.is-open-sub .header_page__nav {
  top: 0;
}
.header_page__list li {
  float: none;
  list-style: none;
  margin-left: 0;
  line-height: 20px;
  font-size: 16px;
  border-bottom: #cccccc solid 1px;
  padding: 12px 0;
  min-width: 264px;
  width: auto;
}
.header_page__list li a {
  color: #ffffff;
  text-decoration: none;
}
.header_page__list li a:hover {
  color: #cccccc;
}
.header_page_btn {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10;
  padding: 17px 20px;
}
.header_page_btn span {
  width: 16px;
  height: 8px;
  background-image: url(../image/button__nav_down__arrow_w.png);
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
}
.is-open-sub .header_page_btn span {
  background-image: url(../image/button__nav_up__arrow_w.png);
  background-size: cover;
  background-repeat: no-repeat;
}
}

@media (max-width: 601px) {
.header_page_title {
  font-size: 15px;
  color: #000000;
  float: none;
  line-height: 20px;
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 11;
  font-size: 17px;
}
.header_page_title a {
  font-size: 18px;
  line-height: 24px;
}
.header_page__nav {
  width: 100%;
  padding: 60px 30px;
}
.header_page__nav__area {
  height: calc(100vh - 100px);
  overflow: auto;
}
.header_page__list li {
  float: none;
  list-style: none;
  margin-left: 0;
  line-height: 20px;
  font-size: 16px;
  border-bottom: #cccccc solid 1px;
  padding: 12px 0;
  min-width: 100%;
  width: 100%;
}
}

/* ----------------------------------------------------------------
Sub Header
-------------------------------------------------------------------*/
.sub_header {
  position: fixed;
  z-index: 800;
  top: -54px;
  left: 0;
  display: table;
  width: 100%;
  height: 44px;
  padding: 12px 30px;
  background-color: #000000;
  line-height: 1;
  transition: all linear 0.1s;
}
.is-open-glo-sub .sub_header {
  top: 54px;
}
.sub_header:before,
.sub_header:after {
  display: table;
  content: " ";
}
.sub_header:after {
  clear: both;
}

@media (max-width: 1101px) {
  .sub_header {
    display: none;
    padding: 10px;
  }
}

@media (max-width: 601px) {
  .sub_header {
    display: none;
    position: relative;
    height: 44px;
    padding: 0 10px;
  }
  .sub_header.header_top {
    position: fixed;
  }
}

.sub_header,
.sub_header a {
  color: #ffffff;
}
.sub_header a {
  text-decoration: none;
}
.sub_header a:hover {
  color: #999999;
}

.sub_header__inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.sub_header__nav__list {
  font-size: 0;
  padding: 0;
  display: inline-block;
}
.sub_header__nav__list li {
  display: inline-block;
  font-family: 'Catamaran', sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #ffffff;
  margin: 0 17px;
  letter-spacing: 1px;
  vertical-align: middle;
}
.sub_header__nav__list li a {
  color: #ffffff;
}

@media (max-width: 1481px) {
  .sub_header__nav__list {
    text-align: center;
    display: block;
  }
  .sub_header__nav__list:first-child {
    margin-bottom: 20px;
  }
}

/* ----------------------------------------------------------------
footrer_2
-------------------------------------------------------------------*/
.footer_2 {
  position: relative;
  z-index: 300;
  padding-left: 290px;
  color: #fff;
  height: 100px;
}
.l-footer .footer_2 {
  border-top: 1px solid #3B486F;
  padding-left: 0;
}

.is-mainnav-open .footer_2 {
  padding-left: 250px;
}
.is-subnav-open .footer_2 {
  padding-left: 290px;
}
.footer_2--toppage {
  padding-left: 0 !important;
  height: 70px;
}
@media (min-width: 602px) and (max-height: 899px) {
  .footer_2--toppage {
    height: calc(50px + ((100vh - 700px) / 200 * 20));
    min-height: 50px;
  }
}
.footer_2__btn_top {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 0;
  z-index: 100;
}
.footer_2__btn_top.is-bottom {
  position: absolute;
  bottom: 100px;
}
@media (min-width: 602px) {
  .footer_2__btn_top.is-toppage {
    display: block !important;
    opacity: 1 !important;
  }
  .footer_2__btn_top.is-scroll a {
    background: url(../image/footer_ico_arrow_down.png) no-repeat #090031;
    background-position: center bottom 19px;
  }
}
.footer_2__btn_top a {
  position: relative;
  display: flex;
  justify-content: center;
  border-radius: 10px 10px 0 0;
  padding-top: 13px;
  background: url(../image/footer_ico_arrow_up.png) no-repeat #090031;
  background-position: center bottom 19px;
  width: 60px;
  height: 70px;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s;
}
.footer_2__btn_top a:hover {
  height: 80px;
  background-position: center bottom 29px;
}
.footer_2__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 45px 0 0;
  background-color: #070F26;
  height: 100%;
}
@media (max-width: 601px) {
  .footer_2__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px 0;
    background: #090031;
    height: 100%;
  }
}
.l-footer .footer_2__inner {
  padding: 40px 20px;
}
@media (min-width: 768px) {
  .l-footer .footer_2__inner {
    padding: 40px 40px;
  }
}
@media (min-width: 1024px) {
  .l-footer .footer_2__inner {
    padding: 40px 8%;
  }
}
@media (min-width: 1445px) {
  .l-footer .footer_2__inner {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    width: 1200px;
  }
}
.footer_2--toppage .footer_2__inner {
  padding-left: 45px;
}
.footer_2__nav a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s;
}
.footer_2__nav ul,
.footer_2__nav li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer_2__nav a:hover {
  opacity: 0.7;
}
.footer_2__nav ul {
  display: flex;
  align-items: center;
}
.footer_2__nav ul li {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
}
.footer_2__nav ul li + li {
  margin-left: 32px;
}
.footer_2__copyright {
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.06em;
}
.footer_2__copyright small {
  font-size: 80%;
}
@media (max-width: 601px) {
  .footer_2 {
    padding-left: 0 !important;
    color: #fff;
    height: 50px;
    transition: padding-left 0.3s;
  }
  .footer_2__btn_top.is-bottom {
    position: fixed;
    bottom: 0;
  }
  .footer_2__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px 0;
    background: #090031;
    height: 100%;
  }
  .footer_2--toppage .footer_2__inner {
    padding-left: 0px;
  }
  .footer_2__nav {
    display: none;
  }
  .footer_2__copyright {
    padding-left: 0.06em;
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 0.06em;
  }
}

/* ----------------------------------------------------------------
Footrer
-------------------------------------------------------------------*/
.footer {
  background-color: #000;
  font-size: 12px;
  line-height: 1.3;
}

@media (max-width: 601px) {
  .footer {
    font-size: 11px;
  }
}

.footer,
.footer a {
  color: #fff;
}

.footer a {
  text-decoration: none;
}

.footer a:hover {
  color: #999;
}

.footer ul,
.footer li,
.footer p {
  margin: 0;
  padding: 0;
}

.footer ul,
.footer li {
  list-style-type: none;
}

.footer__inner {
  max-width: 1024px;
  margin: 0 auto;
  padding: 30px 0;
}

@media (max-width: 601px) {
  .footer__inner {
    padding: 37px 20px 30px;
  }
}

.footer__inner:before,
.footer__inner:after {
  display: table;
  content: " ";
}

.footer__inner:after {
  clear: both;
}

/* nav
----------------------------------------------*/
.footer__nav {
  float: left;
  letter-spacing: 1px;
}

.footer__nav:before,
.footer__nav:after {
  display: table;
  content: " ";
}

.footer__nav:after {
  clear: both;
}

@media (max-width: 1100px) {
  .footer__nav {
    float: none;
    margin-bottom: 15px;
  }
}

@media (max-width: 601px) {
  .footer__nav {
    margin-bottom: 20px;
    letter-spacing: 0;
  }
}

@media (max-width: 1100px) {
  .footer__nav ul {
    float: none;
    margin: 0 auto;
    text-align: center;
  }
}

.footer__nav li {
  float: left;
  margin-right: 25px;
}

@media (max-width: 1100px) {
  .footer__nav li {
    display: inline-block;
    float: none;
    margin: 0 13px;
  }
}

@media (max-width: 601px) {
  .footer__nav li {
    float: left;
    width: 50%;
    margin: 0;
    margin-right: 0;
    margin-bottom: 20px;
    padding-right: 10px;
    text-align: left;
  }
}

/* copyrights
----------------------------------------------*/
.footer__copyrights {
  float: right;
}

@media (max-width: 1100px) {
  .footer__copyrights {
    float: none;
    text-align: center;
  }
}

@media (max-width: 601px) {
  .footer__copyrights {
    float: none;
    text-align: center;
  }
}

/* ----------------------------------------------------------------
side_nav
-------------------------------------------------------------------*/
.side_nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  height: 100%;
  color: #fff;
  font-family: 'Catamaran','Yu Gothic M', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', sans-serif;
}
@media (max-width: 601px) {
  .side_nav {
    display: none;
  }
}
.side_nav a {
  color: #fff;
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.2s;
}
.side_nav p,
.side_nav h2,
.side_nav h3,
.side_nav h4,
.side_nav ul,
.side_nav li,
.side_nav dl,
.side_nav dt,
.side_nav dd {
  list-style: none;
  margin: 0;
  padding: 0;
}

.side_nav__inner {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 12px 0 0;
  background: #000027;
  width: 40px;
  height: 100%;
  opacity: 0;
}
.is-mainnav-open .side_nav__inner {
  padding: 0;
  width: 250px;
  opacity: 1;
}
.is-subnav-open .side_nav__inner {
  opacity: 1;
  transition: width 0.3s;
}
.is-subnav-open .side_nav.is-open .side_nav__inner {
  padding: 0;
  width: 250px;
}

.side_nav__inner * {
  opacity: 0
}
.is-mainnav-open .side_nav__inner *,
.is-subnav-open .side_nav__inner * {
  opacity: 1;
}

.is-open .side_nav__ico {
  display: none;
}
.side_nav__ico {
  position: relative;
  align-self: center;
  width: 16px;
  height: 12px;
  cursor: pointer;
}
.side_nav__ico::before,
.side_nav__ico span,
.side_nav__ico::after {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  background: #fff;
  width: 100%;
  height: 2px;
}
.side_nav__ico::before {
  top: 0;
}
.side_nav__ico span {
  top: 5px;
}
.side_nav__ico::after {
  top: 10px;
}

.side_nav__head {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
  white-space: nowrap;
  writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  transform: translate(-50%, -50%);
}
.side_nav.is-open .side_nav__head {
  position: relative;
  top: auto;
  left: auto;
  margin: 20px 0 10px 18px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.14em;
  white-space: nowrap;
  writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  transform: translate(0, 0);
}
.side_nav__head br {
  display: none;
}
.side_nav.is-open .side_nav__head br {
  display: inline;
}

.side_nav__nav {
  min-width: 250px;
}
.is-subnav-open .side_nav .side_nav__nav {
  display: none;
}
.is-subnav-open .side_nav.is-open .side_nav__nav {
  display: block;
}

.side_nav__nav > ul > li {
  position: relative;
  border-bottom: 1px solid #333352;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2666;
  letter-spacing: 0.06em;
}
.side_nav__nav > ul > li:first-child {
  border-top: 1px solid #333352;
}
.side_nav__nav > ul > li > a,
.side_nav__nav > ul > li > div {
  position: relative;
  display: block;
  padding: 20px;
  cursor: pointer;
}
.side_nav__nav > ul > li > a {
  font-size: 1.5rem;
  line-height: 1;
}
.side_nav__nav > ul > li.is-current a,
.side_nav__nav > ul > li.is-current div {
  background: #333352;
}
.side_nav__nav > ul > li a {
}
.side_nav__nav > ul > li > a:hover,
.side_nav__nav > ul > li > div:hover {
  background: #1a1a3d;
}
.side_nav__nav > ul > li > a::after,
.side_nav__nav > ul > li > div::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  background: url(../image/ico_nav_arrow_pc.png) no-repeat center center;
  width: 5px;
  height: 10px;
  transform: translateY(-50%);
}
.side_nav__nav > ul > li.is-current div::after {
  background: url(../image/ico_nav_arrow_pc_off.png) no-repeat center center;
}
.side_nav__nav > ul > li > div:hover::after {
  background: url(../image/ico_nav_arrow_pc.png) no-repeat center center !important;
}
.side_nav__nav > ul > li > a::after {
  background: url(../image/ico_link_arrow_01_pc.png) no-repeat center center;
  width: 22px;
  height: 22px;
}
.side_nav__nav > ul > li.is-current > a::after {
  background: url(../image/ico_link_arrow_01_pc_off.png) no-repeat center center;
}
.side_nav__nav > ul > li > a:hover::after {
  background: url(../image/ico_link_arrow_01_pc_on.png) no-repeat center center !important;
}
.side_nav__nav > ul > li h3 {
  color: inherit;
  font-family: 'Noto Serif JP';
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: inherit;
}
.side_nav__nav > ul > li h3 + p {
  margin-top: 15px;
  margin-bottom: 0;
  font-size: 1.4rem;
  line-height: 1.42;
}
@media (min-width: 602px) and (max-height: 899px) {
  .side_nav__nav > ul > li > a,
  .side_nav__nav > ul > li > div {
    padding: calc(10px + ((100vh - 700px) / 200 * 10)) 20px;
  }
}
@media (min-width: 602px) and (max-height: 699px) {
  .side_nav__nav > ul > li > a,
  .side_nav__nav > ul > li > div {
    padding: 10px 20px;
  }
}

.side_nav__sublogo {
  display: none;
  margin: 20px 0 25px 20px;
  font-size: 0;
}
.side_nav.is-open .side_nav__sublogo {
  display: block;
}
.side_nav__sublogo img {
  max-width: none;
}

.side_nav__subnav {
  display: none;
  position: fixed;
  top: 0;
  left: 40px;
  z-index: -2;
  border-left: 1px solid #333352;
  background: #000027;
  width: 250px;
  height: 100%;
  color: #fff;
  opacity: 1;
  transition: left 0.3s;
}
.is-subnav-open .side_nav__subnav {
  display: block;
}
.side_nav__subnav.is-active {
  display: block;
}
.side_nav.is-open .side_nav__subnav {
  left: 250px;
}
.side_nav__subnav.is-open {
  display: block;
}
.side_nav__subnav > ul {
  width: 100%;
  height: 100%;
}
.side_nav__subnav > ul > li {
  display: none;
  align-items: center;
  position: absolute;
  z-index: 0;
  background: #000027;
  width: 100%;
  height: 100%;
  text-align: left;
}
.side_nav__subnav > ul > li.is-current {
  display: flex;
  z-index: 1;
}
.side_nav__subnav > ul > li.is-active {
  display: flex;
  z-index: 2;
}
.side_nav__subnav > ul > li.is-non-active {
  display: none;
}

.side_nav__subnav > ul > li > div {
  width: 100%;
}

.side_nav__subnav h4 {
  margin-bottom: 50px;
  padding-left: 20px;
  font-family: 'Noto Serif JP';
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.2em;
}
@media (min-width: 602px) and (max-height: 899px) {
  .side_nav__subnav h4 {
    margin-bottom: calc(30px + ((100vh - 700px) / 200 * 20));
  }
}

.side_nav__subnav dl + dl {
  margin-top: 20px;
}
.side_nav__subnav dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.04em;
}
.side_nav__subnav dl dt a,
.side_nav__subnav dl dt span {
  display: block;
  position: relative;
  padding: 12px 45px 8px 20px;
}
.side_nav__subnav dl dt.is-current a {
  background: #333352;
}
.side_nav__subnav dl dt a:hover {
  background: #1a1a3d !important;
}
.side_nav__subnav dl dt a::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  background: url(../image/ico_link_arrow_01_pc.png) no-repeat center center;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}
.side_nav__subnav dl dt.is-current div::after {
  background: url(../image/ico_link_arrow_01_pc_off.png) no-repeat center center;
}
.side_nav__subnav dl dt a:hover::after {
  background: url(../image/ico_link_arrow_01_pc_on.png) no-repeat center center !important;
}
@media (min-width: 602px) and (max-height: 899px) {
  .side_nav__subnav dl + dl {
    margin-top: calc(10px + ((100vh - 700px) / 200 * 10));
  }
  .side_nav__subnav dl dt a,
  .side_nav__subnav dl dt span {
/*    padding: calc(6px + ((100vh - 700px) / 200 * 6)) 45px calc(4px + ((100vh - 700px) / 200 * 4)) 20px;*/
  }
}

.side_nav__subnav dl dd {
  padding-left: 10px;
  font-size: 1.4rem;
  line-height: 1.285;
  letter-spacing: 0.04em;
}
.side_nav__subnav dl dd li.is-current a {
  background: #333352;
}
.side_nav__subnav dl dd a {
  display: block;
  position: relative;
  padding: 11px 45px 9px 20px;
}
.side_nav__subnav dl dd a:hover {
  background: #1a1a3d !important;
}
.side_nav__subnav dl dd a::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  background: url(../image/ico_link_arrow_01_pc.png) no-repeat center center;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
}
.side_nav__subnav dl dd li.is-current a::after {
  background: url(../image/ico_link_arrow_01_pc_off.png) no-repeat center center;
}
.side_nav__subnav dl dd a:hover::after {
  background: url(../image/ico_link_arrow_01_pc_on.png) no-repeat center center !important;
}
}


/* ----------------------------------------------------------------
toppage_strategy
-------------------------------------------------------------------*/
.toppage_strategy {
  font-family: 'Catamaran','Yu Gothic M', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', sans-serif;
  background: #fff;
}
.toppage_strategy::before,
.toppage_strategy::after,
.toppage_strategy *::before,
.toppage_strategy *::after {
  box-sizing: border-box;
}
.toppage_strategy a {
  color: inherit;
  text-decoration: none;
}
.toppage_strategy p {
  margin: 0;
}
.toppage_strategy ul,
.toppage_strategy ol,
.toppage_strategy li,
.toppage_strategy dl,
.toppage_strategy dt,
.toppage_strategy dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

.toppage_strategy .toppage_strategy {
  position: relative;
}
.toppage_strategy .toppage_strategy__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}
.toppage_strategy .toppage_strategy__inner > div:nth-child(1) {
  padding-right: 40px;
  width: 50%;
  text-align: right;
}
.toppage_strategy .toppage_strategy__inner > div:nth-child(2) {
  padding-left: 10px;
  width: 50%;
}
.toppage_strategy .toppage_strategy__title {
  margin-right: -0.4em;
  margin-bottom: 43px;
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.4em;
}
.toppage_strategy .toppage_strategy__lead {
  margin-right: -0.4em;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.346;
  letter-spacing: 0.4em;
}
.toppage_strategy .toppage_strategy__text {
  margin-right: -0.06em;
  margin-top: 13px;
  font-size: 1.7rem;
  line-height: 1.555;
  letter-spacing: 0.06em;
}
.toppage_strategy .toppage_strategy__link {
  margin-top: 30px;
}
.toppage_strategy .toppage_strategy__img {
  overflow: hidden;
  border-radius: 10px;
  height: 440px;
}
@media (max-width: 601px) {
  .toppage_strategy {
    position: relative;
  }
  .toppage_strategy .toppage_strategy__inner {
    display: block;
    padding: 0;
  }
  .toppage_strategy .toppage_strategy__inner > div:nth-child(1) {
    position: relative;
    z-index: 1;
    padding: 45px 15px 40px;
    width: auto;
    color: #fff;
    text-align: center;
  }
  .toppage_strategy .toppage_strategy__inner > div:nth-child(2) {
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 0;
    width: 100%;
    height: 100%;
  }
  .toppage_strategy .toppage_strategy__title {
    margin-right: -0.4em;
    margin-bottom: 30px;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.4em;
  }
  .toppage_strategy .toppage_strategy__lead {
    margin-right: -0.4em;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.4em;
  }
  .toppage_strategy .toppage_strategy__text {
    margin-right: -0.06em;
    margin-top: 13px;
    font-size: 1.3rem;
    line-height: 1.538;
    letter-spacing: 0.06em;
  }
  .toppage_strategy .toppage_strategy__link {
    margin-top: 30px;
  }
  .toppage_strategy .toppage_strategy__img {
    overflow: hidden;
    border-radius: 0;
    height: 100%;
  }
}

/* ----------------------------------------------------------------
toppage_contact_us
-------------------------------------------------------------------*/
.toppage_contact_us {
  font-family: 'Catamaran','Yu Gothic M', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', sans-serif;
  background: #fff;
}
.toppage_contact_us::before,
.toppage_contact_us::after,
.toppage_contact_us *::before,
.toppage_contact_us *::after {
  box-sizing: border-box;
}
.toppage_contact_us a {
  color: inherit;
  text-decoration: none !important;
}
.toppage_contact_us p {
  margin: 0;
}
.toppage_contact_us ul,
.toppage_contact_us ol,
.toppage_contact_us li,
.toppage_contact_us dl,
.toppage_contact_us dt,
.toppage_contact_us dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

.toppage_contact_us {
  position: relative;
  background: #157a9f;
}
.toppage_contact_us .toppage_contact_us__inner {
  padding: 90px 40px 100px;
  color: #fff;
  text-align: center;
}
.toppage_contact_us .toppage_contact_us__title {
  padding-left: 0.4em;
  margin-bottom: 50px;
  font-size: 2.4rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.4em;
}
.toppage_contact_us .toppage_contact_us__text {
  padding-left: 0.04em;
  font-size: 1.6rem;
  line-height: 1.555;
  letter-spacing: 0.04em;
  text-align: center;
}
.toppage_contact_us .toppage_contact_us__link {
  margin-top: 50px;
}
@media (max-width: 601px) {
  .toppage_contact_us {
    position: relative;
    background: #157a9f;
  }
  .toppage_contact_us .toppage_contact_us__inner {
    padding: 45px 15px 45px;
    color: #fff;
    text-align: center;
  }
  .toppage_contact_us .toppage_contact_us__title {
    padding-left: 0.4em;
    margin-bottom: 20px;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.4em;
  }
  .toppage_contact_us .toppage_contact_us__text {
    margin: 0 auto;
    padding-left: 0.04em;
    width: 290px;
    font-size: 1.3rem;
    line-height: 1.538;
    letter-spacing: 0.04em;
  }
  .toppage_contact_us .toppage_contact_us__link {
    margin-top: 25px;
  }
}
/* ----------------------------------------------------------------
linkarea_bottom
-------------------------------------------------------------------*/
.linkarea_bottom {
  position: relative;
  background-color: #c9c9c9;
  color: #000;
  text-align: center;
}
.linkarea_bottom .linkarea_inner {
  padding: 0 0 50px 250px;
}
main .linkarea_bottom .linkarea_inner {
  padding: 0 0 50px 0;
}
.linkarea_bottom .linkarea_title {
  color: #000000;
  font-size: 1.8rem;
  margin: 0 0 25px 250px;
  padding-top: 60px;
}
main .linkarea_bottom .linkarea_title {
  margin: 0 0 25px 0;
}
.linkarea_bottom ul.link {
  margin: 0 auto !important;
  padding: 0;
  max-width: 620px;
}
.linkarea_bottom ul.link li {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 2.4;
}
.linkarea_bottom ul.link li:after {
  content: '/';
  padding: 0 1em;
}
.linkarea_bottom ul.link li:last-child:after {
  content: '';
  padding: 0;
}
.linkarea_bottom ul.link li a {
  color: #000;
  text-decoration: none;
}
.linkarea_bottom ul.link li a:hover {
  text-decoration: underline;
}
@media (max-width: 601px) {
  .linkarea_bottom .linkarea_inner {
    padding: 20px 15px 35px;
  }
  .linkarea_bottom .linkarea_title {
    font-size: 1.5rem;
    padding-top: 35px;
    margin: 0;
  }
  .linkarea_bottom ul.link {
    max-width: 100%;
  }
  .linkarea_bottom ul.link li {
    font-size: 1.2rem;
  }
}
/* ----------------------------------------------------------------
Category Top Head
-------------------------------------------------------------------*/
.cate_top_head {
  font-family: 'Catamaran','Yu Gothic M', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', sans-serif;
  background: #fff;
}
.cate_top_head::before,
.cate_top_head::after,
.cate_top_head *::before,
.cate_top_head *::after {
  box-sizing: border-box;
}
.cate_top_head a {
  color: inherit;
  text-decoration: none;
}
.cate_top_head p {
  margin: 0;
}
.cate_top_head ul,
.cate_top_head ol,
.cate_top_head li,
.cate_top_head dl,
.cate_top_head dt,
.cate_top_head dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cate_top_head {
  height: 230px;
}


.cate_top_head .cate_top_head__breadcrumb {
  position: relative;
  padding: 2px 15px;
  border-bottom: 1px solid #9a9a9a;
  font-size: 15px;
}

.cate_top_head .cate_top_head__breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  line-height: 1!important;
  align-items: baseline;
}

.cate_top_head .cate_top_head__breadcrumb ul li:after {
  content: '>';
  display: inline-block;
  margin: 0 0.6em;
  font-size: 25px;
}

.cate_top_head .cate_top_head__breadcrumb ul li:last-child:after {
  display: none;
}

.cate_top_head .cate_top_head__breadcrumb ul li a {
  font-size: 1.5rem;
}

.cate_top_head .cate_top_head__breadcrumb ul li a:hover {
  text-decoration: underline;
}

/***** cate_top_head__breadcrumb2パターン２ *****/
.cate_top_head .cate_top_head__breadcrumb2 {
  position: relative;
  padding: 5px 15px;
  border-bottom: 1px solid #9a9a9a;
  font-size: 15px;
}

.cate_top_head .cate_top_head__breadcrumb2 ul {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.3;
  align-items: center;
}

.cate_top_head .cate_top_head__breadcrumb2 ul li {
  position: relative;
  padding-right: 2.5em;
}

.cate_top_head .cate_top_head__breadcrumb2 ul li:after {
  content: '>';
  position: absolute;
  font-size: 25px;
  top: 50%;
  right: 10px;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  
}

.cate_top_head .cate_top_head__breadcrumb2 ul li:last-child:after {
  display: none;
}

.cate_top_head .cate_top_head__breadcrumb2 ul li a {
  font-size: 15px;
}

.cate_top_head .cate_top_head__breadcrumb2 ul li a:hover {
  text-decoration: underline;
}

.cate_top_head.other {
  height:  30px;
}


@media (min-width: 602px) and (max-height: 700px) {
  .cate_top_head {
    height: 160px;
  }
}
.cate_top_head .cate_top_head__bg {
  display: none;
}
.cate_top_head .cate_top_head__inner {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 50px 30px;
  height: 100%;
  justify-content: flex-start;
}

.cate_top_head.h28 .cate_top_head__inner {
  padding: 0 50px 50px;
}

.cate_top_head .cate_top_head__head {
  color: #000027;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.cate_top_head.is-cate-02 .cate_top_head__head {
  font-size: 4rem;
}
.cate_top_head.is-cate-03 .cate_top_head__head {
  font-size: 5rem;
}
.cate_top_head.is-cate-04 .cate_top_head__head {
  font-size: 4rem;
}
.cate_top_head.is-cate-05 .cate_top_head__head {
  font-size: 4rem;
}
@media (min-width: 602px) and (max-width: 1000px) {
  .cate_top_head.is-cate-01 .cate_top_head__head,
  .cate_top_head .cate_top_head__head {
    font-size: 3.169rem;
  }
  .cate_top_head.is-cate-02 .cate_top_head__head {
    font-size: 2.644rem;
  }
  .cate_top_head.is-cate-03 .cate_top_head__head {
    font-size: 3.1rem;
  }
  .cate_top_head.is-cate-04 .cate_top_head__head {
    font-size: 3.1rem;
  }
  .cate_top_head.is-cate-05 .cate_top_head__head {
    font-size: 2.848rem;
  }
}



@media (min-width: 1000px) and (max-width: 1160px) {
 .cate_top_head .cate_top_head__head {
    font-size: calc((100vw - 723px) * 50 / 437);
  }
}
@media (min-width: 1000px) and (max-width: 1144px) {
  .cate_top_head.is-cate-02 .cate_top_head__head {
    font-size: calc((100vw - 719px) * 40 / 425);
  }
}
@media (min-width: 1000px) and (max-width: 1148px) {
  .cate_top_head.is-cate-03 .cate_top_head__head {
    font-size: calc((100vw - 759px) * 50 / 389);
  }
}
@media (min-width: 1000px) and (max-width: 1102px) {
  .cate_top_head.is-cate-04 .cate_top_head__head {
    font-size: calc((100vw - 652px) * 40 / 450);
  }
}
@media (min-width: 1000px) and (max-width: 1141px) {
  .cate_top_head.is-cate-05 .cate_top_head__head {
    font-size: calc((100vw - 651px) * 40 / 490);
  }
}
.cate_top_head .cate_top_head__head_sub {
  margin-bottom: 10px;
  color: #000027;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
}
.cate_top_head.is-cate-04 .cate_top_head__head_sub {
  margin-top: 10px;
  margin-bottom: 0;
}

.cate_top_head .cate_top_head__inner br.tb {
  display: none;
}


.cate_top_head .cate_top_head__inner > *:nth-child(2) {
  display: flex;
  align-items: center;
}
.cate_top_head .cate_top_head__inner > *:nth-child(2)::before {
  content: '';
  display: block;
  margin: 0 50px;
  background: #000027;
  width: 1px;
  height: 100px;
}


@media screen and (max-width: 1320px) {

  .cate_top_head.is-cate-01 .cate_top_head__inner div:nth-child(1) h1 {
    font-size: 3.5rem;
  }

}

@media screen and (max-width: 1120px) {
   .cate_top_head.is-cate-01 .cate_top_head__inner div:nth-child(1) h1 br.tb {
      display: block;
   }
}

.cate_top_head .cate_top_head__text {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.cate_top_head.is-cate-01 .cate_top_head__text {
  max-width: 400px;
}
.cate_top_head.is-cate-02 .cate_top_head__text {
  max-width: 500px;
}
.cate_top_head.is-cate-03 .cate_top_head__text {
  max-width: 460px;
}
.cate_top_head.is-cate-04 .cate_top_head__text {
  max-width: 500px;
}
.cate_top_head.is-cate-05 .cate_top_head__text {
  max-width: 367px;
}
@media (min-width: 602px) and (max-width: 1357px) {
  .cate_top_head.is-cate-02 .cate_top_head__text br {
    display: none;
  }
}
@media (min-width: 602px) and (max-width: 1252px) {
  .cate_top_head.is-cate-03 .cate_top_head__text br {
    display: none;
  }
}
@media (min-width: 602px) and (max-width: 1247px) {
  .cate_top_head.is-cate-04 .cate_top_head__text br {
    display: none;
  }
}
@media (min-width: 602px) and (max-width: 1191px) {
  .cate_top_head.is-cate-05 .cate_top_head__text br {
    display: none;
  }
}
@media (max-width: 601px) {
  .cate_top_head {
    height: 300px;
    text-shadow: 1px 1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, -1px -1px 1px #fff;
  }
  .cate_top_head .cate_top_head__bg {
    display: block;
    position: absolute;
  }
  
  .cate_top_head .cate_top_head__breadcrumb {
  	border-bottom: none;
  	padding: 15px 50px 15px 15px;
    font-size: 15px;
  }

  .cate_top_head .cate_top_head__breadcrumb ul li:after {

  }
  
  /********breadcrumb2***********/
  
.cate_top_head .cate_top_head__breadcrumb2 {
    order-bottom: none;
    padding: 15px 40px 15px 15px;
    font-size: 11px;
}
.cate_top_head .cate_top_head__breadcrumb2 ul li {
    padding-right: 1.5rem;
}

.cate_top_head .cate_top_head__breadcrumb2 ul li:after {
    right: 0;
}
  
.cate_top_head .cate_top_head__breadcrumb2 ul li:last-child {
    padding-right: 0;
}

  
  .cate_top_head .cate_top_head__inner {
    position: relative;
    display: block;
    align-items: center;
    padding: 40px 15px;
    height: 100%;
  }
  .cate_top_head .cate_top_head__head {
    color: #000027;
    font-size: 3.5rem !important;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.06em;
    white-space: normal;
  }
  .cate_top_head .cate_top_head__head_sub {
    margin-bottom: 10px;
    color: #000027;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.08em;
  }
  .cate_top_head .cate_top_head__inner > *:nth-child(2) {
    display: block;
    margin-top: 20px;
  }
  .cate_top_head .cate_top_head__inner > *:nth-child(2)::before {
    display: none;
  }
  .cate_top_head .cate_top_head__text {
    font-size: 1.4rem;
    line-height: 1.42;
    letter-spacing: 0.04em;
  }
}

/* ----------------------------------------------------------------
Category Top Visual
-------------------------------------------------------------------*/
.cate_top_visual {
  font-family: 'Catamaran','Yu Gothic M', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', sans-serif;
  background: #fff;
}
.cate_top_visual::before,
.cate_top_visual::after,
.cate_top_visual *::before,
.cate_top_visual *::after {
  box-sizing: border-box;
}
.cate_top_visual a {
  color: inherit;
  text-decoration: none;
}
.cate_top_visual p {
  margin: 0;
}
.cate_top_visual ul,
.cate_top_visual ol,
.cate_top_visual li,
.cate_top_visual dl,
.cate_top_visual dt,
.cate_top_visual dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cate_top_visual {
  height: calc(100vh - 200px);
  min-height: 470px;
}
@media (min-width: 602px) and (max-height: 700px) {
  .cate_top_visual {
    height: calc(100vh - 160px);
  }
}
.cate_top_visual .cate_top_visual__inner {
  position: relative;
  display: flex;
  height: 100%;
}
@media (max-width: 601px) {
  .cate_top_visual {
    display: none;
  }
}

.cate_top_visual .cate_top_visual__main {
  overflow: hidden;
  position: relative;
  border-radius: 0 8px 0 0;
  width: calc(100% - 360px);
  height: 100%;
  transition: min-width 0.3s;
}
.is-open-side_nav .cate_top_visual .cate_top_visual__main {
  min-width: 0;
}
@media (min-width: 1401px) {
  .cate_top_visual .cate_top_visual__main {
    width: calc(100% - 360px);
  }
}
.cate_top_visual .cate_top_visual__main_item {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cate_top_visual .cate_top_visual__main_item.is-active {
  z-index: 10;
}
.cate_top_visual .cate_top_visual__main_item:first-child {
  display: block;
}
.cate_top_visual .cate_top_visual__main_item_img {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 0 8px 0 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.6s;
}
.cate_top_visual .is-active .cate_top_visual__main_item_img {
  opacity: 1;
}
.cate_top_visual .cate_top_visual__main_item_body {
  position: absolute;
  bottom: 130px;
  left: -100%;
  z-index: 2;
  width: calc(100% - 50px);
  max-width: 730px;
  transition: all 0.6s;
}
.cate_top_visual .is-active .cate_top_visual__main_item_body {
  left: 0;
}
.cate_top_visual .cate_top_visual__main_item_body.is-strategy {
  bottom: 160px;
}
.cate_top_visual .cate_top_visual__main_item_body a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 0 8px 8px 0;
  background: rgba(0, 0, 39, 0.75);
  padding: 40px 85px 40px 40px;
  min-height: 170px;
  color: #fff;
  text-decoration: none;
}
.cate_top_visual .cate_top_visual__main_item_body a::before {
  content: '';
  position: absolute;
  right: 30px;
  top: 50%;
  border: 2px solid #fff;
  border-radius: 50%;
  background: url(../image/key_visual_main_ico_arrow.png) no-repeat left center;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  opacity: 1;
  transition: opacity 0.2s;
}
.cate_top_visual .cate_top_visual__main_item_body.is-anchor a::before {
  background: url(../image/cate_top_visual_main_ico_arrow_anchor.png) no-repeat center center;
}
.cate_top_visual .cate_top_visual__main_item_body a:hover::before {
  opacity: 0;
}
.cate_top_visual .cate_top_visual__main_item_body a::after {
  content: '';
  position: absolute;
  right: 32px;
  top: 50%;
  border: none;
  border-radius: 50%;
  background: url(../image/key_visual_main_ico_arrow--on.png) no-repeat left center #fff;
  width: 36px;
  height: 36px;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.2s;
}
.cate_top_visual .cate_top_visual__main_item_body.is-anchor a::after {
  background: url(../image/cate_top_visual_main_ico_arrow_anchor--on.png) no-repeat center center #fff;
}
.cate_top_visual .cate_top_visual__main_item_body a:hover::after {
  opacity: 1;
}
.cate_top_visual .cate_top_visual__main_item_body_title {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.4em;
  word-break: break-all;
}
.cate_top_visual .is-special .cate_top_visual__main_item_body_title {
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.4em;
}
.cate_top_visual .cate_top_visual__main_item_body_text {
  margin-top: 20px;
  font-size: 1.8rem;
  line-height: 1.444;
  letter-spacing: 0.04em;
}
.cate_top_visual .cate_top_visual__main_item_body_text_special {
  margin-top: 20px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.04em;
}
.cate_top_visual .cate_top_visual__main_item_info {
  position: absolute;
  bottom: 0;
  right: -100%;
  border-radius: 8px 0 0 0;
  background: rgba(255, 255, 255, 0.7);
  padding: 45px 20px 20px;
  width: calc(100% - 50px);
  max-width: 730px;
  min-height: 155px;
  color: #000;
  transition: all 0.6s;
}
.cate_top_visual .is-active .cate_top_visual__main_item_info {
  right: 0;
}
.cate_top_visual .cate_top_visual__main_item_info.is-strategy {
  min-height: 185px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.cate_top_visual .cate_top_visual__main_item_info::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 8px 0 0 0;
  background: rgba(255, 255, 255, 0.7);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 16%, rgba(255, 255, 255, 0) 56%);
}
.cate_top_visual .cate_top_visual__main_item_info a {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.cate_top_visual .cate_top_visual__main_item_info a:hover {
  color: inherit;
}
.cate_top_visual .cate_top_visual__main_item_info_text {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.cate_top_visual .cate_top_visual__main_item_info dl {
  position: relative;
}
.cate_top_visual .cate_top_visual__main_item_info dl dt {
  display: flex;
  margin-bottom: 14px;
}
.cate_top_visual .cate_top_visual__main_item_info_date {
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0.2em;
}
.cate_top_visual .cate_top_visual__main_item_info_title {
  margin-left: 25px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.cate_top_visual .cate_top_visual__main_item_info dl dd {
  position: relative;
  padding: 0 35px 0 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.cate_top_visual .cate_top_visual__main_item_info dl dd::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
  border: 2px solid #090031;
  border-radius: 50%;
  background-image: url(../image/ico_arrow_link.png);
  background-position: -1px center;
  background-repeat: no-repeat;
  width: 26px;
  height: 26px;
  transform: translateY(-50%);
  transition: all 0.2s;
}
.cate_top_visual .cate_top_visual__main_item_info:hover dl dd::after {
  border: 2px solid #fff;
  background-image: url(../image/ico_arrow_link-02.png);
  background-color: #090031;
  background-clip: padding-box;
}

.cate_top_visual .cate_top_visual__main_arrow {
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 11;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 25px 25px 25px 0;
  border-color: transparent #fff transparent transparent;
  transform: translateY(-50%);
}

.cate_top_visual .cate_top_visual__nav {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  position: relative;
  padding: 0 10px 10px;
  width: 360px;
}
.cate_top_visual .cate_top_visual__nav_item {
  overflow: hidden;
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid #9a9a9a;
  padding: 5px 20px 0px 20px;
  width: 100%;
  min-width: 340px;
  max-width: 340px;
  min-height: 51px;
  cursor: pointer;
}
.cate_top_visual.is-cate-01 .cate_top_visual__nav_item {
/*  height: calc((100vh - 220px) / 680 * 250);
  min-height: 176px;*/
  min-height: 64px;
}
.cate_top_visual.is-cate-02 .cate_top_visual__nav_item {
  height: calc((100vh - 220px) / 680 * 71);
  min-height: 47px;
}
.cate_top_visual.is-cate-02 .cate_top_visual__nav_item:nth-last-child(-n+5) {
  height: calc((100vh - 220px) / 680 * 73);
  min-height: 48px;
}
.cate_top_visual.is-cate-03 .cate_top_visual__nav_item {
  height: calc((100vh - 220px) / 680 * 71);
  min-height: 47px;
}
.cate_top_visual.is-cate-03 .cate_top_visual__nav_item:nth-last-child(-n+5) {
  height: calc((100vh - 220px) / 680 * 72);
  min-height: 48px;
}
.cate_top_visual.is-cate-04 .cate_top_visual__nav_item {
  height: calc((100vh - 220px) / 680 * 83);
  min-height: 55px;
}
.cate_top_visual.is-cate-04 .cate_top_visual__nav_item:nth-last-child(-n+4) {
  height: calc((100vh - 220px) / 680 * 84);
  min-height: 56px;
}
.cate_top_visual.is-cate-05 .cate_top_visual__nav_item {
  height: calc((100vh - 220px) / 680 * 100);
  min-height: 64px;
}
.cate_top_visual.is-cate-05 .cate_top_visual__nav_item:nth-last-child(-n+1) {
  min-height: 65px;
}
@media (min-width: 602px) and (max-height: 700px) {
  .cate_top_visual.is-cate-01 .cate_top_visual__nav_item {
/*    height: calc((100vh - 180px) / 520 * 191) !important;
    min-height: 165px;*/
    min-height: 64px;
  }
  .cate_top_visual.is-cate-02 .cate_top_visual__nav_item {
    height: calc((100vh - 180px) / 520 * 63) !important;
    min-height: 55px;
  }
  .cate_top_visual.is-cate-02 .cate_top_visual__nav_item:nth-last-child(-n+4) {
    height: calc((100vh - 180px) / 520 * 64) !important;
    min-height: 56px;
  }
  .cate_top_visual.is-cate-03 .cate_top_visual__nav_item {
    height: calc((100vh - 180px) / 520 * 54) !important;
    min-height: 47px;
  }
  .cate_top_visual.is-cate-03 .cate_top_visual__nav_item:nth-last-child(-n+4) {
    height: calc((100vh - 180px) / 520 * 55) !important;
    min-height: 48px;
  }
  .cate_top_visual.is-cate-04 .cate_top_visual__nav_item {
    height: calc((100vh - 180px) / 520 * 63) !important;
    min-height: 55px;
  }
  .cate_top_visual.is-cate-04 .cate_top_visual__nav_item:nth-last-child(-n+4) {
    height: calc((100vh - 180px) / 520 * 64) !important;
    min-height: 56px;
  }
  .cate_top_visual.is-cate-05 .cate_top_visual__nav_item {
    height: calc((100vh - 180px) / 520 * 76) !important;
    min-height: 66px;
  }
  .cate_top_visual.is-cate-05 .cate_top_visual__nav_item:nth-last-child(-n+2) {
    height: calc((100vh - 180px) / 520 * 77) !important;
    min-height: 67px;
  }
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up {
  align-items: flex-start;
  margin-bottom: 10px;
  padding: 0 20px;
  height: calc((100vh - 220px) / 680 * 180);
  min-height: 119px;
}
@media (min-width: 602px) and (max-height: 700px) {
  .cate_top_visual .cate_top_visual__nav_item.is-close-up {
    height: calc((100vh - 180px) / 520 * 138) !important;
  }
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up a {
  display: block;
  height: 100%;
}
.cate_top_visual .cate_top_visual__nav_item:nth-child(n+3) {
  margin-top: 0;
  border-top: none;
}
.cate_top_visual .cate_top_visual__nav_item::before {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  z-index: 2;
  border-radius: 0;
  background-image: url(../image/cate_top_visual_main_ico_arrow_anchor--on.png);
  background-position: left top;
  background-repeat: no-repeat;
  width: 14px;
  height: 14px;
  transform: translateY(-50%);
  opacity: 1;
  transition: background-image 0.2s, background-color 0.2s, width 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up::before {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 2;
  border-radius: 15px 0 0 15px;
  background-image: url(../image/key_visual_nav_ico_arrow.png);
  background-position: left 7px center;
  background-repeat: no-repeat;
  background-color: #090031;
  width: 15px;
  height: 30px;
  transform: translateY(-50%);
  opacity: 1;
  transition: background-image 0.2s, background-color 0.2s, width 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item:hover::before,
.cate_top_visual .cate_top_visual__nav_item.is-active::before {
  background-image: url(../image/cate_top_visual_main_ico_arrow_anchor.png);
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up:hover::before,
.cate_top_visual .cate_top_visual__nav_item.is-close-up.is-active::before {
  background-image: url(../image/key_visual_nav_ico_arrow_on.png);
  background-color: #fff;
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up:hover::before {
  width: 35px;
}
.cate_top_visual .cate_top_visual__nav_item.is-hover:hover::before {
  margin-top: 15px;
  transition: margin-top 0.5s;
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up.is-hover:hover::before {
  margin-top: 0;
  background-position: left 27px center;
  transition: background-image 0.2s, background-color 0.2s, width 0.2s, background-position 0.5s;
}
.cate_top_visual .cate_top_visual__nav_item_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: opacity 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item:hover .cate_top_visual__nav_item_img,
.cate_top_visual .cate_top_visual__nav_item.is-active .cate_top_visual__nav_item_img {
  opacity: 0;
}
.cate_top_visual .cate_top_visual__nav_item_img--on {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item:hover .cate_top_visual__nav_item_img--on,
.cate_top_visual .cate_top_visual__nav_item.is-active .cate_top_visual__nav_item_img--on {
  opacity: 1;
}
.cate_top_visual .cate_top_visual__nav_item dl {
  position: relative;
  height: 100%;
}
.cate_top_visual .cate_top_visual__nav_item dl dt {
  color: #090031;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.14em;
  text-shadow: 1px 0px 5px rgba(255,255,255,0.6);
  text-shadow: 1px 1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, -1px -1px 1px #fff;
  transition: color 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: -20px;
  border-radius: 0 0 8px 0;
  padding-left: 0.4em;
  background: #090031;
  width: 130px;
  height: 34px;
  text-shadow: none;
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 0.4em;
  transition: all 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up:hover dl dt,
.cate_top_visual .cate_top_visual__nav_item.is-close-up.is-active dl dt {
  background: #fff;
  color: #090031;
}
.cate_top_visual .cate_top_visual__nav_item:hover dl dt,
.cate_top_visual .cate_top_visual__nav_item.is-active dl dt {
  color: #fff;
  text-shadow: none;
}
.cate_top_visual .cate_top_visual__nav_item dl dd {
  padding-top: 15px;
  color: #090031;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: 0.02em;
  text-shadow: 1px 1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, -1px -1px 1px #fff;
  transition: color 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item.is-close-up dl dd {
  padding-top: 65px;
  font-size: 1.8rem;
  line-height: 1.333;
  letter-spacing: 0.04em;
}
@media (min-width: 602px) and (max-height: 770px) {
  .cate_top_visual .cate_top_visual__nav_item.is-close-up dl dd {
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    padding-top: 32px;
    width: 300px;
    height: 100%;
  }
}
.cate_top_visual .cate_top_visual__nav_item:hover dl dd,
.cate_top_visual .cate_top_visual__nav_item.is-active dl dd {
  color: #fff;
  text-shadow: none;
}
.cate_top_visual .cate_top_visual__nav_item dl dd span {
  display: inline-block;
}
.cate_top_visual .cate_top_visual__nav_item_text {
  display: flex;
  align-items: center;
  position: relative;
  color: #090031;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-shadow: 1px 1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, -1px -1px 1px #fff;
  transition: color 0.2s;
}
.cate_top_visual .cate_top_visual__nav_item:hover .cate_top_visual__nav_item_text,
.cate_top_visual .cate_top_visual__nav_item.is-active .cate_top_visual__nav_item_text {
  color: #fff;
  text-shadow: none;
}
.cate_top_visual .cate_top_visual__nav_item_text.is-new::after {
  content: '';
  display: inline-block;
  position: relative;
  top: -1px;
  margin-left: 18px;
  background: url(../image/cate_top_visual_nav_ico_new.png) no-repeat;
  background-size: 100%;
  width: 46px;
  height: 20px;
}

/* ----------------------------------------------------------------
Category Top Visual SP
-------------------------------------------------------------------*/
.cate_top_visual_sp {
  font-family: 'Catamaran','Yu Gothic M', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', sans-serif;
  background: #fff;
}
.cate_top_visual_sp::before,
.cate_top_visual_sp::after,
.cate_top_visual_sp *::before,
.cate_top_visual_sp *::after {
  box-sizing: border-box;
}
.cate_top_visual_sp a {
  color: inherit;
  text-decoration: none;
}
.cate_top_visual_sp p {
  margin: 0;
}
.cate_top_visual_sp ul,
.cate_top_visual_sp ol,
.cate_top_visual_sp li,
.cate_top_visual_sp dl,
.cate_top_visual_sp dt,
.cate_top_visual_sp dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cate_top_visual_sp {
  display: none;
}
@media (max-width: 601px) {
  .cate_top_visual_sp {
    display: block;
  }
  .cate_top_visual_sp .cate_top_visual_sp__inner {
    position: relative;
  }

  .cate_top_visual_sp .cate_top_visual_sp__nav {
    position: relative;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item {
    position: relative;
    overflow: hidden;
    border-top: 1px solid #9a9a9a;
    border-bottom: 1px solid #9a9a9a;
    background: #fff;
    height: 36px;
    transition: all 0.25s;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item.is-active {
    height: 201px;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item a {
    display: block;
    position: relative;
    height: 100%;
    color: inherit;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 0.2s;
  }
  .cate_top_visual_sp .is-special .cate_top_visual_sp__nav_item_img {
    opacity: 1;
  }
  .cate_top_visual_sp .is-active .cate_top_visual_sp__nav_item_img {
    opacity: 1;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item_body {
    position: relative;
    padding: 0 50px 0 15px;
    height: 100%;
  }
  .cate_top_visual_sp .is-special .cate_top_visual_sp__nav_item_body {
    color: #fff;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item_body::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 15px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-image: url(../image/ico_arrow_link-02--sp.png);
    background-position: -1px center;
    background-repeat: no-repeat;
    background-size: 18px;
    background-color: #090031;
    width: 26px;
    height: 26px;
    transform: translateY(-50%);
    opacity: 0;
    transition: all 0.2s;
  }
  .cate_top_visual_sp .is-active .cate_top_visual_sp__nav_item_body::before {
    opacity: 1;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item_title {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.071;
    letter-spacing: 0.4em;
    height: 100%;
    transition: all 0.2s;
  }
  .cate_top_visual_sp .is-active .cate_top_visual_sp__nav_item_title {
    align-items: flex-start;
    padding-top: 30px;
    height: auto;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item_lead {
    display: none;
    margin-top: 10px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.04em;
  }
  .cate_top_visual_sp .is-special .cate_top_visual_sp__nav_item_lead {
    display: none;
    margin-top: 25px;
  }
  .cate_top_visual_sp .is-active .cate_top_visual_sp__nav_item_lead {
    display: block;
  }
  .cate_top_visual_sp .cate_top_visual_sp__nav_item_text {
    display: none;
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 1.428;
    letter-spacing: 0.04;
  }
  .cate_top_visual_sp .is-active .cate_top_visual_sp__nav_item_text {
    display: block;
  }
}

/* ----------------------------------------------------------------
Category Top Banner
-------------------------------------------------------------------*/
.cate_top_banner {
  font-family: 'Catamaran','Yu Gothic M', 'YuGothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', sans-serif;
  background: #fff;
}
.cate_top_banner::before,
.cate_top_banner::after,
.cate_top_banner *::before,
.cate_top_banner *::after {
  box-sizing: border-box;
}
.cate_top_banner a {
  color: inherit;
  text-decoration: none;
}
.cate_top_banner p {
  margin: 0;
}
.cate_top_banner ul,
.cate_top_banner ol,
.cate_top_banner li,
.cate_top_banner dl,
.cate_top_banner dt,
.cate_top_banner dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cate_top_banner {
  padding-top: 50px;
  background: #fff;
  color: #000;
}
.cate_top_banner.is-salesforce {
  padding: 50px 20px;
  background: #d2dff2;
}
.cate_top_banner .cate_top_banner__inner {
  position: relative;
}
.cate_top_banner .cate_top_banner__inner a {
  text-align: center;
}
.cate_top_banner .cate_top_banner__inner:before {
  content: "";
  position: absolute;
  display: block;
  bottom: 25px;
  left: 0;
  right: 0;
  margin: auto;
  background-image: url(../image/cate_top_visual_main_ico_arrow_anchor.png);
  width: 14px;
  height: 14px;
  opacity: 1;
  transition: background-image 0.2s, background-color 0.2s, width 0.2s;
}
.cate_top_banner .cate_top_banner__inner.is-hover:hover::before {
  bottom: 10px;
  transition: bottom 0.5s;
}


.cate_top_banner .cate_top_banner__inner img {
  margin: auto;
}

.cate_top_banner .cate_top_banner__inner img.pc {
  display: block;
}

.cate_top_banner .cate_top_banner__inner img.sp {
  display: none;
}

.cate_top_banner.is-salesforce .cate_top_banner__inner {
  display: flex;
  justify-content: center;
}
.cate_top_banner.is-salesforce .cate_top_banner__item {
  background: #fff;
  width: 312px;
  text-align: left;
}
.cate_top_banner.is-salesforce .cate_top_banner__item:first-child {
  background: none;
}
.cate_top_banner.is-salesforce .cate_top_banner__item + .cate_top_banner__item {
  margin-left: 40px;
}
.cate_top_banner.is-salesforce .cate_top_banner__item_inner {
  display: block;
  padding: 20px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.cate_top_banner.is-salesforce .cate_top_banner__item_inner:hover {
  opacity: 0.7;
}
.cate_top_banner.is-salesforce .cate_top_banner__item_img {
  text-align: center;
}
.cate_top_banner.is-salesforce .cate_top_banner__item_text {
  margin-top: 10px;
  font-size: 2.1rem;
  line-height: 1.3;
}
.cate_top_banner.is-salesforce .cate_top_banner__item_link {
  display: inline-flex;
  align-items: center;
  margin-top: 15px;
  font-size: 1.7rem;
  line-height: 1;
}
.cate_top_banner.is-salesforce .cate_top_banner__item_link::before {
  content: '';
  position: relative;
  top: 0;
  margin-right: 10px;
  background: url(../image/ico_salesforce_bnr_arrow.png) no-repeat;
  background-size: 100%;
  width: 18px;
  height: 18px;
}

@media (max-width: 601px) {
  .cate_top_banner {
    padding-top: 30px;
  }

  .cate_top_banner .cate_top_banner__inner:before {
    right: 28px;
    left: auto;
  }

  .cate_top_banner .cate_top_banner__inner img.pc {
  display: none;
}

.cate_top_banner .cate_top_banner__inner img.sp {
  display: block;
}
  .cate_top_banner.is-salesforce {
    padding: 40px 15px;
  }
  .cate_top_banner.is-salesforce .cate_top_banner__inner {
    display: block;
  }
  .cate_top_banner.is-salesforce .cate_top_banner__item {
    width: auto;
  }
  .cate_top_banner.is-salesforce .cate_top_banner__item:first-child img {
    width: 100%;
  }
  .cate_top_banner.is-salesforce .cate_top_banner__item + .cate_top_banner__item {
    margin-left: 0;
    margin-top: 30px;
  }
}

/* ----------------------------------------------------------------
Main
-------------------------------------------------------------------*/
.main {
  position: relative;
  width: 100%;
  height: 100%;
  height: calc(100vh - 54px);
  margin-top: 54px;
  text-align: center;
  color: #fff;
  overflow:hidden;
}
@media (max-width: 601px) {
  .main {
    height: calc(100vh - 44px);
    margin-top: 44px;
  }
}

/* component
----------------------------------------------*/
.c-list-disc {
  list-style-type: disc;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  padding-inline-start: 40px;
}
.c-link-text {
  text-decoration: underline;
  color: #597fc8;
}

/* visual
----------------------------------------------*/
.main__visual {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.main__img_list {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  list-style: none;
}
.main__img {
  width: 100%;
  height: 100%;
  height: calc(100vh - 54px);
  float: left;
  position: relative;
}
.main__img img {
  height: auto;
  max-height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  width: 100%;
  min-height: 100vh;
}
@media (max-width: 601px) {
  .main__img {
    height: calc(100vh - 44px);
  }
}

/* inner
----------------------------------------------*/
.main__inner {
  display: table;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
}

.main__caption {
  display: table-cell;
  vertical-align: middle;
  text-align: left;
  width: 100%;
  height: 100%;
  height: calc(100vh - 54px);
  padding: 0 60px;
}
@media (max-width: 601px) {
  .main__caption {
    height: calc(100vh - 44px);
    padding: 0 20px;
  }
}

/* title
----------------------------------------------*/
.main__title {
  margin-bottom: 10px;
  word-wrap: break-word;
  text-shadow: 0 0 10px rgba(0,0,0,0.16);
  font-family: 'Catamaran', sans-serif;
  font-weight: 400;
  font-size: 80px;
  font-weight: normal;
  line-height: 1;
}
.main__title.bkttl {
    color: #000;
}
.main__title.mt100 {
  margin-top: 100px;
}
.main__title.mt240 {
  margin-top: 240px;
}
.main__title.u-mb40 {
  margin-bottom: 40px;
}

.jpn_title{
  font-size: 50px;
}

@media (max-width: 1101px) and (max-height: 751px)  {
  .main__title {
    font-size: 54px;
  }
  .main__title.mt240 {
    margin-top: 0px;
  }
}

@media (max-height: 601px) {
/*  .main__title {
    font-size: 54px;
  } */
  .main__title.mt100 {
    margin-top: 0px;
  }
  .main__title.mt240 {
    margin-top: 0px;
  }
/*  .main__title.u-mb40 {
    margin-bottom: 20px;
  } */
}

@media (max-width: 601px) , (max-height: 451px) {
  .main__title {
    font-size: 38px;
  }
  .jpn_title{
    font-size: 28px;
  }
  .main__title.mt100 {
    margin-top: 0px;
  }
  .main__title.mt240 {
    margin-top: 0px;
  }
  .main__title.u-mb40 {
    margin-bottom: 20px;
  }
}

/*
@media (max-height: 501px) {
  .main__title {
    font-size: 38px;
  }
  .main__title.mt240 {
    margin-top: 0px;
  }
}
*/

/* subtitle
----------------------------------------------*/
.main__subtitle {
  font-family: 'Catamaran', sans-serif;
  font-weight: 400;
  font-size: 60px;
  line-height: 1;
  margin: 0 0 40px;
  text-shadow: 0 0 10px rgba(0,0,0,0.16);
}

@media (max-width: 1101px) {
  .main__subtitle {
    font-size: 48px;
  }
}

@media (max-width: 601px) , (max-height: 451px) {
  .main__subtitle {
    letter-spacing: 2px;
    font-size: 18px;
    margin-bottom: 20px;
  }
}

.main__subtitle2 {
  font-family: 'Catamaran', sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1;
  margin: 0 0 20px;
  text-shadow: 0 0 10px rgba(0,0,0,0.16);
}
.main__subtitle2 span {
  font-size: 32px;
}

@media (max-width: 1101px) {
  .main__subtitle2 {
    font-size: 32px;
  }
  .main__subtitle2 span {
    font-size: 26px;
  }
/*  .main__subtitle2.u-mb40 {
    margin-bottom: 20px;
  } */
}

@media (max-width: 601px) , (max-height: 451px) {
  .main__subtitle2 {
    letter-spacing: 2px;
    font-size: 18px;
    margin-bottom: 20px;
  }
  .main__subtitle2 span {
    font-size: 16px;
  }
  .main__subtitle2.u-mb40 {
    margin-bottom: 20px;
  }
}

/* txt
----------------------------------------------*/
.main__txt {
  font-size: 18px;
  font-weight: normal;
  line-height: 2;
  margin: 0 0 40px;
  text-shadow: 0 0 10px rgba(0,0,0,0.16);
}
.main__txt.bkttl {
    color: #000;
}
@media (max-width: 601px) , (max-height: 451px) {
  .main__txt {
    font-size: 11px;
    margin-bottom: 20px;
  }
}

/* link
----------------------------------------------*/
.main__link {
  text-shadow: 0 0 10px rgba(0,0,0,0.16);
  margin: 0;
}

.main__link__button {
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
  font-family: 'Catamaran', sans-serif;
  font-weight: 400;
  font-size: 18px;
  position: relative;
  padding-left: 40px;
}
.main__link__button.bkttl {
  color: #000;
}
.main__link__button.bkttl:hover {
  color: #597fc8;
}
.main__link__button:before {
  content: "";
  width: 26px;
  height: 26px;
  background-image: url(../image/icn_arrow_link.png);
  background-size: cover;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.main__link__button.bkttl:before {
  background-image: url(../image/icn_arrow_link_b.png);
}

@media (max-height: 767px) {
  .main__link {
  }
}

@media (max-width: 601px) {
  .main__link__button {
    font-size: 14px;
    padding-left: 24px;
  }
  .main__link__button:before {
    width: 18px;
    height: 18px;
  }
}

.thum__img_cont {
  position: absolute;
  bottom: 20px;
  left: 0;
  z-index: 100;
  right: 0;
  width: 100%;
  text-align: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.thum__img_cont .indicator {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(0,0,0,0.25);
  margin: 0 8px;
}
.thum__img_cont .indicator.active {
  background-color: rgba(255,255,255,1);
}

/* ----------------------------------------------------------------
capability
-------------------------------------------------------------------*/
.capability {
    padding: 100px 0 70px;
    text-align: center;
    background-color: #f5f5f5;
}
.capability p {
    font-size: 1.7rem;
}
.capability__btn {
  text-align: center;
  margin-top: 2em;
}
.capability__btn_link {
  background-color: #597ec2;
  border: solid 1px #597ec2;
  width: 240px;
  height: 60px;
  line-height: 60px;
  color: #ffffff;
  display: inline-block;
  text-decoration: none;
  font-family: 'Catamaran', sans-serif;
  font-weight: 700;
  font-size: 18px;
  transition: all linear 0.1s;
  letter-spacing: 1px;
}
.capability__btn_link:hover {
  background-color: #ffffff;
  color: #597ec2;
}

@media (max-width: 601px) {
  .capability__btn_link {
    width: 200px;
    height: 45px;
    line-height: 45px;
    font-size: 12px;
  }
}

/* title
----------------------------------------------*/
.capability__title {
  margin-bottom: 45px;
  word-wrap: break-word;
  color: #000000;
  font-family: 'Catamaran', sans-serif;
  font-weight: 500;
  font-size: 32px;
  font-weight: normal;
  line-height: 1;
}

@media (max-width: 601px) {
  .capability__title {
    margin-bottom: 24px;
    font-size: 24px;
  }
}

/* ----------------------------------------------------------------
information
-------------------------------------------------------------------*/
.information {
  padding: 100px 0 100px;
  text-align: center;
  background-color: #ffffff;
}

.information__banner {
  padding: 50px 0 100px;
  text-align: center;
  background-color: #ffffff;
}

.information__figure{
  margin: 0 30px 50px;
}


@media (max-width: 601px) {
  .information{
    padding: 45px 20px;
  }

  .information__banner{
    padding: 30px 20px;
  }

  .information__figure{
    margin: 0 0 30px;
  }

}

/* title
----------------------------------------------*/
.information__title {
  margin-bottom: 45px;
  word-wrap: break-word;
  color: #000000;
  font-family: 'Catamaran', sans-serif;
  font-weight: 500;
  font-size: 32px;
  font-weight: normal;
  line-height: 1;
}

@media (max-width: 601px) {
  .information__title {
    margin-bottom: 24px;
    font-size: 24px;
  }
}

/* list
----------------------------------------------*/
.information__table {
  max-width: 1024px;
  margin: 0 auto 0px;
  padding: 0;
  text-align: center;
  width: 100%;
}
.information__table tbody tr {
  cursor: pointer;
  transition: 0.3s;
}
.information__table tbody a {
  color: #000000;
  transition: 0.3s;
  text-decoration: none;
  padding: 24px 120px 24px 24px;
  display: block;
  position: relative;
}
.information__table tbody a:before,
.information__table tbody a:after {
  position: absolute;
  display: inline-block;
  content: "";
  background-color: #e0e0e0;
  width: 18px;
  height: 2px;
  top: 50%;
  right: 20px;
  transition: all linear 0.1s;
}
.information__table tbody a:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: 3px;
}
.information__table tbody a:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -9px;
}
.information__table tbody a:hover {
  text-decoration: underline;
}
.information__table tbody a:hover:before,
.information__table tbody a:hover:after {
  background-color: #597fc2;
}
.information__table .information__list_dt {
  border-bottom: rgba(0,0,0,0.05) solid 1px;
  padding: 24px 45px;
  font-size: 14px;
  width: 15%;
  vertical-align: top;
}
.information__table .information__list_dd {
  text-align: left;
  border-bottom: rgba(0,0,0,0.05) solid 1px;
  font-size: 14px;
  vertical-align: top;
}
@media (max-width: 601px) {
  .information__table {
    margin: 0 auto 20px;
    padding: 0;
    text-align: center;
    display: block;
  }
  .information__table,
  .information__table tbody,
  .information__table tbody tr,
  .information__table tbody tr th,
  .information__table tbody tr td {
    display: block;
    width: 100%;
  }
  .information__table tbody {
      border-top: 1px solid #dcdcdc;
  }
  .information__table tbody tr {
      padding: 20px 0;
      position: relative;
      border-bottom: 1px solid #dcdcdc;
  }
  .information__table tbody tr td.information__list_dt {
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 14px;
    width: 100%;
    text-align: left;
    padding: 0;
    border: none;
  }
  .information__table tbody tr td.information__list_dd {
    width: 100%;
    padding: 0;
    border: none;
    font-size: 12px;
  }
  .information__table tbody a {
    color: #000000;
    text-decoration: none;
    padding: 0 50px 0 0;
    display: block;
  }
  .information__table tbody a:before,
  .information__table tbody a:after {
    position: absolute;
    display: inline-block;
    content: "";
    background-color: #e0e0e0;
    width: 25px;
    height: 3px;
    top: 50%;
    right: 0px;
    transition: all linear 0.1s;
  }
  .information__table tbody a:after {
    margin-top: 3px;
  }
  .information__table tbody a:before {
    margin-top: -14px;
  }
}

.information .btn_area {
  margin-top: 60px;
}

.information__banner .btn_area {
  margin-top: 60px;
}

@media (max-width: 601px) {
  .information .btn_area {
    margin-top: 30px;
  }
  .information__banner .btn_area {
    margin-top: 30px;
  }

}

/* ----------------------------------------------------------------
About
-------------------------------------------------------------------*/
.about {
  padding: 100px 0;
  text-align: center;
  color: #000000;
  background-color: #f5f5f5;
}

@media (max-width: 801px) {
  .about {
    padding: 100px 20px;
  }
}

@media (max-width: 601px) {
  .about {
    padding: 50px 20px;
  }
}
/* title
----------------------------------------------*/
.about__title {
  word-wrap: break-word;
  font-family: 'Catamaran', sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 45px;
}

@media (max-width: 601px) {
  .about__title {
    font-size: 24px;
    margin-bottom: 25px;
  }
}

/* main area
----------------------------------------------*/
.about__main {
  width: 100%;
  margin: 0 auto;
}
.about__caption {
  text-align: center;
  margin-bottom: 45px;
}
@media (max-width: 601px) {
  .about__caption {
    margin-bottom: 30px;
  }
}

/* subtitle
----------------------------------------------*/
.about__subtitle {
  letter-spacing: 1px;
  font-size: 18px;
  font-weight: normal;
  line-height: 2;
}
@media (max-width: 601px) {
  .about__subtitle {
    line-height: 2;
    letter-spacing: 1px;
    font-size: 12px;
  }
}

.about__figure {
  max-width: 760px;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}

.about__btn {
  text-align: center;
}
.about__btn_link {
  background-color: #597ec2;
  border: solid 1px #597ec2;
  width: 240px;
  height: 60px;
  line-height: 60px;
  color: #ffffff;
  display: inline-block;
  text-decoration: none;
  font-family: 'Catamaran', sans-serif;
  font-weight: 700;
  font-size: 18px;
  transition: all linear 0.1s;
}
.about__btn_link:hover {
  background-color: #ffffff;
  color: #597ec2;
}
@media (max-width: 601px) {
  .about__btn_link {
    width: 180px;
    height: 40px;
    line-height: 40px;
    font-size: 13px;
  }
}


/* ----------------------------------------------------------------
contents
-------------------------------------------------------------------*/
.contents {
  padding: 0;
  text-align: center;
}

@media (max-width: 601px) {
.contents {
  padding: 0;
}
}

/* list
----------------------------------------------*/
.contents__list {
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

.contents__list,
.contents__list > li {
  list-style-type: none;
}

.contents__list > li {
  display: table;
  table-layout: fixed;
  background-color: #fff;
  width: 100%;
}
.contents__list > li.contents_dc {
  background-image: url(../image/contents__list--dc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: left;
}
.contents__list > li.contents_dm {
  background-image: url(../image/contents__list--dm.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: right;
}
.contents__list > li.contents_iot {
  background-image: url(../image/contents__list--iot.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: left;
}
.contents__list > li.contents_pay {
  background-image: url(../image/contents__list--pay.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: right;
}
.contents__list > li.contents_ao {
  background-image: url(../image/contents__list--ao.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: left;
}
.contents__list > li.contents_sf {
  background-image: url(../image/contents__list--sf.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: left;
}
.contents__list > li.contents_sap {
  background-image: url(../image/contents__list--sap.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: right;
}
.contents__list > li.contents_ws {
  background-image: url(../image/contents__list--ws.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: right;
}
.contents__list > li.contents_consulting {
  background-image: url(../image/contents__list--dtbt.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  text-align: right;
}
.contents__list_inner {
  display: table-cell;
  width: 100%;
  height: 500px;
  vertical-align: middle;
}
.contents__list_wrap {
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
  text-align: left;
}
.contents__list > li.contents_r .contents__list_txt {
  float: right;
}
.contents__list > li.contents_l .contents__list_txt {
  float: left;
}

@media (max-width: 601px) {
  .contents__list > li.contents_dc {
    background-image: url(../image/contents__list_s--dc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
  }
  .contents__list > li.contents_dm {
    background-image: url(../image/contents__list_s--dm.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
  }
  .contents__list > li.contents_iot {
    background-image: url(../image/contents__list_s--iot.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
  }
  .contents__list > li.contents_pay {
    background-image: url(../image/contents__list_s--pay.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
  }
  .contents__list > li.contents_ao {
    background-image: url(../image/contents__list_s--ao.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
  }

  .contents__list > li.contents_sf {
    background-image: url(../image/contents__list_s--sf.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
  }

  .contents__list > li.contents_sap {
    background-image: url(../image/contents__list_s--sap.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    text-align: left;
  }
  .contents__list > li.contents_r .contents__list_txt {
    float: none;
  }
  .contents__list > li.contents_l .contents__list_txt {
    float: none;
  }
}

.contents__list__title {
  font-family: 'Catamaran', sans-serif;
  font-size: 60px;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 2px;
  margin-bottom: 20px;
}
.contents__list__text {
  font-size: 16px;
  color: #ffffff;
  line-height: 2;
  margin-bottom: 30px;
}
@media (max-width: 601px) {
  .contents__list > li {
  }

  .contents__list > li:before,
  .contents__list > li:after {
    display: table;
    content: " ";
  }

  .contents__list > li:after {
    clear: both;
  }

  .contents__list_inner {
    display: table-cell;
    width: 100%;
    height: 335px;
    vertical-align: middle;
  }
  .contents__list__title {
    font-size: 38px;
    line-height: 1;
  }
  .contents__list__text {
    font-size: 11px;
    margin-bottom: 20px;
  }

}

/* link
----------------------------------------------*/
.contents__list_link {
  text-shadow: 0 0 10px rgba(0,0,0,0.16);
  margin: 0;
}

@media (max-height: 767px) {
  .contents__list_link {
  }
}

@media (max-width: 601px) {
  .contents__list_link {
  }
}

.contents__list_link_button {
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
  font-family: 'Catamaran', sans-serif;
  font-weight: 400;
  font-size: 18px;
  position: relative;
  padding-left: 40px;
}
.contents__list_link_button:before {
  content: "";
  width: 26px;
  height: 26px;
  background-image: url(../image/icn_arrow_link.png);
  background-size: cover;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
@media (max-width: 601px) {
  .contents__list_link_button {
    font-size: 14px;
    padding-left: 24px;
  }
  .contents__list_link_button:before {
    width: 18px;
    height: 18px;
  }
}
/* ----------------------------------------------------------------
LINKS
-------------------------------------------------------------------*/
.links {
  padding: 100px 0 70px;
  text-align: center;
  background-color: #ffffff;
}

@media (max-width: 601px) {
  .links {
    padding: 45px 0 30px;
  }
}
/* title
----------------------------------------------*/
.links__title {
  margin-bottom: 50px;
  word-wrap: break-word;
  color: #000000;
  font-family: 'Catamaran', sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
}

@media (max-width: 601px) {
  .links__title {
    margin-bottom: 25px;
    font-size: 24px;
  }
}

.links__caption {
  display: none;
}
@media (max-width: 601px) {
  .links__caption {
    display: block;
    margin-bottom: 25px;
    font-size: 12px;
  }
}

/* list
----------------------------------------------*/
.links__list {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  font-size: 0;
}

.links__list:before,
.links__list:after {
  display: table;
  content: ' ';
}

.links__list:after {
  clear: both;
}

@media (max-width: 601px) {
  .links__list {
    display: block;
    margin-bottom: 0;
    padding: 0 20px;
  }
}

.links__list a {
  text-decoration: none;
  color: #000;
}

.links__list img {
  width: 100% !important;
  vertical-align: middle;
}

.links__list,
.links__list > li {
  list-style-type: none;
}

.links__list > li {
  position: relative;
  font-size: 18px;
  display: inline-block;
  margin: 0 24px;
  width: 488px;
}
@media (max-width: 801px) {
  .links__list > li {
    float: none;
    width: 100%;
    margin: 0 0 20px;
    padding: 0 20px;
  }
}
@media (max-width: 601px) {
  .links__list > li {
    display: block;
    float: none;
    width: auto !important;
    padding-right: 0px;
    padding-left: 0px;
    border-left: none;
    margin: 0 0 20px;
    overflow: hidden;
  }
}
/* link */
.links__list__link {
  position: relative;
  display: block;
  background: #000;
}

.links__list__figure {
  margin-bottom: 20px;
  position: relative;
}

.links__list__link .is-no-touch:hover img {
  opacity: .7;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)';
}

@media (max-width: 601px) {
  .links__list__figure {
    height: 225px;
    margin-bottom: 0;
  }
  .links__list__figure img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    width: 100%;
    height: auto;
    min-height: 225px;
  }
}

/* title */
.links__list__title {
  font-family: 'Catamaran', sans-serif;
  font-size: 30px;
  font-weight: 400;
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  line-height: 1.2;
  color: #000000;
  text-align: left;
}

.links__list__text {
  font-size: 14px;
  width: 100%;
  padding: 0;
  text-align: left;
  color: #000000;
}
.links__list_txt_sp {
  display: none;
}

@media (max-width: 601px) {
  .links__list_txt {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 10;
    display: table;
    width: 100%;
  }
  .links__list_txt_inner {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    height: 225px;
  }
  .links__list_txt_pc {
    display: none;
  }
  .links__list_txt_sp {
    display: block;
  }
  .links__list__title {
    font-size: 24px;
    margin: 0 0 10px;
    color: #ffffff;
    text-align: center;
  }
  .links__list__text {
    font-size: 12px;
    color: #ffffff;
    margin-bottom: 20px;
    text-align: center;
  }
}

/* play */
.links__list_play {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 14px;
  transition: all linear .1s;
  text-align: center;
  opacity: 0;
  background-color: #597fc8;
  background-color: rgba(89,127,200,.5);
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';
}

.links__list_link:hover .links__list_play {
  opacity: 1;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';
}

.links__list_play_inner {
  display: block;
  width: 100%;
  height: 100%;
}

.links__list_play_label {
  font-family: 'Catamaran', sans-serif;
  font-size: 14px;
  font-weight: 500;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  width: 170px;
  height: 46px;
  line-height: 46px;
  display: block;
  margin-top: -23px;
  margin-left: -85px;
  letter-spacing: 1px;
  word-wrap: break-word;
  color: #5d83c5;
  background-color: #ffffff;
  padding-right: 20px;
}

.links__list_play_label::before,
.links__list_play_label::after {
  position: absolute;
  display: inline-block;
  content: '';
  background-color: #5d83c5;
}

.links__list_play_label::after {
  top: 50%;
  right: 25px;
  width: 0;
  width: 15px;
  height: 0;
  height: 1px;
  margin-top: 3px;
}
.links__list_play_label::before {
  top: 50%;
  right: 25px;
  width: 0;
  width: 6px;
  height: 0;
  height: 1px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media (max-width: 601px) {
  .links__list_play {
    display: block;
    width: 100%;
    height: auto;
    padding: 0px;
    opacity: 1;
    position: static;
    background: none;
  }
  .links__list_play_inner {
    display: block;
    width: 100%;
    height: auto;
    text-align: center;
  }

  .links__list_play_label {
    font-size: 12px;
    font-weight: 500;
    position: static;
    width: 180px;
    height: 40px;
    line-height: 40px;
    display: inline-block;
    margin-top: 0;
    margin-left: 0px;
    letter-spacing: 1px;
    color: #ffffff;
    background: none;
    border: solid 1px #ffffff;
    padding-right: 0px;
  }

  .links__list_play_label::before,
  .links__list_play_label::after {
    display: none;
  }

}

/* ----------------------------------------------------------------
COUNTACT
-------------------------------------------------------------------*/
.contact {
  padding: 100px 0;
  text-align: center;
  color: #000000;
  background-color: #f5f5f5;
}

@media (max-width: 801px) {
  .contact {
    padding: 100px 20px;
  }
}

@media (max-width: 601px) {
  .contact {
    padding: 45px 20px;
  }
}

/* ----------------------------------------------------------------
DIGITAL BANNER
-------------------------------------------------------------------*/

  .digital_bnr{
    padding: 100px 0;
    background:#fff;
  }

  .digital_title{
    word-wrap: break-word;
    font-family: 'Catamaran', sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 45px;
    text-align: center;
  }

  .digital_bnr_wrap{
    position: relative;
    width: 620px;
    margin:0 auto;
  }

  .digital_bnr a {
    text-decoration: none;
    color: #000;
  }

  .digital__list__link {
    position: relative;
    display: block;
    background: none;
}

.digital_bnr img {
    vertical-align: middle;
    width: 100%;
}

.digital_bnr__list__title {
    font-family: 'Catamaran', sans-serif;
    font-weight: 400;
    font-size: 24px;
    letter-spacing: 1px;
    width: 100%;
    text-align: left;
    color: #000;
    line-height: 1.4;
    margin-bottom: 20px;
}

.digital_bnr__list__title_area {
    position: absolute;
    top: 45px;
    left: 70px;
    right: 0;
    width: 100%;
    padding: 20px;
}

.contents__list_link_button.bkttl {
    color: #000;
}

.contents__list_link_button.bkttl:before {
  background-image: url(../image/icn_arrow_link_b.png);
}

@media (max-width: 601px) {
  .digital_bnr {
      padding: 45px 0;
  }
  .digital_title {
      font-size: 24px;
      margin-bottom: 24px;
  }
  .digital_bnr_wrap {
    width: 100% !important;
  }
  .digital_bnr__list__title_area{
    top:30px;
    left: 0;
  }
  .digital_bnr__list__title{
    font-size: 22px;
  }
}


/* title
----------------------------------------------*/
.contact__title {
  word-wrap: break-word;
  font-family: 'Catamaran', sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 45px;
}

@media (max-width: 601px) {
  .contact__title {
    font-size: 24px;
    margin-bottom: 24px;
  }
}

/* main area
----------------------------------------------*/
.contact__main {
  width: 100%;
  margin: 0 auto;
}
.contact__caption {
  text-align: center;
  margin-bottom: 45px;
}
@media (max-width: 1100px) {
.contact__caption {
  display: block;
  vertical-align: middle;
  width: 100%;
  margin-bottom: 30px;
}
}

/* subtitle
----------------------------------------------*/
.contact__subtitle {
  letter-spacing: 1px;
  font-size: 18px;
  font-weight: normal;
  line-height: 2;
}

@media (max-width: 1100px) {
  .contact__subtitle {
    line-height: 2;
    letter-spacing: 0;
  }

  .contact__subtitle br {
    display: none;
  }
}

@media (max-width: 801px) {
  .contact__subtitle {
    text-align: left;
  }

  .contact__subtitle br {
    display: none;
  }
}

@media (max-width: 601px) {
  .contact__subtitle {
    line-height: 2;
    letter-spacing: 1px;
    font-size: 12px;
    text-align: center;
  }
}

.contact__btn {
  text-align: center;
}
.contact__btn_link {
  background-color: #597ec2;
  border: solid 1px #597ec2;
  width: 240px;
  height: 60px;
  line-height: 60px;
  color: #ffffff;
  display: inline-block;
  text-decoration: none;
  font-family: 'Catamaran', sans-serif;
  font-weight: 700;
  font-size: 18px;
  transition: all linear 0.1s;
  letter-spacing: 1px;
}
.contact__btn_link:hover {
  background-color: #ffffff;
  color: #597ec2;
}

@media (max-width: 601px) {
  .contact__btn_link {
    width: 200px;
    height: 45px;
    line-height: 45px;
    font-size: 12px;
  }
}

/* ----------------------------------------------------------------
OFFERING
-------------------------------------------------------------------*/
.offering {
  padding: 100px 0 100px;
  text-align: center;
  background-color: #f5f5f5;
}

@media (max-width: 601px) {
  .offering {
    padding: 0 0 0;
  }
}
/* title
----------------------------------------------*/
.offering__title {
  margin-bottom: 50px;
  word-wrap: break-word;
  color: #000000;
  font-family: 'Catamaran', sans-serif;
  font-weight: 500;
  font-size: 32px;
  font-weight: normal;
  line-height: 1;
}

@media (max-width: 601px) {
  .offering__title {
    display: none;
  }
}

/* list
----------------------------------------------*/
.offering__list {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

.offering__list:before,
.offering__list:after {
  display: table;
  content: ' ';
}

.offering__list:after {
  clear: both;
}

.offering__list--fix {
  max-width: 1024px;
}

@media (max-width: 601px) {
  .offering__list {
    display: block;
    margin-bottom: 0;
  }
}

.offering__list a {
  text-decoration: none;
  color: #000;
}

.offering__list img {
  width: 100% !important;
  vertical-align: middle;
}

.offering__list,
.offering__list > li {
  list-style-type: none;
}

.offering__list > li {
  position: relative;
  float: left;
  width: 50%;
  border: 2px solid #fff;
}
@media (max-width: 801px) {
  .offering__list > li {
    float: none;
    width: 100%;
  }
}
@media (max-width: 601px) {
  .offering__list > li {
    height: 340px;
    display: block;
    float: none;
    width: auto !important;
    margin-bottom: 0;
    padding-right: 0;
    padding-left: 0;
    border: none;
  }
}
/* link */
.offering__list__link {
  position: relative;
  display: block;
  background: #000;
}

.offering__list__link .is-no-touch:hover img {
  opacity: .7;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)';
}

.offering__list__title_area {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 20px;
}

@media (max-width: 601px) {
  .offering__list__figure img {
    height: auto;
    max-height: 340px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    width: 100%;
    min-height: 340px;
  }

  .offering__list__title_area {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 20px;
  }
}

/* title */
.offering__list__title {
  font-family: 'Catamaran', sans-serif;
  font-weight: 400;
  font-size: 36px;
  letter-spacing: 1px;
  width: 100%;
  text-align: left;
  color: #fff;
  line-height: 1;
  margin-bottom: 10px;
}
@media (max-width: 601px) {
  .offering__list__title {
    font-size: 36px;
    letter-spacing: 1px;
    width: 100%;
    text-align: left;
    color: #fff;
    line-height: 1;
    margin-bottom: 15px;
  }
}

.offering__list__text {
  font-size: 13px;
  width: 100%;
  line-height: 2;
  text-align: left;
  color: #fff;
  margin: 0;
  min-height: 80px;
}

@media (max-width: 601px) {
  .offering__list__text {
    font-size: 11px;
    letter-spacing: 1px;
    width: 100%;
    text-align: left;
    color: #fff;
  }
}

a:hover .offering__list__text {
  text-decoration: underline;
}

/* ----------------------------------------------------------------
Component
-------------------------------------------------------------------*/
/* Required
----------------------------------------------*/
.pagetop {
  position: fixed;
  z-index: 88;
  right: 30px;
  bottom: 30px;
  margin: 10px;
  transition: all linear 0.2s;
  text-align: right;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

.pagetop.is-show {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

@media (max-width: 601px) {
  .pagetop {
    right: 0;
    bottom: 0;
  }
}

/* button
----------------------------------------------*/
.pagetop__button {
  position: relative;
  display: inline-block;
  width: 56px;
  height: 56px;
  transition: all linear 0.1s;
  border-radius: 56px;
  background-color: #000;
  background-color: rgba(0,0,0,0.8);
}

.pagetop:hover .pagetop__button {
  background-color: #000;
}

.pagetop__button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-top: -4px;
  margin-left: -8px;
  content: "";
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

.pagetop__button span {
  display: none;
}

/* ----------------------------------------------------------------
Modal
-------------------------------------------------------------------*/
.modal {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow: auto;
  width: 100%;
  height: 100%;
  color: #000;
  background-color: #fff;
  background-color: rgba(255,255,255,0.94);
}

.modal__body {
  background: none;
  overflow:hidden;
  min-width: 100%;
}
.modal__wrap {
  width: 100%;
}

.modal__wrap .small {
  font-size: 60%;
  vertical-align: middle;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, 游ゴシック, YuGothic, "Meiryo UI", "ＭＳ Ｐゴシック", sans-serif;
}

.modal a {
  text-decoration: none;
}
/* wrapper
----------------------------------------------*/
.modal__wrapper {
  display: table;
  max-width: 1039px;
  height: 100%;
  margin: 0 auto;
  width: 100%;
}
/* inner
----------------------------------------------*/
.modal__inner {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}
/* contents
----------------------------------------------*/
.modal__contents {
  display: none;
  width: 100%;
  padding: 0 9%;
  max-height: calc(100vh - 170px);
  overflow: auto;
}
.modal__contents::-webkit-scrollbar-track {
  background-color: #efefef;
}

.modal__contents::-webkit-scrollbar-thumb {
  background-color: #597fc8;
}

.modal__contents::-webkit-scrollbar {
  width: 10px;
  background-color: #efefef;
}
.modal__contents iframe {
  border: none;
  width: 100%;
  height: 100%;
/*
  height: auto;
*/
  overflow:hidden;
  overflow-x:hidden;
  overflow-y:hidden;
/*
  position:relative;
  top:0px;
  left:0px;
  right:0px;
  bottom:0px;
*/
}

.modal__contents iframe::-webkit-scrollbar-track {
  background-color: #efefef;
}

.modal__contents iframe::-webkit-scrollbar-thumb {
  background-color: #597fc8;
}

.modal__contents iframe::-webkit-scrollbar {
  width: 10px;
  background-color: #efefef;
}

 
/* title
----------------------------------------------*/
.modal__title {
  padding-top: 20px;
  padding-bottom: 32px;
  text-align: center;
  letter-spacing: 2px;
  word-wrap: break-word;
  color: #597fc8;
  border-bottom: 1px solid #bdcce9;
  font-family: 'Catamaran', "Fjalla One", sans-serif;
  font-size: 30px;
}
/* item
----------------------------------------------*/
.modal__item {
  margin: 0 auto;
  padding: 0 10% 40px;
  letter-spacing: 2px;
  line-height: 2;
}
.modal__item_dc {
  margin: 0 auto;
  padding: 0 0 40px;
  letter-spacing: 2px;
  line-height: 2;
}
.modal_policy_main__inner{
  height:220px;
  overflow:auto;
  border:1px solid #bbbbbb;
  padding:10px;
}
.modal_comfirm_policy{
  text-align:center;
  padding-top:30px;
}
.modal_comfirm_policy input{
  margin-bottom:30px;
}
.privacy_policy_description{
  padding:30px 0 25px;
  margin:0;
}
.privacy_policy_ttl{
  text-align:center;
  padding-bottom:3px;
  margin-bottom:15px;
  border-bottom:2px solid #eeeeee;
}
.submit-button span, .submit-button a{
  color:#ffffff;
  font-size:20px;
  padding:10px 50px;
  border-width:0;
  border-radius:5px;
  text-decoration:none;
}
.submit-button .non-active{
  background-color:#cccccc;
}
.submit-button .active{
  background-color:#597fc8;;
}


@media (max-width: 601px) {
  .modal__item {
    padding: 0 0;
  }
}
/* name */
.modal__item__name {
  margin-top: 40px;
  margin-bottom: 35px;
  padding-top: 60px;
  text-align: center;
  word-wrap: break-word;
  color: #597fc8;
  border-top: 1px solid #bdcce9;
  font-family: 'Catamaran',"Fjalla One", sans-serif;
  font-size: 24px;
  line-height: 1.1;
}

.modal__item__name:first-child {
  margin-top: 0;
  border-top: 0;
}
/* list */
.modal__item__list {
  margin-top: 35px;
  margin-bottom: 1em;
  padding-left: 0;
  letter-spacing:1px;
}

.modal__item__list a {
  padding: 5px 14px;
  text-decoration: none;
  word-wrap: break-word;
  word-wrap: break-word;
  word-break: break-all;
  border: solid 1px #597fc8;
  font-family: 'Catamaran',"Fjalla One", sans-serif;
  font-size: 12px;
}

.modal__item__list a:hover {
  text-decoration: none;
  color: #fff;
  background: #597fc8;
}

.modal__item__list > li {
  margin-bottom: 1em;
  list-style: none;
}

@media (max-width: 401px) {
.modal__item__list > li {
  margin-bottom: 1em;
  list-style: none;
  font-size:11px;
}
}

.modal__item__list > li:last-child {
  margin-bottom: 0;
}
/* technology */
.modal__item__technology {
  margin: 0 auto;
  text-align: center;
}

.modal__item__technology,
.modal__item__technology li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.modal__item__technology > li {
  display: inline-block;
  width: 25%;
  margin-right: -5px;
  padding: 35px 10px;
  text-align: center;
  vertical-align: top;
}

.modal__item__technology__name {
  word-wrap: break-word;
  font-family: 'Catamaran', "Fjalla One", sans-serif;
}

.modal__item__technology__figure {
  display: inline-block;
  width: 59px;
  height: 59px;
}

.modal__item__technology__figure img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

.modal-img-column-area .modal__item__figure {
  float: left;
  width: 50%;
}

@media (max-width: 601px) {
  .modal-img-column-area .modal__item__figure {
    float: none;
    width: 100%;
  }
}

.modal-img-column-area ul {
  float: right;
  width: 50%;
}

@media (max-width: 601px) {
  .modal-img-column-area ul {
    float: none;
    width: 100%;
  }
}

.modal-img-column-area ul li {
  position: relative;
  z-index: 0;
  margin-bottom: 20px;
  list-style: none;
}

.modal-img-column-area ul li::before {
  position: absolute;
  z-index: 10;
  top: 10px;
  left: -20px;
  display: inline-block;
  width: 10px;
  height: 1px;
  content: '';
  vertical-align: middle;
  background-color: #597fc9;
}

.modal--table {
  width: 100%;
  max-width: 660px;
  margin: 0 auto 20px;
}

@media (max-width: 601px) {
  .modal--table {
    display: block;
  }
}

.modal--table th {
  font-size: 15px;
  width: 36%;
  padding: 10px 20px;
  text-align: center;
  color: #597fc9;
  border: #eee solid 1px;
  background-color: #eee;
}

@media (max-width: 601px) {
  .modal--table th {
    display: block;
    width: 100%;
  }
}

.modal--table td {
  padding: 15px;
  text-align: left;
  border: #eee solid 1px;
  background-color: #fff;
}

@media (max-width: 601px) {
  .modal--table td {
    display: block;
    width: 100%;
  }
}

.modal--table td p {
  font-size: 13px;
  position: relative;
  z-index: 0;
  margin-left: 20px;
}

.modal--table td p::before {
  position: absolute;
  z-index: 10;
  top: 10px;
  left: -20px;
  display: inline-block;
  width: 10px;
  height: 1px;
  content: '';
  vertical-align: middle;
  background-color: #597fc9;
}
/* close
----------------------------------------------*/
.modal__close {
  margin: 0 9%;
  margin-top: 10px;
  padding-top: 30px;
  text-align: center;
  border-top: 1px solid #bdcce9;
}

.modal__close__button {
  position: relative;
  display: inline-block;
  width: 56px;
  height: 56px;
  margin: 0 auto;
  cursor: pointer;
  border-radius: 56px;
  background-color: #000;
}

.modal__close__button::before,
.modal__close__button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 31px;
  height: 1px;
  margin-left: -15px;
  content: "";
  background-color: #fff;
}

.modal__close__button::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.modal__close__button::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.arrow-link {
  display: inline-block;
  width: 8px;
  height: 16px;
  margin-right: 10px;
  vertical-align: middle;
  background: url("../image/button__technology__arrow.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.modal__item__list_inl {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  text-align: left;
  list-style: none;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0;
}
.modal__item__list_inl li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 20px;
}
.modal__item__list_inl li:before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}

@media (max-width: 601px) {
.modal__item__list_inl li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 20px;
}
}

.modal__item__attention {
  margin-top: 10px;
  margin-bottom: 1em;
  padding-left: 20px;
  letter-spacing: 1px;
}

.modal__item__attention > li {
  margin-bottom: 1em;
  list-style: none;
  font-size:12px;
  line-height:1.8;
}

.modal__item__attention > li:before{
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, Meiryo, 游ゴシック, YuGothic, "Meiryo UI", "ＭＳ Ｐゴシック", sans-serif;
  margin-right: 5px;
}
.modal__item__attention > li.marker01:before{
  content: '*1';
  margin-left:-14px; 
}

.modal__item__attention > li.marker02:before{
  content: '*2';
  margin-left:-14px; 
}

.modal__item__attention > li.marker03:before{
  content: '*3';
  margin-left:-14px; 
}

.modal__item__attention > li.marker04:before{
  content: '*4';
  margin-left:-14px; 
}

.modal__item__attention > li.marker05:before{
  content: '*5';
  margin-left:-14px; 
}

/* btn
----------------------------------------------*/
.btn {
  font-family: 'Catamaran', sans-serif;
  font-weight: 600;
  font-size: 13px;
  border: #cccccc solid 1px;
  color: #000000;
  width: 200px;
  height: 44px;
  line-height: 44px;
  display: inline-block;
  text-decoration: none;
  letter-spacing: 0;
  transition: all linear 0.1s;
}
.btn:after,
.btn:before {
  position: absolute;
  display: inline-block;
  content: "";
  background-color: #fff;
  transition: all linear 0.1s;
}
.btn:after {
  top: 50%;
  right: 35px;
  width: 0;
  height: 0;
}
.btn:before {
  top: 46%;
  right: 35px;
  width: 0;
  height: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn:hover {
  position: relative;
  color: #ffffff;
  border-color: #597fc8;
  background-color: #597fc8;
  font-weight: normal;
}
.btn:hover span {
  margin-left: -20px;
  padding-right: 10px;
}
.btn:hover:after {
  width: 15px;
  height: 1px;
}
.btn:hover:before {
  width: 6px;
  height: 1px;
}

.btn_more {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.2em;
}
.btn_more:hover {
  color: inherit;
}
@media (max-width: 601px) {
  .btn_more {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
  }
  .btn_more:hover {
    color: inherit;
  }
}

.btn_contact {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  border: 4px solid #fff;
  border-radius: 15px;
  padding: 10px 45px 10px 50px;
  width: 100%;
  max-width: 500px;
  height: 120px;
  color: #fff;
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: 0.2em;
  transition: all 0.2s;
}
.btn_contact:hover {
  color: #000;
  background: #fff;
}
.btn_contact::after {
  content: '';
  display: inline-block;
  position: relative;
  top: -2px;
  margin-left: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-image: url(../image/ico_arrow_link-02.png);
  background-position: -1px center;
  background-repeat: no-repeat;
  width: 26px;
  height: 26px;
  transition: all 0.2s;
}
.btn_contact:hover::after {
  border: 2px solid #fff;
  background-color: #090031;
  background-clip: padding-box;
}
@media (max-width: 601px) {
  .btn_contact {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    border: 3px solid #fff;
    border-radius: 15px;
    padding: 10px 20px 10px 20px;
    width: 100%;
    max-width: 270px;
    height: 70px;
    color: #fff;
    font-size: 1.9rem;
    line-height: 1;
    letter-spacing: 0.2em;
    transition: all 0.2s;
  }
  .btn_contact:hover {
    color: #fff;
    background: transparent;
  }
  .btn_contact::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -2px;
    margin-left: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-image: url(../image/ico_arrow_link-02--sp.png);
    background-position: -1px center;
    background-repeat: no-repeat;
    background-size: 18px;
    width: 26px;
    height: 26px;
    transition: all 0.2s;
  }
  .btn_contact:hover::after {
    border: 2px solid #fff;
    background-color: transparent;
  }
}

/* ico
----------------------------------------------*/
.ico_link {
  display: inline-flex;
  align-items: center;
}
.ico_link::after {
  content: '';
  display: inline-block;
  position: relative;
  top: -2px;
  margin-left: 10px;
  border: 2px solid #090031;
  border-radius: 50%;
  background-image: url(../image/ico_arrow_link.png);
  background-position: -1px center;
  background-repeat: no-repeat;
  width: 26px;
  height: 26px;
  transition: all 0.2s;
}
.ico_link:hover::after,
.ico_link.hovered::after {
  border: 2px solid #fff;
  background-image: url(../image/ico_arrow_link-02.png);
  background-color: #090031;
  background-clip: padding-box;
}
@media (max-width: 601px) {
  .ico_link::after {
    top: -1px;
  }
  .ico_link::after {
    background-image: url(../image/ico_arrow_link--sp.png);
    background-size: 18px;
  }
  .ico_link:hover::after,
  .ico_link.hovered::after {
    background-image: url(../image/ico_arrow_link-02--sp.png);
  }
}
@media (min-width: 602px) {
  .ico_link--pc {
    display: inline-flex;
    align-items: center;
  }
  .ico_link--pc::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -2px;
    margin-left: 10px;
    border: 2px solid #090031;
    border-radius: 50%;
    background-image: url(../image/ico_arrow_link.png);
    background-position: -1px center;
    background-repeat: no-repeat;
    width: 26px;
    height: 26px;
    transition: all 0.2s;
  }
  .ico_link--pc:hover::after,
  .ico_link--pc.hovered::after {
    border: 2px solid #fff;
    background-image: url(../image/ico_arrow_link-02.png);
    background-color: #090031;
    background-clip: padding-box;
  }
}
@media (max-width: 601px) {
  .ico_link--sp {
    display: inline-flex;
    align-items: center;
  }
  .ico_link--sp::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -1px;
    margin-left: 10px;
    border: 2px solid #090031;
    border-radius: 50%;
    background-image: url(../image/ico_arrow_link--sp.png);
    background-position: -1px center;
    background-repeat: no-repeat;
    background-size: 18px;
    width: 26px;
    height: 26px;
    transition: all 0.2s;
  }
}

.ico_link_white {
  display: inline-flex;
  align-items: center;
}
.ico_link_white::after {
  content: '';
  display: inline-block;
  position: relative;
  top: -2px;
  margin-left: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-image: url(../image/ico_arrow_link-02.png);
  background-position: -1px center;
  background-repeat: no-repeat;
  width: 26px;
  height: 26px;
  transition: all 0.2s;
}
.ico_link_white:hover::after {
  border: 2px solid #090031;
  background-image: url(../image/ico_arrow_link.png);
  background-color: #fff;
  background-clip: padding-box;
}
@media (max-width: 601px) {
  .ico_link_white::after {
    top: -1px;
  }
  .ico_link_white::after {
    background-image: url(../image/ico_arrow_link-02--sp.png);
    background-size: 18px;
  }
  .ico_link_white:hover::after,
  .ico_link_white.hovered::after {
    background-image: url(../image/ico_arrow_link--sp.png);
  }
}
@media (min-width: 602px) {
  .ico_link_white--pc {
    display: inline-flex;
    align-items: center;
  }
  .ico_link_white--pc::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -2px;
    margin-left: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-image: url(../image/ico_arrow_link-02.png);
    background-position: -1px center;
    background-repeat: no-repeat;
    width: 26px;
    height: 26px;
    transition: all 0.2s;
  }
  .ico_link_white--pc:hover::after {
    border: 2px solid #090031;
    background-image: url(../image/ico_arrow_link.png);
    background-color: #fff;
  }
}
@media (max-width: 601px) {
  .ico_link_white--sp {
    display: inline-flex;
    align-items: center;
  }
  .ico_link_white--sp::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -1px;
    margin-left: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background-image: url(../image/ico_arrow_link-02--sp.png);
    background-position: -1px center;
    background-repeat: no-repeat;
    background-size: 18px;
    width: 26px;
    height: 26px;
    transition: all 0.2s;
  }
}

/* object-fit-images.js
-------------------------------------------*/
.js-object-fit-images {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}
.js-object-fit-images.is-top {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  font-family: 'object-fit: cover; object-position: top;';
}
.js-object-fit-images.is-bottom {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
  font-family: 'object-fit: cover; object-position: bottom;';
}
.js-object-fit-images.is-left {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
  font-family: 'object-fit: cover; object-position: left;';
}
.js-object-fit-images.is-right {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right;
  font-family: 'object-fit: cover; object-position: right;';
}
@media (max-width: 601px) {
  .js-object-fit-images.is-sp {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
  }
  .js-object-fit-images.is-sp-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    font-family: 'object-fit: cover; object-position: top;';
  }
  .js-object-fit-images.is-sp-bottom {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
    font-family: 'object-fit: cover; object-position: bottom;';
  }
  .js-object-fit-images.is-sp-left {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
    font-family: 'object-fit: cover; object-position: left;';
  }
  .js-object-fit-images.is-sp-right {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
    font-family: 'object-fit: cover; object-position: right;';
  }
}

/* ----------------------------------------------------------------
Utility
-------------------------------------------------------------------*/
/* PCのみ表示 */
@media screen and (max-width: 601px) {
  .u-pc {
    display: none !important;
  }
}
/* SPのみ表示 */
@media (min-width: 602px) {
  .u-sp {
    display: none !important;
  }
}

.u-mb40 {
  margin-bottom: 40px;
}

/* Font weight
-------------------------------------------*/
.u-fw__normal {
  font-weight: normal !important;
}

.u-fw__bold {
  font-weight: bold !important;
}
/* Float
-------------------------------------------*/
.u-float__left {
  float: left !important;
}

.u-float__right {
  float: right !important;
}
/* Text-align
-------------------------------------------*/
.u-ta__left {
  text-align: left !important;
}

.u-ta__center {
  text-align: center !important;
}

.u-ta__right {
  text-align: right !important;
}
/* Vertical-align
-------------------------------------------*/
.u-va__top {
  vertical-align: top !important;
}

.u-va__middle {
  vertical-align: middle !important;
}

.u-va__bottom {
  vertical-align: bottom !important;
}
/* Width
-------------------------------------------*/
.u-width__auto {
  width: auto !important;
}

.u-width__full {
  width: 100% !important;
}
/* display
-------------------------------------------*/
.u-display__block {
  display: block !important;
}

.u-display__none {
  display: none !important;
}
/* letter spacing
-------------------------------------------*/
.ls_-1 {letter-spacing:-1px !important;}
.ls__0 {letter-spacing:0px !important;}
.ls__1 {letter-spacing:1px !important;}
.ls__2 {letter-spacing:2px !important;}
.ls__3 {letter-spacing:3px !important;}
.ls__4 {letter-spacing:4px !important;}
.ls__5 {letter-spacing:5px !important;}
.ls__6 {letter-spacing:6px !important;}
.ls__7 {letter-spacing:7px !important;}
.ls__8 {letter-spacing:8px !important;}
.ls__9 {letter-spacing:9px !important;}
.ls__10 {letter-spacing:10px !important;}

/* Media Query
-------------------------------------------*/
/* display */
@media (max-width: 601px) {
  .u-mq-display__block {
    display: block !important;
  }

  .u-mq-display__none {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  .u-mqh-display__block {
    display: block !important;
  }

  .u-mqh-display__none {
    display: none !important;
  }
}

@media (min-width: 1875px) {
  .linebreak{
    display: none;
  }
}
@media (max-width: 1101px) {
  .linebreak{
    display: none;
  }
}

/* Clearfix
-------------------------------------------*/
.u-clearfix:before,
.u-clearfix:after {
  display: table;
  content: " ";
}

.u-clearfix:after {
  clear: both;
}
