@charset "UTF-8";

/* Global CSS .global-
============================================================================= */



/* Header
----------------------------------------------------------------------------- */
.global-header {
}
.global-header-logo > a {
  display:block;
}
.global-header-logo > a > img {
  width:4.12rem;
}
.global-header-nav-item-heading {
  font-size:.16rem;
}
@media (min-width:1024px) {
  .global-header {
    display:flex;
    align-items: center;
    justify-content: space-between;
    width:100%;
    height:var(--header-height);
    background-color:#fff;
    z-index: 1000;
    position:fixed;
    top:0;
    transition:height var(--hover-duration-A);
  }
  .global-header-logo {
    height:100%;
  }
  .global-header-logo > a {
    display:flex;
    align-items: center;
    padding-inline:.24rem;
    height:100%;
  }
  .global-header-nav {
    padding-inline-end:.64rem;
    line-height:1.5;
    display: flex;
  }
  .global-header-nav a {
    transition:opacity var(--hover-duration-A);
  }
  .no-touchevents .global-header-nav a:hover {
    opacity:.6;
  }
  .global-header-nav_list {
    display:flex;
    gap:.48rem;
  }
  .global-header-nav-item-second {
    width:100%;
    background-color:var(--main-color-blue);
    color:#fff;
    position:fixed;
    top:var(--header-height);
    left:0;
  }
  .global-header-nav-item-heading {
    color:var(--heading-color-A);
    font-weight:500;
    cursor:pointer;
  }
  .global-header-nav-item-heading span {
    position:relative;
  }
  .global-header-nav-item-heading a._link-external-A::after {
    filter:brightness(0);
  }
  .global-header-nav-item-heading span::after {
    content:"";
    border-radius:50%;
    margin-inline:auto;
    width:.08rem;
    height:.08rem;
    position:absolute;
    inset-inline:0;
    bottom:-.18rem;
    opacity:0;
    transition-property:opacity,background-color;
    transition-duration:var(--hover-duration-A);
  }
  .global-header-nav-item-heading.-current span::after {
    background-color:var(--sub-color-red);
  }
  .global-header-nav-item-heading.__accordion-target-active span::after {
    background-color:var(--main-color-blue);
  }
  .global-header-nav-item-heading:is(.__accordion-target-active,.-current) span::after {
    opacity:1;
  }
  .global-header-nav-item-second {
    padding-block:.52rem;
    font-weight:700;
    opacity:0;
    transition:opacity var(--hover-duration-A);
    pointer-events: none;
  }
  .global-header-nav-item-second.__accordion-active {
    opacity:1;
    pointer-events: auto;
  }
  .global-header-nav-item-second-heading {
    font-size:.28rem;
  }
  .global-header-nav-item-second_list {
    display:flex;
    flex-wrap:wrap;
    margin-block-start:.52rem;
    gap:.36rem 0;
  }
  .global-header-nav-item-second_list_pc_item {
    width:calc(100% / 4);
  }
  .global-header-nav-item-second-item {
    font-size:.16rem;
  }
  .global-header-nav-item-second-item > a._link-external-A {
    filter:brightness(5);
  }
  .global-header-nav-item-second-item + .global-header-nav-item-second-item {
    margin-block-start:.36rem;
  }
  .global-header-nav-item-second-item-third {
    margin-block-start:.20rem;
  }
  .global-header-nav-item-second-item-third-item {
    font-size:.14rem;
    font-weight:500;
  }
  .global-header-nav-item-second-item-third-item.-fourth {
    margin-inline-start:1em;
  }
  .global-header-nav-item-second-item-third-item + .global-header-nav-item-second-item-third-item {
    margin-block-start:.08rem;
  }
  .global-header-nav-item-second-close {
    display:flex;
    justify-content: center;
    align-items: center;
    border-radius:50%;
    width:.60rem;
    height:.60rem;
    background-color:#fff;
    position:absolute;
    top:.20rem;
    right:.20rem;
  }
  .global-header-nav-item-second-close::before,
  .global-header-nav-item-second-close::after {
    content:"";
    display:block;
    width:.24rem;
    height:2px;
    background-color:#000;
    position:absolute;
  }
  .global-header-nav-item-second-close::before {
    transform:rotate(-45deg);
  }
  .global-header-nav-item-second-close::after {
    transform:rotate(45deg);
  }
  .global-header-nav .lang-btn_wrap {
    position: relative;
    top: -0.05rem;
    margin-left: 0.48rem;
  }
}
@media (max-width:1023px) {
  .global-header-logo {
    display:flex;
    align-items: center;
    padding-inline:var(--pd-sp-20);
    width:100%;
    height:var(--header-height);
    background-color:#fff;
    z-index: 999;
    position:fixed;
    top:0;
    left:0;
  }
  .orientation90 .global-header-logo {
    left: calc(env(safe-area-inset-left) - 0.1rem);
  }
  .global-header-logo > a img {
    width:2.76rem;
  }
  .global-header_sp-btn {
    display:flex;
    justify-content: center;
    align-items: center;
    width:var(--header-height);
    height:var(--header-height);
    position:fixed;
    top:0;
    right:0;
    z-index: 1002;
		transition-property:background-color;
    transition-duration:var(--hover-duration-A);
  }
  .orientation-90 .global-header_sp-btn {
    right: calc(env(safe-area-inset-left) - 0.1rem);
  }
  .global-header_sp-btn > i {
		display:flex;
		justify-content: center;
		align-items: center;
    width:.50rem;
    height:.50rem;
    border-radius:50%;
    background-color:#fff;
		transition-property:background-color;
    transition-duration:var(--hover-duration-A);
  }
  .global-header_sp-btn > i > i {
		width:.26rem;
		height:2px;
		background-color:#000;
		position:relative;
		transition:background-color var(--hover-duration-A);
    position:relative;
  }
	.global-header_sp-btn > i > i::before,
	.global-header_sp-btn > i > i::after {
		content:"";
		display:block;
		border-radius:2px;
		width:100%;
		height:100%;
		background-color:#000;
		position:absolute;
		top:0;
		left:0;
		transition:transform var(--hover-duration-A);
	}
	.global-header_sp-btn > i > i::before {
		transform:translateY(-5px);
	}
	.global-header_sp-btn > i > i::after {
		transform:translateY(5px);
	}
	.__spmenu-open .global-header_sp-btn > i {
    background-color:#fff;
  }
	.__spmenu-open .global-header_sp-btn > i > i {
		background-color:transparent;
	}
	.__spmenu-open .global-header_sp-btn > i > i::before {
		transform:rotate(45deg);
	}
	.__spmenu-open .global-header_sp-btn > i > i::after {
		transform:rotate(-45deg);
	}
  .global-header-nav {
    padding-block-start:1.00rem;
    padding-inline:var(--pd-sp-40);
    width:100%;
    height:100vh;
    background-color:var(--main-color-blue);
    color:#fff;
    position:fixed;
		top:0;
		left:100%;
		z-index: 1000;
		overflow-y: auto;
		overscroll-behavior-y: none;
		transition-property:transform;
    transition-duration:var(--hover-duration-A);
  }
  .global-header-nav a._link-external-A::after {
    filter:brightness(5);
  }
  .__spmenu-open .global-header-nav {
    transform:translateX(-100%);
  }
  .global-header-nav-english {
    display:flex;
    align-items: center;
    height:var(--header-height);
    font-size:.12rem;
    top:0;
    position:absolute;
    right:.80rem;
  }
  .orientation-90 .global-header-nav-english {
    right: calc(env(safe-area-inset-left) + 0.7rem);
  }
  .global-header-nav_list {
    padding-block-end:1.00rem;
  }
  .global-header-nav-item + .global-header-nav-item {
    margin-block-start:.20rem;
  }
  .global-header-nav-item-heading {
    display:flex;
    justify-content: space-between;
    align-items: center;
    height:.50rem;
    font-weight:700;
    font-size:.16rem;
  }
  .js-header-secondmenu .global-header-nav-item-heading > i {
    display:flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width:.26rem;
    height:.26rem;
    background-color:#fff;
  }
  .js-header-secondmenu .global-header-nav-item-heading > i::before,
  .js-header-secondmenu .global-header-nav-item-heading > i::after {
    content:"";
    display:block;
    border-radius:2px;
    width:.12rem;
    height:2px;
    background-color:var(--main-color-blue);
    position:absolute;
  }
  .js-header-secondmenu .global-header-nav-item-heading > i::after {
    transform:rotate(90deg);
    transition:transform var(--hover-duration-A);
  }
  .js-header-secondmenu .global-header-nav-item-heading.__accordion-target-active > i::after {
    transform:rotate(180deg);
  }
  .global-header-nav-item-second {
    height:0;
    overflow:hidden;
    font-size:.14rem;
    transition:opacity var(--hover-duration-A);
    opacity:0;
  }
  .global-header-nav-item-second.__accordion-active {
    height:auto;
    opacity:1;
  }
  .global-header-nav-item-second_inner {
    border-block:1px solid rgba(255,255,255,.5);
    padding-block:.36rem;
  }
  .global-header-nav-item-second.__accordion-active {
  }
  .global-header-nav-item-second-heading {
    padding-inline-start:.20rem;
    font-size:.16rem;
    font-weight:700;
  }
  .global-header-nav-item-second_list {
    display:flex;
    flex-direction: column;
    row-gap:.20rem;
    margin-block-start:.20rem;
    padding-inline-start:.36rem;
  }
  .global-header-nav-item-second_list_pc_item {
    display:contents;
  }
  .js-header-sp-thirdmenu .global-header-nav-item-second-item-parent {
    display:flex;
    align-items: center;
    justify-content: space-between;
  }
  .js-header-sp-thirdmenu .global-header-nav-item-second-item-parent > a {
    pointer-events: none;
  }
  .js-header-sp-thirdmenu .global-header-nav-item-second-item-parent > i {
    display:flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    width:.26rem;
    height:.26rem;
  }
  .js-header-sp-thirdmenu .global-header-nav-item-second-item-parent > i::before,
  .js-header-sp-thirdmenu .global-header-nav-item-second-item-parent > i::after {
    content:"";
    display:block;
    border-radius:2px;
    width:.12rem;
    height:2px;
    background-color:#fff;
    position:absolute;
  }
  .js-header-sp-thirdmenu .global-header-nav-item-second-item-parent > i::after {
    transform:rotate(90deg);
    transition:transform var(--hover-duration-A);
  }
  .js-header-sp-thirdmenu .global-header-nav-item-second-item-parent.__accordion-target-active > i::after {
    transform:rotate(180deg);
  }
  .global-header-nav-item-second-item-third {
    padding-inline-start:.32rem;
    height:0;
    overflow:hidden;
    transition:opacity var(--hover-duration-A);
    opacity:0;
  }
  .global-header-nav-item-second-item-third.__accordion-active {
    height:auto;
    opacity:1;
  }
  .global-header-nav-item-second-item-third-item {
    padding-block-start:.12rem;
  }
  .global-header-nav-item-second-item-third-item.-fourth {
    padding-inline-start:1em;
  }

  /* SPグローバルナビの言語ボタン */
  .global-header-nav_list .global-header-nav-item.sp_lang_btn {
    margin-top: 0.40rem;
  }
  .global-header-nav_list .global-header-nav-item.sp_lang_btn a {
    display: block;
    width: 100%;
    text-align: center;
    border: 1px solid #FFF;
    border-radius: 0.4rem;
    padding: 0.1rem 0;
  }
}



/* TopicPath
----------------------------------------------------------------------------- */
.global-topicpath {
  display:flex;
  flex-wrap: wrap;
  color:#555;
  font-size:.11rem;
  line-height: 1.4;
  padding:.10rem .36rem;
  overflow-x:auto;
}
.global-topicpath-item {
  flex-shrink: 0;
}
li.global-topicpath-item::after {
  content:"/";
  margin-inline:0.5em;
}
li.global-topicpath-item:last-child:after {
  display: none;
}
.global-topicpath-item a {
  transition:color var(--hover-duration-A);
}
.no-touchevents .global-topicpath-item a:hover {
  color:var(--main-color-blue);
  text-decoration: underline;
}
@media (max-width:1023px) {
  .global-topicpath {
    padding-left: 0;
    padding-right: 0;
    margin: 0 0.23rem;
  }
}


/* Footer
----------------------------------------------------------------------------- */
.global-footer {
  padding-block:.80rem .36rem;
  background-color:var(--main-color-blue);
  color:#fff;
}
.global-footer_inner a._link-external-A::after {
  filter:brightness(5);
}
.global-footer-copyright {
  margin-block-start:.48rem;
  font-size:.12rem;
  text-align: end;
}
.global-footer-parent .layout-button-A {
  border-color:#fff;
}
.global-footer-parent {
  font-size:.14rem;
  font-weight:700;
}
.global-footer-children {
  font-size:.12rem;
}
@media (min-width:1024px) {
  .global-footer {
  }
  .global-footer_inner {
    display:flex;
    justify-content: space-between;
    padding-inline-end:.20rem;
  }
  .global-footer_inner a:not(.layout-button-A) {
    transition:opacity var(--hover-duration-A);
  }
  .no-touchevents .global-footer_inner a:not(.layout-button-A):hover {
    opacity:.6;
  }
  .global-footer_sp_column {
    display:contents;
  }
  .global-footer-parent + .global-footer-parent {
    margin-block-start:.16rem;
  }
  .global-footer-parent + .-contact {
    margin-block-start:.22rem;
  }
  .global-footer-parent .layout-button-A {
    min-width:1.60rem;
    height:.50rem;
  }
  .global-footer-children {
    margin-block-start:.16rem;
  }
  .global-footer-children-item:not(:last-child) {
    margin-block-end:.04rem;
  }
  .global-footer-children + global-footer-parent {
    margin-block-start:.16rem;
  }
  .global-footer-children + .-contact {
    margin-block-start:.16rem;
  }
}
@media (max-width:1023px) {
  .global-footer {
    padding-block:.60rem .20rem;
    padding-top: 0.40rem;
  }
  .global-footer_inner {
    /* display:flex; */
    justify-content: space-between;
    margin-block-start:-.24rem;
    margin-inline:auto;
    padding-block-end:1.50rem;
    max-width:4.00rem;
    position:relative;
  }
  .global-footer_pc_column {
    display:contents;
  }
  .global-footer_sp_column {
    display:flex;
    flex-direction: column;
  }
  .global-footer_sp_column .-sp_order-1 {
    order:1;
  }
  .global-footer_sp_column .-sp_order-2 {
    order:2;
  }
  .global-footer_sp_column .-sp_order-3 {
    order:3;
  }
  .global-footer_sp_column .-sp_order-4 {
    order:4;
  }
  .global-footer-parent {
    margin-block-start:.24rem;
  }
  .global-footer-children {
    margin-block-start:.24rem;
    font-size:.12rem;
  }
  .global-footer-children-item:not(:last-child) {
    margin-block-end:.06rem;
  }
  .global-footer-copyright {
    margin-block-start:.36rem;
    text-align: center;
  }
}


/* Cookie Consent
----------------------------------------------------------------------------- */
.global-cookie_consent {
  width:100%;
  background-color:rgba(248,249,251,.95);
  position:fixed;
  left:0;
  bottom:0;
  z-index:1000;
  transition:opacity var(--hover-duration-A);
}
.global-cookie_consent:not(.__active) {
  opacity:0;
  pointer-events: none;
}
.global-cookie_consent_inner {
  display:flex;
    align-items: center;
}
.global-cookie_consent-text {
  color:#222;
  font-size:.16rem;
  line-height:1.7;
}
.global-cookie_consent-text > a {
  text-decoration: underline;
}
.no-touchevents .global-cookie_consent-text > a:hover {
  text-decoration: none;
}
.global-cookie_consent-button {
  flex-shrink: 0;
  display:flex;
  align-items: center;
  column-gap:1em;
  font-weight:700;
  font-size:.18rem;
  position:relative;
  transition:color var(--hover-duration-A);
}
.no-touchevents .global-cookie_consent-button:hover {
  color:var(--main-color-blue);
}
.global-cookie_consent-button::after {
  content:"";
  display:block;
  width:.33rem;
  height:.33rem;
  background-image:url(/common/img/icon-link-arrow-B.svg);
  background-size:cover;
}
@media (min-width:1024px) {
  .global-cookie_consent {
    padding:.28rem .50rem;
  }
  .global-cookie_consent_inner {
    column-gap:.64rem;
  }
}
@media (max-width:1023px) {
  .global-cookie_consent_inner {
    flex-direction: column;
    row-gap:.12rem;
    padding:.20rem .20rem calc(env(safe-area-inset-bottom) + .25rem);
  }
  .global-cookie_consent-text {
    font-size:.14rem;
  }
  .global-cookie_consent-button {
    column-gap: .5em;
  }
}