@charset "UTF-8";
:root {
    --acc-color: #003184;
    --moji-color: #111;
    --blk-color: #071F31;
    --red-color: #e52d27;
    --bg-color: #F0F5F7;
    --bdr-color: #E8E8E8;
    --table-bg-color: #EFF2F7;
    --table-bdr-color: #D8D8D8;
    --table-green-color: #FAFFD8;
    --table-blue-color: #EDFAFF;
    --table-gray-color: #F0F0F0;
    --topics-hover-color: #f8f8f8;
    --opacity: .7;
    --radius-btn: 6px;
    --radius-bnr: 10px;
    --radius-base: 15px;
    --radius-img: 20px;
    --maxwidth:1400px;
    --maxwidth-s:1100px;
    --anim-s01:0.03s;
    --anim-s02:0.2s;
    --delay01:0.5s;
    --delay02:0.2s;
    --delay03:0.3s;
}

/* =========================================================import========================================================= */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
  overflow-x: hidden;
}
body.top {
  display: inherit;
}
svg {
  display: block;
  width: 100%;
}
img {
  width: 100%;
  height: auto;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
nav ul, ul li {
  list-style: none;
}
ol ol {
  list-style: decimal inside;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: #ff9;
  color: var(--moji-color);
  text-decoration: none;
}

/* change colours to suit your needs */

mark {
  background-color: #ff9;
  color: var(--moji-color);
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
textarea {
  resize: vertical;
}
sup {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

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

html {
  font-size: 62.5%;
  /*10px*/
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  font-family:'Inter', Verdana, Helvetica, Arial, sans-serif;
  font-size: clamp(1.4rem, 1.218rem + 0.78vw, 1.8rem);
  line-height: 2;
  color: #111;
  width: 100%;
}
.fs-45 {font-size: 4.5rem}
.fs-32 {  font-size: clamp(2rem, 1.455rem + 2.33vw, 3.2rem);}

.fs-130 {  font-size: 13rem;}
.fs-125 {  font-size: 12.5rem;}
.fs-120 {  font-size: 12rem;}
.fs-110 {  font-size: 11rem;}
.fs-90 {  font-size: 9rem;}
.fs-80 {  font-size: 8rem;}
.fs-70 {  font-size: 7rem;}
.fs-60 {  font-size: 6rem;}
.fs-50 {  font-size: 5rem;}
.fs-40 {  font-size: 4rem;}
.fs-36 {  font-size: 3.6rem;}
.fs-30 {  font-size: 3rem;}
.fs-26 {  font-size: 2.6rem;}
.fs-24 {  font-size: 2.4rem;}
.fs-22 {  font-size: 2.2rem;}
.fs-20 {  font-size: 2rem;}
.fs-18 {  font-size: 1.8rem;}
.fs-16 {  font-size: 1.6rem;}
.fs-14 {  font-size: 1.4rem;}
.fs-13 {  font-size: 1.3rem;}
.fs-12 {  font-size: 1.2rem;}
@media screen and (max-width:1200px) {
    body {
        font-size: calc(1.5rem + ((1vw - 0.375rem) * 0.3636));
        min-height: 0vw;
    }
    .fs-130 { 
        font-size: calc(4.4rem + ((1vw - 0.375rem) * 10.4242));
        min-height: 0vw;
    }
    .fs-125 {  
        font-size: calc(4.4rem + ((1vw - 0.375rem) * 9.8182));
        min-height: 0vw;
    }
    .fs-120 { 
         font-size: calc(4rem + ((1vw - 0.375rem) * 9.697));
        min-height: 0vw;
    }
    .fs-110 { 
         font-size: calc(3.8rem + ((1vw - 0.375rem) * 8.7273));
        min-height: 0vw;
    }
    .fs-90 { 
        font-size: calc(3.6rem + ((1vw - 0.375rem) * 6.5455));
        min-height: 0vw;
    }
    .fs-80 { 
       font-size: calc(3.4rem + ((1vw - 0.375rem) * 6.5455));
        min-height: 0vw;
    }
    .fs-70 {
        font-size: calc(3.2rem + ((1vw - 0.375rem) * 4.6061));
        min-height: 0vw;
    }
    .fs-60 {
        font-size: calc(3rem + ((1vw - 0.375rem) * 3.6364));
        min-height: 0vw;
    }
    .fs-50 {
        font-size: calc(2.6rem + ((1vw - 0.234375rem) * 4.2431));
        min-height: 0vw;
    }
    .fs-45 {
        font-size: calc(2.45rem + ((1vw - 0.48rem) * 2.8472));
        min-height: 0vw;
    }
    .fs-40 {
        font-size: calc(2.4rem + ((1vw - 0.375rem) * 1.697));
        min-height: 0vw;
    }
    .fs-36 {
        font-size: calc(2.0rem + ((1vw - 0.375rem) * 1.4545));
        min-height: 0vw;
    }
    .fs-30 {
        font-size: calc(1.8rem + ((1vw - 0.375rem) * 1.2121));
        min-height: 0vw;
    }
    .fs-26 {
        font-size: calc(1.7rem + ((1vw - 0.375rem) * 0.9697));
        min-height: 0vw;
    }
    .fs-24 {
        font-size: calc(1.6rem + ((1vw - 0.375rem) * 0.9697));
        min-height: 0vw;
    }
    .fs-22 {
        font-size: calc(1.55rem + ((1vw - 0.375rem) * 0.7273));
        min-height: 0vw;
    }
    .fs-20 {
        font-size: calc(1.5rem + ((1vw - 0.375rem) * 0.4848));
        min-height: 0vw;
    }
    .fs-18 {
        font-size: calc(1.3rem + ((1vw - 0.375rem) * 0.3636));
        min-height: 0vw;
    }
    .fs-16 {
        font-size: calc(1.25rem + ((1vw - 0.375rem) * 0.2424));
        min-height: 0vw;
    }
    .fs-14 {
        font-size: calc(1.2rem + ((1vw - 0.375rem) * 0.1212));
        min-height: 0vw;
    }
    .fs-13 {
        font-size: calc(1.2rem + ((1vw - 0.375rem) * 0.1212));
        min-height: 0vw;
    }
    .h1__ttl.fs-40{
        font-size: calc(1.3rem + ((1vw - 0.375rem) * 3.2727));
        min-height: 0vw;  
    }
}


p {
  margin: 10px 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
  line-height: 2;
}
@media (max-width: 767px) {
  p {
    margin: 5px 0;
    line-height: 1.8;
  }
}
h1{color: var(--acc-color);}
h1,h2,h3 { line-height: 1.3;}

.lh-12{line-height: 1.2!important}
.lh-13{line-height: 1.3!important}
.lh-14{line-height: 1.4!important}
.lh-15{line-height: 1.5!important}
.lh-16{line-height: 1.6!important}
a {
  text-decoration: none;
  color: var(--acc-color);
}
a:visited { color: var(--acc-color);}
a:hover {color: var(--acc-color);}
a:hover.opacity,a:hover .opacity{
    opacity: var(--opacity)
}
a:hover.ltrspace,a:hover .ltrspace{
    letter-spacing: 2px;
}

@media (max-width: 767px) {
  a:hover { color: var(--moji-color); }
}
a.link-wh { color: white;}
a.link-wh:hover {
  color: white;
  text-decoration: underline;
}
a:active { color: var(--acc-color);}
a.link-ul { text-decoration: underline;}
a.link-ul:hover { text-decoration: none;}
a.link-no-ul { text-decoration: none;}
a.link-no-ul:hover { text-decoration: underline;}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
main {  background: white;}
main.fixed {  margin-top: 137px; }

img.img_sp {
  max-width: 100%;
  height: auto;
  zoom: 1;
}
.bold {  font-weight: bold;}
.normal {  font-weight: normal;}
.fw-700 {  font-weight: 700;}
.fw-600 {  font-weight: 600;}
.fw-400 {  font-weight: 400;}
.fw-300 {  font-weight: 300;}
.ta-c {  text-align: center!important;}
.ta-r {  text-align: right!important;}
.ta-l {  text-align: left!important;}

.pt-none{padding-top: 0 !important;}
.pb-none{padding-bottom: 0 !important;}
.mt-2em {  margin-top: 2em !important;}
.mt-4em {  margin-top: 4em !important;}
.mb-none {  margin-bottom: 0 !important;}
.mb-1em {  margin-bottom: 1em !important;}
.mb-2em {  margin-bottom: 2em !important;}
.mb-3em {  margin-bottom: 3em !important;}
.mb-4em {  margin-bottom: 4em !important;}
.mt-0,.mt-none {  margin-top: 0 !important; }
.mt-1em,.mt-tiny {  margin-top: 1em !important; }
.mt-1_5em,.mt-small {  margin-top: 1.5em !important; }
.mt-3em,.mt-medium {  margin-top: 3em !important; }
.mt-large {  margin-top: 5em !important; }
.mt-fuge {  margin-top: 7em !important; }

/* 連続マージン */
.list-mt-none > * {  margin-top: 0; }
.list-mt-tiny > * {  margin-top: 1em; }
.list-mt-small > * {  margin-top: 1.5em; }
.list-mt-medium > * {  margin-top: 3em; }
.list-mt-large > * {  margin-top: 5em; }
.list-mt-fuge > * {  margin-top: 7em; }

/* テキスト位置 */
.text-right {  text-align: right; }
.text-center {  text-align: center; }
.text-left {  text-align: left; }

/* テキストサイズ */
.font-tiny {  font-size: 75%; }
.font-small {  font-size: 88%; }
.font-large {  font-size: 120%; }
.font-huge {  font-size: 140%; }

.txt-in-1em {  text-indent: 1em;}
.li-crc li {
  list-style: circle;
  margin-left: 1.5em;
}
.br-sp {  display: none;}
@media (max-width: 767px) {
  .br-sp {  display: block;}
    .mt-medium {  margin-top: 2.5em !important; }
}
.br-tbsp {  display: none;}
@media (max-width: 1100px) {
  .br-tbsp {  display: block;}
}
.br-tb {  display: block;}
@media (max-width: 1100px) {
  .br-tb {  display: none;}
}
.br-pc { display: block;}
@media (max-width: 767px) {
  .br-pc { display: none;}
}
.bdr_none { border-bottom: none !important;}
.bdr_btm {
  border-bottom: solid 1px #ccc;
  padding-bottom: 3.5em;
}
.img-auto { text-align: center;}
.img-auto img, img.img-auto {
  width: auto;
  height: auto;
}
.row { margin: 0;}
.lh1 { line-height: 1;}
.red { color: var(--red-color);}
.black { color: black;}
.blk { color: var(--blk-color)}
.white { color: white;}
.blue { color: var(--acc-color);}
.flex {  display: flex}
.w100{width: 100%}
.uline{text-decoration: underline}
a:hover.uline{text-decoration: none}
.notlink{ pointer-events: none;}


/* アニメーション */
.anime { transition: 0.2s;}
.pr { position: relative;}
.wrapper {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 80px 0;
}
@media (max-width: 1350px) {
  .wrapper {
    width: 100%;
    padding: 60px 5%;
  }
}
@media (max-width: 767px) {
  .wrapper {
    padding: 30px 10px;
  }
}
.inner {
  width: 100%;
  max-width: var(--maxwidth);
  margin: auto;
}
.inner-s{
    max-width:  var(--maxwidth-s);
}
@media (max-width: 1500px) {
  .inner {
    padding: 0 5vw;
  }
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}


/*HEADER*/
header {
  width: 100%;
  z-index: 90;
}
#header{
  top: -100px;
}
#header.fixed {
  position: fixed;
}

#header.fixed .header__submenu {display: none; }
#header.fixed .logo { margin-top: 0px;}
.head__inner {
    background: white;
    height: 110px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#global-head {
    z-index: 1500;
    padding-left: 30px;
}
#global-head .logo a{
    display: block;
    line-height: 1;
}
#global-head .logo a:hover{
  text-decoration: none;
}
#global-head .logo img, #global-head .logo svg, footer .logo img {
  width: 350px;
}
.btn__contact a {
  background: var(--blk-color);
  transition: all .3s ease;
}
.nav-list .nav-item>a .c-arrow-only {
  display: none;
}
.nav-list .nav-item>a .c-arrow-only .c-arrow-bl::before {
  content: none;
}
.global-nav .nav-list .nav-item.btn__contact {
  margin-left: 20px;
}
.global-nav .nav-list .nav-item.btn__contact a {
  color: white;
  height: 100%;
}
.global-nav .nav-list .nav-item.btn__contact a:hover {
  color: #fff;
  background: var(--acc-color);
}
.global-nav .nav-list .nav-item a.link__off {
  pointer-events: none;
  color: #aaa;
}
.nav-item_sub .list__sub li a.link__off {
  padding-right: 0!important;
}
.link__off .comingsoon {
  font-size: 12px;
  border: solid 1px #aaa;
  padding: 0.2em 0.3em;
}
@media (max-width: 767px) {
  #global-head .logo img, #global-head .logo svg, footer .logo img {
    width: 250px;
  }
  header {
    height: 68px;
  }
  #global-head .logo {
    margin: .4vw 0 0;
  }
}
@media (max-width: 370px) {
  .logo-aside {
    padding: 1em;
    margin-left: 6px;
    font-size: 1vw;
  }
}


/* グローバルメニュー */
.globalNav{
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 5;
}
.headerMenu-main{
    margin-right: 1em
}
.headerMenu-Contact{
    width: 140px;
    height: 110px;
    color: white;
    display: flex;
    align-items: center;
    text-align: center;
}
.headerMenu-Contact a{
    background: var(--acc-color);
    color: white;
    width: 100%;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.headerMenu-Contact a span{
    transition: all 0.3s cubic-bezier(0.77,0,0.18,1);
}
/*.headerMenu-Contact a:hover{
    opacity: .8;
}*/


.h-button {
/*  background: white;
  padding: 20px;
  width: 250px;
  text-align: center;*/
    position: relative;
    text-align: center;
}
.h-button span {
  display: flex;
  min-width: 0.3em;
  text-transform: uppercase;
  transition: 0.25s cubic-bezier(0.5, -1, 0.5, 2);
  opacity: 0;
  transform: translate(0, -20px);
}
.h-button:before {
  content: attr(data-text);
  position: absolute;
  width: 100%;
  left: 0;
  transition: 0.25s cubic-bezier(0.5, -1, 0.5, 2);
  text-transform: uppercase;
  opacity: 1;
  transform: translate(0, 0px);
}
.h-button:hover:before, .h-button:focus:before {
  opacity: 0;
  transform: translate(0, 20px);
}
.h-button:hover span, .h-button:focus span {
  opacity: 1;
  transform: translate(0, 0);
}
.h-button:hover span:nth-child(1), .h-button:focus span:nth-child(1) {
  transition-delay: 0.025s;
}
.h-button:hover span:nth-child(2), .h-button:focus span:nth-child(2) {
  transition-delay: 0.05s;
}
.h-button:hover span:nth-child(3), .h-button:focus span:nth-child(3) {
  transition-delay: 0.075s;
}
.h-button:hover span:nth-child(4), .h-button:focus span:nth-child(4) {
  transition-delay: 0.1s;
}
.h-button:hover span:nth-child(5), .h-button:focus span:nth-child(5) {
  transition-delay: 0.125s;
}
.h-button:hover span:nth-child(6), .h-button:focus span:nth-child(6) {
  transition-delay: 0.15s;
}


.fixed .headerMenu-Contact,.fixed .headerMenu-Contact a{
    height: 70px;
}
.header__menu {
  text-align: center;
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header__submenu {
  text-align: center;
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header__menu li,.header__submenu li {
  padding: 0.5em 1em;
}
.header__submenu .ico-win img{
    width: 12px;
    height: auto;
    margin-left: 4px;
}
.header__submenu .ico-arw img{
    width: 6px;
    height: auto;
    margin-left: 6px;
}
.header__menu li a {
  color:var(--moji-color); /* メニューの文字色 */
  text-decoration: none;
}

.hover-line,.hover-line1 {
    padding-top: 3px;
    padding-bottom: 3px;
    position: relative;
}
.hover-line::before {
    background: var(--acc-color);
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.hover-line1::before {
    background: var(--acc-color);
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.hover-line.hover-line-wh::before {
    background: white;
}
@media screen and (max-width: 1350px) {
    .header__menu li{
        padding: 0.5em 1vw;
    }
    #global-head .logo img{
        width: 26dvw;
    }
    .headerMenu-main{
        margin-right: .5em;
    }
}
@media screen and (min-width: 1141px) {
    .hover-line:hover::before,a:hover .hover-line::before,.hover-line1:hover::before,a:hover .hover-line1::before {
      transform-origin: left top;
      transform: scale(1, 1);
    }
}
/*
.header__menu li a:hover {
  border-bottom: 2px solid var(--acc-color); 
}
*/
.mega__menu-second {
    visibility: hidden;
    opacity: 0;
    z-index: -1;
}
.header__menu li:hover {
  transition: all 0.5s;
}
.mega__menu-second {
  position: absolute;
  top: 120px;
  left: 0;
  width: 100%;
  background: #fff; /* メガメニューの背景色 */
  padding: 20px;
  box-sizing: border-box;

  transition: all 0.4s ease;
}
.mega__menu-second h3 {
    margin-left: .5em;
    margin-bottom: .5em;
}
.mega__menu-second h3 .subttl02{
    margin-left: 1em;
}
.mega__menu-second .imgWrap{
    margin-bottom: 10px;
    height: 150px;
}
.mega__menu[data-number='2'] .mega__menu-second .imgWrap img{
    transform: scale(1.1)
}
#header.fixed .head__inner,
#header.fixed .headerMenu-Contact{
 height:70px;    
}
#header.fixed #global-head .logo img {
  width: 250px;
}

/* サブナビゲーション */
@media screen and (min-width: 1141px) {
    #header li.mega__menu:hover .mega__menu-second{
        opacity: 1;
        top: 100px;
        visibility: visible;
        z-index: 0;
      }
    #header.fixed .mega__menu-second{
        top:60px;
    }
    #header.fixed li.mega__menu:hover .mega__menu-second{
      top: 70px;
    }
    .global-nav .nav-list .nav-item a.hover {
        color: var(--acc-color);
  }
  .nav-list {
     position: relative;
  }
}

/* ---------------------------------------------

SP時：ハンバーガーメニューボタン 

-------------------------------------------------*/
.accordion-toggle,.humburger-only{display: none;}
.mega__menu .pc-only{display: block; }
@media screen and (max-width: 1140px) {
    .mega__menu .pc-only{
        display: none;
    }
    .accordion-toggle,.humburger-only{
        display: block;
    }
    body.fixed {
        width: 100%;
        height: 100%;
        position: fixed;
    }
     .globalNav{
        right:-100%;
        top:56px;
        background: white;
        padding: 30px 10vw 10vw;
         z-index: 1000;
         position: fixed;
        height:100svh;
         overflow-y: scroll;
    }
    #header.fixed .head__inner{
        height: 56px;
    }
    .headerMenu-Contact{
        margin-bottom: 80px;
    }
    .headerMenu-Contact a{
        width: 100%;
        height: 90px;
        justify-content: center;
        margin-top: 30px;
    }
    .headerMenu-Contact{
        justify-content: center;
        height: 90px;
        padding: 0;
        margin-top: 20px;
        width: 100%;
    }
    .fixed .headerMenu-Contact, .fixed .headerMenu-Contact a{
        height: 90px;
    }
    .header__submenu .ico-win img{
        width: 12px;
        height: auto;
    }
    .header__submenu .ico-arw img{
        width: 6px;
        height: auto;
    }
    .headerMenu-main{
        display: flex;
        flex-direction: column-reverse;
    }
    .header__menu.fs-16,.header__submenu.fs-14,.headerMenu-Contact.fs-16,.mega__menu-second li .fs-14{
        font-size: calc(1.5rem + ((1vw - 0.375rem) * 0.4848));
        min-height: 0vw;
    }
    #header.fixed .header__submenu{
        display: block
    }
    .header__submenu li a{
        color: var(--blk-color);
    }
    .mega__menu-second .flex{
        flex-direction: column;
    }
    .mega__menu-second{
        padding: 10px 0 0;
    }
    .mega__menu-second .inner{
        padding: 0 1em;
    }
    .mega__menu-second li{
        width: 100%;
    }
    .mega__menu-second li .blue{
        color: var(--moji-color)
    }
    .header__menu li,.header__submenu li {
        width: 100%;
        text-align: left;
        padding: 0.8em 0;
    }
    .header__menu > li {
        border-bottom: solid 1px #707070;
    }
    .header__menu > li:first-child{
        border-top: solid 1px #707070;        
    }
    .header__menu li{
        font-weight: bold;
    }
    .header__menu li a{
        padding-bottom: 0;
    }
    .header__menu li .mega__menu-second li{
        font-weight: normal;
        padding: .3em 0;
    }
    .accordion-toggle, .accordion-content {
        cursor: pointer;
        position: relative;
        letter-spacing: 1px;
    }
    .mega__menu-second{
        position: relative;
        top:0;
    }
    .mega__menu-second.open {
      visibility: visible;
      opacity: 1;
    }
    .mega__menu-second,.mega__menu-second h3 {
        display: none;
    }

    .accordion-toggle{
        position: relative;
        width: 100%;
        display: block;
    }
    .accordion-toggle:before, .accordion-toggle:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: inherit;
        bottom: inherit;
        right: 0;
        width: 15px;
        height: 2px;
        margin-top: -1px;
        background-color: #003184;
        transform-origin: 50% 50%;
        transition: all 0.3s ease;
    }

    .accordion-toggle:before {
        transform: rotate(-90deg);
        opacity: 1;
        z-index: 2;
    }

    .accordion-toggle.active-tab {
      transition: all 0.6s ease;
    }
    .accordion-toggle.active-tab:before {
        transform: rotate(0deg);
    }

    .accordion-toggle.active-tab:after {
        transform: rotate(180deg);
        opacity: 0;
    } 
    
    
    .mega__menu-second .imgWrap {
        display: none;
    }
    .header__submenu,.header__menu{
        flex-direction: column;
    }
    
 
    #global-head {
        z-index: 5500;
        height: 56px;
    }
    #global-head .logo{
        display: flex;
        align-items: center;  
        height: 56px;
        padding-left: 16px;
    }
    #global-head .logo img, #global-head .logo svg {
        width: 60vw;
        max-width: 250px;
        vertical-align: middle;
    }
    .head__inner, .head__inner {
        height: 70px;
        flex-direction: column;
        position: relative;
    }
    .head__inner::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: white;
        height: 56px;
        z-index: 5200;
    }
    .head__inner {
        align-items: flex-start;
    }
    .open .global-nav {
        left: 0;
        position: fixed;
        width: 100%;
        z-index: 5000;
    }
    .nav-list {
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    #global-head {
        width: 100%;
    }
    .header__menu,.header__submenu,.header__submenu,.headerMenu-Contact{
      position: relative;
    }
    .header__submenu{
        margin-top: 30px;
    }
    .header__menu li ,.header__submenu li,.headerMenu-Contact{
      transform: translateY(0);
      opacity: 0;
    }
    .open .header__menu li .mega__menu-second li {
        animation: nav-menu-li-2 .3s 0.2s forwards;
    }
    .open .header__menu > li:nth-of-type(1) {
      animation: nav-menu-li .3s 0.3s forwards;
    }

    .open .header__menu > li:nth-of-type(2) {
      animation: nav-menu-li .3s 0.35s forwards;
    }

    .open .header__menu > li:nth-of-type(3) {
      animation: nav-menu-li .3s 0.4s forwards;
    }
    .open .header__menu > li:nth-of-type(4) {
      animation: nav-menu-li .3s 0.45s forwards;
    }
    .open .header__menu > li:nth-of-type(5) {
      animation: nav-menu-li .3s 0.5s forwards;
    }
    .open .header__menu > li:nth-of-type(6) {
      animation: nav-menu-li .3s 0.55s forwards;
    }
    .open .header__menu > li:nth-of-type(7) {
      animation: nav-menu-li .3s 0.6s forwards;
    }
    .open .header__submenu > li:nth-child(1) {
      animation: nav-menu-li .3s 0.6s forwards;
    }
    .open .header__submenu > li:nth-child(2) {
      animation: nav-menu-li .3s 0.65s forwards;
    }
    .open .headerMenu-Contact {
      animation: nav-menu-li .3s 0.7s forwards;
    }
    
    @keyframes nav-menu-li {
      0% {
         opacity: 0;
        transform: translateY(15px);
      }
      100% {
         opacity: 1;
        transform: translateY(0);
      }
    }
    @keyframes nav-menu-li-2{
      0% {
         opacity: 0;
      }
      100% {
         opacity: 1;
      }
    }

    

}

.menu-trigger {
    display: none;
    position: absolute;
    top: 0;
    right:0;
    width: 56px;
    height: 56px;
    padding: 6px;
    background: var(--acc-color);
    z-index: 6000;
    transition: .2s ease;
}
.menu-trigger.fixed {
  position: fixed;
}
.menu-trigger:hover {
  cursor: pointer;
}
@media (max-width: 1140px) {
  .menu-trigger {
    display: block;
  }
  #global-head {
    padding-left: 10px;
  }
}
.menu-trigger>div {
    position: relative;
    width: 34px;
    top: 30%;
    left:50%;
    transform: translate(-50%,-50%);   
}
.menu-trigger span {
  width: 80%;
  height: 2px;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  background: white;
  position: absolute;
  transition: .2s ease;
  /*box-shadow: 0px 0px 0px 1px rgb(4 85 133 / 20%);*/
}
.menu-trigger span:nth-child(1), .head-sp .menu-trigger span:nth-child(1) {
  top: 0;
}
.menu-trigger span:nth-child(2) {
  top: 8px;
}
.menu-trigger span:nth-child(3), .head-sp .menu-trigger span:nth-child(3) {
  top: 16px;
}
.menu-trigger.hover span:nth-child(1) {
  top: 4px;
}
.menu-trigger.hover span:nth-child(3) {
  top: 12px;
}

.sp {
  display: none;
}
.pc {
  display: block;
}
@media (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 767px) {
  .sp-only {
    display: block !important;
  }
}
.sptab-only {
  display: none !important;
}
@media (max-width: 1100px) {
  .sptab-only {
    display: block !important;
  }
}
.open {
  /*overflow: hidden;*/
}
.open #overlay {
  display: block;
}
.open .menu-trigger span:nth-child(1) {
  top: 7px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 80%;
}
.open .menu-trigger span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open .menu-trigger span:nth-child(3) {
  top: 7px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 80%;
}
#overlay {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
}

/* =========================================================
FOOTER
========================================================= */

footer {
  background: white;
}
footer a, footer a:visited {
  color: #444;
  font-size: 14px;
}
footer .site-name {
  margin-left: 1.5em;
}
footer #foot01 {
  width: 100%;
}
footer #foot01 .wrapper {
  border-bottom: solid 1px rgba(255, 255, 255, 0.16);
  padding-top: 40px;
  padding-bottom: 40px;
}
footer #foot02 .wrapper {
  padding-top: 20px;
  padding-bottom: 20px;
}
footer .foot__list01 {
  width: auto;
}
footer .foot__list01>li {
  padding-left: 3em;
}
footer .foot__list01>li a {
  transition: all .3s;
  color: #444;
}
footer .foot__list01>li a:hover{
    opacity: 1;
}
footer .foot__list01>li>div {
  color: #444;
  font-size: 1.4rem;
  font-weight: bold;
}

footer a {
  transition: all 0.3s linear;
}
footer a:hover {
  opacity: .7;
}
footer #foot02 {
  width: 100%;
  margin: 0;
  padding: 16px 0;
}
footer #foot02 .copy {
  font-size: 1.1rem;
  color: #999;
}
.foot_list_sub li a span {
  font-size: 1.3rem;
}
@media (max-width: 1350px) {
  footer #foot01 .wrapper{
    padding: 5% 7% 0%;
  }
    footer #foot02 .wrapper{
        padding: 0% 7% 0%;
    }
  #foot01>.flex {
    flex-direction: column;
  }
    footer .foot__list01{
        margin-top: 40px;
        justify-content: space-between;
    }
    footer .foot__list01>li{
        padding-left: 0;
    }
}
@media (max-width: 959px) {
    footer #foot01 .wrapper{
        padding: 10% 6% 0%;
    }
  footer a {
    font-size: 12px;
  }
  footer .foot__list01.flex {
    flex-wrap: wrap;
    margin-top: 3rem;
    margin-bottom: 2rem;
  }
  footer .foot__list01.flex>li {
    width: 32%;
    margin-bottom: 0;
    padding-left: 0;
  }
}
@media (max-width: 767px) {
  img[usemap] {
    border: none;
    height: auto;
    max-width: 100%;
    width: auto;
  }
}
.list-dot li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: .5em;
}
.list-dot li:before {
  content: "・";
  top: 0;
  left: 0;
  position: absolute;
}

@media (max-width: 599px) {
  footer .foot__list01.flex{
    justify-content: space-between;
  }
  footer .foot__list01.flex>li {
    width: 48%;
  }
  footer .foot__list01.flex>li:nth-child(n + 3) {
    margin-top: 1em;
  }
}

/* =========================================================ボタン========================================================= */

.inlineblock {display: inline-block!important;}

/* ボタン　----　矢印　*/
.arrow-btn a {
  position: relative;
  display: block;
  width: 160px;
  margin: auto;
  text-align: center;
  transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  padding: .5rem;
}
.arrow-btn-wh a {
  color: white;
  border: solid 1px white;
  border-radius: 30px;
}
.arrow-btn a .btn-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}
.btn-arrow {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: relative;
  aspect-ratio: 1/1;
  border-radius: 50%;
  margin-left: 1rem;
  width: 2.8rem;
}
.btn-arrow .fs-18 {
  margin-bottom: .2rem;
}
.btn-arrow::before {
  transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  transition-property: transform, background;
  box-sizing: border-box;
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-radius: 50%
}
.btn-arrow .arrow {
  transition: fill .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  display: block;
  position: relative;
  z-index: 1;
  aspect-ratio: 1/1;
  width: 1rem;
}
.btn-arrow-wh .arrow {
  width: 1rem;
  fill: white;
}
/* ボタン　----　丸矢印　*/

.c-arrow-btn {
  display: flex;
  line-height: 1.5;
}
.c-arrow-btn a {
  display: flex;
  align-items: center;
}
.c-arrow {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    aspect-ratio: 1/1;
    border-radius: 50%;
    margin-left: 2rem;
    width: 6rem;
    border: solid 1px var(--acc-color);
}
.c-arrow.c-arrow-s{ width: 4rem;}
.c-arrow.c-arrow-ss{
    width: 2.5rem;
    height: 2.5rem;
}

.c-arrow::before {
  transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  transition-property: transform, background;
  box-sizing: border-box;
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border-radius: 50%
}
.c-arrow .arrow {
  transition: fill .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  display: block;
  position: relative;
  z-index: 1;
  aspect-ratio: 1/1;
}
.arrow{
  width: 1.1rem;
    fill:var(--acc-color);
}
.c-arrow-s .arrow{ width: 1rem;}
.c-arrow-ss .arrow{ width: .7rem;}
.c-arrow-wh .arrow,
.c-arrow-bl .arrow {fill: white;}
.c-arrow-wh::before { border: white solid 1px}
.c-arrow-bl::before { background: var(--acc-color);}

@keyframes arrow-r {
  0% {
    transform: translateX(0);
    opacity: 1
  }
  50% {
    transform: translateX(100%);
    opacity: 0
  }
  50.1% {
    transform: translateX(-100%);
    opacity: 0
  }
  100% {
    transform: translateX(0);
    opacity: 1
  }
}
@media(hover: hover) {
    a:hover .arrow-r {
        animation: arrow-r .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
    }
    a:hover .c-arrow::before{
        transform: scale(1.2);
        background: var(--acc-color);
    }
    a:hover .c-arrow.c-arrow-s::before, a:hover .c-arrow.c-arrow-ss::before {
        transform: scale(1.3);
    }
    a:hover .arrow {
        fill: white
    }
    a:hover .btn-arrow-wh .arrow {
        fill: var(--acc-color)
    }
}
.nav-item_sub .c-arrow-only {
    top: 50%;
    transform: translateY(-50%);
    right: 0;
}
@media screen and (max-width: 767px){
    .c-arrow.c-arrow-s{ width: 3rem; }
    .c-arrow.c-arrow-ss{
        width: 2rem;
        height: 2rem;
    }
    .c-arrow{ width: 4.5rem }
}
/* =========================================================TOP========================================================= */
#mvArea {
  position: relative;
  opacity: 0;
  transition: all .6s ease-in;
}
.is-loaded #mvArea { opacity: 1;}

.h1ttl__wrap{
    background: white;
    padding: 40px 0 50px;
    position: relative;
    z-index: 1;
}
.h1__ttl{ margin-top: 0;}
.h1__ttl span + span{margin-left: .3em;}
.h1__ttl-en {line-height: 1.7}
.subttl{
    margin-top: 10px;
}
.h1__ttl,.subttl{
    display: block;
    font-weight: normal;
}
.subttl-flex{
    margin-left: 2em
}
.subttl.subttl-c{
    margin: 10px auto 0;
}
@media screen and (max-width: 1200px) {
    .h1ttl__wrap{
        padding: calc(1.875rem + ((1vw - 3.75px) * 1.2121)) 0 calc(2.5rem + ((1vw - 3.75px) * 1.2121));
    }
}
@media screen and (max-width: 767px) {
    .mv-top .h1__ttl{
        margin-bottom: .2em
    }
}
@media screen and (max-width: 470px) {
   .mv-top .fs-30{
        font-size: 4.25vw;
       margin-top: .3em
    }
}
/* ----- 背景用の動画ファイル ----- */

.video-wrap {
  /*background: url(./../../e/img/top/bg_video.png)repeat;*/
  position: relative;
  height: 900px;
  max-height: 700px;
  overflow: hidden
}
#video-area {
  /*position: fixed;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;*/
  overflow: hidden;
}
#video {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778dvh;
  /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw;
  /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%;
}
.title {
  overflow: hidden;
  transform: translate(-100%, 0);
}
.title span {
  display: block;
  transform: translate(100%, 0);
}
.is-loaded .title, .is-loaded .title span {
  transform: translate(0, 0);
  transition: transform cubic-bezier(.17, .67, .58, .99) 1.6s;
  transition-delay: 2s;
}
.sentence {
  overflow: hidden;
  transform: translate(-100%, 0);
}
.sentence span {
  display: block;
  transform: translate(100%, 0);
}
.is-loaded .sentence, .is-loaded .sentence span {
  transform: translate(0, 0);
  transition: transform cubic-bezier(.17, .67, .58, .99) 1.6s;
  transition-delay: 2.4s;
}
.is-loaded .st0 {
  stroke: #fff;
  stroke-dasharray: 2000;
  stroke-dashoffset: 0;
  stroke-width: 1;
  -webkit-animation: mvanim 3s ease-in 0s;
  animation: mvanim 2s ease-in 0s;
}
@-webkit-keyframes mvanim {
  0% {
    stroke-dashoffset: 2000;
    fill: transparent;
  }
  40% {
    stroke-dashoffset: 2000;
    fill: transparent;
  }
  50% {
    fill: transparent;
  }
  100% {
    stroke-dashoffset: 0;
    fill: #fff;
  }
}
@keyframes rightMove {
  0% {
    transform: translateX(0);
    animation-timing-function: ease-in;
  }
  100% {
    transform: translateX(100%);
    animation-timing-function: ease-out;
  }
}
.is-start #loader-bg {
  transform: translateX(100%);
  transition: transform .5s .5s cubic-bezier(.32, .43, .49, 1.36)
}
.header-title {
  position: relative;
  z-index: 2;
  display: flex;
  width: 50%;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: auto;
}
@media (max-aspect-ratio: 16/9) {
  #bg-video {
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 1300px) {
  #bg-video {
    height: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 1140px) {}
@media (orientation: landscape) and (max-width: 900px) {
  #bg-video {
    height: auto;
  }
}
@media screen and (max-width: 767px) {

  #mvArea, .video-wrap {
    height: 70svh;
  }

  #mvArea .mv-copy {
    padding: 0;
  }
  .is-loaded .title, .is-loaded .title span {
    transition: transform cubic-bezier(.17, .67, .58, .99) 0.8s;
    transition-delay: 2s;
  }
  .is-loaded .sentence, .is-loaded .sentence span {
    transition: transform cubic-bezier(.17, .67, .58, .99) 0.8s;
    transition-delay: 2.4s;
  }
}


@media (orientation: landscape) and (max-width: 812px) {
  #bg-video {
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    height: auto;
  }
}
@media screen and (max-width: 414px) {
  #mvArea, .video-wrap {
    height: 70svh;
  }

}

/*common*/

.ff-en {
  font-family: 'Inter', sans-serif;
}
.wh-txt {
  color: white;
}

.bg-blk {
  background: var(--blk-color);
  color: white;
}
.bg-gray { background: #F5F5F5;}
.bg-wh { background: white}
.bg-blue{background: var(--acc-color)}
.bg-lightblue{background: #EFF2F7}
section{ padding: 110px 0}
.section__mv-btm{
    padding-top: 0;
    margin-bottom: 100px;
    position: relative;
}

.section__mv-btm .h2ttl{
    line-height: 1.3;
    padding: 80px 0;
}
@media (max-width: 1280px) {
    section{ padding: 5vw 0}
}
@media (max-width: 959px) {
    .section__mv-btm{
        margin-bottom: 0;
    }
    section{ padding: 10.42vw 0 5vw}
    .section__mv-btm .h2ttl{
        line-height: 1.3;
        padding:calc(2.5rem + ((1vw - 3.75px) * 6.8493)) 0;
    }
}
@media (max-width: 767px) {
    section{ padding:14vw 0}
}
@media (max-width: 599px) {

}

/* =========================================================
Anime
========================================================= */
.ttl__anime-01{
    color: transparent;
    letter-spacing: -1px;
}

.animated.ttl__anime-01 span {
    animation: AnimationTitle 1.3s cubic-bezier(0.88,0.26,0.31,1) forwards;
    background: linear-gradient(-45deg,#003184,#003184,#287FBF,#5E9FCF,transparent,transparent);
    background-clip: text;
    background-size: 500% 100%;
    color: transparent
}
@keyframes AnimationTitle {
    0% {
        background-position: 0 20%;
        letter-spacing: 1.2rem
    }

    to {
        background-position: 100% 50%;
        letter-spacing: -0.25rem
    }
}
@media (max-width: 959px) {
    @keyframes AnimationTitle {
        0% {
            background-position: 0 50%;
            letter-spacing: 1.4dvw
        }

        to {
            background-position: 100% 50%;
            letter-spacing: -0.1rem
        }
    }
}

.ttl__anime-02{
    display: flex;
    overflow: hidden;
}
.ttl__anime-02 span {
    display: block;
    transform: translate(0, 105%);
    transition: transform cubic-bezier(0.89,0.36,0.42,1) 0.3s;
    line-height: 1.2;
}

.ttl__anime-02.animated span { transform: translate(0, 0);}

.ttl__anime-02 span:nth-child(2) { transition-delay: var(--anim-s01);}
.ttl__anime-02 span:nth-child(3) { transition-delay: calc(var(--anim-s01) * 2);}
.ttl__anime-02 span:nth-child(4) { transition-delay: calc(var(--anim-s01) * 3);}
.ttl__anime-02 span:nth-child(5) { transition-delay: calc(var(--anim-s01) * 4);}
.ttl__anime-02 span:nth-child(6) { transition-delay: calc(var(--anim-s01) * 5);}
.ttl__anime-02 span:nth-child(7) { transition-delay: calc(var(--anim-s01) * 6);}
.ttl__anime-02 span:nth-child(8) { transition-delay: calc(var(--anim-s01) * 7);}
.ttl__anime-02 span:nth-child(9) { transition-delay: calc(var(--anim-s01) * 8);}
.ttl__anime-02 span:nth-child(10) { transition-delay: calc(var(--anim-s01) * 9);}
.ttl__anime-02 span:nth-child(11) { transition-delay: calc(var(--anim-s01) * 10);}
.ttl__anime-02 span:nth-child(12) { transition-delay: calc(var(--anim-s01) * 11);}
.ttl__anime-02 span:nth-child(13) { transition-delay: calc(var(--anim-s01) * 12);}
.ttl__anime-02 span:nth-child(14) { transition-delay: calc(var(--anim-s01) * 13);}
.ttl__anime-02 span:nth-child(15) { transition-delay: calc(var(--anim-s01) * 14);}
.ttl__anime-02 span:nth-child(16) { transition-delay: calc(var(--anim-s01) * 15);}
.ttl__anime-02 span:nth-child(17) { transition-delay: calc(var(--anim-s01) * 16);}
.ttl__anime-02 span:nth-child(18) { transition-delay: calc(var(--anim-s01) * 17);}
.ttl__anime-02 span:nth-child(19) { transition-delay: calc(var(--anim-s01) * 18);}
.ttl__anime-02 span:nth-child(20) { transition-delay: calc(var(--anim-s01) * 19);}
.ttl__anime-02 span:nth-child(21) { transition-delay: calc(var(--anim-s01) * 20);}


.ttl__anime-03,.ttl__anime-03-wh{
    color: transparent;
    letter-spacing: -1px;
}

.is-animated .ttl__anime-03 span {
    animation: AnimationTitle 0.8s cubic-bezier(0.88,0.26,0.31,1) forwards 0.3s;
    background: linear-gradient(-45deg,#003184,#003184,#287FBF,#5E9FCF,transparent,transparent);
    background-clip: text;
    background-size: 600% 100%;
    color: transparent
}
.is-animated .ttl__anime-03-wh span {
    animation: AnimationTitle 0.8s cubic-bezier(0.88,0.26,0.31,1) forwards 0.3s;
    background: linear-gradient(-45deg,#ffffff,#ffffff,#999999,#999999,transparent,transparent);
    background-clip: text;
    background-size: 700% 100%;
    color: transparent
}
.ttl__anime-04{
    display: flex;
    overflow: hidden;
}
.ttl__anime-04 span {
    display: block;
    transform: translate(0, 105%);
    transition: transform cubic-bezier(0.89,0.36,0.42,1) 0.5s;
    line-height: 1.2;
}

.is-animated .ttl__anime-04 span { 
    transition-delay: var(--delay01);
    transform: translate(0, 0);
}

.ttl__anime-04 span:nth-child(2) { transition-delay: calc(var(--anim-s01) + var(--delay01));}
.ttl__anime-04 span:nth-child(3) { transition-delay: calc(var(--anim-s01) * 2 + var(--delay01));}
.ttl__anime-04 span:nth-child(4) { transition-delay: calc(var(--anim-s01) * 3 + var(--delay01));}
.ttl__anime-04 span:nth-child(5) { transition-delay: calc(var(--anim-s01) * 4 + var(--delay01));}
.ttl__anime-04 span:nth-child(6) { transition-delay: calc(var(--anim-s01) * 5 + var(--delay01));}
.ttl__anime-04 span:nth-child(7) { transition-delay: calc(var(--anim-s01) * 6 + var(--delay01));}
.ttl__anime-04 span:nth-child(8) { transition-delay: calc(var(--anim-s01) * 7 + var(--delay01));}
.ttl__anime-04 span:nth-child(9) { transition-delay: calc(var(--anim-s01) * 8 + var(--delay01));}
.ttl__anime-04 span:nth-child(10) { transition-delay: calc(var(--anim-s01) * 9 + var(--delay01));}
.ttl__anime-04 span:nth-child(11) { transition-delay: calc(var(--anim-s01) * 10 + var(--delay01));}
.ttl__anime-04 span:nth-child(12) { transition-delay: calc(var(--anim-s01) * 11 + var(--delay01));}
.ttl__anime-04 span:nth-child(13) { transition-delay: calc(var(--anim-s01) * 12 + var(--delay01));}
.ttl__anime-04 span:nth-child(14) { transition-delay: calc(var(--anim-s01) * 13 + var(--delay01));}
.ttl__anime-04 span:nth-child(15) { transition-delay: calc(var(--anim-s01) * 14 + var(--delay01));}
.ttl__anime-04 span:nth-child(16) { transition-delay: calc(var(--anim-s01) * 15 + var(--delay01));}
.ttl__anime-04 span:nth-child(17) { transition-delay: calc(var(--anim-s01) * 16 + var(--delay01));}
.ttl__anime-04 span:nth-child(18) { transition-delay: calc(var(--anim-s01) * 17 + var(--delay01));}
.ttl__anime-04 span:nth-child(19) { transition-delay: calc(var(--anim-s01) * 18 + var(--delay01));}
.ttl__anime-04 span:nth-child(20) { transition-delay: calc(var(--anim-s01) * 19 + var(--delay01));}
.ttl__anime-04 span:nth-child(21) { transition-delay: calc(var(--anim-s01) * 20 + var(--delay01));}


.ttl__anime-05{
    color: transparent;
    letter-spacing: 0px;
    line-height: 1.6;
    line-height: 1.2;
    margin-bottom: .2em;
}
.ttl__anime-05.lh13{
    line-height: 1.3
}
.is-animated .ttl__anime-05 span {
    animation: AnimationTitle05 0.8s cubic-bezier(0.88,0.26,0.31,1) forwards 0.3s;
    background: linear-gradient(-45deg,#003184,#003184,#287FBF,#5E9FCF,transparent,transparent);
    background-clip: text;
    background-size: 600% 100%;
    color: transparent
}
@keyframes AnimationTitle05 {
    0% {
        background-position: 0 20%;
        letter-spacing: 1.2rem
    }

    to {
        background-position: 100% 50%;
        letter-spacing: 0
    }
}
@media (max-width: 959px) {
    @keyframes AnimationTitle05 {
        0% {
            background-position: 0 50%;
            letter-spacing: 1.05dvw
        }

        to {
            background-position: 100% 50%;
            letter-spacing: 0
        }
    }
}

.slideUp{
    position: relative;
    opacity: 0;
    transform: translate(0, 40px);
    transition: all 0.5s cubic-bezier(0.77,0,0.18,1);
}
.slideUp-s{
    position: relative;
    opacity: 0;
    transform: translate(0, 25px);
    transition: all 0.5s cubic-bezier(0.77,0,0.18,1);
}
.fadeIn{
    position: relative;
    opacity: 0;
    transition: all 1.2s cubic-bezier(0.77,0,0.18,1);
}
.is-animated .slideUp,.is-animated.slideUp,.is-animated .slideUp-s,.is-animated.slideUp-s{
    opacity: 1;
    transform: translate(0, 0);
}
.is-animated .slideUp.delay03,.is-animated.slideUp.delay03,.is-animated .slideUp-s.delay03,.is-animated.slideUp-s.delay03{
    transition-delay:var(--delay03)
}
.is-animated .fadeIn,.is-animated.fadeIn{
    opacity: 1;
}

ul.is-animated li.slideUp{
    transition-delay:  calc(var(--anim-s02) + var(--delay02));
}
ul.is-animated li.slideUp:nth-child(2){
    transition-delay:  calc(var(--anim-s02) * 2 + var(--delay02));
}
ul.is-animated li.slideUp:nth-child(3){
    transition-delay:  calc(var(--anim-s02) * 3 + var(--delay02));
}
ul.is-animated li.slideUp:nth-child(4){
    transition-delay:  calc(var(--anim-s02) * 4 + var(--delay02));
}
ul.is-animated li.slideUp:nth-child(5){
    transition-delay:  calc(var(--anim-s02) * 5 + var(--delay02));
}
ul.is-animated li.slideUp:nth-child(6){
    transition-delay:  calc(var(--anim-s02) * 6 + var(--delay02));
}
ul.is-animated li.slideUp:nth-child(7){
    transition-delay:  calc(var(--anim-s02) * 7 + var(--delay02));
}
/* =========================================================
TOP-concept
========================================================= */
.h2ttl{
    line-height: 1.2;
    position: relative;
    z-index: 1;
}

.txt-img-l {
  position: relative;
  min-height: 500px;
}
.txt-img-l .txt {
  margin-left: 55%;
}

.txt-img-l .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 48%;
  height: 100%;
  overflow: hidden;
  display: flex;
    
}
.img-top-concept{
    background: url(./../../e/img/top/img-concept.jpg) no-repeat center;
    background-size: cover;
}


.is-animated.img__anime-01{    
    animation: AnimationImg 1.8s cubic-bezier(0.25,0.67,0.26,1.05) forwards 0.5s;
}

@keyframes AnimationImg {
0% {
	   width: 0%;
    opacity: 0;
	}
	100% {
     width: 48%;
     opacity: 1;
    }
}



.txt-img-l .img img {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.txt-img-l .img.img-p-t img {
  top: 0;
  transform: translate(0, 0);
}
@media (max-width: 1350px) {
  .txt-img-l .img img {
    top: 0;
    transform: translate(0, 0);
  }
}
@media (max-width: 959px) {
  .txt-img-l {
    min-height: auto;
    display: flex;
    flex-direction: column-reverse;
  }
  .txt-img-l .img {
    position: relative;
    width: 100%;
    height: 44vw
  }
  .txt-img-l .img img {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
  }
  .txt-img-l .flex {
    flex-direction: column;
    width: 100%;
    max-width: 100%;
  }
  .txt-img-l .txt {
    margin-top: 3em;
    margin-left: 0;
  }
}



.txt-img-r {
  position: relative;
  min-height: 500px;
}
.txt-img-r .flex {
  flex: 0 0 55%;
  max-width: 55%;
}
.txt-img-r .img {
  position: absolute;
  top: 0;
  right: 0;
  width: 43%;
  height: 100%;
  overflow: hidden;
  display: flex;
}
.txt-img-r .img img {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.txt-img-r .img.img-p-t img {
  top: 0;
  transform: translate(0, 0);
}
@media (max-width: 1350px) {
  .txt-img-r .img img {
    top: 0;
    transform: translate(0, 0);
  }
}
@media (max-width: 959px) {
  .txt-img-r {
    min-height: auto;
    display: flex;
    flex-direction: column-reverse;
  }
  .txt-img-r .img {
    position: relative;
    width: 96%;
    height: 50vw
  }
  .txt-img-r .img img {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
  }
  .txt-img-r .flex {
    flex-direction: column;
    width: 100%;
    max-width: 100%;
  }
  .txt-img-r .txt {
    margin-top: 3em
  }
}


/* =========================================================
TOP-about
========================================================= */

.section__top-about {
    padding: 120px 0 100px;
    background: var(--acc-color);
    margin: 0;
    position: relative;
}
.list-3__top {
  position: relative;
  margin: 0;
  width: 100%;
  padding-top: 50px;
}
.list-3__top ul {
  display: flex;
  justify-content: flex-start;
    max-width: var(--maxwidth);
  margin: auto;
  flex-wrap: wrap;
}
a .imgWrap {
  overflow: hidden;
  position: relative;
}
.list-3__top ul li {
    width: 30%;
    padding: 0;
    margin-right: 5%;
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
}
.list-3__top ul li:nth-child(3n){
    margin-right: 0;
}
.list-3__top .txt{
    margin-top: 1em;
}

a .imgWrap img {
  display: block;
  width: 100%;
  height: auto;
  transition-duration: 0.3s;
}

.list-3__top ul li a h4 {
  color: #fff;
  font-weight: normal;
}
.list-3__top ul li a p {
  color: #fff;
  margin: 0;
}
.list-3__top ul li a .arrow-btn-in {
  margin-top: 1rem;
}
a:hover .imgWrap img {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
.mega__menu[data-number='2'] a:hover .imgWrap img {
  transform: scale(1.2);
}
@media (max-width: 1350px) {
  .list-3__top ul li a .txtArea {
    width: 90%;
  }
}
@media (max-width: 959px) {
    .section__top-about{
        padding: 12.5vw 0 10.41666vw
    }
    .list-3__top{
        padding-top: 40px;
    }
    .list-3__top ul {
        justify-content:space-between;
    }
    .list-3__top ul li {
        width: 48%;
        margin-right: 0;
        margin-bottom: 20px
    }
    .list-3__top .txt{
        margin-top: .5em
    }
}
@media (max-width: 767px) {
     .section__top-about{
        padding: 20vw 0 18vw
    }
}



.list-4__top {
  position: relative;
  margin: 0;
  width: 100%;
  padding-top: 50px;
}
.list-4__top ul {
  display: flex;
  justify-content: space-between;
    max-width: var(--maxwidth);
  margin: auto;
  flex-wrap: wrap;
}
.list-4__top ul li {
    width: 23%;
    padding: 0;
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
}
.list-4__top .txt{
    margin-top: 1em;
}

.list-4__top ul li a h4 {
  color: #fff;
  font-weight: normal;
}
.list-4__top ul li a p {
  color: #fff;
  margin: 0;
}
.list-4__top ul li a .arrow-btn-in {
  margin-top: 1rem;
}


@media (max-width: 1350px) {
  .list-4__top ul li a .txtArea {
    width: 90%;
  }
    .list-4__top ul {
      justify-content: flex-start;
    }
    .list-4__top ul li {
        width: 30%;
        padding: 0;
        margin-right: 5%;
        margin-bottom: 40px;
        position: relative;
        overflow: hidden;
    }
    .list-4__top ul li:nth-child(3n){
        margin-right: 0;
    }
}
@media (max-width: 959px) {
    .list-4__top{
        padding-top: 40px;
    }
    .list-4__top ul {
        justify-content:space-between;
    }
    .list-4__top ul li {
        width: 48%;
        margin-right: 0;
        margin-bottom: 20px
    }
    .list-4__top .txt{
        margin-top: .5em
    }
}


/* =========================================================
TOP-service
========================================================= */

.section__top-service {
    padding: 120px 0 100px;
    margin: 0;
    position: relative;
    overflow-x:hidden; 
}
.bg-piu{
    position: absolute;
    right: -120px;
    bottom:0px;
    width: 85vw;
    max-width: 1330px;
    z-index: 0;
}
.list-2__index {
  position: relative;
  margin: 0;
  width: 100%;
  padding-top: 50px;
}
.list-2__index ul {
  display: flex;
  justify-content:space-between;
  max-width: var(--maxwidth);
  margin: 0;
  flex-wrap: wrap;
}

.list-2__index ul li {
    width: 48%;
    padding: 0;
    margin-bottom: 40px;
    position: relative;
    overflow: hidden;
    background: white;
}
.list-2__index ul li .imgWrap{
    width: 238px;
}
.list-2__index .txt{
    padding-left: 50px;
}

.list-2__index ul li a h4 {
  font-weight: normal;
}
.list-2__index ul li a p {
    margin: 0 0 1em;
    color: var(--blk-color);
}

.list-2__index ul li a .arrow-btn-in {
  margin-top: 1rem;
}
.list-2__index .c-arrow-only{
    position: absolute;
    right: 1.2rem;
    bottom:1.2rem;
}

@media (max-width: 1350px) {
  .list-2__index ul li a .txtArea {
    width: 90%;
  }
    .bg-piu{
        right: -8.88888vw;
    }
}
@media (max-width: 959px) {
    .section__top-service{
        padding: 12.5vw 0 10.41666vw
    }
  .list-2__index ul {
    flex-direction: column;
      width: 100%;
  }
  .list-2__index ul li {
    width: 100%;
      margin-bottom: 25px;
  }
    .bg-piu{
        width: 95vw;
    }
}
@media (max-width: 767px) {
    .list-2__index{
        padding-top: 30px;
    }
    .section__top-service .list-2__index{
        padding-bottom: 70px;
    }
    .list-2__index ul li .imgWrap{
        width: 35%;
    }
    .list-2__index .txt{
        padding-left: 20px;
    }
    .list-2__index ul li a p{
        padding-right: 44px;
    }
    .list-2__index ul li .imgWrap img{
        width: auto;
        height: 39vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

}
@media (max-width: 599px) {
    .list-2__index ul li .imgWrap img{
        width: auto;
        height: 49.1vw;
    }
}

/* =========================================================
TOP-sustainability
========================================================= */
.section__top-sustainability .txt-img-l{
    min-height: 770px;
}
.section__top-sustainability .txt-img-l .flex{
     min-height: 770px;
    align-items: center;
}
.section__top-sustainability .txt-img-l .txt {
    margin-left: 50%;
    overflow-x: hidden;
    width: 100%;
}
.section__top-sustainability .txt-img-l .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 45%;
  height: 100%;
  overflow: hidden;
  display: flex;
}
.list-top-sustainability{
    margin: 80px 0;
}
.list-top-sustainability li:first-child{
    border-top: solid 1px var(--acc-color);
}
.list-top-sustainability li{
    padding: 32px 0;
    border-bottom: solid 1px var(--acc-color);
}
.list-top-sustainability .c-arrow{
    right: 10px;
}
@media (max-width: 959px) {
    section.section__top-sustainability{
        padding-top: 0;
    }
    .section__top-sustainability .txt-img-l{
        display: flex;
        flex-direction: column-reverse;
    }
    .section__top-sustainability .txt-img-l .img{
        position: relative;
        width: 100%;
        height: 44vw;
        background: url(./../../e/img/top/img-sustainability-tb.jpg) no-repeat center;
        background-size: cover;
    }
    .section__top-sustainability .txt-img-l .img img{
        display: none;
    }
    .section__top-sustainability .txt-img-l .txt{
        margin-left: 0;
        width: 100%;
    }
    .list-top-sustainability{
        margin: 50px 0;
    }
    .section__top-sustainability .txt-img-l .flex{
        min-height: inherit;
    }
}

/* =========================================================
TOP-TOPICS
========================================================= */

.section__top-topics {
    position: relative;
    margin-top: 100px;
}
.top-topics-flex{
    display: flex;
    flex: 0 0 50%;
    max-width: 100%;
    position: relative;
    z-index: 2;
    flex-direction: row-reverse;
}
.card-body{
    max-width: 1000px;
    background: white;
    padding: 50px 0 70px 50px;
    margin-top: 40px;
}
.section__top-topics .bg__ttl-topics {
    position: absolute;
    left: 0;
    top: 0;
    width: 80%;
    height: 300px;
    background-size: cover;
    background-image: url(./../../e/img/top/bg-topics.jpg);
    z-index: 1;
}
.section__top-topics .h2ttl__topics{
    display: flex;
    height: 300px;
    align-items: center;
    padding-left: 10vw;
    line-height: 1.2;
}
@media (max-width: 1280px){
    .section__top-topics .h2ttl__topics{
        padding-left: 5vw;
    }
}
@media (max-width: 960px){
    section.section__top-topics{
        padding-top: 0
    }
    .section__top-topics .bg__ttl-topics{
        position: relative;
        width: 100%;
        height: 250px;
    }
    .section__top-topics .h2ttl__topics{
        height: 250px;
    }
    .card-body{
        width: 100%;
        padding: 0;
        margin-top:30px;
     }
    .top-topics-wrap{
        display: flex;
        flex-direction: column-reverse;
    }
    .section__top-topics{
        margin: 0;
    }
}
@media (max-width: 767px){
    .section__top-topics .bg__ttl-topics,.section__top-topics .h2ttl__topics{
        height: 44vw;
    }
    
}

.infomation-list{
    margin: 0 auto;
}
.infomation-list li{
    border-bottom: solid 1px var(--bdr-color);
    padding: 1.5em 0;
}
.topics-cat-time{
    align-items: center;
}
.topics--cat{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 1px;
}
.topics--cat li{
    margin: 0;
    padding: 1px 15px;
    min-width: 128px;
    color: white;
    background: var(--acc-color);
    box-sizing: border-box;
    text-align: center;

 }
.infomation-list li time{
    min-width: 128px;
    margin:0 1em;
}
.infomation-list li p{
    margin: 0;
    padding-top: 2px;
}
.infomation-list li > a{
    text-decoration: underline;
    display: inline;
}
@media (max-width: 960px){
    .infomation-list li{
        flex-direction: column;
    }
    .topics-cat-time{
        margin-bottom: 10px
    }
}

/* =========================================================
TOP-CONTACT
========================================================= */
.section__foot-contact {
    padding: 110px 0;
    background: var(--acc-color);
    margin: 0;
    position: relative;
}
.btn-wh{
    width: 100%;
    max-width: 900px;
    background: white;
    margin: 30px auto 0;
    border: solid 1px white;
}
.btn-wh a{
    padding: 20px;
    position: relative;
    z-index: 1;
    display: block;
}
.btn-wh a::before {
  background:var(--acc-color);
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  z-index: -1;
}
.btn-wh a .blue {
  transition: all .2s .2s;
}
.btn-wh a:hover .blue {
  color: #fff;
}
.btn-wh a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
 
.btn-wh .n-arrow{
    position: absolute;
    top:50%;
    right: 20px;
    transform: translateY(-50%);
}
@media (max-width: 959px) {
    section.section__foot-contact{
        padding: 7vw 0!important
    }
}

@media (max-width: 767px) {
    .btn-wh{
        margin-top: 10px;
    }
    .btn-wh a{
        padding: 10px 20px;
    }
    .n-arrow .arrow{
        width: 1rem
    }
    .section__foot-contact .h2ttl > .flex{
        flex-direction: column
    }
    section.section__foot-contact{
        padding: 12.5vw 0 10.41666vw!important
    }
}
@media (max-width: 559px) {
    .n-arrow .arrow{
        width: 0.7rem
    }
}







/*=========================================================================================================
UNDER COMMON
=========================================================================================================== */

#localNav p {
  line-height: 1.4;
}
.note {
  font-size: 90%;
}

/*パンくず*/

.topicpath {
    width: 100%;
    margin: 0;
    text-align: right;
    padding: 0 20px 10px;
    position: relative;
    z-index: 5;
}
.topicpath ol {
  list-style: none;
  line-height: 1.6;
}
.topicpath ol li {
  display: inline;
  list-style-type: none;
  color: #777;
  font-size: 1.2rem;
}
.topicpath ol li:after {
  content: " > ";
}
.topicpath ol li:last-child:after {
  content: "";
}
.topicpath ol li a {
  text-decoration: underline;
  color: var(--acc-color);
}
.topicpath ol li a:hover {
  text-decoration: none;
  color: #004ea2;
}
@media (max-width: 767px) {
  .topicpath ol li a:hover {
    text-decoration: none;
    color: #777;
  }
  .topicpath {
    padding: 0 10px 15px;
  }
}
#article-page section{
    padding-bottom: 80px;
}
#contact-page section{
    padding-bottom: 0;
}
#article-page section.contents__last{
    padding-bottom: 160px;
}
@media (max-width: 1280px) {
    #article-page section.contents__last{
        padding-bottom: 100px;
    }
    #contact-page section .inner{
        padding: 0;
    }
}
@media (max-width: 959px) {
    #article-page .section__mv-btm__u{
        padding-top: 5vw;   
    }
    #article-page section{
        padding-top: 3vw;
        padding-bottom: 4vw;
    }
}
@media (max-width: 767px) {
    #article-page section{
        padding: 5vw 0;
    }
    #article-page .section__mv-btm__u{
        padding-top: 5vw;   
    }
    #article-page section.contents__last{
        padding-bottom: 12vw
    }
}

.list__shadow{
    box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.05);
}

/* =========================================================下層MV========================================================= */
.mvArea__u {
  z-index: 1;
}
.mvArea__u .h1__ttl-en{
    line-height: 1.3
}
.mvArea__u .h1__ttl{
    margin-top: 20px
}
.mv__lower{
    width: 100%;
    height: 520px;
    overflow: hidden;
    position: relative;
}
.mv__lower-contact{
    height: 280px;
    margin-bottom: 50px;
}
.mv__lower img{
    position: relative;
    transform: translateX(-50%);
    left: 50%;
}
.mv__philosophy{
    margin: 60px auto 40px;
    opacity: 0;
    transition: all .6s ease-in;
}
.is-loaded .mv__philosophy{ opacity: 1;}
.philosophy__itochu{
    width: 90%;
    max-width: 1267px;
}
.philosophy__company{
    width: 90%;
    max-width: 980px;
}
.mv__lower.mv__top-msg{
    width: 100%;
    height: 680px;
    overflow: hidden;
    position: relative;
}
@media (max-width: 1700px) {
    .mv__lower img{
        width: auto;
        height: 100%;
    }
}
@media (max-width: 959px) {
    section#article-page{
        padding: 10.42vw 0 8vw;
    }
    .mv__philosophy,.philosophy__company{
        margin-bottom: 0;
    }

}
@media (max-width: 767px) {
    .mvArea__u .h1__ttl{
        margin-top: 10px
    }
    .mvArea__u{height: 60svh;}
    .mv__lower,.mv__lower.mv__top-msg{
        height: auto;
    }
    .mv__lower img {
        position: static;
        width: 100% !important;
        height: auto !important;
        transform: none;
    }
    .mv__lower-contact{
        margin-bottom: 0
    }
    #mvArea.mvArea__u,#mvArea.mvArea__u .mv__lower .video-wrap{
        height: 100%
    }
}
@media (max-width: 414px) {
    .mvArea__u{height: 60svh;}
}
.section__mv-btm__u{
    padding-top: 0;
    margin-bottom: 0;
    position: relative;
}
.section__mv-btm__u .h2ttl{
    line-height: 1.3;
    padding: 100px 0 80px;
}
.section__mv-btm__u .h2ttl.pb_s{
    padding-bottom: 25px
}
.section__mv-btm__u .h2ttl.pb_l{
    padding-bottom: 160px;
}
@media (max-width: 959px) {
    .section__mv-btm__u{
        margin-bottom: 0;
    }
    .section__mv-btm__u .h2ttl{
        line-height: 1.3;
        padding:3vw 0;
    }
    .section__mv-btm__u .h2ttl.pb_s{
        padding-bottom: 0;
    }
    .section__mv-btm__u .h2ttl.pb_l{
        padding-bottom: 7rem;
    }
}
@media (max-width: 767px) {
    .section__mv-btm__u .h2ttl.pb_s{
        padding-bottom: 1.7rem;
    }
}
.tableArea a {
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.tableArea a:hover {
  text-decoration: none;
  opacity: .6;
}
.tableArea {
  width: 100%;
  margin: 20px auto;
}
.tableArea table {
  width: 100%;
  table-layout: fixed;
}
.tableArea table tr th {
  border-top: var(--table-bdr-color) solid 1px;
  font-weight: bold;
  padding: 24px 30px;
  word-break: break-all;
  line-height: 1.6;
  text-align: left;
  width: 22%;
  background: var(--table-bg-color);
}
.tableArea table tr td {
  border-top: var(--table-bdr-color) solid 1px;
  padding: 24px;
  text-align: left;
  word-break: break-all;
  width: 78%;
  line-height: 1.8;
  background-color: white;
}
.tableArea table tr:last-child th, .tableArea table tr:last-child td {
    border-bottom: var(--table-bdr-color) solid 1px;
}
.tableArea table tr td p {
  margin-top: 0;
  line-height: 1.8;
}
.note_mt {
  margin-top: 2em;
}
@media (max-width: 767px) {
  .tableArea {
    width: 100%;
    margin-top: 10px;
    margin-bottom: 0;
  }
  .tableArea table {
    border: solid 1px var(--table-bdr-color);
  }
  .tableArea table tr th {
    width: 100%!important;
    display: block;
    padding: 1em;
    border-top: none;
    text-align: left;
  }
  .tableArea table tr td {
    width: 100%!important;
    display: block;
    padding: 1em;
    border-top: none;
  }
}


/* =========================================================img-txt-layout========================================================= */
.txt-overlap-img-l, .txt-overlap-img-r {
    position: relative;
    margin-bottom: 200px;
}
.txt-overlap-img-l .img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 75%;
}
.txt-overlap-img-r .img {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 75%;
}
.txt-overlap-img-l .txtArea-wrap, .txt-overlap-img-r .txtArea-wrap {
  position: relative;
  top: 250px;
  z-index: 10;
  max-width: 1300px;
  margin: auto;
}
.txt-overlap-img-l .txtArea {
  background: white;
  padding: 65px;
  width: 900px;
  margin-left: auto;
}
.txt-overlap-img-r .txtArea {
  background: white;
  padding: 65px;
  width: 900px;
  margin-right: auto;
}
.txt-overlap-img-l .img, .txt-overlap-img-r .img {
    max-height: 700px;
    overflow-y: hidden;
}
.txt-overlap-img-l .img.sizeAuto, .txt-overlap-img-r .img.sizeAuto {
    max-height: 100%;
}
@media (max-width: 1600px) {
  .txt-overlap-img-l .txtArea, .txt-overlap-img-r .txtArea {
    width: 80%;
    max-width: 1000px;
  }
  .txt-overlap-img-l .img, .txt-overlap-img-r .img {
    width: 80%;
  }
}
section.pt-control{
    padding-top: 2vw!important
}
@media (max-width: 1400px) {
    section.pt-control{
        padding-top: 4vw
    }
}
@media (max-width: 1280px) {
    .txt-overlap-img-l .txtArea-wrap, .txt-overlap-img-r .txtArea-wrap {
        top: 200px
    }
    section.pt-control{
        padding-top: 0
    }

}
@media (max-width: 959px) {
    .txt-overlap-img-l, .txt-overlap-img-r{
        margin-bottom: 0;
    }
    .txt-overlap-img-l .txtArea, .txt-overlap-img-r .txtArea,
    .txt-overlap-img-l .img, .txt-overlap-img-r .img {
        width: 100%;
        position: static;
    }
    .txt-overlap-img-l .txtArea, .txt-overlap-img-r .txtArea {
        padding: 6vw;
    }
    .txt-overlap-img-l .txtArea-wrap, .txt-overlap-img-r .txtArea-wrap {
        top: 0
    }
}
@media (max-width: 767px) {
}
@media (max-width: 599px) {
}



/* =========================================================decorative-text========================================================= */
.decorative-text {
    font-size: clamp(5rem, 10.6vw, 18rem);
    font-weight: bold;
    color: #EFF2F8;
    line-height: 1;
    position: absolute;
    right: 0;
    top: max(-10vw,-140px);
    z-index: 0;
    line-height: 1.1;
}
.decorative-text-static {
    font-size: clamp(5rem, 10.6vw, 18rem);
    font-weight: bold;
    color: #EFF2F8;
    line-height: 1;
    margin-bottom: -0.18em;
}
.decorative-text-l{
    right: inherit;
    left: 0;
}
@media (max-width: 959px) {
    .decorative-text{
        position: relative;
        top: -5vw;
        text-align: right;
        margin-bottom:-5vw;
    }
    .decorative-text-l{
        text-align: left;
    }
}

/* =========================================================btn-blue========================================================= */
.btn-blue{
    width: 100%;
    max-width: 900px;
    background: var(--acc-color);
    margin: 30px auto 0;
    border: solid 1px var(--acc-color);
    color: white;
}
.btn-blue a{
    padding: 20px;
    position: relative;
    z-index: 1;
    display: block;
}
.btn-blue a::before {
  background:white;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  z-index: -1;
}
.btn-blue a .white {
  transition: all .2s .2s;
}
.btn-blue a:hover .white {
  color: var(--acc-color);
}
.btn-blue a:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
 
.btn-blue .n-arrow{
    position: absolute;
    top:50%;
    right: 20px;
    transform: translateY(-50%);
}

@media (max-width: 767px) {
    .btn-blue{
        margin-top: 10px;
    }
    .btn-blue a{
        padding: 10px 20px;
    }
    .btn-blue .n-arrow{
        right: 2vw
    }
}

/* =========================================================FOOT LOCALNAVI========================================================= */
#foot__localnavi{
    background: var(--bg-color);
}
#foot__localnavi .inner ul.flex{
    justify-content: space-between;
    margin-bottom: 20px;
}
#foot__localnavi li{
    margin-right: 1.5%;
}
#foot__localnavi li:last-child{
    margin-right: 0;
}
#foot__localnavi li .txt{
    margin-top: 0.8rem;
    line-height: 1.6
}
#foot__localnavi li .c-arrow{
    margin-left: 1rem;
    margin-top: .15em
}
#foot__localnavi .c-arrow{
    margin-left: 1rem
}
@media (max-width: 959px) {
    section#foot__localnavi{
        padding: 7vw 0;
    }
    #foot__localnavi ul.flex{
        flex-wrap: wrap;
    }
    #foot__localnavi li{
        width: 48%;
        margin-right: 0;
    }
    #foot__localnavi li{
        margin-bottom: 20px;
    }
    #foot__localnavi .inner ul.flex{
        margin-bottom: 0
    }
    #foot__localnavi div.flex{
        flex-direction: column;
    }
    #foot__localnavi h3{
        margin-bottom: .2em
    }
}
@media (max-width: 767px) {
    #foot__localnavi .ml-5{
        margin-left: 2rem!important;
    }
    section#foot__localnavi{
        padding: 10vw 0;
    }
}
/* =========================================================LOWER SERVICE========================================================= */

.bg__service__list{
    position: relative;
}
.bg__service__list::before{
    content: "";
    position: absolute;
    top:0;
    left: 0;
    background: url(./../../e/img/service/bg-index.jpg) no-repeat center;
    background-size: cover;
    width: 100%;
    height: min(150vw,700px);
    z-index: 0;
}
.h2ttl__bg__square{
    /*width:max(40vw, 700px); */
    width: max(40vw, 380px);
    padding: 0;
    position: relative;
    background: white;
}
.h2ttl__bg__square .h2ttl{
    padding: 20px 20px 50px;
    display: flex;
    justify-content: center;
}
.bg__service__list .ttl__anime-04 span{
    line-height: 1.5
}
.bg__service__list .list-2__index{
    margin-top: 80px;
}


@media (max-width: 767px) {
    .bg__service__list .list-2__index{
        margin-top: 5vw
    }
}
/* =========================================================LOWER-COMPANY========================================================= */
.list-sanpo li {
  line-height: 1.6;
}
.ttl__bdr{
    position: relative;
}
.ttl__bdr::before{
    content: "";
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--acc-color);
    opacity: 0;
}

.is-animated .ttl__bdr::before {
    transition: opacity 0.8s ease-in 0.3s;
    opacity: 1;
}
.itochulogo img{
    width: 90%;
    max-width: 398px;
    margin: auto;
}
@media (max-width: 959px) {
    .itochulogo{
        margin-top: 50px;
    }
}

@media (max-width: 599px) {
  .map iframe {
    height: 120vw;
  }
}

.organizationList__wrap > div{
   width: 48%;
}
.organizationList > li {
    background: #FFF;
    margin-top: 3rem;
    border: solid 1px #003184
}

.organizationList > li > span {
  display: block;
  padding: 0.5rem 1rem;
  color: #FFF;
  background: #003184; }

.organizationList > li ul {
  margin-bottom: 1.5rem;
  margin-left: 2.5rem;
  margin-top: 0.5rem;
}

.organizationList > li ul li {
  background: url(./../../e/img/company/linking_icon01.svg) no-repeat left top;
  padding-left: 20px; }

.organizationList > li ul li:last-child {
  background: url(./../../e/img/company/linking_icon02.svg) no-repeat left bottom; }

.organizationList > li ul li.line2_1 {
  background: url(./../../e/img/company/linking_icon03.svg) no-repeat left top;
  padding-left: 36px;
  background-size: 32px;
  margin-left: -2rem;
}
.organizationList > li ul li.line2_2 {
  background: url(./../../e/img/company/linking_icon04.svg) no-repeat left bottom;
  padding-left: 36px;
  background-size: 32px;
  margin-left: -2rem;
}
.organizationList > li ul li.line2_3 {
  background: url(./../../e/img/company/linking_icon05.svg) no-repeat left bottom;
  padding-left: 36px;
  background-size: 32px;
  margin-left: -2rem;
}
.organizationList > li ul li.line2_3_a {
  background: url(./../../e/img/company/linking_icon06.svg) no-repeat left bottom;
  padding-left: 36px;
  background-size: 32px;
  margin-left: -2rem;
}

.organizationList > li .relationship {
  margin-bottom: 1.5rem;
  margin-left: 0; }

.organizationList.overseas > li > span {
  background: #09419B; }

.organizationList.relationship > li > span {
  background: #3285C3; }
.organizationList.relationship > li{
    border: solid 1px #3285C3;
}

@media (max-width: 767px) {
    .organizationList__wrap.flex{
        flex-direction: column;
    }
    .organizationList__wrap > div{
        width: 100%;
    }
    .organizationList.overseas{
        margin-top: 3rem
    }
    .organizationList__wrap.flex .relationship-2 {
        margin-top: 3rem;
        
    }
}
.line-ttl{
    position: relative;
}
.line-ttl::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background: var(--acc-color);
    top:50%;
    transform: translateY(-50%;)
    left: 0;
    z-index: 0;
}
.line-ttl span{
    position: relative;
    z-index: 1;
    background: white;
    padding-right: .3em
}
section.section__top-msg .inner{
    padding-top: 50px!important
}
section.section__top-msg{
  padding-top: 0!important  
}

#article-page section.contents__last.section__top-msg{
    padding-bottom: 50px;
}
.sign img{
    max-width: 170px;
}
@media (max-width: 767px) {
    section.section__top-msg .inner{
        padding-top: 6vw!important
    }
    .sign img{
        max-width: 120px;
    }
}

/* =========================================================LOWER SUSTAINABILITY========================================================= */

.bg__sustainability__list{
    position: relative;
}
.bg__sustainability__list::before{
    content: "";
    position: absolute;
    top:0;
    left: 0;
    background: url(./../../e/img/sustainability/bg-index.jpg) no-repeat center;
    background-size: cover;
    width: 100%;
    height: min(150vw,700px);
    z-index: 0;
}
.bg__sustainability__list .ttl__anime-04 span{
    line-height: 1.5
}
.bg__sustainability__list .list-2__index{
    margin-top: 80px;
}


@media (max-width: 767px) {
    .bg__sustainability__list .list-2__index{
        margin-top: 5vw
    }
}
.flex-iso .img{
    width: 280px;
}
.flex-iso .txt{
    width: calc(100% - 280px);
    padding-right: 40px;
}
.icon-scale a{
    position: relative;
    padding-left: 1.5em;
}
.icon-scale a::before{
    content: "";
    position: absolute;
    top:50%;
    left: 0;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    background: url(./../../e/img/sustainability/icon-scale.svg)no-repeat;
    background-size: cover;
}
.flex-compliance .img{
    width: 385px;
}
.flex-compliance .txt{
    width: calc(100% - 385px);
    padding-right: 40px;
}
@media (max-width: 959px) {
    .flex-iso .img{
        width: 30%;
    }
    .flex-iso .txt{
        width: 70%
    }
    .flex-compliance .img{
        width: 35%;
    }
    .flex-compliance .txt{
        width: 65%
    }
}
@media (max-width: 767px) {
    .bg__sustainability__list::before{
        background: url(./../../e/img/sustainability/bg-index-sp.jpg) no-repeat center;
        background-size: cover; 
    }
    .flex.flex-iso,.flex.flex-compliance{
        flex-direction:column;
    }
    .flex-iso .txt,.flex-compliance .txt{
        width: 100%;
        padding-right: 0;
    }
    .flex-iso .img{
        width: 80%;
        max-width: 280px;
        margin: 50px auto 0;
        text-align: center;
    }
    .flex-compliance .img{
        width: 80%;
        max-width: 385px;
        margin: 20px auto 0;
        text-align: center;
    }
}

.blc-social .txt{
    width: calc(100% - 330px);
    padding-right: 3rem;
}
.blc-social .icons{
    width: 330px;
}
.blc-social .icons li{
    width: 160px;
}
.blc-social .icons li + li{
    margin-left: 10px;
}
.social-voicebnr img{
    max-width: 600px;
}

@media (max-width: 1280px) {
    .blc-social .txt{
        width: 74%
    }
    .blc-social .icons{
        width: 26%;
    }
    .blc-social .icons li{
        width: 49%;
    }
    .blc-social .icons li + li{
        margin-left: 2%;
    }
}
@media (max-width: 767px) {
    .blc-social {
        flex-direction: column;
    }
     .blc-social .txt{
        width: 100%;
        padding-right: 0;
    }
    .blc-social .icons li{
        width: auto;
    }
    .blc-social .icons{
        margin-top: 2rem;
        width: 100%;
    }
    .blc-social .icons li img{
        max-width: 160px;
    }
}

.blc-other-link-wrap{
    flex-wrap: wrap;
    justify-content: space-between;
}
.blc-other-link{
    width: 48.5%;
    padding: 1.8em 2em;
    border: solid 1px var(--acc-color);
    margin-bottom: 3%;
    justify-content: space-between;
    align-items: center;
}
.blc-other-link-wide{
    width: 100%;
    justify-content:flex-start
}
.blc-other-link .img{
    width: 220px;
    text-align: center;
    padding: 0 60px 0 30px;
}
.blc-other-link .txt{
    width: 400px;
}
.blc-other-link .icons{
    width: calc(100% - 300px);
}
.blc-other-link-wide.blc-other-link .txt{
    display: flex;
    align-items: center;
    width: 650px;
}
.blc-other-link-wide.blc-other-link .icons{
    width: calc(100% - 620px);
    padding-left: 140px;
}
.blc-other-link .icons .flex{
    flex-wrap: wrap;
    justify-content: flex-end
}
.blc-other-link-wide .icons .flex{
    justify-content: flex-start;
}
.blc-other-link .icons li{
    width: 100px;
    margin-bottom: 10px;
    margin-right: 10px;
}
@media (max-width: 1500px) {
    .blc-other-link-wide.blc-other-link .icons{
        padding-left: 6.666vw
    }
}
@media (max-width: 1400px) {
    .blc-other-link-wide.blc-other-link .icons{
        padding-left: 5vw;
    }   
    .blc-other-link .txt{
        width: 360px;
        padding-right: 2em
    }
}

@media (max-width: 1180px) {
    .blc-other-link-wrap.mt-large{
        margin-top: 3em!important
    }
    .blc-other-link-wrap{
        flex-direction: column;
    }
    .blc-other-link {
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 5%;
    }
    .blc-other-link-wrap{
        margin-top: 5em
    }
    .blc-other-link .img{
        width: 20%;
        padding: 0;
        padding-right: 5%;
    }
    .blc-other-link .txt{
        width: 100%;
        padding: 0
    }
    .blc-other-link-wide .txt{
        width: 100%;
        padding-left:0;
    }
    .blc-other-link .icons{
        margin-top: 3rem;
        width: 100%;
        padding-left:0;
    }
    .blc-other-link .icons .flex{
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .blc-other-link .icons li{
        width: 15%;
        margin-right: 10px
    }
    .blc-other-link-wide.blc-other-link .icons{
        width: 100%;
        padding-left: 0
    }
}
@media (max-width: 599px) {
    .blc-other-link .icons{
        margin-top: 2rem
    }
     .blc-other-link .icons li{
         width: 21%;
    }
    .blc-other-link{
        padding: 1.5em;
    }
    .blc-other-link .img{
        width: 140px;
        padding-right: 7%
    }

    .blc-other-link-wide .txt{
        width: 80%;
    }
}
.guideline-5-blc{
    background: url(./../../e/img/sustainability/img-environment-bg01.jpg) no-repeat center bottom;
    background-size: cover;
    padding: 40px;
}
.guideline-5-blc ul{
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.guideline-5-blc li{
    background: rgba(255,255,255,0.9);
    border: solid 1px white;
    width: 45%;
    margin-bottom: 2em
}
.guideline-5-blc li:last-child{
    margin-bottom: 0;
}
.guideline-5-blc li h3{
    color: white;
    background: #014A1E;
    padding: .3em 1em;
    text-align: center;
}
.guideline-5-blc li p{
    padding: 0 1em;
}
@media (max-width: 1280px) {
    .guideline-5-blc{
        padding: 2vw;
    }
    .guideline-5-blc li{
        width: 48%;
    }
}

@media (max-width: 767px) {
    .guideline-5-blc{
        background: url(./../../e/img/sustainability/img-environment-bg01-sp.jpg) repeat center bottom;
        padding: 4vw;
        padding-bottom: 65vw;
        background-size: 100%;
    }
    .guideline-5-blc ul{
       flex-direction: column;
    }
    .guideline-5-blc ul li{
        width: 100%;
    }
    .guideline-5-blc li h3{
        padding: .5em 1em;
    }
    .guideline-5-blc li p{
        padding: 0.5em 1em;
    }
}
/* =========================================================ABOUT-FAQ========================================================= */

.accordion_one {
  margin-bottom: 1em;
  background: white;
}
.accordion_header {
  position: relative;
}
.accordion_header::after {
  border-right: solid 2px var(--acc-color);
  border-top: solid 2px var(--acc-color);
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  right: 3.0rem;
  top: 46%;
  transform: translateY(-50%);
  transform: rotate(135deg);
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  width: 8px;
}
.accordion_header.open::after {
  top: 50%;
  transform: rotate(-45deg);
}
.faqBlock .accordion_one .accordion_header {
  padding: 2rem 3.5rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition-duration: 0.2s;
}
.faqBlock .accordion_one .accordion_header:hover {
  opacity: .8;
}
.faqBlock .accordion_one .accordion_inner {
  display: none;
  padding: 0 3.5rem 3.5rem;
  box-sizing: border-box;
}
.faqBlock .accordion_one .accordion_inner p.txt_a_ac {
  margin: 0;
}
.list-numcont li {
  text-indent: -1.4em;
  padding-left: 1.4em;
}
@media screen and (max-width: 767px) {
  .faqBlock .accordion_one .accordion_header {
    padding: 3vw 8vw 3vw 6vw;
  }
  .faqBlock .accordion_one .accordion_inner {
    padding: 0vw 6vw 8vw;
  }
  .accordion_header::after {
    right: 4vw;
    width: 6px;
    height: 6px;
  }
}
.boxQ {
  display: flex;
  align-items: center;
}
.boxA {
  display: flex;
}
.ttlQ {
  padding-right: .5em;
}
.ttlA {
  color: var(--acc-color);
  padding-right: .5em;
  line-height: 1.2;
}
@media (max-width: 599px) {
  .blc-faq {
    padding: 6% 6% 8%;
    margin-bottom: 12%;
  }
  .boxA {
    margin-top: 4%;
  }
}

/* =========================================================ABOUT-TABLE========================================================= */

.tableArea-table {
  width: 100%;
  margin: 20px auto;
}
.tableArea-table table {
  width: 100%;
  table-layout: fixed;
}
.tableArea-table table tr th {
  border-top: var(--table-bdr-color) solid 1px;
  font-weight: bold;
  padding: 24px 0;
  word-break: break-all;
  line-height: 1.6;
  text-align: center;
  width: 22%;
  background: var(--table-bg-color);
}
.tableArea-table table tr td {
  border-top: var(--table-bdr-color) solid 1px;
  padding: 24px;
  text-align: left;
  word-break: break-all;
  width: 78%;
  line-height: 1.8;
  background-color: white;
}
.tableArea-table table tr:first-child th, .tableArea-table table tr:first-child td {
  border-top: none;
}
.tableArea-table table tr td p {
  margin-top: 0;
  line-height: 1.8;
}
#table .tableArea-table tr {
  width: 50%;
}
#table .tableArea-table td, #table .tableArea-table th {
  border: solid 1px var(--table-bdr-color);
}
#table .tableArea-table td.bdr-t-none {
  border-top: none
}
#table .tableArea-table td.bdr-b-none {
  border-bottom: none
}
.list-indent-3 li {
  position: relative;
  text-indent: -3em;
  padding-left: 3em;
  margin-bottom: .5em;
}
#table .tableArea-table th {
  background: var(--blk-color);
}
.table-icon {
  margin-top: .5em;
}
.table-icon span {
  color: white;
  background: var(--acc-color);
  padding: .2em .6em;
  font-weight: normal;
}
@media (max-width: 767px) {
  .tableArea-table table tr td, .tableArea-table table tr th {
    padding: 4vw;
  }
}


/* =========================================================LOWER TOPICS========================================================= */

.mv__topics{
    height: auto!important;
}
.section__topics .h2ttl,.section__etc .h2ttl{
    padding-top: 60px!important
}
.lower-infomation-list > li:first-child{
    border-top: solid 1px var(--bdr-color);
}
.lower-infomation-list .information--inner{
    margin-top: .8em;
}
.lower-infomation-list li time{
    margin-left:0;
}
.section__topics .inner,.section__etc .inner{
    max-width: 1200px
}
.article__topics-cat-time{
    padding-top: 1.5em
}
.article__topics-cat-time time{
    margin-right: 1em
}
.article__topics-cat-time .topics--cat li{
    padding-bottom: 4px
}
.topic-contents p{
    margin: 1.5em 0;
}
#contact__topic01{
    background: var(--bg-color);
    padding: 30px;
}
@media (max-width: 767px) {
    .section__topics .h2ttl,.section__etc .h2ttl{
        padding-top: 10px!important;
        padding-bottom: 0!important;
    }
    .lower-infomation-list{
        margin-top: 30px
    }
    
}

/* =========================================================PAGER========================================================= */

.pager {
  margin-top: 40px;
  text-align: center;
  position: relative;
  height: auto;
}
.pager::after {
  content: "";
  display: block;
  padding-top: 50px;
}
@media screen and (max-width: 500px) {
  .pager::after {
    padding-top: 0;
  }
}
.pager-index {
  margin: 3em auto 0;
}
.pager-flex {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pager ul {
  display: flex;
  align-items: center;
  margin-right: 10px;
  margin-left: 10px;
}
.pager ul li {
  padding: 0 5px;
  font-family: 'Inter', sans-serif;
}
.pager ul li a {
  transition: opacity 0.3s ease-out;
  letter-spacing: -1px;
  color: var(--acc-color);
}
.pager ul li.num a {
  background: #fff;
  line-height: 1;
  padding: 6px 12px;
}
@media screen and (min-width: 769px) {
  .pager ul li.num a:hover {
    background: var(--acc-color);
    color: #fff;
  }
}
.pager ul li.current a {
  pointer-events: none;
  background: var(--acc-color);
  color: #fff;
}
.pager .n-prev {
  padding-right: 20px;
}
.pager .n-prev a {
  position: relative;
}
.pager .n-next {
  padding-left: 20px !important;
}
.pager .n-next a {
  position: relative;
}
.pager ul.n-nav-sp {
  display: none;
}
.pager .off a {
  pointer-events: none;
  color: #ccc;
}
.pager .off.n-next a::after, .pager .off.n-prev a::before {
  color: #ccc;
}
.n-list a {
  position: relative;
}
.wp-pagenavi {
  clear: both;
}


/* =========================================================LOWER ETC========================================================= */
.ttl-bg{
    background: var(--bg-color);
    padding: 0.5em 1em;
}
.list__sitemap{
    justify-content: space-between;
}
.list__sitemap > div{
    width: 48%;
}
.list__sitemap a{
    color: var(--blk-color)
}
.list__sitemap li{
    margin-bottom: 1em
}
.list__sitemap .n-arrow{
    position: relative;
    top: -.1em;
    display: inline-block;
    margin-left:.4em;
}
.list__sitemap a:hover .arrow {
    fill: var(--acc-color);
}
.list__sitemap .n-arrow .arrow{
    height: .6em;
    width: .6em;
}
.list__sitemap .ico-win img{
    width: 12px;
    height: auto;
    margin-left: 6px;
}
@media (max-width: 599px) {
    .list__sitemap{
        flex-direction: column;
        margin-bottom:10%;
        margin-top: 0!important;
    }
    .list__sitemap > div{
        width: 100%;
    }
    .list__sitemap > div + div{
        margin-top: 3em;
    }
}

.formframe {
    overflow-y: hidden;
    width: 100%;
}
#contact-page iframe{
    height: 850px;
}
@media (max-width: 599px) {
    #contact-page iframe{
        height: 1579px;
    }
}


.section__mv-btm__u .h2ttl.h2ttl-philosophy__itochu{
    padding-bottom: 30px;
}


/*cookie*/
.pt-cookie{
  padding-top: 3em;  
}
 .cookie-consent {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 12px;
    color: #fff;
    background: rgba(0,0,0,.7);
    padding: 1.2em;
    box-sizing: border-box;
    visibility: hidden;
     z-index: 10000
}
.cookie-consent.is-show {
    visibility: visible;
}
.cookie-consent a{
    color: white;
    text-decoration: underline;
}
.cookie-consent a:hover{
    text-decoration: none;
}
.cookie-agree, .cookie-reject {
    color: #fff;
    background: dodgerblue;
    padding: .5em 1.5em;
    margin-left: 20px;
    transition: all 0.4s ease;
}
.cookie-reject {
    background: #999999;
}
.cookie-agree:hover, .cookie-reject:hover {
    opacity: .8
}
.cookie-agree:hover, .cookie-reject:hover {
    cursor: pointer;
}
.cc-hide1 {
    display: none;
}
.cc-hide2 {
    animation: hide 1s linear 0s;
    animation-fill-mode: forwards;
}
@keyframes hide {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        visibility: hidden;
    }
}
/* メディアクエリ */
@media screen and (max-width: 767px) {
    .cookie-consent {
        flex-direction: column;
    }
    .cookie-text {
        margin-bottom: 1em;
    }
}