@charset "UTF-8";
/**
 * Swiper 6.8.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: August 23, 2021
 */
@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');font-weight:400;font-style:normal}
:root{
	/*added by fgp
 */
	--has-fgp: initial;
	--element-has-fgp: initial;
	--parent-has-fgp: initial}
:root{--swiper-theme-color:#007aff}
.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}
.swiper-container-vertical>.swiper-wrapper{flex-direction:column}
.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform;box-sizing:content-box}
.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px,0,0);transform:translate3d(0px,0,0)}
.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}
.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}
.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}
.swiper-container-pointer-events{touch-action:pan-y}
.swiper-container-pointer-events.swiper-container-vertical{touch-action:pan-x}
.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:-webkit-transform;transition-property:transform;transition-property:transform, -webkit-transform}
.swiper-slide-invisible-blank{visibility:hidden}
.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}
.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}
.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}
.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}
.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}
.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}
.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}
.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}
.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}
.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}
.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box;
}
.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0);
}
.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}
.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}
.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}
.swiper-container-pointer-events {
  touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}
/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
:root {
  --color_base: #333;
  --color_theme: #5fc0c7;
  --color_gray_darken: #666;
  --color_gray: #999;
  --color_gray_lighten: #ccc;
  --color_silver_darken: #e2e2e2;
  --color_silver: #f2f2f2;
  --color_silver_lighten: #f8f8f8;
  --color_red: #ff0000;
  --color_blue: #36bef0;
  --color_blue_lighten: #cbf1ff;
  --color_purple: #b59cf5;
  --color_purple_lighten: #ede6ff;
  --color_pink: #f79db9;
  --color_pink_lighten: #fae4eb;
  --color_yellow: #e2dd00;
  --color_yellow_lighten: #fffda5;
}
/* stylelint-disable number-no-trailing-zeros */
:root {
  --easing_ease_in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --easing_ease_out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easing_ease_in_out: cubic-bezier(0.645, 0.045, 0.355, 1);
  --easing_ease_in_quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easing_ease_out_quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easing_ease_in_out_quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --easing_ease_in_quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easing_ease_out_quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easing_ease_in_out_quart: cubic-bezier(0.77, 0, 0.175, 1);
  --easing_ease_in_sine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easing_ease_out_sine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easing_ease_in_out_sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
:root {
  --font_base: "Noto Sans JP", "筑紫ゴシック Pro B", "Hiragino Kaku Gothic ProN", Meiryo, "MS Pゴシック", Osaka, sans-serif;
  --font_serif: "Noto Serif JP", serif;
  --font_serif-with-yakuhan: YakuHanMP, "Noto Serif JP", serif;
  --font_en: "Prata", serif;
}
:root {
  --app-space-side-sp: 20px;
}
:root {
  --position_sticky_top: 14.8rem;
}
:root {
  --ratio-4to3: 0.75;
  --ratio-16to9: 0.5625;
}
/**
 * $tr_***: opacity 1s 0s ease;
 */
:root {
  --transition_default: 0.4s ease;
}
:root {
  --zindex_header: 10;
  --zindex_dialog: 10;
  --zindex_toast: 10;
  --zindex_menu: 20;
  --zindex_modal: 20;
  --zindex_ui: 30;
  --zindex_pagetop: 10;
}
/**
 * Chocure Grid System
 * $unit -> Specify % for relative or vw for absolute. e.g. '%' | 'vw'
 */
/**
 * $px -> Value based on window size（px）e.g. $px: 16 when window width is 1366
 * $device -> Specify the value of $breakpoints
 * $minmax -> e.g. $minmax: (min: 14, max: 28)
 * ---
 * $breakpoints -> Breakpoints. (Liquid Reference Values.)
 * $unit -> Unit of output. e.g. 'px' | 'rem'
 * $base -> Reference Value. (Specify the best view on the design.)
 */
@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes header-main-logo-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
}
@keyframes header-main-logo-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
}
@-webkit-keyframes header-main-logo-out {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
}
@keyframes header-main-logo-out {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
}
/**
 * イントロ用
 */
@-webkit-keyframes hopping-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  60% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  80% {
    -webkit-transform: translateY(4%);
            transform: translateY(4%);
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
@keyframes hopping-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  60% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  80% {
    -webkit-transform: translateY(4%);
            transform: translateY(4%);
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
@-webkit-keyframes fade-up-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes fade-up-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
}
@-webkit-keyframes drop-water {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  40% {
    -webkit-transform: scaleX(0.8) translateY(-10px);
            transform: scaleX(0.8) translateY(-10px);
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(1.3) translateY(100%);
            transform: scaleX(1.3) translateY(100%);
  }
}
@keyframes drop-water {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  40% {
    -webkit-transform: scaleX(0.8) translateY(-10px);
            transform: scaleX(0.8) translateY(-10px);
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(1.3) translateY(100%);
            transform: scaleX(1.3) translateY(100%);
  }
}
/* Document
 * ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 */
:where(html) {
  line-height: 1.15; /* 1 */
}
/* Sections
 * ========================================================================== */
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
:where(h1) {
  font-size: 2em;
  -webkit-margin-after: 0.67em;
          margin-block-end: 0.67em;
  -webkit-margin-before: 0.67em;
          margin-block-start: 0.67em;
}
/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */
:where(dl, ol, ul) :where(dl, ol, ul) {
  -webkit-margin-after: 0;
          margin-block-end: 0;
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Correct the inheritance of border color in Firefox.
 */
:where(hr) {
  box-sizing: content-box; /* 1 */
  color: inherit; /* 2 */
  height: 0; /* 1 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(pre) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/* Text-level semantics
 * ========================================================================== */
/**
 * Add the correct text decoration in Safari.
 */
:where(abbr[title]) {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
:where(b, strong) {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(code, kbd, samp) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
:where(small) {
  font-size: 80%;
}
/* Tabular data
 * ========================================================================== */
/**
 * 1. Correct table border color in Chrome, Edge, and Safari.
 * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
:where(table) {
  border-color: currentColor; /* 1 */
  text-indent: 0; /* 2 */
}
/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
:where(button, input, select) {
  margin: 0;
}
/**
 * Remove the inheritance of text transform in Firefox.
 */
:where(button) {
  text-transform: none;
}
/**
 * Correct the inability to style buttons in iOS and Safari.
 */
:where(button, input:is([type="button" i], [type="reset" i], [type="submit" i])) {
  -webkit-appearance: button;
}
/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
:where(progress) {
  vertical-align: baseline;
}
/**
 * Remove the inheritance of text transform in Firefox.
 */
:where(select) {
  text-transform: none;
}
/**
 * Remove the margin in Firefox and Safari.
 */
:where(textarea) {
  margin: 0;
}
/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
:where(input[type="search" i]) {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}
/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
:where(button, input:is([type="button" i], [type="color" i], [type="reset" i], [type="submit" i]))::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:where(button, input:is([type="button" i], [type="color" i], [type="reset" i], [type="submit" i]))::-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Remove the additional :invalid styles in Firefox.
 */
:where(:-moz-ui-invalid) {
  box-shadow: none;
}
/* Interactive
 * ========================================================================== */
/*
 * Add the correct styles in Safari.
 */
:where(dialog) {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}
:where(dialog:not([open])) {
  display: none;
}
/*
 * Add the correct display in all browsers.
 */
:where(summary) {
  display: list-item;
}
html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
html.is-waiting-intro:not(.is-intro-end) :not(body, .js-intro, .js-intro *) {
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}
html[data-modal=true] {
  overflow: hidden;
}
html[data-wait=true] {
  cursor: wait !important;
}
body {
  max-width: 100%;
  margin: auto;
  word-wrap: break-word;
  font-family: var(--font_base);
  color: var(--color_base);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.is-navOpen {
  overflow: hidden;
}
input, textarea {
  font-family: inherit;
}
*:where(:not(iframe, canvas, img, svg, use, path, video, a, input, textarea, i, b, strong):not(svg *):not(table *):not(details *)) {
  all: unset;
  display: revert;
}
*,
::before,
::after {
  box-sizing: border-box;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}
p {
  margin: 0;
}
a {
  text-decoration: none;
  color: inherit;
}
button {
  border: none;
  cursor: pointer;
}
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
dl {
  margin: 0;
  padding: 0;
}
dd {
  margin: 0;
}
input,
select,
textarea {
  -webkit-appearance: none;
          appearance: none;
  vertical-align: middle;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
input::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  opacity: 1;
}
input::placeholder,
select::placeholder,
textarea::placeholder {
  opacity: 1;
}
label {
  cursor: pointer;
}
/* stylelint-disable */
@font-face {
  font-family: "iconfont";
  src: url("../fonts/iconfont.woff2?t=1663147186061") format("woff2"), url("../fonts/iconfont.woff?t=1663147186061") format("woff"), url("../fonts/iconfont.ttf?t=1663147186061") format("truetype");
}
[class^=iconfont-]::before, [class*=" iconfont-"]::before {
  font-family: "iconfont" !important;
  font-size: inherit;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1;
}
.iconfont-arrow-left:before {
  content: "\ea01";
}
.iconfont-arrow-right:before {
  content: "\ea02";
}
.iconfont-check:before {
  content: "\ea03";
}
.iconfont-chevron-left:before {
  content: "\ea04";
}
.iconfont-close:before {
  content: "\ea05";
}
.iconfont-external:before {
  content: "\ea06";
}
.iconfont-link:before {
  content: "\ea07";
}
.iconfont-list:before {
  content: "\ea08";
}
.iconfont-minus:before {
  content: "\ea09";
}
.iconfont-plus:before {
  content: "\ea0a";
}
.iconfont-search:before {
  content: "\ea0b";
}
.iconfont-shevron-left:before {
  content: "\ea0c";
}
.iconfont-shevron-right:before {
  content: "\ea0d";
}
.u-color--red {
  color: #FF0000;
}
.u-cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family: "object-fit: cover;";
}
.u-details-reset > summary::-webkit-details-marker {
  display: none;
}
.u-effect[data-type=scale-down] {
  overflow: hidden;
}
.u-effect[data-type=scale-down] > * {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  transition: 0.7s -webkit-transform;
  transition: 0.7s transform;
  transition: 0.7s transform, 0.7s -webkit-transform;
}
.swiper-slide-prev .u-effect[data-type=scale-down] > *, .swiper-slide-duplicate-prev .u-effect[data-type=scale-down] > *, .swiper-slide-active .u-effect[data-type=scale-down] > * {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.swiper-slide-next .u-effect[data-type=scale-down] > *, .swiper-slide-duplicate-next .u-effect[data-type=scale-down] > * {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.u-effect[data-type=fade-in-up] {
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
          transform: translate3d(0, 30px, 0);
  transition: 0.2s;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}
.u-effect[data-type=fade-in-up].is-inview {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.u-effect[data-effect-type=required] input, .u-effect[data-effect-type=required] textarea {
  transition: 0.4s;
  transition-property: background-color border;
}
.u-effect[data-effect-type=required].has-error input, .u-effect[data-effect-type=required].has-error textarea {
  background-color: rgba(255, 0, 0, 0.02);
  border: 1px solid var(--color_red);
}
.u-fill-height {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .u-fill-height {
    min-height: calc(100vh - 85px);
  }
}
@media (min-width: 768px) {
  .u-fill-height {
    min-height: calc(100vh - 82px);
  }
}
.u-hover {
  transition: opacity 0.4s;
}
@media screen and (min-width: 768px) {
  .u-hover:hover {
    opacity: 0.6;
  }
}
.u-hover-color {
  transition: color 0.4s;
}
@media screen and (min-width: 768px) {
  .u-hover-color:hover {
    color: var(--color_theme);
  }
}
.u-link {
  text-decoration: underline;
  text-underline-position: under;
  transition: text-decoration-color 0.4s;
}
@media screen and (min-width: 768px) {
  .u-link:hover {
    text-decoration-color: transparent;
  }
}
.u-link:not([target=_blank]) {
  color: var(--color_theme);
}
@media (max-width: 767px) {
  .u-link {
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .u-link {
    font-size: 1.5rem;
  }
}
.u-search::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("/img/icons/search.svg") no-repeat;
  line-height: 1;
}
.u-shadow {
  box-shadow: 0 7px 20px rgba(0, 0, 0, 0.05);
}
@media (max-width: 767px) {
  .u-sp-hidden {
    display: none !important;
  }
  .u-sp-block {
    display: block !important;
  }
  .u-sp-flex {
    display: flex !important;
  }
  .u-sp-inlineBlock {
    display: inline-block !important;
  }
  .u-sp-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) {
  .u-sp-block,
.u-sp-flex {
    display: none !important;
  }
  .u-sp-inlineBlock {
    display: none !important;
  }
  .u-sp-inline {
    display: none !important;
  }
}
.u-text-align--center {
  text-align: center;
}
.js-carousel {
  opacity: 0;
  transition: opacity 0.4s;
}
.js-carousel.swiper-container-initialized, .js-carousel.swiper-disabled {
  opacity: 1;
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes header-main-logo-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
}
@keyframes header-main-logo-out {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
}
/**
 * イントロ用
 */
@keyframes hopping-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  60% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  80% {
    -webkit-transform: translateY(4%);
            transform: translateY(4%);
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
@keyframes fade-up-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes drop-water {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  40% {
    -webkit-transform: scaleX(0.8) translateY(-10px);
            transform: scaleX(0.8) translateY(-10px);
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(1.3) translateY(100%);
            transform: scaleX(1.3) translateY(100%);
  }
}
.js-intro .intro {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color_theme);
}
.js-intro .intro__logo {
  position: relative;
  overflow: hidden;
}
.js-intro .katakana {
  position: absolute;
  left: 50%;
  opacity: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  line-height: 0;
}
.js-intro .chocure {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.js-intro .chocureText {
  -webkit-transform: translateY(calc(100% + 2px));
          transform: translateY(calc(100% + 2px));
  line-height: 0;
}
.js-intro .chocureText:nth-child(6) {
  margin-right: -10px;
}
.is-intro-play .js-intro .chocureText:nth-child(0) {
  -webkit-animation: fade-up-in 0.4s 0s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.4s 0s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
.is-intro-play .js-intro .chocureText:nth-child(1) {
  -webkit-animation: fade-up-in 0.42s 0.04s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.42s 0.04s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
.is-intro-play .js-intro .chocureText:nth-child(2) {
  -webkit-animation: fade-up-in 0.44s 0.08s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.44s 0.08s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
.is-intro-play .js-intro .chocureText:nth-child(3) {
  -webkit-animation: fade-up-in 0.46s 0.12s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.46s 0.12s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
.is-intro-play .js-intro .chocureText:nth-child(4) {
  -webkit-animation: fade-up-in 0.48s 0.16s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.48s 0.16s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
.is-intro-play .js-intro .chocureText:nth-child(5) {
  -webkit-animation: fade-up-in 0.5s 0.2s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.5s 0.2s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
.is-intro-play .js-intro .chocureText:nth-child(6) {
  -webkit-animation: fade-up-in 0.52s 0.24s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.52s 0.24s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
.is-intro-play .js-intro .chocureText:nth-child(7) {
  -webkit-animation: fade-up-in 0.54s 0.28s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
          animation: fade-up-in 0.54s 0.28s cubic-bezier(0, 0.37, 0.45, 1.01) forwards;
}
@media (max-width: 767px) {
  .js-intro .intro__logo {
    width: 322px;
    height: 68px;
  }
  .js-intro .intro__logo svg {
    -webkit-transform: scale(0.8429319372, 0.8405797101);
            transform: scale(0.8429319372, 0.8405797101);
  }
}
@media (min-width: 768px) {
  .js-intro .intro__logo {
    width: 382px;
    height: 69px;
  }
}
.swiper-slide {
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes header-main-logo-in {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
}
@keyframes header-main-logo-out {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0%, 0);
            transform: translate3d(-50%, 0%, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-50%, -100%, 0);
            transform: translate3d(-50%, -100%, 0);
  }
}
/**
 * イントロ用
 */
@keyframes hopping-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  60% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  80% {
    -webkit-transform: translateY(4%);
            transform: translateY(4%);
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
@keyframes fade-up-in {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes drop-water {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  40% {
    -webkit-transform: scaleX(0.8) translateY(-10px);
            transform: scaleX(0.8) translateY(-10px);
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: scaleX(1.3) translateY(100%);
            transform: scaleX(1.3) translateY(100%);
  }
}
.js-swiperNav .swiperNav {
  display: flex;
  align-items: center;
  color: #fff;
}
.js-swiperNav .pagination {
  display: flex;
  align-items: center;
}
.js-swiperNav .slash {
  width: 20px;
  height: 1px;
  margin: 0 10px;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.js-swiperNav .progress {
  position: relative;
  width: 20px;
  height: 1px;
  margin: 0 10px;
  background-color: rgba(255, 255, 255, 0.5);
}
.js-swiperNav .progressBar {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  -webkit-animation: progress 5s 0s linear forwards;
          animation: progress 5s 0s linear forwards;
}
.js-swiperNav .num {
  font-size: calc(14 / 16 * 1rem);
}
.js-swiperNav .buttons {
  display: flex;
  margin-left: 33px;
}
.js-swiperNav .buttons button:not(:last-child) {
  margin-right: 10px;
}
.js-toast {
  position: relative;
}
.js-toast [data-toast] {
  display: none;
}
.l-content {
  max-width: 1266px;
  margin-right: auto;
  margin-left: auto;
}
.l-content.-narrow {
  max-width: 800px;
}
.l-footer {
  display: grid;
  background-color: var(--color_silver);
}
.l-footer__logo {
  grid-area: logo;
}
.l-footer__logo use {
  fill: var(--color_base);
}
.flex-gap-not-supported .l-footer__social > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 30px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 30px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
.flex-gap-not-supported .l-footer__social > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
.flex-gap-not-supported .l-footer__social{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 30px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 30px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
.l-footer__social {
	grid-area: social;
	display: flex;
	--fgp-gap: var(--has-fgp, 30px);
	gap: var(--fgp-gap, 0px);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
}
.l-footer__social a {
  display: block;
  max-width: 24px;
  max-height: 24px;
}
.l-footer__social img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.l-footer__nav {
  grid-area: nav;
}
.l-footer__categories {
  grid-area: categories;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 60px calc(var(--app-space-side-sp) * 2) 50px;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto auto;
    grid-template-areas: "social" "categories" "logo" "nav";
  }
  .l-footer__social {
    margin-left: auto;
    margin-right: auto;
  }
  .l-footer__categories {
    margin-top: 50px;
  }
  .l-footer__logo {
    width: 272px;
    height: 48px;
    margin: 60px auto 0;
  }
  .l-footer__nav {
    margin: 20px calc(var(--app-space-side-sp) * -1) 0;
    text-align: center;
  }
  .l-footer__logo {-ms-grid-row: 3;-ms-grid-column: 1;
  }
  .l-footer__social {-ms-grid-row: 1;-ms-grid-column: 1;
  }
  .l-footer__nav {-ms-grid-row: 4;-ms-grid-column: 1;
  }
  .l-footer__categories {-ms-grid-row: 2;-ms-grid-column: 1;
  }
}
@media (min-width: 768px) {
  .l-footer {
    grid-template-columns: auto 33.3333333333vw;
    grid-template-rows: auto 1fr 1fr;
    grid-template-areas: "logo categories" "social categories" "nav categories";
    -webkit-column-gap: 40px;
            column-gap: 40px;
    justify-content: space-between;
    padding: 100px 11.1111111111%;
  }
  .l-footer__social {
    margin-top: 40px;
  }
  .l-footer__nav {
    margin-top: auto;
  }
  .l-footer__logo {
    width: 336px;
    height: 59px;
  }
  .l-footer__logo {-ms-grid-row: 1;-ms-grid-column: 1;
  }
  .l-footer__social {-ms-grid-row: 2;-ms-grid-column: 1;
  }
  .l-footer__nav {-ms-grid-row: 3;-ms-grid-column: 1;
  }
  .l-footer__categories {-ms-grid-row: 1;-ms-grid-row-span: 3;-ms-grid-column: 3;
  }
}
.l-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: var(--zindex_header);
}
.l-header__content {
  position: relative;
  width: inherit;
  background-color: #fff;
  transition: 0.6s;
  transition-property: height, box-shadow, -webkit-transform;
  transition-property: height, box-shadow, transform;
  transition-property: height, box-shadow, transform, -webkit-transform;
  transition-timing-function: var(--easing_ease_out_quart);
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
}
[data-page=top] .l-header__content {
  position: absolute;
}
.is-scrolled .l-header__content, .l-header.-narrow .l-header__content {
  box-shadow: 0 7px 20px rgba(0, 0, 0, 0.05);
}
body:not(.is-scrolled, [data-page=top]) .l-header__content, [data-scroll-dir=up] .l-header__content {
  -webkit-transform: translate3d(0, 0%, 0);
          transform: translate3d(0, 0%, 0);
}
.l-header__logo {
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  display: none;
  transition: opacity 0.2s;
}
.l-header__logo use {
  fill: #fff;
  transition: fill 0.2s 0.4s;
}
.is-scrolled .l-header__logo, .l-header.-narrow .l-header__logo {
  display: block;
  top: 50%;
}
.is-scrolled .l-header__logo use, .l-header.-narrow .l-header__logo use {
  fill: var(--color_theme);
}
.l-header__mainLogo {
  position: absolute;
  left: 50%;
  -webkit-animation: header-main-logo-in 0.4s forwards;
          animation: header-main-logo-in 0.4s forwards;
}
.l-header__mainLogo use {
  fill: #fff;
}
.is-scrolled .l-header__mainLogo, .l-header.-narrow .l-header__mainLogo {
  -webkit-animation: header-main-logo-out 0.4s forwards;
          animation: header-main-logo-out 0.4s forwards;
}
.l-header__search {
  display: none;
  position: absolute;
  top: 50%;
  right: 11.1111111111%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.is-scrolled .l-header__search, .l-header.-narrow .l-header__search {
  display: block;
}
@media (max-width: 767px) {
  .l-header__content {
    height: 60px;
  }
  .l-header__mainLogo,
.l-header__logo {
    width: 180px;
    height: 32px;
  }
  .l-header__mainLogo {
    top: calc(100% + 20px);
  }
  .l-header__logo {
    left: var(--app-space-side-sp);
  }
  .is-scrolled .l-header__search, .l-header.-narrow .l-header__search {
    display: none;
  }
}
@media (min-width: 768px) {
  .l-header__content {
    height: 70px;
  }
  .l-header__mainLogo {
    width: clamp(11.25rem, 28.8433382138vw, 24.625rem);
    height: clamp(2rem, 4.9780380673vw, 4.25rem);
    top: calc(100% + 40px);
  }
  .l-header__logo {
    width: 240px;
    height: 42px;
    left: 5.5555555556%;
  }
}
.l-menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  z-index: var(--zindex_menu);
  background-color: var(--color_silver_lighten);
  transition: opacity 0.4s;
  overflow-y: scroll;
}
.is-menu-open-before .l-menu, .is-menu-open .l-menu {
  display: block;
}
.is-menu-open .l-menu {
  opacity: 1;
}
.is-menu-close-before .l-menu {
  opacity: 0;
}
.l-menu__close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.l-menu__logo use {
  fill: var(--color_theme);
}
.flex-gap-not-supported .l-menu__social > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 30px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 30px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
.flex-gap-not-supported .l-menu__social > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
.flex-gap-not-supported .l-menu__social{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 30px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 30px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
.l-menu__social {
	display: flex;
	--fgp-gap: var(--has-fgp, 30px);
	gap: var(--fgp-gap, 0px);
	justify-content: flex-end;
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
}
.l-menu__social a {
  display: block;
  max-width: 24px;
  max-height: 24px;
}
.l-menu__social img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media (max-width: 767px) {
  .l-menu {
    padding: 60px 0 80px 0;
  }
  .l-menu__content {
    padding: 0 calc(var(--app-space-side-sp) * 2);
  }
  .l-menu__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
  }
  .l-menu__logo svg {
    width: 200px;
    height: 36px;
  }
  .l-menu__main {
    margin-top: 30px;
  }
  .l-menu__social {
    margin-top: 60px;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .l-menu {
    padding: 60px 0 110px 0;
  }
  .l-menu__logo {
    margin-bottom: 40px;
  }
  .l-menu__logo svg {
    width: 336px;
    height: 60px;
  }
  .l-menu__close {
    top: 0;
    right: 52px;
    width: 70px;
    height: 70px;
  }
  .l-menu__content {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: stretch;
    position: relative;
    padding: 0 11.1111111111% 0 5.5555555556%;
  }
  .l-menu__main {
    margin-top: auto;
    margin-bottom: auto;
  }
  .l-menu__social {
    position: absolute;
    bottom: 0;
    right: 5.5555555556%;
  }
}
.c-buttonToggle {
  position: relative;
  width: 33px;
  height: 33px;
  border: none;
  background-color: var(--color_theme);
}
[open] .c-buttonToggle span:nth-child(2) {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-buttonToggle span {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 17px;
  height: 1px;
  background-color: #fff;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
.c-buttonToggle span:nth-child(2) {
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
}
.c-buttonToggle.-reverse {
  background-color: #fff;
}
.c-buttonToggle.-reverse span {
  background-color: var(--color_theme);
}
.c-category {
  color: var(--color_theme);
  font-family: var(--font_serif);
  font-size: calc(14 / 16 * 1rem);
}
.c-category.-large {
  font-size: calc(15 / 16 * 1rem);
}
a.c-category {
  position: relative;
  display: inline-block;
  color: inherit;
}
a.c-category::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: white;
  transition: width 0.4s;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
@media (min-width: 768px) {
  a.c-category {
    font-size: calc(13 / 16 * 1rem);
  }
  a.c-category:hover::after {
    left: auto;
    right: 0;
    width: 0%;
  }
}
.c-checkbox {
  position: relative;
  width: 30px;
  height: 30px;
  color: var(--color_theme);
  font-size: calc(11 / 16 * 1rem);
}
.c-checkbox input {
  width: 100%;
  height: 100%;
  cursor: pointer;
  border: 1px solid var(--color_gray_lighten);
}
.c-checkbox input + *:before {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea03";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  margin-left: 1px;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.2s;
}
.c-checkbox input:checked + *::before {
  opacity: 1;
}
.c-circleButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border: 1px solid var(--color_base);
  border-radius: 50%;
  cursor: pointer;
}
.c-circleButton.-white {
  color: #fff;
}
.c-circleButton::before {
  font-size: calc(16 / 16 * 1rem);
}
@media (max-width: 767px) {
  .c-circleButton.-white {
    border-color: rgba(255, 255, 255, 0.4);
  }
}
@media (min-width: 768px) {
  .c-circleButton {
    transition: border 0.4s;
  }
  .c-circleButton.-white {
    border-color: rgba(255, 255, 255, 0.4);
  }
  .c-circleButton.-white:hover {
    border-color: white;
  }
}
.c-date {
  letter-spacing: 0.05em;
  color: var(--color_gray);
  line-height: 1;
}
.c-date.-white {
  color: #fff;
}
@media (max-width: 767px) {
  .c-date {
    font-size: calc(10 / 16 * 1rem);
  }
}
@media (min-width: 768px) {
  .c-date {
    font-size: calc(11 / 16 * 1rem);
  }
}
.c-form em {
  margin-left: 4px;
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  color: var(--color_theme);
  vertical-align: -2px;
  line-height: 1;
}
.c-form__item:not(:first-child) {
  margin-top: 20px;
}
.c-form__item__title {
  line-height: 1.5;
  font-weight: bold;
  font-size: calc(15 / 16 * 1rem);
}
.c-form__item__title--require:after {
  content: "*";
  display: inline-block;
  margin-left: 4px;
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  color: var(--color_theme);
}
.c-form__item__content {
  margin-top: 12px;
}
.c-form__text:not(:first-child) {
  margin-top: 12px;
}
.c-form__caption {
  margin-top: 12px;
}
.c-form__footer {
  text-align: center;
}
.c-form__footer .c-form__content:not(:first-child) {
  margin-top: 20px;
}
.c-form__footer .c-form__caption {
  margin-top: 40px;
  text-align: right;
}
@media (max-width: 767px) {
  .c-form__content:not(:first-child) {
    margin-top: 20px;
  }
  .c-form__item-wrap:not(:first-child) {
    margin-top: 20px;
  }
  .c-form__footer {
    margin-top: 30px;
  }
}
@media (min-width: 768px) {
  .c-form__content:not(:first-child) {
    margin-top: 40px;
  }
  .c-form__item-wrap {
    display: flex;
    justify-content: space-between;
  }
  .c-form__item-wrap:not(:first-child) {
    margin-top: 20px;
  }
  .c-form__item-wrap .c-form__item {
    flex: 1;
  }
  .c-form__item-wrap .c-form__item:not(:first-child) {
    margin-top: 0;
    margin-left: 12px;
  }
  .c-form__footer {
    margin-top: 40px;
  }
}
.c-headerPage__heading {
  text-align: center;
  font-family: var(--font_serif);
}
.c-headerPage__lede {
  font-size: calc(14 / 16 * 1rem);
  line-height: 2.1;
}
@media (max-width: 767px) {
  .c-headerPage__heading {
    font-size: calc(26 / 16 * 1rem);
  }
  .c-headerPage__lede {
    margin-top: 26px;
  }
}
@media (min-width: 768px) {
  .c-headerPage {
    max-width: 44.4444444444%;
    margin: 0 auto;
  }
  .c-headerPage__heading {
    font-size: calc(30 / 16 * 1rem);
  }
  .c-headerPage__lede {
    text-align: center;
    margin-top: 30px;
  }
}
.c-heading {
  font-weight: bold;
}
.c-heading.-narrow {
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}
.c-heading.-center {
  text-align: center;
}
.c-heading.-underline:after {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background-color: var(--color_border);
}
.c-headingPage {
  display: flex;
  align-items: center;
}
.c-headingSub {
  font-weight: bold;
}
.c-headingSub.-underline:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 10px;
  background-color: #707070;
}
.c-headingContent__text {
  font-family: var(--font_en);
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-heading.-underline:after {
    margin-top: 10px;
  }
  .c-heading__text {
    line-height: 1.3;
    font-size: 2rem;
  }
  .c-headingText {
    line-height: 1.3;
    font-size: 2rem;
  }
  .c-heading__subtext {
    margin-top: 10px;
    line-height: 1.3;
    font-size: calc(15 / 16 * 1rem);
  }
  .c-headingPage {
    font-size: 2rem;
  }
  .c-headingPage__text {
    font-size: 1.4rem;
    margin-left: 18px;
  }
  .c-headingSub {
    font-size: calc(18 / 16 * 1rem);
  }
}
@media (min-width: 768px) {
  .c-heading.-underline:after {
    margin-top: 20px;
  }
  .c-heading__text {
    line-height: 1.66;
    font-size: calc(36 / 16 * 1rem);
  }
  .c-headingText {
    font-size: 3.6rem;
    line-height: 1.66;
  }
  .c-heading__subtext {
    margin-top: 8px;
    line-height: 1.66;
    font-size: calc(16 / 16 * 1rem);
  }
  .c-headingPage {
    font-size: 4rem;
  }
  .c-headingPage__text {
    font-size: 1.6rem;
    margin-left: 28px;
  }
  .c-headingSub {
    font-size: calc(24 / 16 * 1rem);
  }
}
.c-headingHash {
  font-family: var(--font_serif);
}
.c-headingHash::before {
  content: "#";
}
@media (max-width: 767px) {
  .c-headingHash {
    font-size: calc(22 / 16 * 1rem);
  }
}
@media (min-width: 768px) {
  .c-headingHash {
    font-size: calc(30 / 16 * 1rem);
  }
}
.c-input {
  width: 100%;
  height: 50px;
  border: 1px solid var(--color_gray_lighten);
}
@media (max-width: 767px) {
  .c-input {
    padding-left: 15px;
    padding-right: 15px;
    font-size: calc(15 / 16 * 1rem);
  }
}
@media (min-width: 768px) {
  .c-input {
    padding-left: 20px;
    padding-right: 20px;
    font-size: calc(16 / 16 * 1rem);
  }
}
.c-linkRounded {
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  height: 40px;
  font-size: calc(13 / 16 * 1rem);
  color: var(--color_gray_darken);
  border-radius: 20px;
  border: 1px solid var(--color_gray);
  max-width: 300px;
}
.c-linkRounded span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.c-linkRounded.-hash::before {
  content: "#";
  color: var(--color_theme);
  margin-right: 3px;
}
@media (min-width: 768px) {
  .c-linkRounded {
    transition: 0.4s;
    transition-property: color, border-color;
  }
  .c-linkRounded:hover {
    color: var(--color_theme);
    border-color: var(--color_theme);
  }
}
.c-linkRect {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 50px;
  font-size: calc(13 / 16 * 1rem);
  letter-spacing: 0.09em;
  color: #fff;
  background-color: var(--color_base);
}
.c-linkRect.-white {
  color: var(--color_base);
  background-color: #fff;
}
.c-linkRect.-ghost {
  background-color: transparent;
  color: var(--color_base);
  border: 1px solid #000;
}
@media (min-width: 768px) {
  .c-linkRect {
    transition: opacity 0.4s;
  }
  .c-linkRect:hover {
    opacity: 0.8;
  }
}
.c-radio {
  position: relative;
  width: 24px;
  height: 24px;
  border: 1px solid var(--color_gray_lighten);
  border-radius: 50%;
}
.c-radio input {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.c-radio input + * {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  z-index: -1;
  transition: background-color 0.4s;
}
.c-radio input:checked + * {
  background-color: var(--color_theme);
}
.c-searchResult {
  color: var(--color_gray);
  line-height: 1;
  font-size: calc(12 / 16 * 1rem);
}
.c-tag {
  font-size: calc(11 / 16 * 1rem);
  line-height: 1;
}
.c-tag::before {
  content: "#";
  margin-right: 1px;
}
.c-textarea {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 140px;
  height: 140px;
  max-height: 200px;
  border: 1px solid var(--color_gray_lighten);
  line-height: 2.1;
}
@media (max-width: 767px) {
  .c-textarea {
    padding: 10px 15px;
    font-size: calc(15 / 16 * 1rem);
  }
}
@media (min-width: 768px) {
  .c-textarea {
    padding: 15px 20px;
    font-size: calc(16 / 16 * 1rem);
  }
}
.c-toast {
  position: absolute;
  top: calc(-100% - 15px);
  left: 50%;
  padding: 4px 8px;
  border: 1px solid var(--color_theme);
  border-radius: 2px;
  font-size: calc(10 / 16 * 1rem);
  word-break: keep-all;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
  transition: 0.4s;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  z-index: var(--zindex_toast);
}
.c-toast::before, .c-toast::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 10px;
  height: 6px;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
  -webkit-transform: translateX(-50%) translateY(6px);
          transform: translateX(-50%) translateY(6px);
}
.c-toast::before {
  z-index: -1;
  background-color: var(--color_theme);
}
.c-toast::after {
  background-color: #fff;
  -webkit-transform: translateX(-49%) translateY(5px) scale(0.9);
          transform: translateX(-49%) translateY(5px) scale(0.9);
}
.is-toast-active .c-toast {
  opacity: 1;
}
.p-accordion {
  background-color: #fff;
}
.p-accordion__header {
  display: block;
  padding: 0 0 0 30px;
  font-size: calc(15 / 16 * 1rem);
  font-family: var(--font_serif);
  cursor: pointer;
}
.p-accordion__headerInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  word-break: keep-all;
}
.p-accordion__content {
  position: relative;
  background-color: #fff;
}
@media (max-width: 767px) {
  .p-accordion__header {
    display: none;
  }
}
@media (min-width: 768px) {
  .p-accordion__header {
    height: 70px;
    padding: 20px 20px 20px 30px;
  }
  .p-accordion__content {
    padding: 50px 20px;
  }
  .p-accordion__content::before {
    position: absolute;
    top: 0;
    content: "";
    width: calc(100% - 40px);
    height: 1px;
    display: block;
    background-color: var(--color_silver_darken);
  }
}
.p-agree {
  display: flex;
  align-items: center;
  font-size: calc(12 / 16 * 1rem);
}
.p-agree__text {
  margin-left: 10px;
}
.p-agree__text a {
  text-decoration: underline;
}
@media (min-width: 768px) {
  .p-agree__text a {
    transition: text-decoration-color 0.4s;
  }
  .p-agree__text a:hover {
    text-decoration-color: transparent;
  }
}
.p-article__social {
  display: flex;
  justify-content: center;
}
.p-article__content {
  overflow: hidden;
}
.p-article__modules img {
  max-width: 100%;
}
.p-article__aside {
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .p-article {
    padding-bottom: 40px;
  }
  .p-article__content {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .p-article__social.-top {
    margin-bottom: 32px;
  }
  .p-article__social.-bottom {
    margin-top: 32px;
  }
  .p-article__aside {
    padding-left: var(--app-space-side-sp);
    padding-right: var(--app-space-side-sp);
  }
  .p-article__footer {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .p-article {
    display: flex;
  }
  .p-article__content {
    flex: 1;
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .p-article__social.-top {
    margin-bottom: 70px;
  }
  .p-article__social.-bottom {
    margin-top: 70px;
  }
  .p-article__modules {
    max-width: 600px;
    margin: auto;
    padding-left: 40px;
    padding-right: clamp(1.25rem, 2.9282576867vw, 2.5rem);
    box-sizing: content-box;
  }
  .p-article__aside {
    display: flex;
    width: min(27.7777777778vw, 380px);
    padding: 80px 2.7777777778vw;
    background-color: var(--color_silver);
  }
  .p-article__sticky {
    flex: 1;
    position: -webkit-sticky;
    position: sticky;
    bottom: 20px;
    margin-top: auto;
  }
  .p-article__footer {
    padding-right: min(27.7777777778vw, 380px);
    padding-bottom: 150px;
  }
}
.p-card {
  display: block;
}
.p-card.-horizontal {
  display: flex;
}
.p-card__badge {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: calc(11 / 16 * 1rem);
  padding: 3px 13px;
  background-color: var(--color_silver);
}
.p-card__image {
  display: block;
}
.p-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-card__imageView {
  position: relative;
  padding-top: 100%;
}
.p-card__imageView img {
  position: absolute;
  top: 0;
}
.p-card__detail {
  flex: 1;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.flex-gap-not-supported .p-card__meta > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 10px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 10px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
.flex-gap-not-supported .p-card__meta > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
.flex-gap-not-supported .p-card__meta{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 10px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 10px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
.p-card__meta {
	display: flex;
	--fgp-gap: var(--has-fgp, 10px);
	gap: var(--fgp-gap, 0px);
	align-items: center;
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
}
.-horizontal .p-card__meta {
  align-items: flex-start;
  flex-direction: column;
  gap: 1px;
}
.p-card__heading {
  font-size: calc(16 / 16 * 1rem);
  font-family: var(--font_serif);
}
.-large .p-card__heading {
  font-size: calc(17 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-card.-post {
    display: flex;
  }
  .p-card__image {
    width: 50%;
  }
  .-large .p-card__image {
    width: auto;
  }
  .p-card__detail {
    padding: 5px 0 5px var(--app-space-side-sp);
  }
  .-large .p-card__detail {
    padding-top: 15px;
    padding-bottom: 26px;
  }
  .-post .p-card__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .p-card__heading {
    margin-top: 10px;
  }
  .-large .p-card__heading {
    margin-top: 2px;
  }
}
@media (min-width: 768px) {
  .p-card.-horizontal {
    align-items: center;
  }
  .p-card:hover .p-card__image {
    opacity: 0.8;
  }
  .p-card:hover .p-card__heading {
    color: var(--color_theme);
  }
  .p-card__image {
    transition: opacity 0.4s;
  }
  .-horizontal .p-card__image {
    width: 16.6666666667vw;
  }
  .p-card__heading {
    margin-top: 5px;
    transition: color 0.4s;
  }
  .-post .p-card__heading {
    font-size: calc(17 / 16 * 1rem);
  }
  .p-card__detail {
    margin-top: 9px;
  }
  .-large .p-card__detail {
    margin-top: 14px;
  }
  .-horizontal .p-card__detail {
    margin-top: 0;
    margin-left: 37px;
  }
}
.p-cardAside {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.p-cardAside__badge {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: calc(11 / 16 * 1rem);
  padding: 3px 13px;
  background-color: var(--color_silver);
}
.p-cardAside__image,
.p-cardAside__detail {
  width: calc(50% - 10px);
}
.p-cardAside__image {
  position: relative;
  padding-top: calc(50% - 10px);
}
.p-cardAside__image img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-cardAside__detail {
  flex: 1;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-left: 20px;
}
.flex-gap-not-supported .p-cardAside__meta > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 3px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 3px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
.flex-gap-not-supported .p-cardAside__meta > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
.flex-gap-not-supported .p-cardAside__meta{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 3px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 3px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
.p-cardAside__meta {
	display: flex;
	--fgp-gap: var(--has-fgp, 3px);
	gap: var(--fgp-gap, 0px);
	flex-direction: column;
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
}
.p-cardAside__heading {
  font-family: var(--font_serif);
}
@media (max-width: 767px) {
  .p-cardAside__heading {
    font-size: calc(16 / 16 * 1rem);
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  .p-cardAside:hover .p-cardAside__image {
    opacity: 0.8;
  }
  .p-cardAside:hover .p-cardAside__heading {
    color: var(--color_theme);
  }
  .p-cardAside__image {
    transition: opacity 0.4s;
  }
  .p-cardAside__heading {
    transition: color 0.4s;
    margin-top: 10px;
    font-size: calc(15 / 16 * 1rem);
  }
}
.p-carousel__slide.swiper-slide-active {
  z-index: 1;
}
@media (min-width: 768px) {
  .p-carousel__slide a {
    transition: opacity 0.4s;
  }
  .p-carousel__slide a:hover {
    opacity: 0.8;
  }
}
.p-contact__description {
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
.p-contact__required {
  color: var(--color_red);
}
@media (max-width: 767px) {
  .p-contact__form {
    margin-top: 20px;
  }
  .p-contact__content {
    padding: 30px var(--app-space-side-sp) 80px;
  }
  .p-contact__required {
    font-size: calc(11 / 16 * 1rem);
  }
}
@media (min-width: 768px) {
  .p-contact__form {
    margin-top: 46px;
  }
  .p-contact__content {
    max-width: 600px;
    padding-top: 100px;
    padding-bottom: 150px;
    margin: auto;
  }
  .p-contact__required {
    font-size: calc(14 / 16 * 1rem);
  }
}
.p-content {
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 767px) {
  .p-content {
    padding-right: var(--app-space-side-sp);
    padding-left: var(--app-space-side-sp);
  }
}
@media (min-width: 768px) {
  .p-content {
    max-width: 77.7777777778%;
  }
}
.p-cookieDialog {
  display: none;
  position: fixed;
  right: 0;
  color: #fff;
  font-size: calc(12 / 16 * 1rem);
  background-color: var(--color_base);
  z-index: var(--zindex_dialog);
}
.p-cookieDialog.-active {
  display: block;
}
.p-cookieDialog__close {
  display: block;
  margin-left: auto;
  font-size: calc(14 / 16 * 1rem);
}
.p-cookieDialog__text {
  margin-top: 10px;
  line-height: 1.4;
}
.p-cookieDialog__text a {
  text-decoration: underline;
  text-underline-offset: 1px;
}
.p-cookieDialog__button {
  display: flex;
  justify-content: center;
  margin-top: 36px;
}
@media (max-width: 767px) {
  .p-cookieDialog {
    bottom: 0;
    padding: 20px var(--app-space-side-sp) 40px;
  }
}
@media (min-width: 768px) {
  .p-cookieDialog {
    max-width: 415px;
    bottom: 0;
    padding: 20px 40px 40px;
  }
  .p-cookieDialog__text a {
    transition: -webkit-text-decoration 0.4s;
    transition: text-decoration 0.4s;
    transition: text-decoration 0.4s, -webkit-text-decoration 0.4s;
  }
  .p-cookieDialog__text a:hover {
    text-decoration-color: transparent;
  }
}
.p-copyright {
  margin-top: 7px;
  font-size: calc(12 / 16 * 1rem);
}
.p-corporate__list {
  display: flex;
  flex-wrap: wrap;
  border-top: 2px solid var(--color_gray_lighten);
  border-bottom: 1px solid var(--color_gray_lighten);
}
.p-corporate__list dt, .p-corporate__list dd {
  border-top: 1px solid var(--color_gray_lighten);
  box-sizing: border-box;
}
.p-corporate__list a {
  color: var(--color_theme);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-corporate__list a[target=_blank]:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea06";
  font-size: calc(12 / 16 * 1rem);
  color: var(--color_gray);
  margin-left: 4px;
  vertical-align: -2px;
}
.p-corporate__list .note {
  display: block;
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.4;
}
.p-corporate__badge img {
  display: block;
  margin: auto;
  max-width: 100%;
}
.p-corporate__badgeCaption {
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
  margin-top: 30px;
}
@media (max-width: 767px) {
  .p-corporate__content {
    padding-top: 40px;
    padding-bottom: 80px;
    padding-left: var(--app-space-side-sp);
    padding-right: var(--app-space-side-sp);
  }
  .p-corporate__list dt, .p-corporate__list dd {
    padding-top: 11px;
    padding-bottom: 12px;
    font-size: calc(13 / 16 * 1rem);
    line-height: 1.4;
  }
  .p-corporate__list dt {
    width: 114px;
    padding-left: var(--app-space-side-sp);
    padding-right: 15px;
  }
  .p-corporate__list dd {
    width: calc(100% - 114px);
  }
  .p-corporate__list .note {
    margin-top: 7px;
  }
  .p-corporate__badges {
    margin-top: 40px;
  }
  .p-corporate__badge:not(:first-child) {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .p-corporate__content {
    max-width: 600px;
    margin: auto;
    padding-top: 100px;
    padding-bottom: 150px;
  }
  .p-corporate__list dt, .p-corporate__list dd {
    padding-top: 10px;
    padding-bottom: 11px;
    font-size: calc(15 / 16 * 1rem);
    line-height: 2.1;
  }
  .p-corporate__list dt {
    width: 170px;
    padding-left: 10px;
    padding-right: 40px;
  }
  .p-corporate__list dd {
    width: calc(100% - 170px);
  }
  .p-corporate__list .note {
    margin-top: 4px;
  }
  .p-corporate__badges {
    margin-top: 80px;
  }
  .p-corporate__badge:not(:first-child) {
    margin-top: 70px;
  }
}
.p-document__list dd {
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
.p-document__list a {
  color: var(--color_theme);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-document__list a[target=_blank]:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea06";
  font-size: calc(12 / 16 * 1rem);
  color: var(--color_gray);
  margin-left: 4px;
  vertical-align: -2px;
}
.p-document__list ul > li, .p-document__list ol > li {
  position: relative;
  font-size: calc(15 / 16 * 1rem);
  line-height: 1.4;
}
.p-document__list ul > li:not(:first-child), .p-document__list ol > li:not(:first-child) {
  margin-top: 15px;
}
.p-document__list ul > li::before, .p-document__list ol > li::before {
  content: "";
  position: absolute;
  left: 0;
}
.p-document__list ul > li {
  padding-left: 1.5em;
}
.p-document__list ul > li::before {
  top: 0.6em;
  display: block;
  width: 6px;
  height: 6px;
  background-color: var(--color_theme);
  border-radius: 50%;
  margin-left: calc(0.75em - 3px);
}
.p-document__list ol {
  counter-reset: num;
  counter-set: num;
}
.p-document__list ol > li {
  counter-increment: num;
  padding-left: 2em;
}
.p-document__list ol > li::before {
  content: counter(num);
  top: 0.2em;
  font-family: var(--font_en);
  color: var(--color_theme);
  width: 2em;
  text-align: center;
}
.p-document__heading {
  font-size: calc(26 / 16 * 1rem);
  font-family: var(--font_serif);
}
.p-document__log {
  font-size: calc(15 / 16 * 1rem);
}
.p-document__log p + p {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .p-document__content {
    padding-top: 40px;
    padding-bottom: 80px;
    padding-left: var(--app-space-side-sp);
    padding-right: var(--app-space-side-sp);
  }
  .p-document__list dt:not(:first-child) {
    margin-top: 40px;
  }
  .p-document__list dd {
    margin-top: 30px;
  }
  .p-document__list ul:not(:first-child, p + p), .p-document__list ol:not(:first-child, p + p), .p-document__list p:not(:first-child, p + p) {
    margin-top: 30px;
  }
  .p-document__list p + p {
    margin-top: 32px;
  }
  .p-document__log {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .p-document__content {
    max-width: 600px;
    margin: auto;
    padding-top: 100px;
    padding-bottom: 160px;
  }
  .p-document__list dt:not(:first-child) {
    margin-top: 50px;
  }
  .p-document__list dd {
    margin-top: 40px;
  }
  .p-document__list ul:not(:first-child, p + p), .p-document__list ol:not(:first-child, p + p), .p-document__list p:not(:first-child, p + p) {
    margin-top: 42px;
  }
  .p-document__list p + p {
    margin-top: 32px;
  }
  .p-document__log {
    margin-top: 50px;
  }
}
.p-filter__header {
  font-size: calc(11 / 16 * 1rem);
}
.p-filter__header > p {
  margin-top: 8px;
}
.p-filter__heading {
  font-family: var(--font_en);
  color: var(--color_theme);
  font-weight: 500;
  font-size: calc(21 / 16 * 1rem);
}
.p-filter__list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0 0;
}
.p-filter__list > li {
  margin: 10px 5px 0 0;
}
@media (max-width: 767px) {
  .p-filter__header {
    text-align: center;
  }
  .p-filter__search {
    margin-bottom: 40px;
  }
  .p-filter__item:not(:last-child) {
    margin-bottom: 40px;
  }
  .p-filter__list {
    justify-content: center;
    margin-top: 24px;
  }
}
@media (min-width: 768px) {
  .p-filter {
    padding: 0 56px;
  }
  .p-filter__search {
    display: none;
  }
  .p-filter__item {
    display: flex;
  }
  .p-filter__item:not(:last-child) {
    margin-bottom: 60px;
  }
  .p-filter__header {
    width: 16.6666666667vw;
  }
}
.p-firstview {
  position: relative;
  z-index: 0;
}
.p-firstview__overlay {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  overflow: hidden;
  pointer-events: none;
}
.is-intro-play .p-firstview__overlay {
  display: block;
}
.p-firstview__overlay img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transform: scale(1) translate3d(0, 0, 0);
          transform: scale(1) translate3d(0, 0, 0);
  transition: -webkit-transform 0.8s 0.4s var(--easing_ease_out_quad);
  transition: transform 0.8s 0.4s var(--easing_ease_out_quad);
  transition: transform 0.8s 0.4s var(--easing_ease_out_quad), -webkit-transform 0.8s 0.4s var(--easing_ease_out_quad);
}
.is-intro-end .p-firstview__overlay img {
  -webkit-transform: scale(10) translate3d(0, 0, 0);
          transform: scale(10) translate3d(0, 0, 0);
}
.p-firstview__overlay img use {
  fill: var(--color_theme);
}
.p-firstview__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-firstview__detail {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex: 1;
  z-index: 1;
  background-color: var(--color_theme);
}
.p-firstview__nav {
  display: flex;
  justify-content: flex-end;
}
.p-firstview__list {
  position: relative;
}
.p-firstview__list > li {
  position: absolute;
  top: 0;
  opacity: 0;
  transition: opacity 0.4s;
  z-index: -1;
}
.p-firstview__list > li.swiper-active {
  opacity: 1;
  z-index: 0;
}
.p-firstview__header {
  color: #fff;
}
.p-firstview__heading {
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-family: var(--font_serif);
}
.-clamp .p-firstview__heading {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.p-firstview__metaItem {
  font-size: calc(11 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-firstview__metaItem:not(:first-child) {
  margin-top: 20px;
}
.flex-gap-not-supported .p-firstview__metaItem.-grid > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 15px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 15px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
.flex-gap-not-supported .p-firstview__metaItem.-grid > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
.flex-gap-not-supported .p-firstview__metaItem.-grid{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 15px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 15px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
.p-firstview__metaItem.-grid {
	display: flex;
	align-items: center;
	--fgp-gap: var(--has-fgp, 15px);
	gap: var(--fgp-gap, 0px);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
}
.p-firstview__tags {
  display: flex;
  flex-wrap: wrap;
  margin: -2px -16px 0 0;
}
.p-firstview__tags > li {
  margin: 2px 16px 0 0;
}
@media (max-width: 767px) {
  .p-firstview {
    --firstview-nav-mgt: 20px;
  }
  .p-firstview__overlay {
    width: 100%;
    padding-top: 100%;
  }
  .p-firstview__content {
    width: 100%;
  }
  .p-firstview__nav {
    margin-top: var(--firstview-nav-mgt);
    margin-bottom: -10px;
  }
  .p-firstview__list {
    height: calc(6.825rem + var(--firstview-nav-mgt) + 1.2rem);
  }
  .p-firstview__image {
    position: relative;
    padding-top: 100%;
  }
  .p-firstview__image img {
    position: absolute;
    top: 0;
  }
  .p-firstview__detail {
    padding: 20px var(--app-space-side-sp) 40px;
  }
  .p-firstview__heading {
    font-size: calc(26 / 16 * 1rem);
    line-height: 1.4;
  }
  .p-firstview__meta {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .p-firstview {
    display: flex;
    --firstview-nav-mgt: 30px;
  }
  .p-firstview > .p-firstview__image {
    width: 50%;
  }
  .p-firstview__overlay {
    width: 50%;
    height: 100%;
    padding-top: 50%;
  }
  .p-firstview__content {
    width: 27.7777777778vw;
  }
  .p-firstview__nav {
    margin-top: var(--firstview-nav-mgt);
  }
  .p-firstview__list {
    height: calc(7.875rem + var(--firstview-nav-mgt) + 1.2rem);
  }
  .p-firstview__carousel {
    width: 50%;
  }
  .p-firstview__image {
    min-height: 500px;
    /**
     * innerHeight < Firstview Height の時
     */
    /**
     * innerHeight > Firstview Height の時
     */
  }
  .landscape-half .p-firstview__image {
    height: min(var(--dvh, 100vh) - 70px, (var(--dvw) - var(--bar-w)) / 2);
    min-height: 800px;
  }
  .landscape-half [data-page=top] .p-firstview__image {
    height: min(var(--dvh, 100vh), (var(--dvw) - var(--bar-w)) / 2);
  }
  .portrait-half .p-firstview__image {
    height: calc((var(--dvw) - var(--bar-w)) / 2);
  }
  .p-firstview__detail {
    min-height: 500px;
    /**
     * innerHeight < Firstview Height の時
     */
  }
  .landscape-half .p-firstview__detail {
    min-height: 800px;
  }
  .p-firstview__heading {
    font-size: clamp(1.375rem, 2.196193265vw, 1.875rem);
  }
  .p-firstview__heading a {
    transition: opacity 0.4s;
  }
  .p-firstview__heading a:hover {
    opacity: 0.75;
  }
  .p-firstview__meta {
    margin-top: 30px;
  }
}
@media (min-width: 1024px) {
  .p-firstview__overlay {
    height: auto;
  }
}
.p-form:not([data-switched=corporate]) .-only-coporate {
  display: none;
}
.-confirm .p-form__label,
.-confirm .p-form__copy {
  line-height: 2.1;
}
.p-form__label {
  flex: 1;
}
.p-form__required {
  color: var(--color_red);
  margin-left: 6px;
}
.p-form__error {
  display: none;
  color: var(--color_red);
}
.has-error .p-form__error {
  display: block;
}
.p-form__nav {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.p-form__nav button, .p-form__nav a {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .p-form {
    font-size: calc(15 / 16 * 1rem);
  }
  .p-form__item:not(:first-child) {
    margin-top: 20px;
  }
  .p-form__field,
.p-form__copy {
    margin-top: 8px;
  }
  .p-form__copy {
    padding: 0 var(--app-space-side-sp);
  }
  .p-form__error {
    font-size: calc(11 / 16 * 1rem);
    margin-top: 4px;
  }
  .p-form__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
  }
  .-confirm .p-form__nav {
    margin-top: 60px;
  }
  .flex-gap-not-supported .p-form__checks > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 25px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 25px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
  .flex-gap-not-supported .p-form__checks > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
  .flex-gap-not-supported .p-form__checks{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 25px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 25px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
  .p-form__checks {
	display: flex;
	--fgp-gap: var(--has-fgp, 25px);
	gap: var(--fgp-gap, 0px);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
  }
}
@media (min-width: 768px) {
  .p-form__item {
    display: flex;
  }
  .p-form__item:not(:first-child) {
    margin-top: 30px;
  }
  .-confirm .p-form__item:not(:first-child) {
    margin-top: 48px;
  }
  .p-form__label {
    padding-right: 20px;
  }
  .p-form__field {
    width: 63%;
  }
  .p-form__copy {
    width: 60.8333333333%;
  }
  .p-form__error {
    font-size: calc(12 / 16 * 1rem);
    margin-top: 6px;
  }
  .p-form__nav {
    margin: 50px 0 0 auto;
  }
  .-confirm .p-form__nav {
    margin-top: 100px;
  }
  .flex-gap-not-supported .p-form__checks > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 13px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 13px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
  .flex-gap-not-supported .p-form__checks > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
  .flex-gap-not-supported .p-form__checks{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 13px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 13px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
  .p-form__checks {
	display: flex;
	flex-direction: column;
	--fgp-gap: var(--has-fgp, 13px);
	gap: var(--fgp-gap, 0px);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
  }
}
.p-hamburger {
  transition: top 0.4s, 0.6s -webkit-transform var(--easing_ease_out_quart);
  transition: top 0.4s, 0.6s transform var(--easing_ease_out_quart);
  transition: top 0.4s, 0.6s transform var(--easing_ease_out_quart), 0.6s -webkit-transform var(--easing_ease_out_quart);
  z-index: var(--zindex_ui);
  cursor: pointer;
}
.p-hamburger.-top {
  position: fixed;
}
[data-scroll-dir=down] .p-hamburger.-top {
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
}
.p-hamburger.-menu {
  position: absolute;
}
:not(.is-atf-scrolled, [data-scroll-dir=up], .is-menu-open)[data-page=top] .p-hamburger span {
  background-color: #fff;
}
:not([data-page=top]) .p-hamburger, .is-scrolled .p-hamburger {
  top: 0;
}
.is-menu-open .p-hamburger span, :not([data-page=top]) .p-hamburger span, .is-scrolled .p-hamburger span {
  background-color: var(--color_theme);
}
.p-hamburger span {
  position: absolute;
  left: 50%;
  margin-left: -10px;
  display: block;
  width: 20px;
  height: 2px;
  background-color: #fff;
  transition: top 0.2s 0.2s, opacity 0.2s 0.2s, -webkit-transform 0.2s;
  transition: top 0.2s 0.2s, transform 0.2s, opacity 0.2s 0.2s;
  transition: top 0.2s 0.2s, transform 0.2s, opacity 0.2s 0.2s, -webkit-transform 0.2s;
}
.is-menu-open .p-hamburger span {
  transition: top 0.2s, opacity 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
  transition: top 0.2s, transform 0.2s 0.2s, opacity 0.2s 0.2s;
  transition: top 0.2s, transform 0.2s 0.2s, opacity 0.2s 0.2s, -webkit-transform 0.2s 0.2s;
}
.p-hamburger span:nth-child(1) {
  top: calc(50% - 7px);
}
.is-menu-open .p-hamburger span:nth-child(1) {
  top: 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.p-hamburger span:nth-child(2) {
  top: 50%;
}
.is-menu-open .p-hamburger span:nth-child(2) {
  opacity: 0;
}
.p-hamburger span:nth-child(3) {
  top: calc(50% + 7px);
}
.is-menu-open .p-hamburger span:nth-child(3) {
  top: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (max-width: 767px) {
  .p-hamburger {
    top: 0;
    width: 60px;
    height: 60px;
    right: 0;
  }
}
@media (min-width: 768px) {
  .p-hamburger {
    top: 20px;
    width: 70px;
    height: 70px;
    right: clamp(0rem, 3.6603221083vw, 3.125rem);
  }
  .p-hamburger.-menu {
    right: calc(clamp(0rem, 3.6603221083vw, 3.125rem) - var(--bar-w, 15px));
  }
}
.p-header {
  background-color: var(--color_silver_lighten);
}
@media (max-width: 767px) {
  .p-header {
    padding: 36px 0 38px;
  }
}
@media (min-width: 768px) {
  .p-header {
    padding: 60px 0;
  }
}
.p-intro__heading use {
  fill: var(--color_theme);
}
.p-intro__image {
  line-height: 0;
  align-self: flex-start;
}
.p-intro__image img {
  max-width: 100%;
}
.p-intro__detail {
  color: #fff;
}
.p-intro__copy {
  letter-spacing: 0.05em;
  font-family: var(--font_serif-with-yakuhan);
  line-height: 1.4;
}
.p-intro__text {
  font-size: calc(13 / 16 * 1rem);
  letter-spacing: 0.05em;
  line-height: 2.1;
  margin-top: 30px;
}
.p-intro__text > p + p {
  margin-top: 25px;
}
@media (max-width: 767px) {
  .p-intro {
    padding: 0 var(--app-space-side-sp) 36px;
    background: linear-gradient(0deg, var(--color_theme) calc(100% - 143px), #fff 0%);
  }
  .p-intro__image {
    margin-top: 30px;
  }
  .p-intro__heading {
    display: block;
    width: 296px;
    height: 52px;
    margin-left: auto;
    margin-right: auto;
  }
  .p-intro__detail {
    margin-top: 40px;
    text-align: center;
  }
  .p-intro__copy {
    font-size: calc(21 / 16 * 1rem);
  }
}
@media (min-width: 768px) {
  .p-intro {
    padding-bottom: 0 5.5555555556% 60px;
    background: linear-gradient(0deg, var(--color_theme) calc(100% - 104px), #fff 0%);
  }
  .p-intro__content {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto 1fr;
    grid-template-areas: "header image" "detail image";
    -webkit-column-gap: 40px;
            column-gap: 40px;
    padding-bottom: 60px;
  }
  .p-intro__image {
    grid-area: image;
    align-self: flex-start;
    width: 38.8888888889vw;
    margin-left: auto;
  }
  .p-intro__heading {
    grid-area: header;
    width: min(100%, 363px);
    height: 64px;
  }
  .p-intro__detail {
    grid-area: detail;
    margin-top: 115px;
    width: 33.3333333333vw;
  }
  .p-intro__copy {
    font-size: calc(22 / 16 * 1rem);
  }
}
@media (min-width: 768px){
  .p-intro__image {-ms-grid-row: 1;-ms-grid-row-span: 2;-ms-grid-column: 3;
  }
  .p-intro__heading {-ms-grid-row: 1;-ms-grid-column: 1;
  }
  .p-intro__detail {-ms-grid-row: 2;-ms-grid-column: 1;
  }}
.p-labeldCheck {
  display: inline-flex;
}
.p-labeldCheck__text {
  margin-left: 10px;
}
.p-latest__list {
  border-bottom: 1px solid var(--color_gray);
}
.p-latest__list > li {
  border-top: 1px solid var(--color_gray);
}
.p-latest__toAll {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .p-latest__hero {
    margin: 0 calc(-1 * var(--app-space-side-sp));
  }
  .p-latest__list > li {
    padding: 10px 0;
  }
  .p-latest__toAll {
    margin-top: 30px;
  }
}
@media (min-width: 768px) {
  .p-latest__content {
    display: flex;
    justify-content: space-between;
  }
  .p-latest__hero {
    width: 50%;
  }
  .p-latest__sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 90px;
  }
  .p-latest__sub {
    flex: 1;
    margin-left: 5.5555555556%;
  }
  .p-latest__list > li {
    padding: 20px 0;
  }
  .p-latest__toAll {
    margin-top: 70px;
  }
}
.p-menu {
  background-color: var(--color_silver_lighten);
}
.p-menu__social {
  display: flex;
}
.p-menu__header {
  margin-bottom: 20px;
}
.p-menu__heading {
  font-family: var(--font_en);
  color: var(--color_theme);
  font-size: calc(26 / 16 * 1rem);
}
.p-menu__tags > li {
  border-top: 1px solid var(--color_gray_lighten);
}
.p-menu__tag {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 50px;
  color: var(--color_gray_darken);
  word-break: break-word;
  font-size: calc(14 / 16 * 1rem);
}
.p-menu__tag:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea0d";
  position: absolute;
  right: 10px;
  color: var(--color_theme);
  font-size: calc(16 / 16 * 1rem);
}
.safari .p-menu__tag:after {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.p-menu__tag span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.p-menu__tag.-hashed::before {
  content: "#";
  margin-right: 3px;
  color: var(--color_theme);
}
@media (max-width: 767px) {
  .p-menu__item {
    margin-top: 50px;
  }
  .p-menu__tags > li:last-child {
    border-bottom: 1px solid var(--color_gray_lighten);
  }
  .p-menu__tag {
    padding: 0 30px 0 0;
  }
}
@media (min-width: 768px) {
  .p-menu {
    display: flex;
    justify-content: space-between;
  }
  .p-menu__item {
    width: 50%;
    padding: 0 clamp(0.625rem, 2.196193265vw, 1.875rem);
  }
  .p-menu__search {
    display: none;
  }
  .p-menu__tag {
    padding: 0 25px 0 0;
    transition: color 0.4s;
  }
  .p-menu__tag::after {
    transition: right 0.4s;
  }
  .p-menu__tag:hover {
    color: var(--color_theme);
  }
  .p-menu__tag:hover::after {
    right: 7px;
  }
  .flex-gap-not-supported .p-menu__tags > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 0px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: clamp(0.625rem, 2.196193265vw, 1.875rem);
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
  .flex-gap-not-supported .p-menu__tags > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
  .flex-gap-not-supported .p-menu__tags{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 0px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: clamp(0.625rem, 2.196193265vw, 1.875rem);
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
  .p-menu__tags {
	display: flex;
	flex-wrap: wrap;
	--fgp-gap: var(--has-fgp, 0 clamp(0.625rem, 2.196193265vw, 1.875rem));
	gap: var(--fgp-gap, 0px);
	justify-content: flex-start;
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
  }
  .p-menu__tags > li {
    width: calc(50% - 15px);
  }
  .safari.legacy .p-menu__tags > li {
    width: calc(50% - 30px);
  }
  .p-menu__tags > li:nth-last-child(-n+2) {
    border-bottom: 1px solid var(--color_gray_lighten);
  }
  .p-menu__tag {
    font-size: clamp(0.75rem, 1.0248901903vw, 0.875rem);
  }
  .p-menu__tag.-hashed {
    padding: 0 28px 0 0;
  }
}
.p-modal__close {
  position: absolute;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: calc(12 / 16 * 1rem);
}
.p-modal__close.-top {
  top: var(--app-space-side-sp);
  right: var(--app-space-side-sp);
}
.p-modal__close.-bottom {
  left: 50%;
  bottom: 36px;
}
.p-modal__close::before {
  font-size: calc(15 / 16 * 1rem);
}
.p-modal__close.-withText::before {
  margin-right: 10px;
}
@media (max-width: 767px) {
  .p-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--zindex_modal);
    padding: 55px var(--app-space-side-sp);
  }
  .p-modal::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: -1;
  }
  .is-modal-open .p-modal {
    display: block;
    box-sizing: border-box;
  }
  .p-modal__content {
    height: calc(var(--dvh) - 110px);
    padding: 40px var(--app-space-side-sp) 60px;
    background-color: #fff;
    overflow-y: scroll;
    box-sizing: border-box;
  }
}
@media (min-width: 768px) {
  .p-modal__close {
    display: none;
  }
}
.p-notfound__wrapper {
  background-color: var(--color_silver_lighten);
}
.p-notfound__header {
  text-align: center;
}
.p-notfound__heading {
  font-family: var(--font_en);
}
.p-notfound__content {
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
.p-notfound__button {
  display: flex;
  justify-content: center;
}
.p-notfound__pickup {
  background: linear-gradient(180deg, var(--color_silver_lighten) calc(100% - 114px), #fff 0%);
}
@media (max-width: 767px) {
  .p-notfound {
    padding-bottom: 80px;
  }
  .p-notfound__wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .p-notfound__heading {
    font-size: calc(26 / 16 * 1rem);
  }
  .p-notfound__content {
    margin-top: 35px;
    padding-right: var(--app-space-side-sp);
    padding-left: var(--app-space-side-sp);
  }
  .p-notfound__button {
    margin-top: 39px;
  }
}
@media (min-width: 768px) {
  .p-notfound {
    padding-bottom: 150px;
  }
  .p-notfound__wrapper {
    padding-top: 110px;
    padding-bottom: 90px;
  }
  .p-notfound__heading {
    font-size: calc(30 / 16 * 1rem);
  }
  .p-notfound__content {
    max-width: 600px;
    margin: 60px auto 0;
  }
  .p-notfound__button {
    margin-top: 39px;
  }
  .p-notfound__pickup {
    padding-left: 11.1111111111%;
  }
}
.p-pagination {
  display: flex;
  align-items: center;
}
.p-pagination__items {
  display: flex;
}
.p-pagination__page {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  color: var(--color_gray_darken);
  font-size: calc(13 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-pagination__page.-current {
  border: 1px solid var(--color_theme);
  pointer-events: none;
}
.p-pagination__arrow {
  color: var(--color_theme);
}
.p-pagination__arrow.-prev {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media (max-width: 767px) {
  .p-pagination__items {
    margin: 0 27px;
  }
  .p-pagination__page {
    margin: 0 3px;
  }
}
@media (min-width: 768px) {
  .p-pagination__items {
    display: flex;
    margin: 0 42px;
  }
  .p-pagination__page {
    margin: 0 19px;
    transition: color 0.4s;
  }
  .p-pagination__page:hover {
    color: var(--color_theme);
  }
}
.p-pickup {
  margin-left: auto;
  background-color: var(--color_theme);
  box-sizing: border-box;
}
.p-pickup__header {
  color: #fff;
}
.p-pickup__heading {
  font-size: calc(28 / 16 * 1rem);
  letter-spacing: 0.03em;
  font-family: var(--font_en);
}
.p-pickup__link {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 30px;
  padding-right: 35px;
  font-size: calc(16 / 16 * 1rem);
  letter-spacing: 0.09em;
  background-color: #fff;
}
.p-pickup__link:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea0d";
  position: absolute;
  right: 20px;
  font-size: calc(16 / 16 * 1rem);
  color: var(--color_theme);
}
.p-pickup__link span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 767px) {
  .p-pickup {
    display: flex;
    align-items: center;
    padding: 40px 0 50px var(--app-space-side-sp);
  }
  .p-pickup__header {
    align-self: flex-start;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
  }
  .p-pickup__list {
    flex: 1;
    margin: 0 0 0 20px;
  }
  .p-pickup__list > li {
    width: auto;
  }
  .p-pickup__list > li:not(:first-child) {
    margin-top: 2px;
  }
  .p-pickup__link {
    height: 60px;
  }
}
@media (min-width: 768px) {
  .p-pickup {
    padding: 36px 5.5555555556vw 70px 5.5555555556vw;
  }
  .flex-gap-not-supported .p-pickup__list > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	--orig-margin-top: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 1px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 1px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
  .flex-gap-not-supported .p-pickup__list > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
  .flex-gap-not-supported .p-pickup__list{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 1px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 1px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
  .p-pickup__list {
	display: flex;
	flex-wrap: wrap;
	--fgp-gap: var(--has-fgp, 1px);
	gap: var(--fgp-gap, 0px);
	--fgp-margin-top: initial;
	--orig-margin-top: 24px;
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
  }
  .p-pickup__list > li {
    width: calc(50% - 1px);
  }
  .p-pickup__link {
    height: 70px;
    transition: color 0.4s;
  }
  .p-pickup__link:hover {
    color: var(--color_theme);
  }
  .p-pickup__link:hover::after {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }
  .p-pickup__link::after {
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
  }
}
@media (min-width: 1024px) {
  .p-pickup__list > li {
    width: 16.6666666667vw;
  }
}
.p-posts__search {
  position: fixed;
  bottom: 15px;
  right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 60px;
  height: 60px;
  color: #fff;
  font-size: calc(10 / 16 * 1rem);
  background-color: var(--color_theme);
  border-radius: 50%;
}
.p-posts__search::before {
  font-size: calc(15 / 16 * 1rem);
  margin-bottom: 5px;
}
.is-main-scrolled .p-posts__search {
  display: none;
}
.p-posts__result {
  text-align: right;
}
.p-posts__pagination {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .p-posts {
    padding-bottom: 80px;
  }
  .p-posts__result {
    margin-bottom: 20px;
  }
  .p-posts__content {
    padding-top: 18px;
  }
  .p-posts__pagination {
    margin-top: 40px;
  }
  .p-posts__list {
    border-bottom: 1px solid var(--color_gray);
  }
  .p-posts__list > li {
    border-top: 1px solid var(--color_gray);
    padding: 10px 0;
  }
}
@media (min-width: 768px) {
  .p-posts {
    padding-bottom: 120px;
  }
  .p-posts__nav {
    margin-top: 56px;
  }
  .p-posts__result {
    margin-bottom: 30px;
  }
  .p-posts__content {
    padding-top: 50px;
  }
  .p-posts__search {
    display: none;
  }
  .p-posts__list {
    display: flex;
    flex-wrap: wrap;
    margin: -50px -5.5555555556% 0 0;
  }
  .p-posts__list > li {
    width: calc(33.3333% - 5.5555555556%);
    margin: 50px 5.5555555556% 0 0;
  }
  .p-posts__pagination {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .p-postSection {
    padding-top: 22px;
    padding-bottom: 30px;
  }
  .p-postSection__header {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .p-postSection + .p-postSection {
    margin-top: 90px;
  }
  .p-postSection__header {
    margin-bottom: 43px;
  }
}
.p-recommendedTags {
  background-color: #fff;
}
.p-recommendedTags__header {
  text-align: center;
  font-size: calc(11 / 16 * 1rem);
}
.p-recommendedTags__heading {
  font-size: calc(21 / 16 * 1rem);
  color: var(--color_theme);
  font-family: var(--font_en);
}
.flex-gap-not-supported .p-recommendedTags__list > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 10px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 5px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
.flex-gap-not-supported .p-recommendedTags__list > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
.flex-gap-not-supported .p-recommendedTags__list{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 10px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 5px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
.p-recommendedTags__list {
	display: flex;
	flex-wrap: wrap;
	--fgp-gap: var(--has-fgp, 10px 5px);
	gap: var(--fgp-gap, 0px);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
}
@media (max-width: 767px) {
  .p-recommendedTags {
    padding: 40px var(--app-space-side-sp);
  }
  .p-recommendedTags__list {
    display: flex;
    justify-content: center;
    margin-top: 30px;
  }
  .p-recommendedTags__heading {
    margin-bottom: 11px;
  }
}
@media (min-width: 768px) {
  .p-recommendedTags {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 50px clamp(3.75rem, 8.78477306vw, 7.5rem) 50px clamp(3.75rem, 8.0527086384vw, 6.875rem);
    box-shadow: 0 7px 20px rgba(0, 0, 0, 0.05);
  }
  .p-recommendedTags__header {
    width: 22.2222222222vw;
  }
  .p-recommendedTags__heading {
    margin-bottom: 16px;
  }
  .p-recommendedTags__list {
    flex: 1;
    margin-left: 5.5555555556vw;
    max-width: 38.8888888889vw;
  }
}
.p-related__heading {
  font-family: var(--font_serif);
}
.p-related__list {
  border-bottom: 1px solid var(--color_gray);
}
.p-related__list > li {
  border-top: 1px solid var(--color_gray);
}
@media (max-width: 767px) {
  .p-related:not(:first-child) {
    margin-top: 44px;
  }
  .p-related__heading {
    font-size: calc(22 / 16 * 1rem);
  }
  .p-related__list {
    margin-top: 26px;
  }
  .p-related__list > li {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
@media (min-width: 768px) {
  .p-related:not(:first-child) {
    margin-top: 60px;
  }
  .p-related__heading {
    font-size: calc(20 / 16 * 1rem);
  }
  .p-related__list {
    margin-top: 20px;
  }
  .p-related__list > li {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.p-result__body {
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
.p-result__button {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .p-result__content {
    padding: 32px var(--app-space-side-sp) 80px;
  }
  .p-result__body > p:not(:first-child) {
    margin-top: 29px;
  }
}
@media (min-width: 768px) {
  .p-result__content {
    max-width: 600px;
    margin: auto;
    padding-top: 92px;
    padding-bottom: 150px;
  }
  .p-result__body > p:not(:first-child) {
    margin-top: 34px;
  }
}
.p-search {
  display: flex;
  border: 1px solid var(--color_theme);
  border-radius: 2px;
}
.p-search.-wide input {
  width: 22.2222222222vw;
  height: 36px;
}
.p-search input {
  flex: 1;
  width: 100%;
  height: 40px;
  padding: 0 15px;
  font-size: calc(16 / 16 * 1rem);
  background-color: #fff;
  outline: none;
}
.p-search input::-webkit-input-placeholder {
  color: var(--color_gray);
}
.p-search input::placeholder {
  color: var(--color_gray);
}
.p-search__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  color: #fff;
  background-color: var(--color_theme);
  cursor: pointer;
}
.-wide .p-search__button {
  width: 5.5555555556vw;
}
.p-share {
  display: flex;
  align-items: center;
}
.p-share__heading {
  font-size: calc(16 / 16 * 1rem);
  font-weight: bold;
  line-height: 1;
  align-self: flex-start;
}
.p-share__list {
  display: flex;
  align-items: center;
  line-height: 1;
  margin-left: 10px;
}
.p-share__list > li {
  margin: 0 10px;
}
.p-share__list > li img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.p-share__button.-withToast {
  position: relative;
}
.flex-gap-not-supported .p-sitemap > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 14px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 14px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
.flex-gap-not-supported .p-sitemap > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
.flex-gap-not-supported .p-sitemap{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 14px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 14px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
.p-sitemap {
	display: inline-flex;
	--fgp-gap: var(--has-fgp, 14px);
	gap: var(--fgp-gap, 0px);
	font-size: calc(10 / 16 * 1rem);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
}
.p-simpleCategories__heading {
  display: block;
  width: 100%;
  font-family: var(--font_en);
  border-bottom: 1px solid var(--color_gray);
  padding-bottom: 3px;
}
.p-simpleCategories__detail {
  margin-top: 24px;
}
.p-simpleCategories__list {
  display: flex;
  flex-wrap: wrap;
}
.p-simpleCategories__list > li {
  width: calc(50% - 20px);
  font-size: calc(13 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-simpleCategories__heading {
    font-size: calc(14 / 16 * 1rem);
  }
  .flex-gap-not-supported .p-simpleCategories__list > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 20px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 20px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
  .flex-gap-not-supported .p-simpleCategories__list > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
  .flex-gap-not-supported .p-simpleCategories__list{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 20px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 20px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
  .p-simpleCategories__list {
	display: flex;
	--fgp-gap: var(--has-fgp, 20px);
	gap: var(--fgp-gap, 0px);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
  }
}
@media (min-width: 768px) {
  .p-simpleCategories__heading {
    font-size: calc(16 / 16 * 1rem);
  }
  .flex-gap-not-supported .p-simpleCategories__list > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 12px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 20px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
  .flex-gap-not-supported .p-simpleCategories__list > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
  .flex-gap-not-supported .p-simpleCategories__list{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 12px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 20px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
  .p-simpleCategories__list {
	display: flex;
	--fgp-gap: var(--has-fgp, 12px 20px);
	gap: var(--fgp-gap, 0px);
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
  }
}
.p-top__section.-type-gray {
  background-color: var(--color_silver);
}
.p-top__recommended {
  position: relative;
  z-index: 1;
}
.p-top__heading {
  font-family: var(--font_en);
  letter-spacing: 0.04em;
}
.p-top__heading span {
  font-size: calc(11 / 16 * 1rem);
  font-family: var(--font_base);
}
.p-top__pickup {
  background: linear-gradient(180deg, var(--color_silver) calc(100% - 70px), #fff 0%);
}
@media (max-width: 767px) {
  .p-top {
    padding-bottom: 80px;
  }
  .p-top__latest {
    padding-top: 40px;
    padding-bottom: 50px;
  }
  .p-top__header {
    margin-bottom: 12px;
  }
  .p-top__heading {
    font-size: calc(32 / 16 * 1rem);
  }
  .p-top__heading span {
    font-size: calc(11 / 16 * 1rem);
    margin-left: 20px;
  }
  .p-top__section.-type-pr {
    padding-top: 29px;
  }
}
@media (min-width: 768px) {
  .p-top {
    padding-bottom: 150px;
  }
  .p-top__recommended {
    -webkit-transform: translateY(-70px);
            transform: translateY(-70px);
    max-width: 77.7777777778%;
    margin: 0 auto;
  }
  .p-top__header {
    margin-bottom: 22px;
  }
  .p-top__heading {
    font-size: calc(40 / 16 * 1rem);
  }
  .p-top__heading span {
    margin-left: 24px;
  }
  .p-top__section.-type-pr {
    padding-top: 120px;
  }
  .p-top__pickup {
    margin-top: 110px;
    padding-left: 11.1111111111%;
  }
}
.p-moduleBorder {
  width: 100%;
  border: none;
  height: 1px;
  background: var(--color_theme);
}
@media (max-width: 767px) {
  .p-moduleBorder {
    margin: 36px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleBorder {
    margin: 50px 0;
  }
}
.p-moduleBox.-bordered {
  border: 1px solid var(--color_theme);
}
.p-moduleBox.-bordered-double {
  position: relative;
  border: 1px solid var(--color_theme);
}
.p-moduleBox.-bordered-double::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 2px;
  width: calc(100% - 4px);
  height: calc(100% + 8px);
  border: inherit;
  z-index: -1;
}
.p-moduleBox.-color-green {
  color: #fff;
  background-color: var(--color_theme);
}
.p-moduleBox.-color-yellow {
  background-color: var(--color_yellow_lighten);
}
.p-moduleBox__heading {
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.4;
  font-weight: bold;
}
.p-moduleBox__imageView {
  position: relative;
  padding-top: calc(var(--ratio-4to3) * 100%);
  background-color: var(--color_silver_lighten);
}
.p-moduleBox__imageView img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
}
.p-moduleBox__caption {
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.4;
  text-align: center;
  margin-top: 10px;
}
.p-moduleBox__text {
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
.p-moduleBox.-color-green .p-moduleBox__text .cdx-text-color[style*="--color:#5FC0C7;"] {
  color: #fff;
}
.p-moduleBox.-color-green .p-moduleBox__text ul > li::before {
  background-color: #fff;
}
.p-moduleBox.-color-green .p-moduleBox__text ol > li::before {
  color: #fff;
}
.p-moduleBox.-color-green .p-moduleBox__text a::after, .p-moduleBox.-color-green .p-moduleBox__text a[target=_href]::after {
  color: #fff;
}
.p-moduleBox.-color-green .p-moduleBox__text a, .p-moduleBox.-color-green .p-moduleBox__text a[target=_href] {
  color: #fff;
}
@media (max-width: 767px) {
  .p-moduleBox {
    margin: 40px 0;
    padding: 30px var(--app-space-side-sp);
  }
  .p-moduleBox__image {
    margin-top: 26px;
  }
  .p-moduleBox__text {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  .p-moduleBox {
    margin: 50px 0;
    padding: 30px 20px;
  }
  .p-moduleBox__image {
    margin-top: 36px;
  }
  .p-moduleBox__text {
    margin-top: 21px;
  }
}
.p-moduleCaption {
  position: relative;
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.4;
  padding-left: 1.3em;
}
.p-moduleCaption::before {
  content: "※";
  position: absolute;
  left: 0;
  margin-top: 2px;
  font-size: calc(11 / 16 * 1rem);
  color: var(--color_theme);
}
@media (max-width: 767px) {
  .p-moduleCaption {
    margin: 40px 0;
  }
  .p-moduleCaption + .p-moduleCaption {
    margin-top: -30px;
  }
}
@media (min-width: 768px) {
  .p-moduleCaption {
    margin: 50px 0;
  }
  .p-moduleCaption + .p-moduleCaption {
    margin-top: -40px;
  }
}
@media (max-width: 767px) {
  .p-moduleComment {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleComment {
    margin: 50px 0;
  }
}
.p-moduleEmbed__code {
  line-height: 1;
}
.p-moduleEmbed__code .instagram-media {
  margin: auto;
}
:not(.safari.legacy) .p-moduleEmbed__code .instagram-media {
  max-width: none !important;
  margin: 0 !important;
}
.p-moduleEmbed__code [src*=youtube] {
  width: 100%;
  height: 436px;
}
.p-moduleEmbed__caption {
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.4;
  margin-top: 10px;
  text-align: center;
}
@media (max-width: 767px) {
  .p-moduleEmbed {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleEmbed {
    margin: 50px 0;
  }
}
.p-moduleFlow__item {
  position: relative;
  padding-left: 40px;
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
.p-moduleFlow__item:not(:first-child) {
  margin-top: 30px;
}
.p-moduleFlow__item:not(:first-child)::before {
  position: absolute;
  content: "";
  top: -20px;
  left: 50%;
  width: 0;
  margin-left: -7px;
  border-top: 12px solid var(--color_theme);
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
}
.p-moduleFlow__icon {
  position: absolute;
  left: 0;
  width: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  color: #fff;
  font-size: calc(14 / 16 * 1rem);
  font-family: var(--font_en);
  background-color: var(--color_theme);
  box-sizing: border-box;
  padding-top: 3px;
}
.p-moduleFlow.-circle .p-moduleFlow__icon {
  border-radius: 50%;
  line-height: 0;
}
@media (max-width: 767px) {
  .p-moduleFlow {
    margin: 40px 0;
  }
  .p-moduleFlow__icon {
    top: 0.25em;
  }
}
@media (min-width: 768px) {
  .p-moduleFlow {
    margin: 50px 0;
  }
  .p-moduleFlow__icon {
    top: 0.5em;
  }
}
.p-moduleGallery .swiper {
  position: relative;
}
.p-moduleGallery__image,
.p-moduleGallery__thumbnailImage {
  line-height: 0;
}
.p-moduleGallery__image img,
.p-moduleGallery__thumbnailImage img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-moduleGallery__view {
  position: relative;
  padding-top: 66.6666666667%;
  background-color: var(--color_silver_lighten);
}
.p-moduleGallery__view img {
  position: absolute;
  top: 0;
}
.p-moduleGallery__caption {
  position: absolute;
  width: 100%;
  bottom: 0;
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.4;
  text-align: center;
  margin-top: 10px;
  padding: 10px;
  box-sizing: border-box;
  z-index: 0;
}
.p-moduleGallery__caption::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  z-index: -1;
}
.p-moduleGallery__button {
  position: absolute;
  top: 50%;
  margin-top: -20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}
.p-moduleGallery__button.-prev {
  left: 0;
}
.p-moduleGallery__button.-next {
  right: 0;
}
.p-moduleGallery__thumbnailList {
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px;
}
.p-moduleGallery__thumbnailImage {
  position: relative;
  padding-top: 66.6666%;
  cursor: pointer;
}
.p-moduleGallery__thumbnailImage img {
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .p-moduleGallery {
    margin: 40px 0;
  }
  .p-moduleGallery__thumbnailList {
    padding: 0 5px;
    gap: 5px;
    margin-right: -5px;
  }
  .p-moduleGallery__thumbnailSlide {
    width: calc(20% - 5px);
  }
}
@media (min-width: 768px) {
  .p-moduleGallery {
    margin: 50px 0;
  }
  .p-moduleGallery__thumbnailList {
    padding: 0 25px;
    gap: 10px;
    margin-right: -10px;
  }
  .p-moduleGallery__thumbnailSlide {
    width: calc(12.5% - 10px);
  }
}
.p-moduleGridImage {
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-moduleGridImage__view {
  position: relative;
  line-height: 0;
  padding-top: 66.6%;
}
.p-moduleGridImage__view img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-moduleGridImage__caption {
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.4;
  margin-top: 10px;
  text-align: center;
}
@media (max-width: 767px) {
  .p-moduleGridImage {
    margin: 40px 0;
  }
  .p-moduleGridImage__item:not(:first-child) {
    margin-top: 45px;
  }
  .p-moduleGridImage__caption {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (min-width: 768px) {
  .p-moduleGridImage {
    display: flex;
    margin: 50px 0;
  }
  .p-moduleGridImage__item {
    width: calc(50% - 10px);
  }
  .p-moduleGridImage__item:nth-child(n+3) {
    margin-top: 56px;
  }
}
.p-moduleHeading {
  font-family: var(--font_serif);
  line-height: 1.4;
  letter-spacing: 0.05em;
}
h2.p-moduleHeading {
  font-size: calc(26 / 16 * 1rem);
}
h3.p-moduleHeading {
  font-size: calc(22 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-moduleHeading {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleHeading {
    margin: 50px 0;
  }
}
.p-moduleHTML {
  overflow: hidden;
}
.p-moduleImage__view {
  position: relative;
  line-height: 0;
}
.-type-ribbon .p-moduleImage__view {
  padding-bottom: 20px;
}
.p-moduleImage__view img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-moduleImage__decoration {
  position: absolute;
  color: #fff;
  box-sizing: border-box;
  line-height: 1;
  word-break: keep-all;
}
.-type-badge .p-moduleImage__decoration {
  width: 64px;
  height: 64px;
  font-family: var(--font_serif);
  font-size: calc(16 / 16 * 1rem);
}
[class*=-top].-type-badge .p-moduleImage__decoration {
  padding: 12px 5px;
}
[class*=-bottom].-type-badge .p-moduleImage__decoration {
  padding: 10px 5px;
  line-height: 64px;
}
.p-moduleImage:not([class*=-type-]) .p-moduleImage__decoration, .p-moduleImage:not([class*=-color-]) .p-moduleImage__decoration, .p-moduleImage.-type-badge:not([class*=-left], [class*=-right]) .p-moduleImage__decoration {
  display: none;
}
.-left-top.-type-badge .p-moduleImage__decoration {
  -webkit-clip-path: polygon(100% 0, 0 100%, 0 0);
          clip-path: polygon(100% 0, 0 100%, 0 0);
}
.-right-top.-type-badge .p-moduleImage__decoration {
  -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
          clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.-left-bottom.-type-badge .p-moduleImage__decoration {
  -webkit-clip-path: polygon(0 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.-right-bottom.-type-badge .p-moduleImage__decoration {
  -webkit-clip-path: polygon(100% 0%, 100% 100%, 0 100%);
          clip-path: polygon(100% 0%, 100% 100%, 0 100%);
}
.-type-badge[class*=-top] .p-moduleImage__decoration {
  top: 0;
}
.-type-badge[class*=-right] .p-moduleImage__decoration {
  right: 0;
  text-align: right;
}
.-type-badge[class*=-bottom] .p-moduleImage__decoration {
  bottom: 0;
}
.-type-badge[class*=-left] .p-moduleImage__decoration {
  left: 0;
}
.-type-ribbon .p-moduleImage__decoration {
  bottom: 0;
  left: 50%;
  height: 40px;
  padding: 0 40px;
  font-size: calc(15 / 16 * 1rem);
  line-height: 36px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-clip-path: polygon(100% 0, 97% 50%, 100% 100%, 0% 100%, 3% 50%, 0% 0%);
          clip-path: polygon(100% 0, 97% 50%, 100% 100%, 0% 100%, 3% 50%, 0% 0%);
}
.-color-green .p-moduleImage__decoration {
  background-color: var(--color_theme);
}
.-color-blue .p-moduleImage__decoration {
  background-color: var(--color_blue);
}
.-color-purple .p-moduleImage__decoration {
  background-color: var(--color_purple);
}
.-color-pink .p-moduleImage__decoration {
  background-color: var(--color_pink);
}
.p-moduleImage__caption {
  font-size: calc(11 / 16 * 1rem);
  line-height: 1.4;
  margin-top: 10px;
  text-align: center;
  padding-left: 10px;
  padding-right: 10px;
}
@media (max-width: 767px) {
  .p-moduleImage {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleImage {
    margin: 50px 0;
  }
}
.p-article__modules > [class*="p-module*"]:first-child {
  margin-top: 0;
}
.p-article__modules > [class*="p-module*"]:last-child {
  margin-bottom: 0;
}
.p-moduleLede {
  font-size: calc(14 / 16 * 1rem);
  line-height: 2.1;
}
@media (max-width: 767px) {
  .p-moduleLede {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleLede {
    margin: 50px 0;
  }
}
.p-moduleLinks__item {
  display: block;
  text-align: center;
  padding: 15px 20px;
  background-color: #fff;
  font-size: calc(13 / 16 * 1rem);
  letter-spacing: 0.05em;
}
.p-moduleLinks__item:not(:first-child) {
  margin-top: 10px;
}
.p-moduleLinks__item.-normal {
  color: #fff;
  background-color: var(--color_theme);
}
.p-moduleLinks__item.-ghost {
  color: var(--color_theme);
  border: 1px solid var(--color_theme);
}
.p-moduleLinks__item.-mono {
  color: #fff;
  background-color: var(--color_base);
}
.p-moduleLinks__item.-ghost-mono {
  color: var(--color_base);
  border: 1px solid var(--color_base);
}
.p-moduleLinks__item[target=_blank] {
  position: relative;
}
.p-moduleLinks__item[target=_blank]:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea06";
  position: absolute;
  top: 0;
  right: 4px;
  font-size: calc(14 / 16 * 1rem);
}
@media (max-width: 767px) {
  .p-moduleLinks {
    margin: 40px 0;
    padding: 0 var(--app-space-side-sp);
  }
  .p-moduleLinks + .p-moduleLinks {
    margin-top: -30px;
  }
}
@media (min-width: 768px) {
  .p-moduleLinks {
    max-width: 22.2222222222vw;
    margin: 50px auto;
  }
  .p-moduleLinks + .p-moduleLinks {
    margin-top: -40px;
  }
}
.p-moduleList > li {
  position: relative;
  font-size: calc(15 / 16 * 1rem);
  line-height: 1.4;
}
.p-moduleList > li:not(:first-child) {
  margin-top: 15px;
}
.p-moduleList > li::before {
  content: "";
  position: absolute;
  left: 0;
}
ul.p-moduleList > li {
  padding-left: 1.5em;
}
ul.p-moduleList > li::before {
  top: 0.6em;
  display: block;
  width: 6px;
  height: 6px;
  background-color: var(--color_theme);
  border-radius: 50%;
  margin-left: calc(0.75em - 3px);
}
ol.p-moduleList {
  counter-reset: num;
  counter-set: num;
}
ol.p-moduleList > li {
  padding-left: 2em;
  counter-increment: num;
}
ol.p-moduleList > li::before {
  content: counter(num);
  top: 0.2em;
  font-family: var(--font_en);
  color: var(--color_theme);
  width: 2em;
  text-align: center;
}
@media (max-width: 767px) {
  .p-moduleList {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleList {
    margin: 50px 0;
  }
}
.p-moduleProduct {
  padding: 30px 20px;
  border: 1px solid var(--color_theme);
}
.p-moduleProduct__item:not(:first-child) {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid var(--color_theme);
}
.p-moduleProduct__copy {
  font-size: calc(15 / 16 * 1rem);
  margin-top: -3px;
}
.p-moduleProduct__heading {
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.4;
  margin-top: 10px;
  font-weight: bold;
}
.p-moduleProduct__caption {
  font-size: calc(11 / 16 * 1rem);
  text-align: center;
}
.p-moduleProduct__links {
  margin-top: 20px;
}
.p-moduleProduct__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  color: #fff;
  font-size: calc(13 / 16 * 1rem);
  word-break: break-all;
}
.p-moduleProduct__link[target=_blank]:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea06";
  position: absolute;
  top: 0;
  right: 5px;
  font-size: calc(14 / 16 * 1rem);
  color: #fff;
}
.p-moduleProduct__link span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.p-moduleProduct__link.-green {
  background-color: var(--color_theme);
}
.p-moduleProduct__link.-yellow {
  background-color: #F19D38;
}
.p-moduleProduct__link.-red_darken {
  background-color: #AF2418;
}
.p-moduleProduct__link.-red_lighten {
  background-color: #EA343D;
}
@media (max-width: 767px) {
  .p-moduleProduct {
    margin: 40px 0;
  }
  .p-moduleProduct__content {
    margin-top: 30px;
  }
  .p-moduleProduct__body {
    margin-top: 20px;
  }
  .p-moduleProduct__links {
    padding-left: var(--app-space-side-sp);
    padding-right: var(--app-space-side-sp);
  }
  .p-moduleProduct__link {
    padding-left: 10px;
    padding-right: 10px;
  }
  .p-moduleProduct__link:not(:first-child) {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  .p-moduleProduct {
    margin: 50px 0;
  }
  .p-moduleProduct__content {
    margin-top: 40px;
  }
  .p-moduleProduct__body {
    margin-top: 20px;
  }
  .p-moduleProduct__links {
    max-width: 520px;
    margin: 20px auto 0;
  }
  .flex-gap-not-supported .p-moduleProduct__linksInner > *{
	/*added by fgp
 */
	--parent-has-fgp: !important;
	--element-has-fgp: initial;
	pointer-events: var(--parent-has-fgp) auto;
	--fgp-parent-gap-row: 10px;
	--fgp-margin-top: var(--parent-has-fgp) calc(var(--fgp-gap-row) + var(--orig-margin-top, 0px));
	margin-top: var(--fgp-margin-top);
	--fgp-parent-gap-column: 10px;
	--fgp-margin-left: var(--parent-has-fgp) calc(var(--fgp-gap-column) + var(--orig-margin-left, 0px));
	margin-left: var(--fgp-margin-left)}
  .flex-gap-not-supported .p-moduleProduct__linksInner > * > *{
	/*added by fgp
 */
	--parent-has-fgp: initial;
	--fgp-parent-gap-row: initial;
	--fgp-parent-gap-column: initial}
  .flex-gap-not-supported .p-moduleProduct__linksInner{
	/*added by fgp
 */
	--has-fgp: ;
	--element-has-fgp: ;
	pointer-events: var(--has-fgp) none;
	--fgp-gap-row: 10px;
	--fgp-margin-top: var(--has-fgp) calc(var(--fgp-parent-gap-row, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-row) + var(--orig-margin-top, 0px)) !important;
	--fgp-gap-column: 10px;
	--fgp-margin-left: var(--has-fgp) calc(var(--fgp-parent-gap-column, 0px) / (1 + var(--fgp--parent-gap-as-decimal, 0)) - var(--fgp-gap-column) + var(--orig-margin-left, 0px)) !important}
  .p-moduleProduct__linksInner {
	display: flex;
	flex-wrap: wrap;
	--fgp-gap: var(--has-fgp, 10px);
	gap: var(--fgp-gap, 0px);
	margin-right: -10px;
	margin-top: var(--fgp-margin-top, var(--orig-margin-top));
	margin-left: var(--fgp-margin-left, var(--orig-margin-left));
  }
  .p-moduleProduct__link {
    width: calc(50% - 10px);
    padding-left: 20px;
    padding-right: 20px;
  }
  .p-moduleProduct__link:first-child:last-child {
    margin-left: auto;
    margin-right: auto;
  }
}
.p-moduleProfile {
  padding: 30px 20px;
  border: 1px solid var(--color_theme);
}
.p-moduleProfile__position {
  font-size: calc(15 / 16 * 1rem);
  margin-bottom: 11px;
}
.p-moduleProfile__heading {
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.4;
  font-weight: bold;
}
.p-moduleProfile__content {
  margin-top: 28px;
  padding: 0 20px;
}
.p-moduleProfile__image {
  align-self: flex-start;
  width: min(100%, 170px);
  max-width: 170px;
  flex: 1;
  border-radius: 50%;
  overflow: hidden;
}
.p-moduleProfile__imageView {
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.p-moduleProfile__imageView img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-moduleProfile__body {
  flex: 1;
}
.p-moduleProfile__link {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  color: #fff;
  background-color: var(--color_theme);
  font-size: calc(13 / 16 * 1rem);
  letter-spacing: 0.05em;
  margin-top: 20px;
}
@media (max-width: 767px) {
  .p-moduleProfile {
    margin: 40px 0;
  }
  .p-moduleProfile__image {
    margin: 0 auto;
  }
  .p-moduleProfile__body {
    margin-top: 10px;
  }
  .p-moduleProfile__link {
    width: calc(100% - var(--app-space-side-sp) * 2);
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 768px) {
  .p-moduleProfile {
    margin: 50px 0;
  }
  .p-moduleProfile__content {
    display: flex;
  }
  .p-moduleProfile__body {
    margin-left: 20px;
  }
  .p-moduleProfile__link {
    max-width: 255px;
  }
}
.p-moduleQuote {
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
  font-weight: 500;
}
.p-moduleQuote__icon {
  display: block;
  width: 38px;
  height: 30px;
}
.p-moduleQuote__icon use {
  fill: var(--color_theme);
}
.p-moduleQuote__ref {
  display: block;
  color: var(--color_theme);
  font-size: calc(12 / 16 * 1rem);
  line-height: 1;
  font-weight: normal;
}
.p-moduleQuote__ref a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-moduleQuote__ref a[target=_blank]:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea06";
  font-size: calc(10 / 16 * 1rem);
  color: var(--color_gray);
  margin-left: 4px;
  vertical-align: -2px;
}
@media (max-width: 767px) {
  .p-moduleQuote {
    margin: 40px 0;
  }
  .p-moduleQuote__ref {
    margin-top: 15px;
  }
}
@media (min-width: 768px) {
  .p-moduleQuote {
    margin: 50px 0;
  }
  .p-moduleQuote__ref {
    margin-top: 20px;
  }
}
.js-tableSupport:not([data-no-scroll]) .p-moduleTable {
  overflow-x: scroll;
}
.p-moduleTable .bg {
  background-color: var(--color_silver);
}
.p-moduleTable .bg-yellow {
  background-color: var(--color_yellow_lighten);
}
.p-moduleTable .color-yellow {
  color: var(--color_yellow);
}
.p-moduleTable table {
  min-width: 100%;
  table-layout: fixed;
  border: 1px solid var(--color_gray_lighten);
  border-collapse: collapse;
}
.p-moduleTable table th, .p-moduleTable table td {
  border: 1px solid var(--color_gray_lighten);
  padding: 10px 20px;
  color: var(--color);
  font-size: calc(13 / 16 * 1rem);
  line-height: 1.4;
  word-break: break-all;
}
.p-moduleTable table th a, .p-moduleTable table td a {
  color: var(--color_theme);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-moduleTable table th a[target=_blank]:after, .p-moduleTable table td a[target=_blank]:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea06";
  font-size: calc(10 / 16 * 1rem);
  color: var(--color_gray);
  margin-left: 4px;
  vertical-align: -2px;
}
@media (max-width: 767px) {
  .p-moduleTable {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleTable {
    margin: 50px 0;
  }
}
.p-moduleTalk {
  display: flex;
  flex-direction: column;
  line-height: 2.1;
  font-size: calc(15 / 16 * 1rem);
}
.p-moduleTalk__image {
  display: flex;
}
.-type-right .p-moduleTalk__image {
  margin-left: auto;
  flex-direction: row-reverse;
}
.p-moduleTalk__image img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}
.p-moduleTalk__name {
  font-weight: bold;
  margin-left: 10px;
  line-height: 1;
}
.-color-green .p-moduleTalk__name {
  color: var(--color_theme);
}
.-color-blue .p-moduleTalk__name {
  color: var(--color_blue);
}
.-color-purple .p-moduleTalk__name {
  color: var(--color_purple);
}
.-color-pink .p-moduleTalk__name {
  color: var(--color_pink);
}
.-color-yellow .p-moduleTalk__name {
  color: var(--color_yellow);
}
.p-moduleTalk__text {
  position: relative;
  margin-top: -25px;
  border: 1px solid;
  padding: 12px 20px;
  background-color: #fff;
}
.-type-left .p-moduleTalk__text {
  margin-left: 60px;
}
.-type-right .p-moduleTalk__text {
  margin-right: 60px;
}
.p-moduleTalk__text::before, .p-moduleTalk__text::after {
  content: "";
  position: absolute;
  top: -1px;
  width: 28px;
  height: 28px;
}
.p-moduleTalk__text::before {
  z-index: -1;
}
.p-moduleTalk__text::after {
  background-color: #fff;
}
.-type-left .p-moduleTalk__text::before, .-type-left .p-moduleTalk__text::after {
  left: -7px;
  -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
          clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.-type-left .p-moduleTalk__text::after {
  -webkit-transform: translateX(1px) translateY(-0.5px) scale(0.9);
          transform: translateX(1px) translateY(-0.5px) scale(0.9);
}
.-type-right .p-moduleTalk__text::before, .-type-right .p-moduleTalk__text::after {
  right: -7px;
  -webkit-clip-path: polygon(100% 0, 0 100%, 0 0);
          clip-path: polygon(100% 0, 0 100%, 0 0);
}
.-type-right .p-moduleTalk__text::after {
  -webkit-transform: translateX(1px) translateY(-2px) scale(0.8);
          transform: translateX(1px) translateY(-2px) scale(0.8);
}
.-color-green .p-moduleTalk__text {
  border-color: var(--color_theme);
}
.-color-green .p-moduleTalk__text::before {
  background-color: var(--color_theme);
}
.-color-blue .p-moduleTalk__text {
  border-color: var(--color_blue);
}
.-color-blue .p-moduleTalk__text::before {
  background-color: var(--color_blue);
}
.-color-purple .p-moduleTalk__text {
  border-color: var(--color_purple);
}
.-color-purple .p-moduleTalk__text::before {
  background-color: var(--color_purple);
}
.-color-pink .p-moduleTalk__text {
  border-color: var(--color_pink);
}
.-color-pink .p-moduleTalk__text::before {
  background-color: var(--color_pink);
}
.-color-yellow .p-moduleTalk__text {
  border-color: var(--color_yellow);
}
.-color-yellow .p-moduleTalk__text::before {
  background-color: var(--color_yellow);
}
@media (max-width: 767px) {
  .p-moduleTalk {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleTalk {
    margin: 50px 0;
  }
}
.p-moduleThread__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: var(--color_gray);
  font-size: calc(16 / 16 * 1rem);
  border-top: 1px solid var(--color_gray_lighten);
  border-bottom: 1px solid var(--color_gray_lighten);
}
.p-moduleThread__item {
  padding: 20px 0 22px;
  border-top: 1px solid var(--color_gray_lighten);
}
.p-moduleThread__item:last-child {
  padding-bottom: 0;
}
.p-moduleThread__header {
  display: flex;
  align-items: center;
}
.p-moduleThread__heading {
  font-weight: bold;
  font-size: calc(15 / 16 * 1rem);
  margin-right: 10px;
  color: var(--color_theme);
}
.p-moduleThread__text {
  margin-top: 7px;
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
@media (max-width: 767px) {
  .p-moduleThread {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleThread {
    margin: 50px 0;
  }
}
.p-moduleToC {
  font-size: calc(14 / 16 * 1rem);
  line-height: 1.4;
  background-color: var(--color_silver_lighten);
}
.p-moduleToC__heading {
  display: flex;
  align-items: center;
  font-weight: bold;
}
.p-moduleToC__heading:before {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea08";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #fff;
  font-size: calc(16 / 16 * 1rem);
  background-color: var(--color_theme);
  margin-right: 10px;
  letter-spacing: 2px;
}
.p-moduleToC__list {
  margin-top: 17px;
  color: var(--color_gray_darken);
}
.p-moduleToC__list > li[data-type=h3] + [data-type=h3] {
  margin-left: 20px;
}
.p-moduleToC__list > li[data-type=h3] + [data-type=h3] > .p-moduleToC__list {
  padding-left: 0;
}
.p-moduleToC__list > li:not(:last-child) {
  padding-bottom: 16px;
}
.p-moduleToC__list > li:not(:first-child) {
  padding-top: 16px;
  border-top: 1px solid var(--color_gray_lighten);
}
.p-moduleToC__list > li > a {
  display: block;
  position: relative;
  padding-left: 1em;
}
.p-moduleToC__list > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 0;
  margin-top: 0.5em;
  border-top: 6px solid var(--color_theme);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}
.p-moduleToC__list > li > .p-moduleToC__list {
  margin-top: 0;
  padding-left: 20px;
}
.p-moduleToC__list > li > .p-moduleToC__list > li:not(:first-child) {
  border-top: 1px solid var(--color_gray_lighten);
}
.p-moduleToC__list > li > .p-moduleToC__list > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 6px;
  height: 2px;
  margin-top: 0.65em;
  background-color: var(--color_gray_lighten);
  border: none;
}
@media (max-width: 767px) {
  .p-moduleToC {
    margin: 40px 0;
    padding: 30px 20px;
  }
}
@media (min-width: 768px) {
  .p-moduleToC {
    margin: 50px 0;
    padding: 30px;
  }
}
[class*=p-module] .p-moduleWysiwyg {
  margin: 0;
}
.p-moduleWysiwyg {
  word-break: break-word;
  font-size: calc(15 / 16 * 1rem);
  line-height: 2.1;
}
.p-moduleWysiwyg > *:first-child {
  margin-top: 0;
}
.p-moduleWysiwyg > *:last-child {
  margin-bottom: 0;
}
.p-moduleWysiwyg a {
  color: var(--color_theme);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-moduleWysiwyg a[target=_blank]:after {
  display: inline-block;
  font-family: "iconfont";
  font-weight: normal;
  font-style: normal;
  font-variant: normal;
  text-decoration: none;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  user-select: none;
  content: "\ea06";
  font-size: calc(10 / 16 * 1rem);
  color: var(--color_gray);
  margin-left: 2px;
  vertical-align: sub;
}
.p-moduleWysiwyg .text-left {
  text-align: left;
}
.p-moduleWysiwyg .text-center {
  text-align: center;
}
.p-moduleWysiwyg .text-right {
  text-align: right;
}
.p-moduleWysiwyg .cdx-text-color {
  color: var(--color);
}
.p-moduleWysiwyg .cdx-text-marker {
  background: linear-gradient(transparent calc(100% - 10px), var(--color) 10px);
}
.p-moduleWysiwyg b {
  font-weight: bold;
}
.p-moduleWysiwyg img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
}
.p-moduleWysiwyg ul > li, .p-moduleWysiwyg ol > li {
  position: relative;
  font-size: calc(15 / 16 * 1rem);
  line-height: 1.4;
}
.p-moduleWysiwyg ul > li:not(:first-child), .p-moduleWysiwyg ol > li:not(:first-child) {
  margin-top: 15px;
}
.p-moduleWysiwyg ul > li::before, .p-moduleWysiwyg ol > li::before {
  content: "";
  position: absolute;
  left: 0;
}
.p-moduleWysiwyg ul > li {
  padding-left: 1.5em;
}
.p-moduleWysiwyg ul > li::before {
  top: 0.6em;
  display: block;
  width: 6px;
  height: 6px;
  background-color: var(--color_theme);
  border-radius: 50%;
  margin-left: calc(0.75em - 3px);
}
.p-moduleWysiwyg ol {
  counter-reset: num;
  counter-set: num;
}
.p-moduleWysiwyg ol > li {
  padding-left: 2em;
  counter-increment: num;
}
.p-moduleWysiwyg ol > li::before {
  content: counter(num);
  top: 0.2em;
  font-family: var(--font_en);
  color: var(--color_theme);
  width: 2em;
  text-align: center;
}
.p-moduleWysiwyg > hr {
  display: block;
  height: 1px;
  background-color: var(--color_theme);
  border: none;
}
.p-moduleWysiwyg > figure,
.p-moduleWysiwyg > .moduleImage {
  display: block;
  text-align: center;
}
.p-moduleWysiwyg > figure.-left,
.p-moduleWysiwyg > .moduleImage.-left {
  text-align: left;
}
.p-moduleWysiwyg > figure.-right,
.p-moduleWysiwyg > .moduleImage.-right {
  text-align: right;
}
.p-moduleWysiwyg > figure > img,
.p-moduleWysiwyg > .moduleImage > img {
  max-width: 100%;
  height: auto;
}
.p-moduleWysiwyg > figure figcaption,
.p-moduleWysiwyg .moduleImage figcaption {
  text-align: center;
}
.p-moduleWysiwyg > figure figcaption {
  padding: 13px;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .p-moduleWysiwyg {
    margin: 40px 0;
  }
  .p-moduleHeading + .p-moduleWysiwyg {
    margin: -10px 0 40px;
  }
  .p-moduleWysiwyg p, .p-moduleWysiwyg ol, .p-moduleWysiwyg ul, .p-moduleWysiwyg hr {
    margin: 30px 0;
  }
}
@media (min-width: 768px) {
  .p-moduleWysiwyg {
    margin: 50px 0;
  }
  .p-moduleHeading + .p-moduleWysiwyg {
    margin: -10px 0 50px;
  }
  .p-moduleWysiwyg p, .p-moduleWysiwyg ol, .p-moduleWysiwyg ul, .p-moduleWysiwyg hr {
    margin: 40px 0;
  }
}
