@charset "UTF-8";

/*========================================================================

  reset

========================================================================*/

:root ol, :root ul {
  margin: 0;
  padding: 0;
}
.pbNested {
  clear: none;
  overflow: visible;
  min-width: 10px;
}
.pb-layout {
  outline: 1px dotted #ccc !important;
  box-shadow: none!important;
}
.pb-handle {
  display: block!important;
  width: auto!important;
  height: auto!important;
  min-width: auto!important;
  min-height: auto!important;
  border: 1px solid #999!important;
  font-family: Meiryo, 'Hiragino Kaku Gothic ProN', 'MS PGothic', Sans-serif!important;
  font-weight: normal!important;
  letter-spacing: normal!important;
  text-indent: 0!important;
  line-height: 1.6;
}
.pb-handle:before,
.pb-handle:after {
  display: none!important;
}
.pbNotEditable {
  min-width: 200px!important;
  background: rgba(32, 32, 32, 0.5)!important;
}
.pbZero td {
  vertical-align: middle;
}
video {
  outline: none;
  border: none;
}

/*========================================================================

  base

========================================================================*/

body {
    color: #242424;
    font-family: "游ゴシック体 Pr6N M","\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    html {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  vertical-align: top;
}
@media print, screen and (min-width: 768px) {
  html {
    margin-right: 0!important;
  }
}
body {
  margin: 0 auto;
  max-width: 1920px;
  min-width: 1160px;
}
@media screen and (max-width: 767px) {
  body {
    min-width: auto;
  }
}

body {
    visibility: visible!important;
}
body.typesquare_option,
.pbHeaderArea .typesquare_option {
    opacity: 1!important;
}

/*  title
========================================================================*/

h1,
h2,
h3,
h4 {
  font-weight: inherit;
  font-size: inherit;
  font-family: "游ゴシック体 Pr6N B";
}

/*  link
========================================================================*/

a {
  color: inherit;
  text-decoration: none;
  transition: opacity .3s , color .3s;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}

/*  list
========================================================================*/

ol,
ul {
  list-style: none;
}

/*  img
========================================================================*/

img {
  max-width: 100%;
  height: auto;
  transition: transform 1s;
}
a .image {
  overflow: hidden;
}
@media (min-width: 768px) {
  a:hover .image img {
    transform: scale(1.08);
  }
}

/*  table
========================================================================*/

table {
  max-width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
}

/*  form
========================================================================*/

button {
  background: transparent;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  color: inherit;
  cursor: pointer;
  letter-spacing: .4px;
  transition: opacity .3s;
  font-family: "游ゴシック体 Pr6N M";
}

/*  sup
========================================================================*/
            
sup {
  font-size: 66%;
}

/*========================================================================

  utility

========================================================================*/

.u_left {
  text-align: left!important;
}
.u_center {
  text-align: center!important;
}
.u_right {
  text-align: right!important;
}
.u_mt0 {
  margin-top: 0!important;
}
.u_mt10 {
  margin-top: 10px!important;
}
.u_mt15 {
  margin-top: 15px!important;
}
.u_mt20 {
  margin-top: 20px!important;
}
.u_mt25 {
  margin-top: 25px!important;
}
.u_mt30 {
  margin-top: 30px!important;
}
.u_mt40 {
  margin-top: 40px!important;
}

@media print, screen and (min-width: 768px) {
  .u_sp {
    display: none!important;
  }
  .u_pc-left {
    text-align: left!important;
  }
  .u_pc-center {
    text-align: center!important;
  }
  .u_pc-mt40 {
    margin-top: 40px!important;
  }
  .u_pc-mt50 {
    margin-top: 50px!important;
  }
  .u_pc-mt60 {
    margin-top: 60px!important;
  }
  .u_pc-mt70 {
    margin-top: 70px!important;
  }
  .u_pc-mt80 {
    margin-top: 80px!important;
  }
  .u_pc-mt100 {
    margin-top: 100px!important;
  }
  .u_pc-mt120 {
    margin-top: 120px!important;
  }
}

@media screen and (max-width: 767px) {
  .u_pc {
    display: none!important;
  }
  .u_sp-center {
    text-align: center!important;
  }
  .u_sp-mt20 {
    margin-top: 20px!important;
  }
  .u_sp-mt40 {
    margin-top: 40px!important;
  }
  .u_sp-mt60 {
    margin-top: 60px !important;
  }
}

@media print, screen and (min-width: 1081px) {
  .u_sp-w1080 {
    display: none!important;
  }
}

@media screen and (max-width: 1080px) {
  .u_pc-w1080 {
    display: none!important;
  }
}

/*========================================================================

  style

========================================================================*/

/*  common
========================================================================*/

/*  t-button
------------------------------------------------*/

.t-button,
.b-a-textLink {
    margin-top: 40px;
}
.t-button a,
.t-button button,
.b-a-textLink a {
    position: relative;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    border: 1px solid #D8D8D8;
    line-height: 1.6;
    width: auto;
    max-width: unset;
    padding: 15px 58px 15px 32px;
    border-radius: 4px;
    font-size: 15px;
    background: #3B3B41;
    color: #FFFFFF;
    border-color: #3B3B41;
    font-family: "游ゴシック体 Pr6N B";
}
.t-button a:after,
.t-button button:after,
.b-a-textLink a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 32px;
    width: 1em;
    height: 1em;
    min-width: 15px;
    min-height: 15px;
    background: url(../img/icon_link_white.svg) no-repeat center / contain;
}
.t-button a[target=_blank]:after,
.t-button a.pbOpenNewWindow:after {
    display: none;
}
.t-button a img {
    position: relative;
    top: 2px;
    margin-left: 16px;
}
.t-button a[target="_blank"] img {
    position: absolute;
    top: -1px;
    bottom: 0;
    margin: auto;
    right: 32px;
    width: 14px;
}
.t-button.center {
    text-align: center;
}

.t-button a:hover,
.t-button button:hover,
.b-a-textLink a:hover {
    opacity: .8;
}

@media (max-width: 767px) {
    .t-button,
    .b-a-textLink {
        margin-top: 25px;
        text-align: center;
    }
    .t-button a,
    .t-button button,
    .b-a-textLink a {
        width: 100%;
        max-width: 280px;
        padding: 15px;
        font-size: 14px;
    }
    .t-button a:after,
    .t-button button:after,
    .b-a-textLink a:after {
        position: relative;
        width: 15px;
        display: inline-block;
        top: 2px;
        right: 0;
        margin-left: 10px;
    }
    .t-button a[target="_blank"] img {
        position: relative;
        width: 14px;
        display: inline-block;
        top: 2px;
        right: 0;
        margin-left: 16px;
    }
    .t-button a:active,
    .t-button button:active,
    .b-a-textLink a:active {
        opacity: .8;
    }
}

/*  t-link
------------------------------------------------*/
.t-link a {
    position: relative;
    color: #242424;
    text-decoration: none;
    transition: all .2s;
}

.t-link a:after {
    content: '';
    position: relative;
    top: 2px;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 10px;
    background: url(../img/icon_arrow2.svg) no-repeat center / contain;
}
.t-link a[target=_blank]:after,
.t-link a.pbOpenNewWindow:after {
    display: none;
}
.t-link a img {
    position: relative;
    top: 3px;
    margin-left: 10px;
    width: 13px;
}

.t-link a:hover {
    opacity: .7;
}

@media (max-width: 767px) {
    .t-link a:after {
        top: 1px;
        width: 14px;
        height: 14px;
    }
    .t-link a img {
        top: 5px;
        margin-left: 8px;
        width: 12px;
    }
}

/*  header
========================================================================*/

/*  t-header
------------------------------------------------*/

.t-header {
    background: #ffffff;
    width: 100%;
    padding: 20px 10px;
    position: fixed;
    z-index: 100;
    height: 100px;
    left: 0;
}
.pbPage.edit .t-header {
    position: absolute;
}
.t-header {
    transition: all .3s;
}
.pbPage.scroll .t-header {
    height: 55px;
    padding: 0;
}
.t-header_inner {
    max-width: 1160px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    align-items: center;
}
.t-logo {
    display: block;
}
.t-header .t-header_inner .t-logo {
    width: 116px;
    transition: all .3s;
}
.t-logo img {
    width: 116px;
}
.pbPage.scroll .t-header .t-header_inner .t-logo {
    width: 70px;
    margin-top: 10px;
}
.t-header_rightbox {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.t-header .t-header_inner .t-header_menu {
    margin-bottom: 13px;
    transition: all .3s;
    font-family: "游ゴシック体 Pr6N B";
}
.pbPage.scroll .t-header .t-header_inner .t-header_menu {
    opacity: 0;
    visibility: hidden;
    height: 0;
}
.t-header_menu ul {
    display: flex;
}
.t-header_menu a,
.t-textLink_search_anchor > button {
    font-weight: bold;
    font-size: 12px;
    text-decoration: none;
    padding-left: 20px;
    margin-left: 24px;
    vertical-align: baseline;
    display: block;
    box-sizing: border-box;
    position: relative;
    line-height: 1.6;
    font-family: "游ゴシック体 Pr6N B","\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
}
.t-textLink_search_anchor > button {
    background: url(../img/icon_search.svg) no-repeat left center;
    background-size: 12px;
    border: none;
}
.t-textLink_english_anchor a {
    background: url(../img/icon_english.svg) no-repeat left center;
    background-size: 12px;
}
.t-textLink_contact_anchor a {
    background: url(../img/icon_contact.svg) no-repeat left center;
    background-size: 12px;
}
.t-header .t-header_inner .t-globalNavi {
    top: 0;
    transition: all .3s;
}
.pbPage.scroll .t-header .t-header_inner .t-globalNavi {
    top: -20px;
}
.t-globalNavi .t-globalNavi_link {
    display: flex;
}
.t-globalNavi a {
    font-family: "游ゴシック体 Pr6N B","\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
    line-height: 2;
    font-weight: bold;
    font-size: 15px;
    text-decoration: none;
    margin-left: 30px;
    display: block;
}
.t-globalNavi a.t-textLink_anchor {
    display: block;
    background: url("../img/open.svg") no-repeat right 5px;
    background-size: 17px;
    padding-right: 22px;
    cursor: pointer;
}

@media (min-width: 768px) {
    .t-globalNavi_link > li > a {
        position: relative;
    }
    .t-globalNavi_link > li  > a:hover:before,
    .t-header_menu ul > li > a:hover:before,
    .t-textLink_search_anchor > button:hover:before,
    .t-textLink_search_anchor > button.selected:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        bottom: -4px;
        left: 0;
        background: #333;
    }
    .t-globalNavi_link > li.active-gnlink > a:before {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        bottom: -4px;
        left: 0;
        background: #333;
    }
}

/*  sp
------------------------------------------------*/

.t-header-sp {
    position: fixed;
    top: 0;
    z-index: 2;
    background: #fff;
    width: 100%;
    font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
}
.t-header-sp .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px 66px 16px 20px;
}
.t-header-sp .inner .logo {
    width: 78px;
    transition: all .3s;
}
.pbPage.scroll .t-header-sp .inner .logo,
.pbPage.open .t-header-sp .inner .logo {
    width: 58px;
}
.t-header-sp .inner .language {
    visibility: hidden;
    opacity: 0;
    font-size: 14px;
    font-weight: bold;
    transition: all .3s;
}
.pbPage.open .t-header-sp .inner .language {
    visibility: visible;
    opacity: 1;
}
.t-header-sp .inner .language a {
    padding-left: 20px;
    background: url(../img/icon_globe.svg) no-repeat left center;
    background-size: 14px;
    font-family: "游ゴシック体 Pr6N B";
}
.t-header-sp .inner .menu {
    position: absolute;
    top: 0;
    right: 0;
    width: 68px;
    height: 68px;
    border: none;
}
.t-header-sp .inner .menu span {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 20px;
    height: 2px;
    background: #3B3B41;
}
.t-header-sp .inner .menu span:nth-of-type(1) {
    top: calc(50% - 8px);
}
.t-header-sp .inner .menu span:nth-of-type(2) {
    top: calc(50% - 2px);
}
.t-header-sp .inner .menu span:nth-of-type(3) {
    top: calc(50% + 4px);
}
.pbPage.open .t-header-sp .inner .menu span:nth-of-type(1) {
    transform: translateY(6px) rotate(-45deg);
}
.pbPage.open .t-header-sp .inner .menu span:nth-of-type(2) {
    opacity: 0;
}
.pbPage.open .t-header-sp .inner .menu span:nth-of-type(3) {
    transform: translateY(-6px) rotate(45deg);
}
.pbPage.scroll .t-header-sp .inner .menu,
.pbPage.open .t-header-sp .inner .menu {
    height: 60px;
}

.t-header-sp .t-global-sp {
    visibility: hidden;
    opacity: 0;
    height: 0;
    position: absolute;
    top: 68px;
    width: 100vw;
    height: 100vh;
    background: #fff;
    transition: all .3s;
}
.pbPage.scroll .t-header-sp .t-global-sp,
.pbPage.open .t-header-sp .t-global-sp {
    top: 58px;
}
.pbPage.open .t-header-sp .t-global-sp {
    visibility: visible;
    opacity: 1;
}
.t-global-sp .global-inner .menu {
    position: absolute;
    top: 0;
    right: 0;
    width: 68px;
    height: 68px;
    transform: rotate(45deg)
}
.t-global-sp .global-inner .menu span {
    position: absolute;
    top: 32px;
    left: 0;
    right: 0;
    margin: auto;
    width: 20px;
    height: 2px;
    background: #3B3B41;
}
.t-global-sp .global-inner .menu span:nth-of-type(2) {
    transform: rotate(90deg);
}
.t-global-sp .global-menu {
    overflow: auto;
    height: calc(100% - 68px);
    border-top: 1px solid #E6E6E6;
}
.t-global-sp .title {
    padding: 15px 20px;
    font-size: 16px;
    font-family: "游ゴシック体 Pr6N B";
}
.t-global-sp .title + .space {
    margin-left: 40px;
}
.t-global-sp .acc-title {
    position: relative;
    padding: 12px 40px 12px 15px;
    font-size: 16px;
    font-weight: bold;
    border-top: 1px solid #E6E6E6;
    border-bottom: 0;
    border-right: 0;
    border-left: 0;   
    font-family: "游ゴシック体 Pr6N B";
    width: 100%;
    text-align: left;
}
.t-global-sp .space + .acc-title {
    border-top: none;
}
.t-global-sp .acc-title:before,
.t-global-sp .acc-title:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    width: 12px;
    height: 2px;
    background: #747480;
    transition: all .3s;
}
.t-global-sp .acc-title:after {
    transform: rotate(90deg);
}
.t-global-sp .acc-title.active {
    background: #747480;
    color: #fff;
}
.t-global-sp .acc-title.active:before {
    background: #fff;
}
.t-global-sp .acc-title.active:after {
    opacity: 0;
}
.t-global-sp .acc-content {
    display: none;
}
.t-global-sp .acc-sub {
    padding: 5px 15px;
    background: #EBEDEF;
    font-size: 14px;
    font-family: "游ゴシック体 Pr6N M";
}
.t-global-sp .acc-list {
    background: #F7F7F7;
    font-size: 14px;
    font-family: "游ゴシック体 Pr6N B";
}
.t-global-sp .acc-list li:not(:first-child) {
    border-top: 1px solid #E6E6E6;
}
.t-global-sp .acc-list a {
    position: relative;
    display: block;
    padding: 13px 40px 13px 15px;
}
.t-global-sp .acc-list a:hover {
    opacity: .65;
}
.t-global-sp .acc-list a img {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
}
.t-global-sp .acc-list a:not([target="_blank"]):after {
    content: url(../img/icon_arrow2.svg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    width: 15px;
    height: 15px;
    line-height: 0;
}
.t-global-sp .list {
    font-size: 16px;
    border-bottom: 1px solid #E6E6E6;
    font-family: "游ゴシック体 Pr6N B";
}
.t-global-sp .list li {
    border-top: 1px solid #E6E6E6;
}
.t-global-sp .list a {
    position: relative;
    display: block;
    padding: 13px 40px 13px 15px;
}
.t-global-sp .list a:hover {
    opacity: .65;
}
.t-global-sp .list a img {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
}
.t-global-sp .list a:not([target="_blank"]):after {
    content: url(../img/icon_arrow2.svg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    width: 15px;
    height: 15px;
    line-height: 0;
}
.t-global-sp .search {
    padding: 25px 20px;
    background: #F7F7F7;
}
.t-global-sp .search label {
    font-size: 14px;
    font-weight: bold;
    font-family: "游ゴシック体 Pr6N B";
}
.t-global-sp .search form {
    display: flex;
    overflow: hidden;
    margin-top: 10px;
    background: #fff;
    border-radius: 3px;
}
.t-global-sp .search input[type="text"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    flex: 1;
    border-radius: 0;
    font-family: "\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
    padding: 10px 20px;
    border: none;
    font-size: 16px;
}
.t-global-sp .search button {
    width: 48px;
    background: #3B3B41;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.t-global-sp .search button:hover {
    opacity: .85;
}
.t-global-sp .button {
    padding: 20px 20px 100px;
}
.t-global-sp .button .t-button {
    margin: 0;
    font-family: "游ゴシック体 Pr6N B";
}
.t-global-sp .button a {
    width: 100%;
    max-width: none;
}
.t-global-sp .close-btn {
    width: 100%;
    border: none;
    background: #ccc;
    padding: 10px 4px;
}

@media (max-width: 767px) {
    .t-global-sp .acc-list a img {
        width: 13.12px;
        height: 13.12px;
    }
}

/*  main
========================================================================*/

/*  notice
------------------------------------------------*/

.notice {
    width: 100%;
    background: #fff;
}
.notice > div {
    max-width: 1160px;
    margin: 0 auto;
}
.notice_box {
    background: #F7F7F7;
}
.notice_box > div:after {
    display: none;
}
.notice_box > div {
    padding: 33px 36px;
    display: flex;
    justify-content: space-between;
}
.notice_box .title {
    font-weight: bold;
    font-size: 15px;
}
.notice_box .list {
    width: 953px;
    font-size: 15px;
    line-height: 1.5;
}
.notice_box .link {
    padding: 15px 0;
    border-top: 1px solid #ddd;
    font-size: 15px;
    line-height: 1.6;
}
.notice_box .link:first-child {
    border-top: none;
    padding-top: 0;
}
.notice_box .t-link {
    padding: 15px 0;
    border-top: 1px solid #ddd;
    font-size: 15px;
    line-height: 1.6;
    font-weight:normal;
    margin-top: 0;
}
.notice_box .t-link a {
    font-weight: 500;
}
.notice_box .t-link:last-child {
    padding-bottom: 0;
}

@media (max-width: 767px) {
    .notice > div {
        width: calc(100% - 40px);
    }
    .notice_box > div {
        padding: 20px;
        flex-flow: column;
    }
    .notice_box .list {
        width: 100%;
    }
    .notice_box .link {
        margin-top: 15px;
    }
}

/*  t_intro
------------------------------------------------*/

.t_intro {
    width: 100%;
    background: #fff;
    display: block;
}
.t_intro .intro-inner {
    opacity: 1!important;
    animation: none!important;
    max-width: 1160px;
    margin: 0 auto;
    padding: 280px 0;
}
.t_intro .intro-inner .text {
    display: flex;
    flex-flow: column;
    gap: 30px;
    font-size: 22px;
    text-align: center;
    font-family: "游ゴシック体 Pr6N B";
    font-weight: bold;
}
.t_intro .intro-inner.t_animation .text span {
    opacity: 0;
}
.t_intro .intro-inner.t_animation.animation .text span {
    animation: intro .8s ease-in-out forwards;
}
.t_intro .intro-inner.t_animation.animation .text span:nth-child(1) {
    animation-delay: 0s;
}
.t_intro .intro-inner.t_animation.animation .text span:nth-child(2) {
    animation-delay: .5s;
}
.t_intro .intro-inner.t_animation.animation .text span:nth-child(3) {
    animation-delay: 1s;
}
@keyframes intro {
    0% {opacity: 0;}
    100% {opacity: 1;}
}

@media (max-width: 767px) {
    .t_intro .intro-inner {
        padding: 190px 0;
        width: calc(100% - 40px);
    }
    .t_intro .intro-inner .text {
        font-size: 17px;
        text-align: left;
        line-height: 2;
    }
}

/*  t_service
------------------------------------------------*/

.t_service {
    background: #e6e6e6;
    padding: 130px;
}
.t_service .service-inner {
    max-width: 1160px;
    margin: 0 auto;
}
.t_service .service_first .image-box {
    display: flex;
    flex-direction: row-reverse;
    position: absolute;
    margin-top: -560px;
    left: 0;
    width: 100%;
    justify-content: flex-end;
}
.t_service .service_first .image-box .title {
    font-size: 42px;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    line-height: 1.5;
}
.t_service .service_first .image-box .title span {
    font-size: 18px;
    color: #747480;
    display: block;
}
.t_service .service_first .image-box .image {
    margin-right: 70px;
    width: calc(50% + 220px);
}
.t_service .service_first .image-box .image img {
    width: 100%;
    object-fit: cover;
    height: 520px;
    border-radius: 0px 12px 12px 0px;
}
.t_service .service_first .text-box {
    max-width: 860px;
    margin: 0 auto;
}
.t_service .service_first .text-box .text {
    font-size: 18px;
}
.t_service .service_first .text-box  a.boxlink {
    font-size: 15px;
    font-weight: bold;
    padding: 20px 30px;
    background: #707070;
    color: #fff;
    margin-top: 35px;
    display: inline-block;
}

/* t-megadrop */

.t-megadrop {
    background: #ffffff;
    position: absolute;
    padding: 30px 36px 85px;
    top: 100px;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    left: 0;
}
.pbPage.scroll .t-megadrop {
    top: 55px;
}
.t-textLink_search_anchor .t-megadrop {
    display: none;
}
.t-globalNavi_link li .t-megadrop {
    transition: all .6s;
    opacity: 0;
    visibility: hidden;
}
.t-globalNavi_link li.active-gnlink .t-megadrop {
    opacity: 1;
    visibility: visible;
}
.t-textLink_search_anchor .t-megadrop {
    top: 90px;
    left: 0;
}
.t-textLink_search_anchor .t-m-title {
    font-size: 22px;
}
.t-megadrop_wrapper {
    max-width: 1160px;
    margin: 0 auto !important;
}
.t-megadrop_inner {
    display: flex;
    gap: 37px;
    margin-top: 20px;
}
.t-m-title {
    font-size: 28px;
    font-weight: bold;
    font-family: "游ゴシック体 Pr6N B";
}
.t-megadrop_box {
    margin: 23px 0;
}
.t-megadrop_box.column2 {
    width: 763px;
}
.t-megadrop_box .t-megadrop_box-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 37px;
}
.t-m-boxTitle {
    font-size: 22px;
    font-weight: bold;
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
    margin-bottom: 24px;
    font-family: "游ゴシック体 Pr6N B";
    width: 100%;
    letter-spacing: 0;
}
.t-megadrop_box-inner .t-megadrop_linkList:nth-child(1) {
    order: 1;
}
.t-megadrop_box-inner .t-megadrop_linkList:nth-child(2) {
    order: 3;
}
.t-megadrop_box-inner .t-megadrop_linkList:nth-child(3) {
    order: 2;
    margin-top: 0;
}
.t-m-listTitle {
    font-size: 18px;
    font-weight: bold;
    font-family: "游ゴシック体 Pr6N B";
    line-height: 1;
    margin-bottom: 10px;
}
ul.t-megadrop_links {
    display: flex;
    flex-direction: column;
}
.t-m-textLink {
    width: 362px;
    background:  #F7F7F7;
    border-radius: 2px;
    transition: all .6s;
}
.t-m-textLink:not(:first-child) {
    margin-top: 8px;
}
.t-m-textLink a {
    margin-left: 0;
    display: block;
    padding: 13px 20px;
    position: relative;
}
.t-m-textLink a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 25px;
    width: 1em;
    height: 1em;
    min-width: 15px;
    min-height: 15px;
    background: url(../img/icon_link.svg) no-repeat center / contain;
}
.t-m-textLink a[target=_blank] img,
.t-m-textLink a.pbOpenNewWindow img {
    width: 13px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 26px;
}
.t-m-textLink a[target=_blank]:after,
.t-m-textLink a.pbOpenNewWindow:after {
    display: none;
}
.t-m_closeBtn {
    position: absolute;
    display: block;
    text-align: center;
    width: 100%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #F7F7F7;
    border: none;
    padding: 7px;
    font-size: 12px;
    font-family: "游ゴシック体 Pr6N M";
}
@media (min-width: 768px) {
    .t-m-textLink:hover {
        background: #E0E0E0;
    }
}
.t-megadrop .t-m_closeBtn:before {
    content: "";
    position: absolute;
    background: #242424;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 33px;
    opacity: .6;
}

/*  t-title-box
------------------------------------------------*/

.t-title-box {
    display: flex;
    flex-direction: row-reverse;
    left: 0;
    width: 100%;
    justify-content: flex-end;
    margin-top: 120px;
}
.t-title-box.gray {
    margin-top: 0;
    margin-bottom: -80px;
    z-index: 1;
    position: relative;
}
.pt120 .t-title-box {
    padding-top: 120px;
}
.t-title-box .title {
    font-size: 42px;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-weight: bold;
    line-height: 1.3;
    margin-top: 39px;
    letter-spacing: 0.05em;
    font-family: "游ゴシック体 Pr6N B";
}
.t-title-box .title span {
    font-size: 18px;
    color: #747480;
    display: block;
    line-height: 2.2;
}
.t-title-box .image {
    margin-right: 59px;
    width: calc(50% + 220px);
}
.t-title-box .image img {
    width: 100%;
    object-fit: cover;
    height: 520px;
    border-radius: 0px 12px 12px 0px;
}

@media (max-width: 767px) {
    .t-title-box {
        margin-top: 80px;
    }
    .t-title-box.gray {
        margin-bottom: -40px;
    }
    .pt120 .t-title-box {
        padding-top: 120px;
    }
    .t-title-box .title {
        margin: 24px 27px 0 0;
        font-size: 30px;
    }
    .t-title-box .title span {
        font-size: 14px;
    }
    .t-title-box .image {
        margin-right: 25px;
    }
    .t-title-box .image img {
        height: 320px;
    }
}

/*  t_section
------------------------------------------------*/

.t_section {
    background: #fff;
    padding: 41px 0 120px;
}
.t_section.gray {
    background: #F7F7F7;
    padding: 125px 0 100px;
}
.t_section.small {
    padding: 50px 20px 45px;
}
.t_section .inner {
    max-width: 1160px;
    width: calc(100% - 40px);
    margin: 0 auto;
    position: relative;
}
.t_section .w860 {
    max-width: 860px;
    margin: 0 auto;
}
.pd120 {
    padding-top: 120px;
}

@media (max-width: 767px) {
    .t_section {
        padding: 30px 0 130px;
    }
    .t_section.gray {
        padding: 70px 0 90px;
    }
    .t_section.small {
        padding: 50px 0 55px;
    }
    .t_section .inner {
        width: calc(100% - 40px);
    }
    .t_section .w860 {
        max-width: 100%;
    }
}

/*  t_text
------------------------------------------------*/

.t_text {
    font-size: 18px;
    line-height: 1.8;
}
.t_text .inner {
    max-width: 1160px;
    margin: 0 auto;
}

@media (max-width: 767px) {
    .t_text {
        font-size: 16px;
    }
}

/*  t_h2
------------------------------------------------*/

.t_h2 {
    font-size: 22px;
    font-weight: bold;
    text-align:  left;
}
.t_h2.center {
    text-align: center;
}

@media (max-width: 767px) {
    .t_h2 {
        font-size: 20px;
    }
}

/*  t_h3
------------------------------------------------*/

.t_h3 {
    font-size: 22px;
    font-weight: bold;
    text-align:  left;
}
.t_h3.center {
    text-align: center;
}

@media (max-width: 767px) {
    .t_h3 {
        font-size: 20px;
    }
}

/*  t-boxlink
------------------------------------------------*/

.t-boxLink {
    font-size: 15px;
    font-weight: bold;
    padding: 15px 30px;
    background: #3B3B41;
    color: #fff;
    margin-top: 35px;
    display: inline-block;
    border-radius: 6px;
}
.t-boxLink .center {
    text-align: center;
}

/*  slider
------------------------------------------------*/

.t_mainVisual {
    position: relative;
    margin-top: 100px;
    height: 44%;
}
.i-slider{
  width:100%;
}
.i-slider:not(.slick-initialized),
.i-slider:not(.slick-initialized) + .i-slider_buttonWrap {
    display: none;
}
.i-slider.slick-initialized ~ .load {
    display: none;
}
.t_mainVisual .load {
    display: block;
    margin-bottom: 130px;
}
.t_mainVisual .load img.u_pc,
.t_mainVisual .load img.u_sp {
    width: 100%;
}
.t_mainVisual .load img.message {
    position: absolute;
    bottom: 22px;
    display: block;
    width: 18%;
    margin-left: 8.9%;
}
@media (max-width: 767px) {
    .t_mainVisual .load {
        margin-bottom: 100px;
    }
    .t_mainVisual .load img.message {
        bottom: 24px;
        width: 47%;
        margin-left: 43%;
    }
}
.slick-track {
  display: flex !important;
}
.t_mainVisual .slick-dotted.slick-slider  {
    margin-bottom: 24px;
}
.slick-slide {
  height: auto !important;
}
.slick-slide > div{
  height: 100% !important;
}
.i-slider li{
  width:100%;
  height: 100%;
  position: relative;
}
ul.i-slider:not(.slick-initialized) li:not(:first-child) {
    display: none;
}
.i-slider li video {
  width:100%;
  height: 100%;
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
}
.i-slider li a{
  width:100%;
}
.i-slider .i-slider_image img {
  width: calc(100% - 7.5vw);
  height: 100%;
  float: right;
}
.i-slider li span {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 10%;
    right: 0;
    transform: translateY(-50%);
    color: #fff;
    font-size: 31px;
    padding: 0 50px;
    letter-spacing: .02em;
    font-family: "游ゴシック体 Pr6N B";
    font-weight: bold;
}
.i-slider .i-slider_video img {
    position: absolute;
    bottom: 50px;
    display: block;
    width: 18%;
    margin-left: 9%;
}
.main-dots {
    height: 24px;
}
.main-dots .slick-dots li button {
    position: relative;
    font-size: 0;
    line-height: 0;
    display: block;
    width: 24px;
    height: 4px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
    margin: 10px 0;
}
.main-dots .slick-dots li button:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 24px;
}
.main-dots .slick-dots li button:hover,
.main-dots .slick-dots li button:focus
{
    outline: none;
}
.main-dots .slick-dots li button:hover:before,
.main-dots .slick-dots li button:focus:before
{
    opacity: 1;
}
.main-dots .slick-dots {
    position: unset;
}
.main-dots .slick-dots li {
    height: 100%;
}
.main-dots .slick-dots li {
    width: 24px;
    margin: 0 6px;
    cursor: pointer;
    height: 24px;
}
.main-dots .slick-dots li button {
    padding: 0;
    background: #DDDDDD;
}
.main-dots .slick-dots li button:before {
    font-family: none;
    content: none;
}
.main-dots .slick-dots li.slick-active button {
    background: #242424;
}
.main-dots .slick-dots .slick-sr-only {
    opacity: 0;
    pointer-events: none;
}
.i-slider_buttonWrap {
    display: flex;
    width: 210px;
    margin: 0 auto;
    align-items: center;
}
.i-slider_button {
    border: none;
    width: 24px;
    height: 24px;
    position: unset;
    margin-left: 6px;
    display: block;
}
.i-slider_buttonWrap img {
    display: block;
}

@media (max-width: 767px) {
    .t_mainVisual {
        margin-top: 75px;
        height: auto;
    }
    .i-slider li span {
        width: auto;
        font-size: 20px;
        padding: 0 20px;
        line-height: 1.8;
    }
}

.i-slider .i-slider_video img {
    position: absolute;
    bottom: 22px;
    display: block;
    width: 18%;
    margin-left: 8.9%;
}

@media print, screen and (min-width: 768px) {
    .i-slider video:nth-child(2) {
        display: none!important;
    }
}

@media screen and (max-width: 767px) {
  .i-slider video:nth-child(1) {
        display: none!important;
    }
    .i-slider .i-slider_video img {
        bottom: 24px;
        width: 47%;
        margin-left: 43%;
    }
} 

/*  point_slider
------------------------------------------------*/

.point_slider2 .inner {
    width: calc(100% - 40px);
    max-width: 1160px;
    margin: 0 auto;
    position: relative;
}
.point_slider2 .slider {
    display: flex;
    justify-content: space-between;
    margin-top: 55px;
}
.point_slider2 .item {
    width: calc(25% - 30px);
}
.point_slider2 .title {
    font-size: 18px;
    font-weight: bold;
    margin-top: 10px;
}
.point_slider2 .text {
    font-size: 14px;
    margin-top: 5px;
}

/*  t-news
------------------------------------------------*/

.t-news {
    background: #fff;
    padding: 115px 20px 115px;
}
.t-news .t-news_inner {
    max-width: 1160px;
    margin: 0 auto;
}
.t-news .t-news_inner .t-news_title {
    font-size: 28px;
    font-weight: bold;
}
.news-panel {
    display: flex;
    margin: 20px -18px 0;
}
.news-panel .box {
    width: 362px;
    margin: 0 18px;
}
.news-panel .box a {
    display: flex;
    flex-flow: column;
    height: 100%;
    padding: 27px 32px;
    background: #f7f7f7;
    border: 4px solid #f7f7f7;
    border-radius: 6px;
    transition: all .3s;
}
.news-panel .title {
    overflow: hidden;
    margin-top: 5px;
    font-weight: bold;
    font-size: 18px;
    font-family: "游ゴシック体 Pr6N B", "\6E38\30B4\30B7\30C3\30AF\4F53", "YuGothic", "\6E38\30B4\30B7\30C3\30AF", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "meiryo", "Helvetica Neue", "arial", sans-serif;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.news-panel .text {
    overflow: hidden;
    margin-top: 10px;
    line-height: 1.7;
    font-size: 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.news-panel .image {
    margin-top: auto;
    padding-top: 20px;
}
.news-panel .image img {
    width: 100%;
    transform: none!important;
    border-radius: 8px;
}
.news-panel .link {
    position: relative;
    margin-top: 25px;
    color: #242424;
    font-weight: bold;
    text-decoration: none;
    transition: all .3s;
    text-align: right;
    font-family: "游ゴシック体 Pr6N B";
}
.news-panel .link:after {
    content: '';
    position: relative;
    top: 2px;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 10px;
    background: url(../img/icon_arrow2.svg) no-repeat center / contain;
}
.news-panel .box a[target=_blank] .link:after {
    display: none;
}
.news-panel .box a:hover {
    border-color: #DDDDDD;
}
.news-panel a:hover .link {
    opacity: .7;
}

.news-panel .link img {
    position: relative;
    top: 7px;
    width: 15px;
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    .t-news {
        padding: 75px 20px 100px;
    }
    .t-news .t-news_inner .t-news_title {
        font-size: 24px;
    }
    .t-news .t-news_inner .buttonBox { margin-top: 55px;}
    .news-panel {
        margin: 15px 0 0;
        width: 310px;
    }
    .news-panel .slick-list {
        overflow: visible;
    }
    .news-panel .box {
        flex: 1;
        margin: 0;
        padding-right: 20px;
        height: 100%;
    }
    .news-panel .box a {
        padding: 20px 16px;
    }
    .news-panel .data {
        font-size: 14px;
    }
    .news-panel .title {
        font-size: 16px;
        line-height: 1.8;
    }
    .news-panel .text {
        font-size: 14px;
    }
    .news-panel .image {
        padding-top: 15px;
    }
    .news-panel .link {
        margin-top: 15px;
        font-size: 14px;
    }
    .news-panel .link img {
        display: inline-block;
        top: 5px;
    }
    .dots-news {margin-right: 115px;}
    .dots-news .slide-dots-news li button {
        font-size: 0;
        line-height: 0;
        display: block;
        width: 24px;
        height: 4px;
        padding: 5px;
        cursor: pointer;
        color: transparent;
        border: 0;
        outline: none;
        background: transparent;
    }
    .dots-news .slide-dots-news li button:hover,
    .dots-news .slide-dots-news li button:focus
    {
        outline: none;
    }
    .dots-news .slide-dots-news li button:hover:before,
    .dots-news .slide-dots-news li button:focus:before
    {
        opacity: 1;
    }
    .dots-news .slide-dots-news {
        display: flex;
        justify-content: flex-end;
    }
    .dots-news .slide-dots-news li {
        height: 100%;
    }
    .dots-news .slide-dots-news li {
        width: 20px;
        cursor: pointer;
    }
    .dots-news .slide-dots-news li button {
        padding: 0;
        background: #DDDDDD;
        height: 2px;
    }
    .dots-news .slide-dots-news li.slick-active button {
        background: #242424;
    }

    .arrows-news {
      position: absolute;
      margin: 24px 0;
      margin-right: 42px;
    }
    .arrows-news .slick-prev:before {
      content: url(../img/icon_slider_arrow_black.svg);
      opacity: 1;
      display: block;
    }
    .arrows-news .slick-prev.slick-disabled:before {
      content: url(../img/icon_slider_arrow.svg);
      opacity: 1;
      display: block;
      height: 100%;
    }
    .arrows-news .slick-next:before {
        content: url(../img/icon_slider_arrow_black.svg);
        opacity: 1;
        transform: rotate(180deg);
        display: block;
        height: 100%;
    }
    .arrows-news .slick-next.slick-disabled:before {
      content: url(../img/icon_slider_arrow.svg);
        opacity: 1;
    }
    .arrows-news .slick-prev,
    .arrows-news .slick-next
    {
        width: 36px;
        height: 36px;
    }
    .arrows-news .slick-prev {
        left: -43px;
    }
    .arrows-news .slick-next {
        right: -43px;
    }
    .arrows-news .slick-prev:not(.slick-disabled):hover,
    .arrows-news .slick-next:not(.slick-disabled):hover {
        opacity: .65;
    }
}

/*  t-imageBox
------------------------------------------------*/

.t-imageBox {
    display: flex;
    /* margin: 0 auto; */
    justify-content: flex-end;
    margin-top: 100px;
    align-items: center;
}
.t-imageBox .textBox {
    width: 464px;
}
.t-imageBox .textBox .title {
    font-weight: bold;
    font-size: 28px;
}
.t-imageBox .textBox .title span {
    font-weight: bold;
    font-family: "游ゴシック体 Pr6N B";
    font-size: 18px;
    display: block;
}
.t-imageBox .textBox .text {
    font-size: 15px;
    margin-top: 20px;
    line-height: 1.8;
}
.t-imageBox .image {
    width: calc(50% + 210px);
    margin-left: 78px;
    margin-right: -210px;
}

@media (max-width: 767px) {
    .t-imageBox {
        margin-top: 90px;
        flex-flow: column;
        flex-direction: column-reverse;
    }
    .t-imageBox .textBox {
        width: calc(100% - 40px);
        margin-top: 25px;
    }
    .t-imageBox .textBox .title {
        font-size: 24px;
    }
    .t-imageBox .textBox .title span {
        font-size: 16px;
    }
    .t-imageBox .textBox .text {
        font-size: 14px;
    }
    .t-imageBox .image {
        position: relative;
        left: 63px;
        width: calc(100% + 86px);
        margin: 0;
    }
}

/*  t-panel-2column
------------------------------------------------*/
.t-panel-2column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 100px;
}
.t-panel-2column .box:nth-child(n+3) {
    margin-top: 20px;
}
.t-panel-2column .box {
    width: calc(50% - 12px);
}
.t-panel-2column .box a {
    display: block;
    height: 100%;
    padding: 30px 32px 29px;
    background: #fff;
    border: 4px solid #FFF;
    border-radius: 6px;
    transition: all .3s;
}
.t-panel-2column .box .title {
    font-size: 22px;
    font-weight: bold;
    padding-left: 65px;
    position: relative;
}
.t-panel-2column .box .title:before {
    background-size: cover;
    content: '';
    display: block;
    height: 48px;
    left: 0;
    position: absolute;
    top: 48%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 48px;
}
.t-panel-2column .box .title-event:before {
    background-image: url(../img/icon_event.svg);
    background-position: left;
}
.t-panel-2column .box .title-concierge:before {
    background-image: url(../img/icon_concierge.svg);
    background-position: left;
}
.t-panel-2column .box .title-museum:before {
    background-image: url(../img/icon_museum.svg);
    background-position: left;
}
.t-panel-2column .box .title-idea:before {
    background-image: url(../img/icon_idea.svg);
    background-position: left;
}
.t-panel-2column .box .text {
    font-size: 15px;
    margin-top: 20px;
    line-height: 1.6;
}
.t-panel-2column .box .link {
    position: relative;
    margin-top: 18px;
    color: #242424;
    font-family: "游ゴシック体 Pr6N B";
    text-decoration: none;
    transition: all .3s;
    text-align: right;
}
.t-panel-2column .box .link:after {
    content: '';
    position: relative;
    top: 2px;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-left: 10px;
    background: url(../img/icon_arrow2.svg) no-repeat center / contain;
}
.t-panel-2column .box a[target=_blank] .link:after {
    display: none;
}
.t-panel-2column .box a:hover {
    border-color: #DDDDDD;
}
.t-panel-2column .box a:hover .link {
    opacity: .7;
}
.t-panel-2column .box .link img {
    position: relative;
    top: 3px;
    width: 15px;
    margin-left: 10px;
}

@media (max-width: 767px) {
    .t-panel-2column {
        flex-direction: column;
        margin-top: 60px;
    }
    .t-panel-2column .box {
        width: 100%;
    }
    .t-panel-2column .box:not(:first-child) {
        margin-top: 20px;
    }
    .t-panel-2column .box a {
        padding: 20px;
    }
    .t-panel-2column .box .title {
        font-size: 19px;
        padding-left: 50px;
    }
    .t-panel-2column .box .title:before {
        background-size: 38px;
        background-repeat: no-repeat;
    }
    .t-panel-2column .box .text {
        font-size: 14px;
        margin-top: 20px;
    }
    .t-panel-2column .box .link {
        font-size: 14px;
    }
}

/*  t-panel-3column
------------------------------------------------*/
.t-panel-3column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 95px -18px 0;
}
.t-panel-3column .box {
    width: calc(100% / 3);
    background: #fff;
    border-radius: 6px;
    padding: 0 18px;
}
.t-panel-3column .box .title {
    font-size: 18px;
    font-weight: bold;
    margin-top: 20px;
}
.t-panel-3column .box .text {
    font-size: 15px;
    margin-top: 13px;
}
.t-panel-3column .box .link {
    font-size: 15px;
    margin-top: 10px;
}
.t-panel-3column .base-button a {
    position: relative;
    width: 100%;
    max-width: 366px;
    padding: 17px 74px 17px 43px;
    text-align: center;
    text-decoration: none;
    border-radius: 2px;
    line-height: 1.6;
}
.t-panel-3column .base-button {
    display: inline-block;
}
.t-panel-3column.radius .box .image img {
    border-radius: 8px;
}

@media (max-width: 767px) {
    .t-panel-3column {
        margin-top: 80px;
    }
    .t-panel-3column .box {
        width: 100%;
    }
    .t-panel-3column .box:not(:first-child) {
        margin-top: 80px;
    }
    .t-panel-3column .box .title {
        font-size: 24px;
    }
    .t-panel-3column .box .text {
        font-size: 14px;
        margin-top: 13px;
    }
}

/*  t-graybox
------------------------------------------------*/

.t-graybox {
    background: #f7f7f7;
    padding: 25px 36px 35px;
    display: flex;
    margin-top: 100px;
}
.t-graybox .textBox {
    width: 757px;
}
.t-graybox .title {
    font-size: 22px;
    font-weight: bold;
}
.t-graybox .text {
    margin-top: 5px;
    font-size: 15px;
    line-height: 1.8;
}
.t-graybox .t-link {
    margin-top: 15px;
    font-family: "游ゴシック体 Pr6N B";
}
.t-graybox .t-link li {
    margin-top: 5px;
}
.t-graybox .t-link li a img {
    top: 9px;
}
.t-graybox .image {
    margin-left: 48px;
}

@media (max-width: 767px) {
    .t-graybox {
        flex-flow: column;
        padding: 20px;
        margin-top: 80px;
    }
    .t-graybox .textBox {
        width: 100%;
    }
    .t-graybox .title {
        font-size: 20px;
    }
    .t-graybox .text {
        font-size: 14px;
    }
    .t-graybox .t-link {
        font-size: 14px;
    }
    .t-graybox .t-link li a img {
        top: 6px;
    }
    .t-graybox .image {
        margin: 20px 0 0;
    }
    .t-graybox .image img {
        width: 100%;
    }
}

/*  slider
------------------------------------------------*/

.slider {
    margin-top: 90px;
    margin: 55px -18px;
}
.slider a {
    position: relative;
}
.slider .title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    width: 90%;
    line-height: 1.6;
}
.slider .title span {
    display: inline-block;
    font-size: 15px;
    border: 1px solid #fff;
    border-radius: 50px;
    padding: 3px 20px;
    margin-top: 15px;
}
.slider .image {
    overflow: hidden;
    width: 263px;
    height: 263px;
    display: block;
    border-radius: 6px;
}
.slider a.image {
    position: relative;
}
.slider a.image:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    
    pointer-events: none;
    transition: .3s;
}
.slider a.image:hover:before {
    background: rgba(0,0,0,.3);
}

.slider a.image:after {
    content: "";
    background: url(../img/icon_arrow_white.svg) no-repeat left center;
    width: 22px;
    height: 22px;
    position: absolute;
    bottom: 15px;
    right: 15px;
}
.slider a.image[target=_blank]:after,
.slider a.image.pbOpenNewWindow:after {
    display: none;
}
.slider a.image img:last-child {
    width: 22px;
    height: 22px;
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.slider .slick-list {
    overflow: visible;
}
.slider .slick-slide {
    width: 263px;
    margin: 0 18px;
}
.slider .text {
    margin-top: 21px;
    font-size: 15px;
    font-family: "游ゴシック体 Pr6N M";
    line-height: 1.6;
}
.slider .link {
    font-weight: bold;
    margin-top: 15px;
    display: block;
}
.dots {margin-right: 110px;}
.dots .slide-dots2 li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 24px;
    height: 4px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.dots .slide-dots2 li button:hover,
.dots .slide-dots2 li button:focus
{
    outline: none;
}
.dots .slide-dots2 li button:hover:before,
.dots .slide-dots2 li button:focus:before
{
    opacity: 1;
}
.dots .slide-dots2 {
    display: flex;
    justify-content: flex-end;
}
.dots .slide-dots2 li {
    height: 100%;
}
.dots .slide-dots2 li {
    width: 77px;
    cursor: pointer;
}
.dots .slide-dots2 li button {
    padding: 0;
    background: #DDDDDD;
    height: 4px;
    margin: 8px 0;
    width: 100%;
}
.dots .slide-dots2 li.slick-active button {
    background: #242424;
}
.arrows {
    position: absolute;
    right: 42px;
    bottom: 10px;
}
.slick-prev:before,
.slick-next:before {
    color: #000 !important;
} 
.arrows .slick-prev:before {
    content: url(../img/icon_slider_arrow_black.svg);
    opacity: 1;
    display: block;
}
.arrows .slick-prev.slick-disabled:before {
   content: url(../img/icon_slider_arrow.svg);
   opacity: 1;
   display: block;
   height: 100%;
}
.arrows .slick-next:before {
    content: url(../img/icon_slider_arrow_black.svg);
    opacity: 1;
    transform: rotate(180deg);
    display: block;
    height: 100%;
}
.arrows .slick-next.slick-disabled:before {
    content: url(../img/icon_slider_arrow.svg);
    opacity: 1;
}
.arrows .slick-prev,
.arrows .slick-next
{
    width: 36px;
    height: 36px;
}
.arrows .slick-prev {
    left: -42px;
}
.arrows .slick-next {
    right: -42px;
}
.arrows .slick-prev:not(.slick-disabled):hover,
.arrows .slick-next:not(.slick-disabled):hover {
    opacity: .65;
}
.buttonBox {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.slider .t-link {
    margin-top: 15px;
    font-family: "游ゴシック体 Pr6N B";
}
.slider .t-link a:after {
    margin-left: 7px;
}

@media (max-width: 767px) {
    .slider {
        margin: 45px 0;
        width: 270px;
    }
    .slider .slick-slide {
        width: 270px!important;
        margin: 0;
        padding-right: 20px;
    }
    .slider .image {
        width: 250px;
        height: 250px;
    }
    .slider .title {
        font-size: 16px;
    }
    .slider .text {
        margin-top: 16px;
        font-size: 14px;
        line-height: 1.8;
    }
    .slider .t-link {
        font-size: 14px;
    }
   .dots .slide-dots2 li {
        width: 25px;
    }
   .dots .slide-dots2 li button {
        height: 2px;
    }
}

/*  footer
========================================================================*/

/*  footer_content
------------------------------------------------*/

.t-footer_content {
    background: #fff;
}
.t-footer_content > div {
    padding: 76px 0 80px;
}
.t-wrapper {
    margin: 0 auto;
    position: relative;
    max-width: 1160px;
    width: calc(100% - 40px);
}
.t-footer_menu {
    display: flex;
    justify-content: space-between;
}
.t-footer_menu .t-footer_menu_item {
    width: calc(33.3% - 24px);
}
.t-footer_menu .textLink:not(:first-child){
    margin-top: 46px;
}
.t-footer_menu .textLink + .textLink {
    margin-top: 30px;
}
.t-footer_menu .textLink {
    padding-bottom: 12px;
    border-bottom: 1px solid #242424;
    font-size: 18px;
    transition: .3s;
    font-family: "游ゴシック体 Pr6N B";
    letter-spacing: 0.1em;
}
.t-footer_menu .textLink a {
    width: 100%;
    display: block;
    padding-bottom: 16px;
    margin-bottom: -16px;
}
.t-footer_menu .textLink a {
    background: url(../img/icon_arrow.svg) no-repeat right 18px top 2px;
    background-size: 18px;
}
.t-footer_menu .textLink a:hover {
    opacity: .65;
}
.t-footer_menu .navTitle {
    font-size: 18px;
    margin-top: 30px;
    font-family: "游ゴシック体 Pr6N B";
    color: #747480;
}
ul.t-footer_nav {
    margin-top: 16px;
}
ul.t-footer_nav li {
    margin-top: 9px;
    font-weight: bold;
    font-family: "游ゴシック体 Pr6N B";
}
.nav_textLink {
    font-weight: bold;
    font-size: 12px;
}
.nav_textLink a:before,
.nav_textLink a:after {
    content: '';
    position: relative;
    top: 2px;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 5px;
}
.nav_textLink a:before {
    background: url(../img/icon_footer_arrow.svg) no-repeat center / contain;
}
.nav_textLink a img {
    position: relative;
    top: 7px;
    margin-left: 8px;
}

.nav_textLink a:hover {
    opacity: .65;
}

ul.t-footer_navList {
    margin-top: 16px;
}
.t-footer_navList_inner:not(:first-child) {
    margin-top: 13px;
}
.t-footer_navList_inner {
    display: flex;
}
.t-footer_navList_inner ul.t-footer_nav {
    margin-top: 0px;
}
.t-footer_navList_inner ul.t-footer_nav .nav_textLink:first-child {
    margin-top: 0;
}
.t-footer_navList_inner .navTitle_small {
    width: 70px;
    font-size: 15px;
    font-family: "游ゴシック体 Pr6N B";
}
.t-boxLink_english {
    background: #eee;
    display: inline-block;
}
.t-boxLink_english a {
    background: url(../img/icon_globe.svg) no-repeat left center;
    background-size: 15px;
    background-position: 15px 10px;
    display: block;
    padding: 3px 15px 3px 37px;
    font-size: 15px;
    font-family: "游ゴシック体 Pr6N B";
    letter-spacing: .6px;
}
.t-boxLink_english a:hover {
    opacity: .65;
}

.footer_sns {
    margin-top: 60px;
}
.t-snsNavi {
    float: right;
    display: flex;
    align-items: center;
}
.t-snsNavi_list {
    display: flex;
}
.t-snsNavi_list .t-snsButton {
    margin: 0 6px;
}
.t-snsNavi .t-link {
    margin-top: 0;
    margin-left: 31px;
    font-family: "游ゴシック体 Pr6N B";
}
.t-snsNavi_list .t-snsButton a:hover {
    opacity: .65;
}

@media (max-width: 767px) {
    .t-footer_content > div {
        padding: 0 0 45px;
    }
    .t-footer_content .t-global-sp .global-menu {
        border-top: none;
    }
    .t-wrapper {
        width: 100%;
    }
    .footer_sns {
        display: flex;
        flex-flow: column;
        flex-direction: column-reverse;
        align-items: center;
        margin-top: 50px;
    }
    .t-boxLink_english {
        margin-top: 50px;
    }
    .t-snsNavi {
        flex-flow: column;
    }
    .t-snsNavi_list li img {
        width: 41px;
    }
    .t-snsNavi .t-link {
        margin: 13px 0 0;
        font-size: 14px;
        font-family: "游ゴシック体 Pr6N B";
    }
}

/*  t-footer_content-bottom
------------------------------------------------*/

.t-footer_content-bottom {
    background: #3C3B40;
}
.t-footer_content-bottom > div {
    padding: 60px 0 50px;
    color: #fff;
}
.t-footer_content-bottom_inner {
    padding: 60px 0;
    color: #fff;
}
.t-footer-logo {
    width: 140px;
    float: left;
}
.t-footer-logo a {
    width: 100%;
    height: 100%;
}
.t-footer-bottom_list {
    float: right;
    color: #fff;
    width: 50%;
}
.t-footer-accordionNavi:not(:first-child) {
    margin-top: 14px;
}
.t-accordionNavi_button {
    border:none;
    font-size: 15px;
    font-family: "游ゴシック体 Pr6N B";
}
.t-accordionNavi_button:after {
    content: '';
    position: relative;
    top: 2px;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 5px;
    background: url(../img/icon_open.png) no-repeat center / contain;
}
.t-accordionNavi_button:hover {
    opacity: .65;
}
.t-accordionNavi_button.active:after {
    background: url(../img/icon_close.png) no-repeat center / contain;
}
.t-accordionNavi_content {
    display: none;
    margin-top: 8px;
}
.t-accordionNavi_content .column2 {
    display: flex;
}
.t-accordionNavi_content .column2 .t-accordionNavi_box:first-child {
    margin-right: 80px;
}
.t-accordionNavi_content .textLink:not(:first-child) {
    margin-top: 2px;
}
.t-accordionNavi_content .textLink a {
    color: #fff;
    font-size: 12px;
}
.t-accordionNavi_content .textLink a img {
    width: 12px;
    margin-left: 8px;
    vertical-align: text-bottom;
}
.t-accordionNavi_content .textLink :hover {
    opacity: .65;
}
@media (max-width: 767px) {
    .t-footer_content-bottom > div {
        padding: 35px 20px 50px;
    }
    .t-footer-menu {
        display: flex;
        flex-flow: column;
        flex-direction: column-reverse;
    }
    .t-footer-logo {
        margin: 50px auto 0;
    }
    .t-footer-bottom_list {
        width: 100%;
        border-top: 1px solid #fff;
    }
    .t-footer-accordionNavi:not(:first-child) {
        margin-top: 0;
    }
    .t-footer-accordionNavi {
        border-bottom: 1px solid #fff;
    }
    .t-accordionNavi_button {
        position: relative;
        padding: 13px 0;
        font-size: 16px;
        width: 100%;
        text-align: left;
    }
    .t-accordionNavi_button:after {
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 20px;
    }
    .t-accordionNavi_content {
        padding-bottom: 20px;
    }
    .t-accordionNavi_content .column2 {
        flex-flow: column;
    }
    .t-accordionNavi_content .column2 .t-accordionNavi_box:first-child {
        margin-right: 0;
        margin: 0 0 5px;
    }
    .t-accordionNavi_content .textLink a {
        font-size: 14px;
    }
    .t-accordionNavi_content .textLink a img {
        width: 12px;
        margin-left: 9px;
        position: relative;
        top: -3px;
    }
}

/*  newsrelease
------------------------------------------------*/

.b-m-tabBox_content {
    padding-bottom: 120px;
} 
.b-a-wrapper {
    margin: 0 auto;
    position: relative;
    max-width: 1160px;
    width: calc(100% - 40px);
}
.b-m-tabBox_content .b-a-heading_h2 {
    margin-bottom: 25px;
}
.b-a-heading_h2 {
    font-size: 28px;
    letter-spacing: .59px;
    font-weight: bold;
}
.b-m-newsLinks_list {
    border-top: 1px solid #DDDDDD;
    display: block;
    height: 100%;
    padding: 23px 0;
    position: relative;
    text-decoration: none;
    width: 100%;
}
li:last-child .b-m-newsLinks_list {
    border-bottom: 1px solid #DDDDDD;
}
.b-m-newsLinks_list:hover {
    opacity: .65;
}
.b-m-newsLinks_date {
    margin-right: 25px;
    color: #747480;
}
.b-m-newsLinks_date, .b-m-newsLinks_category, .b-m-newsLinks_title, .b-m-newsLinks_new {
    display: inline-block;
    vertical-align: top;
}
.b-m-newsLinks_date p {
    color: #747480;
    font-size: 15px;
}
.b-m-newsLinks_category {
    background: #F7F7F7;
    height: 22px;
    letter-spacing: .32px;
    margin-right: 12px;
    padding: 0 15px;
    text-align: center;
    min-width: 128px;
    font-size: 12px;
    line-height: 1.9;
    margin-top: 3px;
}
.b-m-newsLinks_category p {
    height: 100%;
}
.b-m-newsLinks_title {
    width: 78.6%;
    width: calc(100% - 320px);
    font-size: 15px;
}
.b-m-newsLinks_title .new {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #3b3b41;
    color: #ffffff;
    font-weight: bold;
    font-family: "Helvetica Neue", "arial", sans-serif;
    font-size: 12px;
    padding: 4px 18px;
}

@media (max-width: 767px) {
    .b-m-tabBox_content {
        padding: 0 20px 80px;
    } 
    .b-a-wrapper {
        width: 100%;
    }
    .b-m-tabBox_content .b-a-heading_h2 {
        margin-bottom: 20px;
    }
    .b-a-heading_h2 {
        font-size: 24px;
    }
    .b-m-newsLinks_list {
        padding: 20px 0;
    }
    .b-m-newsLinks_date {
        margin-right: 10px;
    }
    .b-m-newsLinks_title {
        width: 100%;
        margin-top: 5px;
        font-size: 14px;
    }
    .b-m-newsLinks_title .new {
        position: static;
        display: inline-block;
        transform: translateY(1px);
        font-size: 11px;
        margin-left: 15px;
        padding: 4px 15px;
    }
}

/*  t-footerBottom
------------------------------------------------*/
.t-footerBottom {
    margin-top: 60px;
}
ul.t-footerBottom_links {
    display: flex;
    color: #fff;
    margin: 0 -16px;
    float: left;
}
.t-footerBottom_links .link {
    color: #fff;
    margin: 0 16px;
}
.t-footerBottom_links .link a {
    color: #fff;
    font-size: 12px;
}
.t-footerBottom_links .link a:hover {
    opacity: .65;
}

.t-footerBottom_copyright {
    float: right;
    color: #fff;
    font-size: 12px;
}
@media (max-width: 767px) {
    .t-footerBottom {
        margin-top: 60px;
    }
    ul.t-footerBottom_links {
        flex-flow: column;
        float: none;
    }
    .t-footerBottom_links .link a {
        font-size: 14px;
    }   
    .t-footerBottom_copyright {
        float: none;
        margin-top: 30px;
        color: #fff;
        font-size: 11px;
    }
}

/*  t-buttonset
------------------------------------------------*/

.t-buttonset:not(:first-child) {
    margin-top: 15px;
}
.t-buttonset {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -15px;
}
.t-buttonset .t-button {
    width: calc(50% - 24px);
    margin: 0 12px;
}
.t-buttonset .t-button button {
    width: 100%;
    margin: 0 12px;
}
@media (max-width: 767px) {
    .t-buttonset:not(:first-child) {
        margin-top: 23px;
    }
    .t-buttonset {
        flex-flow: column;
    }
    .t-buttonset .t-button {
        width: 100%;
        margin: 0;
    }
    .t-buttonset .t-button:not(:first-child) {
        margin-top: 10px;
    }
    .t-buttonset .t-button button {
        width: 100%;
        margin: 0 12px;
    }
}

/*  t-buttonset
------------------------------------------------*/

.t_modal.t-button > button {
  padding: 15px 58px 15px 58px;
}
.t_modal.t-button button:after {
    display:none;
}
.t_modal.t-button button img {
    position: relative;
    top: 3px;
    margin-left: 12px;
    width: 15px;
}
.t_modal-content {
    background: #fff;
    padding: 40px 48px;
    border-radius: 12px;
    max-width: 1080px;
    margin: 0 auto;
    position: relative;
    font-family: "游ゴシック体 Pr6N B";
}
.t_modal-content button.close-btn {
    position: absolute;
    top: 46px !important;
    right: 46px;
    border: none;
    width: 20px;
    height: 20px;
    display: inline-block;
}
.t_modal-content button.close-btn img {
    display: block;
}
ul.t_prefecture-list {
    margin-top: 26px;
}
.t_prefecture-list .links:not(:first-child) {
    margin-top: 10px;
}
.t_prefecture-list .links {
    display: flex;
}
.t_prefecture-list .links .title {
    font-weight: bold;
    color: #747480;
    font-size: 15px;
    width: 114px;
}
.t_prefecture-list .links ul {
    display: flex;
}
.t_prefecture-list .links .textLink {
    font-weight: bold;
    width: 67px;
    font-size: 15px;
    margin-right: 12px;
}
.t_prefecture-list .links .textLink a {
    position: relative;
}
.t_prefecture-list .links .textLink a:before {
    background: url(../img/icon_textlink_arrow.png) no-repeat center / contain;
    content: '';
    position: relative;
    top: 2px;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 5px;
}
.t_modal-content .t-link {
    margin-top: 30px;
}
.t_prefecture-list .links ul li a:hover {
    opacity: .65;
}
@media (max-width: 767px) {
    .t_modal.t-button > button {
        padding: 15px;
    }
    .t_modal-content {
        width: calc(100% - 28px)!important;
        height: calc(100vh - 180px) !important;
        overflow: auto;
        border-radius: 8px;
        padding: 25px;
        line-height: 1.6;
    }
    .t_modal-content button.close-btn {
        top: 30px !important;
        right: 20px;
    }
    ul.t_prefecture-list {
        margin-top: 11px;
    }
    .t_prefecture-list .links:not(:first-child) {
        margin-top: 10px;
    }
    .t_prefecture-list .links {
        flex-flow: column;
    }
    .t_prefecture-list .links .title {
        margin: 13px 0 10px;
        font-size: 14px;
        width: 100%;
    }
    .t_prefecture-list .links ul {
        flex-wrap: wrap;
        gap: 10px;
    }
    .t_prefecture-list .links .textLink {
        font-size: 16px;
        margin-right: 0;
        width: calc((100% / 3) - 10px + (10px / 3));
    }
    .t_modal-content .t-link {
        font-size: 14px;
    }
}

/*  t_animation
------------------------------------------------*/

.pbPage:not(.edit) .t_animation {
    opacity: 0;
}
.pbPage:not(.edit) .t_animation.animation {
    animation: fade-in .8s ease-in-out 0s forwards;
}
@keyframes fade-in {
    0% {opacity: 0; transform: translateY(100px);}
    100% {opacity: 1; transform: translateY(0);}
}
.t-searchNavi_form {
    margin-top: 16px;
}
.t-input {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 3px 0 0 3px;
    font-size: 13px;
    padding: 8px 45px 8px 15px;
    height: 57px;
    flex: 1;
}
.t-searchNavi .t-searchButton_submit {
    position: absolute;
    right: 0;
    top: 0;
}
.t-searchButton_submit {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 57px;
    width: 100px;
    background: #3B3B41;
    border: none;
    border-radius: 0px 3px 3px 0px;
}
button.t-searchButton_submit:hover {
    opacity: .85;
}
.t-searchNavi_suggest {
    border-left: 1px solid #e9e9e9;
    border-right: 1px solid #e9e9e9;
    display: none;
    position: absolute;
    top: 100%;
    width: 100%;
}
.t-searchNavi_suggest .t-searchButton_suggest {
    border-bottom: 1px solid #e9e9e9;
}
.t-searchButton_suggest {
    background: #ffffff url(/library/img/common/icon_search.png) no-repeat right 14px center;
    background-size: 10px;
    padding: 8px 15px;
    text-align: left;
    width: 100%;
}

.t-searchNavi_form-content {
    border-radius: 2px;
    width: 100%;
    display: flex;
}
ul.slide-dots button:focus-visible {
    outline: 2px solid#2257b2!important;
}
ul.slide-dots2 button:focus-visible {
    outline: 2px solid#2257b2!important;
}
button.slick-arrow:focus-visible {
    outline: 2px solid#2257b2!important;
}

/*  nav_textLink-only
------------------------------------------------*/

.nav_textLink-only {
    margin-top: 35px;
    font-weight: bold;
    font-family: "游ゴシック体 Pr6N B";
    font-size: 12px;
}
.nav_textLink-only:before {
    background: url(../img/icon_footer_arrow.svg) no-repeat center / contain;
    content: '';
    position: relative;
    top: 2px;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 5px;
}
.nav_textLink-only a:hover {
    opacity: .65;
}

.main-dots .slick-dots li button:focus {
    outline: 2px solid #255fc3;
}

/*  news list
------------------------------------------------*/

.b-m-newsLinks .text .pdf_size {
    position: relative;
    display: inline-block;
    top: -1px;
    margin-left: 8px;
    padding-left: 0px;
    color: #919191;
    font-size: 12px;
    line-height: 30px;
}
.b-m-newsLinks .text .pdf_size img {
    width: 15px;
    margin-right: 5px;
    margin-top: 6px;
}
.b-m-tabBox_content_accessibility a[target="_blank"] .article .icon-external {
    position: relative;
    top: 6px;
    width: 1em;
    height: 1em;
    margin-left: 5px;
    display: inline-block;
    vertical-align: inherit;
}