@charset "utf-8";
/* CSS Document -----------------------------

 2026.07.02

--------------------------------------------*/
/* Noto Sans Japanese */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/* Poppins  */
@import url("https://use.typekit.net/cre2gej.css");
/*============================================
  共通パーツ
=============================================*/
:root {
	--size180: clamp(50px, calc(50px + 130 * ((100vw - 375px) / 1545)), 180px);
  --size20-180: clamp(20px, calc(20px + 160 * ((100vw - 375px) / 1545)), 180px);
	--size170: clamp(50px, calc(50px + 120 * ((100vw - 375px) / 1545)), 170px);
	--size20-170: clamp(20px, calc(20px + 150 * ((100vw - 375px) / 1545)), 170px);
	--size150: clamp(50px, calc(50px + 100 * ((100vw - 375px) / 1545)), 150px);
	--size20-150: clamp(20px, calc(20px + 130 * ((100vw - 375px) / 1545)), 150px);
	--size130: clamp(50px, calc(50px + 80 * ((100vw - 375px) / 1545)), 130px);
	--size20-130: clamp(20px, calc(20px + 110 * ((100vw - 375px) / 1545)), 130px);
	--size100: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);
	--size20-100: clamp(20px, calc(20px + 80 * ((100vw - 375px) / 1545)), 100px);
	--size90: clamp(50px, calc(50px + 40 * ((100vw - 375px) / 1545)), 90px);
	--size20-90: clamp(20px, calc(20px + 70 * ((100vw - 375px) / 1545)), 90px);
	--size80: clamp(50px, calc(50px + 30 * ((100vw - 375px) / 1545)), 80px);
	--size20-80: clamp(20px, calc(20px + 60 * ((100vw - 375px) / 1545)), 80px);
	--size70: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);
	--size20-70: clamp(20px, calc(20px + 50 * ((100vw - 375px) / 1545)), 70px);
	--size60: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
	--size20-60: clamp(20px, calc(20px + 40 * ((100vw - 375px) / 1545)), 60px);
	--size50: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);
	--size20-50: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);
	--size40: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	--size20-40: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	--size30: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	--size20: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
  --navy: #08183A;
  --blue: #07193A;
  --red: #C42323;

  --font67: clamp(38px, calc(38px + 29 * ((100vw - 375px) / 1545)), 67px);
  --font40: clamp(25px, calc(25px + 15 * ((100vw - 375px) / 1545)), 40px);
  --font36: clamp(18px, calc(18px + 18 * ((100vw - 375px) / 1545)), 36px);
  --font32: clamp(20px, calc(20px + 12 * ((100vw - 375px) / 1545)), 32px);
  --font30: clamp(18px, calc(18px + 12 * ((100vw - 375px) / 1545)), 30px);
  --font29: clamp(18px, calc(18px + 11 * ((100vw - 375px) / 1545)), 29px);
  --font26: clamp(16px, calc(16px + 10 * ((100vw - 375px) / 1545)), 26px);
  --font24: clamp(16px, calc(16px + 8 * ((100vw - 375px) / 1545)), 24px);
  --font22: clamp(15px, calc(15px + 7 * ((100vw - 375px) / 1545)), 22px);
  --font20: clamp(14px, calc(14px + 6 * ((100vw - 375px) / 1545)), 20px);
  --font18: clamp(13px, calc(13px + 5 * ((100vw - 375px) / 1545)), 18px);
  --font15: clamp(13px, calc(13px + 2 * ((100vw - 375px) / 1545)), 15px);
  --font14: clamp(10px, calc(10px + 4 * ((100vw - 375px) / 1545)), 14px);
  --font12: clamp(10px, calc(10px + 2 * ((100vw - 375px) / 1545)), 12px);

  --color-text: #000;
  --font-w: 400;
  --font-jp: "Noto Sans JP", sans-serif,"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-en: "poppins", "Poppins", sans-serif;
  --font-base: clamp(13px, calc(13px + 3 * ((100vw - 375px) / 1545)), 16px);
  --line-height-base: 1.7;
  --spacing-base: .018em;
}
.PoppinsM {font-family: "poppins", sans-serif;font-weight: 500;font-style: normal;}
.PoppinsBD {font-family: "poppins", sans-serif;font-weight: 700;font-style: normal;}
.PoppinsMI {font-family: "poppins", sans-serif;font-weight: 500;font-style: italic;}
.PoppinsSBDI {font-family: "poppins", sans-serif;font-weight: 600;font-style: italic;}
.blank {padding-bottom: clamp(60px, calc(60px + 140 * ((100vw - 375px) / 1545)), 200px);}
.blank2 {padding: var(--size150) 0;}
.inner {width: 93%;max-width: 1596px;margin: 0 auto;}
/* ----------------------------------------------

 * スクロールフェードイン（js/custom.jsの.fadein監視で.is-visibleを付与）

---------------------------------------------- */
.fadein {opacity: 0;transform: translateY(50px);transition: opacity 1s cubic-bezier(.16,.84,.44,1), transform 1s cubic-bezier(.16,.84,.44,1);}
.fadein.is-visible {opacity: 1;transform: translateY(0);}
@media (prefers-reduced-motion: reduce) {
  .fadein {opacity: 1;transform: none;transition: none;}
}
/* ----------------------------------------------

 * タグの設定

---------------------------------------------- */
a {
  display: inline-block;
  outline: none;
  color: var(--color-text);
  cursor: pointer;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: .3s ease;
  user-select: none;
}
a.link {position: absolute;top: 0;left: 0;z-index: 2;width: 100%;height: 100%;}
input,
input[type="submit"],
input[type="button"],
button {
  border-radius: 0;
  appearance: button;
  box-sizing: border-box;
  outline: none;
  color: var(--color-text);
  font-style: normal;
  font-weight: var(--font-w);
  font-family: var(--font-jp);
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {display: none;}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
input[type="tel"],
input[type="email"],
textarea {appearance: none;border-radius: 0;color: var(--color-text);}
select {font-family: var(--font-jp);appearance: none;}
/*------------------------------------------------*/
html {
  margin: 0;
  padding: 0;
  background: #fff;
  color: var(--color-text);
  font-style: normal;
  font-weight: var(--font-w);
  font-size: 62.5%;
  line-height: var(--line-height-base);
  font-family: var(--font-jp);
  letter-spacing: var(--spacing-base);
  -webkit-font-smoodting: antialiased;
  -moz-osx-font-smoodting: grayscale;
  word-break: break-all;
}
body {overflow-x: hidden;font-size: var(--font-base);line-height: var(--line-height-base);letter-spacing: var(--spacing-base);}
h3,h4,h5 {line-height: 1.6;}
p {font-size: var(--font-base);line-height: var(--line-height-base);letter-spacing: var(--spacing-base);}
li,th,td,dt,dd,figcaption {line-height: var(--line-height-base);letter-spacing: var(--spacing-base);}
section {position: relative;z-index: 1;}
.flexbox {display: flex;flex-wrap: wrap;justify-content: space-between;}
.view {display: flex;justify-content: space-between;max-width: 161px;padding: 12px 15px 12px 20px;border-radius: 0;background: #fff;}
.view:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);}
.view span {position: relative;color: #001183;font-weight: 700;font-size: 15px;}
.view span::before {content: '';position: absolute;top: 50%;right: -27px;transform: translateY(-50%);width: 1px;height: 10px;background: #B2B9C1;transition: .3s;}
.view img {width: 9px;}
a[href^="tel:"] {pointer-events: none;}
.pc,.pc2,.pc3 {display: block;}
.sp,.sp2,.sp3 {display: none;}
@media only screen and ( max-width : 1024px ) {
	.pc3 {display: none;}
	.sp3 {display: block;}
}
@media only screen and ( max-width : 767px ) {
  p {line-height: 2;}
	a[href^="tel:"] {pointer-events: visible;}
	.pc {display: none;}
	.sp {display: block;}
}
@media only screen and ( max-width : 500px ) {
	.pc2 {display: none;}
	.sp2 {display: block;}
}
/*--------------------------------------------------

    header

--------------------------------------------------*/
header.siteheader {position: sticky;top: 0;z-index: 100;display: flex;justify-content: space-between;align-items: center;padding-left: 1vw;background: #000;}
header .logo {width: 17%;}
header nav {display: flex;justify-content: space-between;}
header nav ul.global_nav_list {display: flex;justify-content: center;align-items: center;gap: 2vw;padding: 2vw 0;}
header nav ul.global_nav_list> li> a {
  display: flex;
  align-items: center;
  position: relative;
  color: #fff;
  font-weight: 500;
  font-size: calc(.74vw + 1px);
  letter-spacing: 0;
  transition: opacity 0.25s;
}
header.topheader nav ul.global_nav_list> li> a {font-size: 16px;}
header nav ul.global_nav_list> li> a::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -.3em;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s ease;
}
header nav ul.global_nav_list> li> a:hover::after {transform: scaleX(1);transform-origin: left;}
header nav ul.global_nav_list li .mega-toggle[aria-expanded="true"] {opacity: 0.5;}
header nav ul.global_nav_list li .mega-toggle[aria-expanded="true"] span::after {display: none;}
header nav ul.global_nav_list li .mega-toggle span {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: .5em;
  border: 1px solid #000;
  border-radius: 0;
  background: #fff;
}
header nav ul.global_nav_list li .mega-toggle span::before,
header nav ul.global_nav_list li .mega-toggle span::after {content: '';position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);background: #000;}
header nav ul.global_nav_list li .mega-toggle span::before {width: .5em;height: 1px;}
header nav ul.global_nav_list li .mega-toggle span::after {width: 1px;height: .5em;}
/* cta */
header nav ul.cta_list {display: flex;align-items: center;margin-left: 2vw;}
header nav ul.cta_list li {height: 100%;border-left: 1px solid #707070;}
header nav ul.cta_list li a {display: flex;align-items: center;gap: .8em;height: 100%;padding: 1vw;color: #fff;font-weight: 500;font-size: .74vw;line-height: 1.4;letter-spacing: 0;}
header nav ul.cta_list li a:hover {opacity: 0.85;}
header nav ul.cta_list li a span {display: flex;justify-content: center;align-items: center;width: 2em;height: 2em;border-radius: 50%;background: #fff;}
header nav ul.cta_list li a span.black {display: none !important;}
header nav ul.cta_list li a span img {width: 48%;}
header nav ul.cta_list li:nth-child(2) a span img {width: 35%;}
header nav ul.cta_list li:nth-child(3) a span img {width: 45%;}
header nav ul.cta_list li.sp_only {display: none;}
/* ハンバーガー（SP） */
#menu-toggle {display: none;position: relative;width: 60px;flex-shrink: 0;border: none;background: none;}
#menu-toggle span:not(.visually-hidden) {
  position: absolute;
  left: 50%;
  width: 26px;
  height: 2px;
  background: #fff;
  transform: translateX(-50%);
  transition: transform 0.3s, opacity 0.3s;
}
#menu-toggle span:nth-child(1) {top: 26px;}
#menu-toggle span:nth-child(2) {top: 38px;}
#menu-toggle[aria-expanded="true"] span:nth-child(1) {transform: translateX(-50%) translateY(6px) rotate(45deg);}
#menu-toggle[aria-expanded="true"] span:nth-child(2) {transform: translateX(-50%) translateY(-6px) rotate(-45deg);}
/* Mega Menu */
header nav ul.global_nav_list li .block {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 60;
  max-height: calc(100vh - var(--header-h));
  overflow-y: auto;
  background: rgba(38, 38, 38, .8);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
header nav ul.global_nav_list li .block.is-open {opacity: 1;visibility: visible;transform: none;}
header nav ul.global_nav_list li .block .container {padding: var(--size20-50);}
header nav ul.global_nav_list li .block .container .title_wrap {margin-bottom: var(--size30);}
header nav ul.global_nav_list li .block .container .title_wrap p {font-size: var(--font20);letter-spacing: 0;}
header nav ul.global_nav_list li .block .container .title_wrap p span {
  display: flex;
  align-items: center;
  gap: 1.5em;
  margin-top: 5px;
  color: #fff;
  font-style: normal;
  font-weight: bold;
  font-size: 2em;
  letter-spacing: 0;
}
header nav ul.global_nav_list li .block ul.row {display: grid;gap: 20px var(--size40);margin-bottom: 20px;padding-bottom: 20px;border-bottom: 1px solid rgba(255, 255, 255, .5);}
header nav ul.global_nav_list li .block ul.row:last-child {margin-bottom: 0;padding-bottom: 0;border-bottom: none;}
header nav ul.global_nav_list li .block ul.row.list2 {grid-template-columns: repeat(2, 1fr);}
header nav ul.global_nav_list li .block ul.row.list3 {grid-template-columns: repeat(3, 1fr);}
header nav ul.global_nav_list li .block ul.row.list4 {grid-template-columns: repeat(4, 1fr);}
header nav ul.global_nav_list li .block ul.row.row--center {display: flex;justify-content: center;}
header nav ul.global_nav_list li .block .wrap:not(:last-child) {margin-bottom: 20px;padding-bottom: 20px;border-bottom: 1px solid #fff;}
header nav ul.global_nav_list li .block .wrap h3 {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 20px;
  color: #fff;
  font-weight: 700;
  font-size: calc(var(--font20) + 2px);
  letter-spacing: 0;
}
header nav ul.global_nav_list li .block .container ul.row li {
  display: flex;
  align-items: center;
  position: relative;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0;
}
header nav ul.global_nav_list li .block .container ul.row li dl {display: flex;align-items: center;gap: var(--size30);}
header nav ul.global_nav_list li .block .container ul.row li dl dt {width: clamp(90px, 6.1vw, 117px);overflow: hidden;}
header nav ul.global_nav_list li .block .container ul.row li dl dt img {transition: transform .5s ease;}
header nav ul.global_nav_list li .block .container ul.row li:hover dl dt img {transform: scale(1.1);}
header nav ul.global_nav_list li .block .container ul.row li dl dd {position: relative;padding-bottom: .3em;color: #fff;font-weight: 500;font-size: var(--font20);letter-spacing: 0;}
header nav ul.global_nav_list li .block .container ul.row li dl dd::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s ease;
}
header nav ul.global_nav_list li .block .container ul.row li:hover dl dd::after {transform: scaleX(1);transform-origin: left;}
header nav ul.global_nav_list li .block .container ul.row.list3--dense li dl dd {font-size: calc(var(--font20) - 1px);}
@media only screen and ( max-width : 1024px ) {
  header .header-btn .header-btn_label br {display: none;}
}
@media only screen and ( max-width : 1024px ) {
  :root {--header-h: 62px;}
  header.siteheader {width: 100%;height: var(--header-h);padding: 0 10px;}
  header .logo {width: 203px;}
  #menu-toggle {display: block;height: var(--header-h);}
  #global-nav {
    display: block;
    position: fixed;
    top: var(--header-h);
    left: 0;
    z-index: 90;
    width: 100%;
    height: calc(100vh - var(--header-h));
    padding: 10px 25px 60px;
    overflow-y: auto;
    background: #4E4E4E;
    transform: translateX(100%);
    transition: transform 0.35s ease;
 }
  #global-nav.is-open {transform: none;}
  body.is-resizing #global-nav {transition: none;}
  body:has(#global-nav.is-open) {overflow: hidden;}
  #global-nav ul.global_nav_list {display: block;padding: 0;}
  #global-nav ul.global_nav_list> li> a {display: flex;justify-content: space-between;align-items: center;padding: 15px 0;color: #fff;font-size: 16px;}
  #global-nav ul.global_nav_list li .mega-toggle span {width: 22px;height: 22px;margin-left: 1em;border-color: #fff;border-radius: 0;background: none;}
  #global-nav ul.global_nav_list li .mega-toggle span::before {width: 12px;background: #fff;}
  #global-nav ul.global_nav_list li .mega-toggle span::after {height: 12px;background: #fff;}
  #global-nav ul.global_nav_list li .mega-toggle[aria-expanded="true"] {opacity: 1;}
  #global-nav ul.global_nav_list li .block {
    display: none;
    position: static;
    max-height: none;
    overflow: visible;
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
 }
  #global-nav ul.global_nav_list li .block.is-open {display: block;}
  #global-nav ul.global_nav_list li .block .container {padding: 30px;}
  #global-nav ul.global_nav_list li .block .container .title_wrap {display: none;}
  #global-nav ul.global_nav_list li .block .container ul.row li dl dt {width: 70px;}
  #global-nav ul.global_nav_list li .block .container ul.row li dl dd {font-size: 14px;}
  header nav ul.global_nav_list li .block ul.row {margin-bottom: 0;padding-bottom: 0;border-bottom: none;}
  #global-nav ul.global_nav_list li .block ul.row {display: block;grid-template-columns: 1fr;gap: 0;}
  #global-nav ul.global_nav_list li .block ul.row.row--line {border-bottom: 0;}
  #global-nav ul.global_nav_list li .block .wrap h3 {margin-bottom: 10px;}
  #global-nav ul.cta_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    position: static;
    margin: 45px 0 0;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    background: #000;
 }
  #global-nav ul.cta_list li {border-right: 1px solid #fff;border-bottom: 1px solid #fff;border-left: 0;}
  #global-nav ul.cta_list li.sp_only {display: block;}
  #global-nav ul.cta_list li a {justify-content: center;gap: 14px;min-height: 0;padding: 16px 8px;color: #fff;font-size: 13px;text-align: center;}
  #global-nav ul.cta_list li.sp_only a span img {width: 35%;}
}
@media only screen and ( max-width : 767px ) {
  header.siteheader {position: fixed};
}
/*--------------------------------------------------

	Call To Action │ 導線

--------------------------------------------------*/
#cta {padding: var(--size130) 0 var(--size170);background: url(img/common/cta/bg.webp) no-repeat center / cover;}
#cta .cta_title_wrap {margin-bottom: var(--size20-90);}
#cta .cta_title_wrap h2 {
  margin-bottom: var(--size30);
  font-weight: 600;
  font-size: clamp(23px, calc(23px + 30 * ((100vw - 375px) / 1545)), 53px);
  line-height: 1.4;
  letter-spacing: .037em;
}
#cta .cta_title_wrap p {font-size: var(--font-18);}
#cta ul {display: grid;grid-template-columns: repeat(2, 1fr);gap: var(--size20-50);}
#cta ul li {
  position: relative;
  padding: var(--size20-50) var(--size100) var(--size20-50) var(--size20-50);
  border-radius: 0;
  background: rgba(255, 255, 255, .45);
  backdrop-filter: blur(21px);
}
#cta ul li::before {content: '';position: absolute;top: 1em;left: 1em;width: 100%;height: 100%;border-radius: 0;transition: .3s;}
#cta ul li:hover::before {background: rgba(255, 255, 255, 0.18);box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.65) inset;}
#cta ul li::after {
  content: '';
  position: absolute;
  top: 0;
  right: 10%;
  width: clamp(9px, calc(9px + 18 * ((100vw - 375px) / 1545)), 27px);
  height: 100%;
  background: url(img/common/arrow/Icon_arrowR-blue.svg) no-repeat center right / 100%;
}
#cta ul li h3 {margin-bottom: 15px;color: var(--blue);font-size: clamp(20px, calc(20px + 30 * ((100vw - 375px) / 1545)), 50px);line-height: 1;letter-spacing: 0;}
#cta ul li p {position: relative;font-weight: 500;font-size: clamp(12px, calc(12px + 12 * ((100vw - 375px) / 1545)), 24px);line-height: 1.4;}
@media only screen and ( max-width : 767px ) {
  #cta ul {gap: 10px;}
  #cta ul li {padding: 15px 30px 10px 15px;border-radius: 0;}
  #cta ul li::before {top: .5em;left: .5em;border-radius: 0;}
  #cta ul li h3 {margin-bottom: 10px;}
}
/*--------------------------------------------------

    fixed quicklink

--------------------------------------------------*/
.fixed_quicklink {position: fixed;right: 0;bottom: clamp(12px, 1.5vw, 24px);z-index: 90;}
.fixed_quicklink ul {display: flex;flex-direction: column;gap: 8px;}
.fixed_quicklink ul li a {
  display: flex;
  align-items: center;
  gap: .8em;
  position: relative;
  padding: .7em 1.4em .7em .9em;
  background: #3D67B4;
  color: #fff;
  font-weight: 500;
  font-size: calc(.8vw + 2px);
  line-height: 1.3;
  letter-spacing: 0;
  transition: opacity .25s, transform .25s;
}
.fixed_quicklink ul li a:hover {opacity: .85;transform: translateX(-4px);}
.fixed_quicklink ul li a::before {
  content: '';
  position: absolute;
  top: 0;
  right: 99.5%;
  width: 30px;
  height: 100%;
  clip-path: polygon(100% -3%, 100% 100%, 0 100%);
  background: #3D67B4;
}
.fixed_quicklink ul li a span {display: flex;justify-content: center;align-items: center;flex-shrink: 0;width: 2.4em;height: 2.4em;border-radius: 50%;background: #fff;}
.fixed_quicklink ul li a span img {width: 50%;}
@media only screen and ( max-width : 1024px ) {
  .fixed_quicklink ul li a {font-size: 15px;}
}
@media only screen and ( max-width : 767px ) {
  .fixed_quicklink {right: 0;bottom: 0;left: 0;}
  .fixed_quicklink ul {flex-direction: row;gap: 0;box-shadow: 0 -2px 10px rgba(0, 0, 0, .15);}
  .fixed_quicklink ul li {flex: 1;border-left: 1px solid rgba(255, 255, 255, .25);}
  .fixed_quicklink ul li:first-child {border-left: 0;}
  .fixed_quicklink ul li a {flex-direction: column;justify-content: center;gap: 4px;padding: 10px 4px 8px;font-size: 10px;text-align: center;}
  .fixed_quicklink ul li a::before {display: none;}
  .fixed_quicklink ul li a span {width: 22px;height: 22px;background: none;}
  .fixed_quicklink ul li a span img {width: 100%;filter: brightness(0) invert(1);}
  body {padding-bottom: 64px;}
}
/*--------------------------------------------------

    footer

--------------------------------------------------*/
footer {padding-top: clamp(30px, calc(30px + 80 * ((100vw - 375px) / 1545)), 110px);background: var(--navy);color: #fff;}
footer .inner {max-width: 1655px;}
/* block1 */
footer .block1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  position: relative;
  margin-bottom: var(--size90);
  padding: 0 var(--size100) 0 clamp(50px, calc(50px + 150 * ((100vw - 375px) / 1545)), 200px);
}
footer .block1::before {
  content: '';
  position: absolute;
  left: 0;
  width: clamp(30px, calc(30px + 16 * ((100vw - 375px) / 1545)), 46px);
  height: clamp(31px, calc(31px + 17 * ((100vw - 375px) / 1545)), 48px);
  background: url(img/common/footer/white-symbol.svg) no-repeat center / contain;
}
footer .block1 .container .wrap:not(:last-child) {margin-bottom: 2.85em;}
footer .block1 .container .wrap p {margin-bottom: 10px;color: #fff;font-weight: 700;font-size: var(--font18);}
footer .block1 .container .wrap ul.is-indent {padding-left: 1.2em;}
footer .block1 .container .wrap ul li {margin-bottom: .55em;}
footer .block1 .container .wrap ul.section-gap {margin-bottom: 2.85em;}
footer .block1 .container .wrap ul.section-gap li:last-child {margin-bottom: 0;}
footer .block1 .container .wrap ul li a {font-weight: 500;color: #8C959A;line-height: 1.4;}
footer .block1 .container .wrap ul li a:hover {opacity: .5;}
/* block2 */
footer .block2 {max-width: 1494px;margin: 0 auto var(--size50);}
footer .block2 ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px var(--size20-50);
  padding: clamp(20px, calc(20px + 15 * ((100vw - 375px) / 1545)), 35px) clamp(50px, calc(50px + 150 * ((100vw - 375px) / 1545)), 200px);
  border-top: 1px solid #8C959A;
}
footer .block2 ul li a {color: #fff;font-weight: 500;font-size: clamp(12px, calc(12px + 2 * ((100vw - 375px) / 1545)), 14px);}
/* block3 */
footer .block3 {
  padding: var(--size40) var(--size80) 13px;
  overflow: hidden;
  background: #fff url(img/common/footer/bg.webp) no-repeat top center / cover;
  color: #000;
  clip-path: polygon(6.5% 0, 100% 0, 93.5% 100%, 0 100%);
}
footer .block3 .container .title_wrap {margin-bottom: 40px;}
footer .block3 .container .title_wrap .logo {max-width: clamp(220px, calc(220px + 520 * ((100vw - 375px) / 1545)), 740px);margin-bottom: .8em;}
footer .block3 .container .title_wrap p {font-weight: 500;font-size:var(--font18);}
footer .block3 .container small {font-weight: 500;font-size: var(--font14);}
/* footer_sp（SP専用） */
footer .footer_sp {display: none;}
@media only screen and ( max-width : 1024px ) {
  footer .block1 {grid-template-columns: repeat(2, 1fr);}
}
@media only screen and ( max-width : 767px ) {
  footer {padding-bottom: 55px;}
  footer .block1,
  footer .block2 {display: none;}
  footer .footer_sp {display: block;margin-bottom: var(--size40);}
  footer .footer_sp .logo {display: block;margin-bottom: var(--size20-50);}
  footer .footer_sp .logo img {width: clamp(140px, 40vw, 200px);}
  footer .footer_sp .acc_list {margin-bottom: var(--size60);}
  footer .footer_sp .acc_trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--size20);
    width: 100%;
    padding: var(--size20-40) 0;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, .2);
    background: none;
    color: #fff;
    font-weight: 700;
    font-size: var(--font20);
    text-align: left;
 }
  footer .footer_sp .acc_list li:last-child .acc_trigger {border-bottom: 1px solid rgba(255, 255, 255, .2);}
  footer .footer_sp .acc_trigger .plus {position: relative;flex-shrink: 0;width: var(--size30);height: var(--size30);border: 1px solid #fff;}
  footer .footer_sp .acc_trigger .plus::before,
  footer .footer_sp .acc_trigger .plus::after {content: '';position: absolute;top: 50%;left: 50%;background: #fff;transform: translate(-50%, -50%);}
  footer .footer_sp .acc_trigger .plus::before {width: 45%;height: 1px;}
  footer .footer_sp .acc_trigger .plus::after {width: 1px;height: 45%;transition: transform .3s;}
  footer .footer_sp .acc_trigger[aria-expanded="true"] .plus::after {transform: translate(-50%, -50%) rotate(90deg);}
  footer .footer_sp .acc_panel {height: 0;overflow: hidden;transition: height .3s ease;}
  footer .footer_sp .acc_panel ul {padding: 5px 0 var(--size20-40);}
  footer .footer_sp .acc_panel ul li:not(:last-child) {margin-bottom: .8em;}
  footer .footer_sp .acc_panel ul li a {color: #8C959A;font-weight: 500;font-size: var(--font15);}
  footer .footer_sp .icon_grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 30px 60px;margin-bottom: var(--size60);}
  footer .footer_sp .icon_grid li a {display: flex;align-items: center;justify-content: space-between;gap: 10px;color: #fff;font-weight: 700;line-height: 1.3;}
  footer .footer_sp .icon_grid li a span {display: flex;align-items: center;justify-content: center;width: var(--size50);height: var(--size50);border-radius: 50%;background: #fff;}
  footer .footer_sp .icon_grid li a span img {width: 43%;}
  footer .footer_sp .icon_grid li:nth-child(1) a span img {width: 32%;}
  footer .footer_sp .icon_grid li:nth-child(2) a span img {width: 32%;}
  footer .footer_sp .link_row {display: flex;flex-wrap: wrap;gap: 10px var(--size30);padding-top: var(--size30);border-top: 1px solid rgba(255, 255, 255, .2);}
  footer .footer_sp .link_row li a {color: #fff;font-weight: 500;font-size: var(--font15);}
  footer .block3 {width: 97vw;margin: 0 calc(52% - 50vw);padding: 8px 30px 9px;}
  footer .block3 .container .title_wrap {margin-bottom: 10px;}
  footer .block3 .container .title_wrap .logo {margin-bottom: 0;}
  footer .block3 .container .title_wrap p {font-size: var(--font-14);}
  footer .block3 .container small {margin-top: 2.2em;}
}
/*-----------------------------------------------

	404 Not Found

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

	AVENT-5J │ Coming Soon

------------------------------------------------*/
#avent_5j .coming_soon {max-width: 1120px;margin: 0 auto;padding: var(--size150) 0 var(--size100);text-align: center;}
#avent_5j .coming_soon> p.PoppinsBD {margin-bottom: 20px;color: var(--blue);font-size: var(--font29);letter-spacing: .08em;}
#avent_5j .coming_soon h2 {margin-bottom: 30px;font-weight: 700;font-size: var(--font36);letter-spacing: .027em;}
#avent_5j .coming_soon> p:last-child {font-size: var(--font18);line-height: 1.9;letter-spacing: .025em;}
#avent_5j ul.gallery {display: grid;grid-template-columns: repeat(2, 1fr);gap: var(--size20-40);max-width: 1120px;margin: 0 auto var(--size130);}
#avent_5j ul.gallery li img {display: block;width: 100%;height: auto;}
#avent_5j .youtube_wrap {max-width: 1120px;margin: 0 auto var(--size130);}
#avent_5j .youtube_wrap .youtube {position: relative;width: 100%;padding-top: 56.25%;}
#avent_5j .youtube_wrap .youtube iframe {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
@media only screen and ( max-width : 767px ) {
  #avent_5j ul.gallery {grid-template-columns: 1fr;}
}
/*--------------------------------------------------

	404 Not Found

------------------------------------------------*/
#notfound {padding: var(--size150) 0 var(--size100);}
#notfound h2 {margin-bottom: 50px;text-align: center;}
#notfound h2 span {display: block;font-size: 2.3em;text-align: center;}
#notfound p {margin-bottom: 40px;text-align: center;}
#notfound a {
	display: block;
	position: relative;
	z-index: 1;
	width: 70%;
	max-width: 300px;
	margin: 0 auto;
	padding: 20px 0;
  overflow: hidden;
	border: 1px solid var(--navy);
  border-radius: 0;
	background: var(--navy);
	color: #fff;
  font-size: var(--font20);
	text-align: center;
}
#notfound a:hover {color: var(--navy);}
#notfound a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
	z-index: -5;
	background: #fff;
	color: var(--navy);
}
#notfound a:hover::after {transform-origin: left top;transform: scale(1, 1);}
#notfound a span {display: block;position: relative;text-align: center;}