/* import */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; margin:0; padding:0; padding-right:0 !important; color:#30416c; -webkit-text-size-adjust:none; font-family:'Noto Sans JP', sans-serif; font-weight:500; font-size:1.04vw; line-height:1.75; letter-spacing:0; word-wrap:break-word;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; line-height:1.5; font-weight:600; font-family:'Noto Sans JP', sans-serif; letter-spacing:0;}
p {margin:0;}
p:not(:last-child) {margin-bottom:1.5625vw;}
ul, ol {margin:0; padding:0; list-style:none;}
a {color:#30416c; transition:all .3s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover:not(.button) {text-decoration:none; color:#30416c;}
figure {margin:0; border-radius:0.52vw; overflow:hidden;}
img {vertical-align:middle;}
button {margin:0; padding:0; background:none; border:none; color:inherit; transition:all .3s ease-in-out; cursor:pointer;}

/* util */
.wrapper {}
#content {padding-bottom:10.42vw;}
.container {min-width:71.15vw; max-width:71.15vw; width:100%; margin:auto;}
.container-lg {width:85.05vw; margin:auto; padding:0;}
.container-fluid {width:100%; margin:auto; padding:0 2.6vw;}
.img-fluid {max-width:100%; height:auto;}
.img-full {width:100%; height:auto;}
.button {position:relative; display:inline-flex; justify-content:flex-start; align-items:center; min-width:17.71vw; min-height:3.39vw; gap:0.58vw; padding:0.58vw 1.04vw; border-radius:3.39vw; background-color:#f7f8fa; border:none; font-size:0.94vw;}
.button.wi {justify-content:space-between;}
.button.wi:hover,
.button.wi.active {background-color:#30416c; color:#fff;}
.button.white {background-color:#fff;}
.button.dark {background-color:#283346; color:#fff;}
.button.fluid {width:100%;}
.arrow {position:relative; display:inline-flex; justify-content:flex-start; align-items:center; width:3.91vw; height:1.3vw; background-color:#fff; border:1px solid #e1e1e1; border-radius:1.3vw; overflow:hidden; transition:all .3s ease-in-out;}
.arrow::before,
.arrow::after {position:absolute; content:''; top:calc(50% - 0.23vw); left:calc(50% - 0.58vw); width:1.2vw; height:0.47vw; background:url(../images/arrow-blue.svg) 0 0 / 100% auto no-repeat; transition:all .4s ease-in-out;}
.arrow::before {transform:translateX(0);}
.arrow::after {transform:translateX(-400%); background-image:url(../images/arrow-white.svg)}
.arrow-wrapper:hover .arrow {background-color:#1a57b1; border:none;}
.arrow-wrapper:hover .arrow::before {transform:translateX(400%);}
.arrow-wrapper:hover .arrow::after {transform:translateX(0);}
.arrow.blue {background-color:#1a57b1; border:none;}
.arrow.blue::before {background-image:url(../images/arrow-white.svg);}
.arrow.blue::after {background-image:url(../images/arrow-blue.svg);}
.arrow-wrapper:hover .arrow.blue {background-color:#fff;}
.arrow-more {margin-top:2.08vw;}
.bg-line {background-color:#20c92f; color:#fff;}
.bg-line:hover {transform:scale(1.1);}
.bg-primary {background-color:#30416c; color:#fff;}
.bg-primary:hover {transform:scale(1.1);}
.bg-white {background-color:#fff;}
.floating-text {width:200%; z-index:-10; display:flex; gap:2.6vw; transform:translateY(-50%);}
.floating-text-inner {color:#f7f8fa; font-family:'Red Hat Display', sans-serif; font-size:10.42vw; font-weight:200; flex-shrink:0; animation:wave 30s linear infinite; line-height:1;}
.floating-text.reverse .floating-text-inner {animation:waveReverse 30s linear infinite;}
@keyframes wave {0% {transform:translateX(0);} 100% {transform:translateX(-100%);}}
@keyframes waveReverse {0% {transform:translateX(-100%);} 100% {transform:translateX(0);}}
.text-center {text-align:center !important;}
.text-right {text-align:right !important;}
.text-muted {color:#a3adb9 !important;}
.screen-reader-text {display:none;}
.pager {min-height:1.56vw;}
.pagination {display:flex; justify-content:center; margin-top:3.13vw;}
.pagination ul {display:flex; justify-content:center; gap:1.04vw; list-style:none; padding-left:0;}
.pagination ul > li {}
.pagination ul > li > span,
.pagination ul > li > a {display:flex; justify-content:center; align-items:center; width:3.13vw; height:3.13vw; border-radius:3.13vw;}
.pagination ul > li > span,
.pagination ul > li > a:hover {background-color:#1a57b1; color:#fff;}

#content {background-color:#fff; transition:all .6s ease-in-out;}
#content.changed {background-color:#1f2535;}

/* header */
.header {position:fixed; top:0; left:0; width:100%; height:auto; z-index:9999; background-color:transparent; transition:all .3s ease-in-out;}
.header-inner {display:flex; justify-content:space-between; align-items:center; height:6.25vw; padding:0 2.6vw; transition:all .3s ease-in-out;}
.header.scrolling .header-inner {padding:0 3.65vw;}
.header.scrolling .header-inner::before {position:absolute; content:''; top:0.52vw; left:2.6vw; width:calc(100% - 5.21vw); height:calc(100% - 1.04vw); backdrop-filter:blur(0.52vw); background-color:#f7f8fa80; border-radius:6.25vw; z-index:-1;}
.header-brand {width:9.17vw; line-height:0; margin:auto 3.54vw auto 0; z-index:100;}
.button-hamburger {display:none;}
.header-nav {display:flex; flex-direction:column; align-items:flex-end; gap:1.3020833333333335vw;}
.header-nav-global {display:flex; gap:1.56vw; height:3.54vw; padding:0 2.6vw; backdrop-filter:blur(0.52vw); background-color:#f7f8fa80; border-radius:3.54vw;}
.header.scrolling .header-nav-global {backdrop-filter:none; background-color:transparent;}
.header-nav-global > li > a {display:flex; justify-content:center; align-items:center; height:100%; font-size:0.94vw;}
.header-nav-global > li > a:hover {color:#30416c;}
.header-nav-global > li.has-child > a {position:relative; padding-right:1.5625vw; pointer-events:none;}
.header-nav-global > li.has-child > a::before {position:absolute; content:''; top:50%; right:0; width:1.25vw; height:1.25vw; background:#30416c url(../images/nav-arrow.svg) center center / 40% auto no-repeat; border-radius:1.25vw; transform:translateY(-50%); transform-origin:center center; transition:all .3s ease-in-out;}
.header-nav-global > li.has-child:hover > a::before {transform:translateY(-50%) rotate(90deg);}
.header-nav-global-child {display:none; position:absolute; padding:1.04vw;}
.header-nav-global-child-list {width:19.79vw; padding:1.04vw; background-color:#fff; border-radius:0.52vw; box-shadow:0 0 1.04vw rgba(0, 0, 0, .175);}
.header-nav-global-child-list > li:not(:last-child) {margin-bottom:0.52vw;}
.header-nav-global-child-list > li > a {display:block; padding:0.26vw 1.04vw; background-color:#f7f8fa; border-radius:0.52vw;}
.header-nav-global-child-list > li > a:hover {background-color:#30416c; color:#fff; box-shadow:0 0 1.04vw rgba(0, 0, 0, .175);}
.header-button-search {display:flex; justify-content:center; align-items:center; width:3.54vw; height:3.54vw; margin-left:auto; background-color:#30416c; border-radius:3.54vw; color:#fff;}
.header-search {display:none; position:absolute; top:6.25vw; right:2.6vw;}
.header-search input {height:3.54vw; padding:0 1.56vw; border:1px solid #30416c; border-radius:3.54vw; font-size:0.94vw;}

/* mod */
.section {position:relative; padding-top:5.21vw; padding-bottom:5.21vw; overflow:hidden;}
.section-inner {background-color:#f1f4f89a; border-radius:1.04vw;}
.section-title h3 {font-size:1.67vw;}
.heading {position:relative; margin-bottom:3.65vw; text-align:center; line-height:1;}
.heading > span {display:block;}
.heading-ja {margin-bottom:0.52vw; font-size:2.08vw;}
.heading-en {font-size:1.04vw; color:#c8a064;}
.description {font-size:1.25vw;}
.description span {color:#30416c; font-weight:600;}
.content {position:relative;}
.content:not(:last-child) {margin-bottom:4.17vw;}
.content-pt {padding-top:2.6vw;}
.more {display:flex; gap:2.08vw; margin-top:3.125vw;}
.more.center {justify-content:center;}
.section-title {margin-bottom:2.6vw; padding-bottom:1.56vw; font-size:1.67vw; border-bottom:1px solid #e5e9ef; transition:all .3s ease-in-out;}
.section-title-inner {display:flex; justify-content:space-between; align-items:center; }
.section-title h3 {font-size:1.67vw;}
#content.changed .about .section-title,
#content.changed .standard-specification .section-title,
#content.changed .specification .section-title {color:#fff;}

/* content */
.hero {position:relative; padding-top:5.21vw;}
.hero-slider {margin:0; position:relative;}
.hero-page-down {position:absolute; top:0; right:5.21vw; display:flex; justify-content:center; align-items:center; width:10.42vw; height:10.42vw; background:linear-gradient(160deg, #f7f4f2 0%, #cfd8e6 100%); border:1.04vw solid #fff; border-radius:10.42vw; z-index:10; transform:translateY(-50%);}
.hero-page-down img {width:1.72vw; line-height:1; animation:arrow_down 3s linear 0s infinite;}
@keyframes arrow_down {0% {margin-top:-0.52vw; opacity:0} 20% {margin-top:0; opacity:1} 70% {margin-top:0; opacity:1} to {margin-top:0.52vw; opacity:0}}
.heroSwiper {overflow:visible;}
.hero-slider .swiper-slide {height:36.46vw; background-position:center center; background-size:cover; background-repeat:no-repeat; border-radius:1.04vw;}
.hero-slider .swiper-pagination {position:absolute; width:auto; bottom:2.08vw; right:2.08vw; background:none; height:auto !important; border-radius:0; display:flex; justify-content:flex-end; align-items:center; gap:1.04vw;}
.hero-slider .swiper-pagination-bullet {margin:0 !important; width:0.83vw; height:0.83vw; background-color:#e2e7ef; opacity:1;}
.hero-slider .swiper-pagination-bullet-active {background-color:#30416c;}
.overview {padding-top:10.42vw;}
.overview-row {display:flex; justify-content:space-between; align-items:center;}
.overview-row__col:nth-child(1) {display:flex; align-items:center; gap:1.04vw;}
.overview-row__col:nth-child(1) h2 {font-family:'Red Hat Display', sans-serif; font-size:10.42vw; font-weight:300; line-height:1;}
.overview-row__col:nth-child(1) h3 {font-family:'Red Hat Display', sans-serif; font-size:2.71vw; font-weight:900; line-height:1; color:#fff; -webkit-text-stroke:2px transparent; background:linear-gradient(90deg, #30416c, #eaecbd, #e3c9d2, #30416c); background-size:400%; -webkit-background-clip:text; background-clip:text; animation:gradientMove 12s linear infinite; letter-spacing:0.1vw;}
@keyframes gradientMove {0% {background-position:0% 50%;} 100% {background-position:400% 50%;}}
.overview-row__col:nth-child(2) p {font-size:1.56vw; letter-spacing:0.26vw; text-align:right;}
.about {padding-top:10.42vw;}
.about .floating-text {top:8.854166666666668vw;}
.about .text {position:relative; display:flex; justify-content:space-between;}
.about .text::before {position:absolute; content:''; top:1.04vw; left:-1.04vw; width:19.74vw; height:15.99vw; background:url(../images/bg-about-1.png) 0 0 / 100% auto no-repeat; z-index:-1; animation:fuwafuwa 3s ease-in-out infinite alternate;}
.about .text::after {position:absolute; content:''; top:4.69vw; right:0; width:45.05vw; height:16.3vw; background:url(../images/bg-about-2.png) 0 0 / 100% auto no-repeat; z-index:-1; animation:fuwafuwa 3s ease-in-out infinite alternate;}
@keyframes fuwafuwa {0% {transform:translate(0, 0) rotate(-5deg);} 50% {transform:translate(0, 2.6vw) rotate(0deg);} 100% {transform:translate(0, 0) rotate(5deg);}}
.about .text-heading {flex:0 0 auto; font-size:2.6vw; font-weight:300; transition:all .3s ease-in-out;}
#content.changed .about .text-heading {color:#fff;}
.about .text-description {flex:0 0 34.9vw; padding-top:3.13vw; transition:all .3s ease-in-out;}
#content.changed .about .text-description {color:#fff;}
.about .text-description p {font-size:1.25vw; line-height:2.5;}

.specification-slider {overflow:visible !important;}
.specification-slide {display:block; padding:1.56vw; background-color:#f1f4f89a; border-radius:0.52vw;}
.specification-slide:hover {color:#1a57b1 !important;}
.specification-slide h4 {position:relative; display:flex; justify-content:space-between; align-items:center; margin-bottom:1.04vw; padding-left:2.34vw; font-size:1.15vw;}
.specification-slide h4::before {position:absolute; content:'';  top:50%; left:0; width:1.77vw; height:1.77vw; background:linear-gradient(160deg, #f7f4f2 0%, #cfd8e6 100%); border-radius:1.77vw; transform:translateY(-50%);}
.specification-slide p {font-size:1.04vw;}
.specification-slider .swiper-pagination {position:static; margin-top:2.6vw; width:auto; background:none; height:auto !important; border-radius:0; display:flex; justify-content:center; gap:0;}
.specification-slider .swiper-pagination-bullet {margin:0 !important; width:3.13vw; height:4px; background-color:#f1f4f8; border-radius:0; opacity:1; outline:none;}
.specification-slider .swiper-pagination-bullet-active {background-color:#1a57b1;}

.card-list {display:grid; grid-template-columns:repeat(2, 1fr); gap:1.56vw;}
.card-list__item {display:flex; gap:1.56vw; padding:1.56vw; background-color:#fff; border-radius:0.52vw;}
.card-list__item:hover {box-shadow:0 0 1.04vw rgba(0, 0, 0, .175);}
.card-list__item-main {grid-column:1 / 3;}
.card-list__item figure {flex:0 0 25vw;}
.card-list__item h4 {margin-bottom:1.04vw; font-size:1.46vw;}

.millsheet .section::before {position:absolute; content:''; top:0; left:18.23vw; width:24.43vw; height:20.68vw; background:url(../images/bg-millsheet-1.png) 0 0 / 100% auto no-repeat; animation:fuwafuwa 3s ease-in-out infinite alternate;}
.millsheet .section::after {position:absolute; content:''; bottom:7.81vw; right:0; width:18.85vw; height:16.15vw; background:url(../images/bg-millsheet-2.png) 0 0 / 100% auto no-repeat; animation:fuwafuwa 3s ease-in-out infinite alternate;}
.millsheet .section .container {position:relative; z-index:1;}

.news-row {display:flex; gap:3.13vw;}
.news-row__col:nth-child(1) {flex:0 0 auto;}
.news-row__col:nth-child(2) {flex:1;}
.news .section-title {margin-bottom:0; padding-bottom:0; border-bottom:none;}
.news .section-title h3 {margin-bottom:9.38vw;}
.news-list {display:flex; flex-direction:column; border-top:1px solid #e5e9ef;}
.news-list__item {display:flex; justify-content:space-between; gap:2.6vw; padding:2.08vw 0; border-bottom:1px solid #e5e9ef;}
.news-list__item time {font-size:0.94vw;}
.news-list__item .category {width:9.38vw; font-size:0.83vw; color:#1a57b1;}
.news-list__item h4 {margin-right:auto; font-size:0.94vw;}

.gallery {padding-bottom:10.42vw;}
.gallery-bg-text {position:absolute; top:50%; left:50%; text-align:center; color:#f7f8fa; font-family:'Red Hat Display', sans-serif; font-size:10.42vw; font-weight:200; line-height:1; white-space:nowrap; transform:translate(-50%, -50%);}

.floating-gallery {width:200%; z-index:-10; display:flex; gap:2.6vw;}
.floating-gallery-inner {flex-shrink:0; animation:wave 30s linear infinite; line-height:1;}
@keyframes wave {0% {transform:translateX(0);} 100% {transform:translateX(-100%);}}

.contact .section::before {position:absolute; content:''; top:0; left:4.17vw; width:23.8vw; height:20.68vw; background:url(../images/bg-contact-1.png) 0 0 / 100% auto no-repeat; animation:fuwafuwa 3s ease-in-out infinite alternate;}
.contact .section::after {position:absolute; content:''; bottom:0; right:0; width:14.32vw; height:15vw; background:url(../images/bg-contact-2.png) 0 0 / 100% auto no-repeat; animation:fuwafuwa 3s ease-in-out infinite alternate;}
.contact .section .container {position:relative; z-index:1;}
.contact-row {display:flex; justify-content:space-between; gap:1.04vw;}
.contact-row__col a {font-size:2.08vw;}

.footer {padding:5.21vw 0 7.29vw; background-color:#fff; border-top:1px solid #e5e9ef;}
.footer-row {display:flex; justify-content:space-between;}
.footer-about {}
.footer-nav {display:flex; gap:2.6vw;}
.footer-nav-list {list-style:none; padding:0; margin:0;}
.footer-nav-list > li:not(:last-child) {margin-bottom:0.52vw;}
.footer-nav-list > li a {text-decoration:none; color:inherit; font-size:0.94vw;}
.footer-nav-list .menu-item-has-children > a {pointer-events:none;}
.footer-nav-list > li ul {list-style:none; padding:0 0 0 1.04vw; margin:0;}
.footer-nav-list > li ul li a {position:relative; padding-left:1.04vw; font-size:0.73vw;}
.footer-nav-list > li ul li a:hover {color:#1a57b1;}
.footer-nav-list > li ul li a:hover::after {position:absolute; content:''; top:50%; left:0.42vw; width:5px; height:5px; background-color:#1a57b1; border-radius:5px;}
.footer-secondary {position:fixed; bottom:0; left:0; width:100%; background-color:#b2c8e1; color:#fff; z-index:-1;}
.footer-secondary-row {display:flex; justify-content:space-between; align-items:flex-end; padding:7.81vw 0;}
.footer-logo {margin-bottom:5.21vw;}
.footer-text {display:flex; align-items:center; gap:1.04vw;}
.footer-text h2 {font-family:'Red Hat Display', sans-serif; font-size:10.42vw; font-weight:300; line-height:1;}
.footer-text h3 {font-family:'Red Hat Display', sans-serif; font-size:2.71vw; font-weight:900; line-height:1; color:#b2c8e1; -webkit-text-stroke:2px transparent; background:#fff; -webkit-background-clip:text; background-clip:text; letter-spacing:0.1vw;}
.footer-copyright {padding:1.5625vw 0; text-align:right; font-family:'Red Hat Display', sans-serif; font-size:0.94vw;}

.-pc {display:block;}
.-sp {display:none;}

/* page */
.page-header {margin-bottom:5.21vw; padding-top:6.25vw; display:flex; justify-content:space-between; align-items:center;}
.page-header-title {margin-left:2.6vw; font-size:1.67vw;}
.page-header-image {width:50vw; height:26.04vw; border-radius:0.52vw 0 0 0.52vw; background-position:center center; background-size:cover; background-repeat:no-repeat;}
.page-content {display:flex; justify-content:space-between; gap:6.25vw;}
.page-content-main {flex:1; order:10; width:29.69vw;}
.page-content-sidebar {flex:0 0 15.63vw; order:0;}
.sidebar-item:not(:last-child) {margin-bottom:1.72vw;}
.sidebar {position:sticky; top:6.25vw; left:0;}
.sidebar h3 {padding:0.26vw 1.04vw; background-color:#1a57b1; border-radius:0 2.08vw 2.08vw 0; font-size:1.04vw; color:#fff;}
.sidebar ul > li strong {display:block; padding-top:0.63vw; padding-left:1.04vw; font-size:0.94vw; font-weight:inherit;}
.sidebar ul > li a {position:relative; display:block; padding:0.63vw 2.76vw 0.63vw 1.04vw; border-bottom:1px solid #cdd9e7; font-size:0.94vw; line-height:1.5;}
.sidebar ul > li a::before {position:absolute; content:''; top:1.04vw; right:1.04vw; width:1.2vw; height:0.47vw; background:url(../images/arrow-blue.svg) 0 0 / 100% auto no-repeat;}
.sidebar ul > .current a,
.sidebar ul > .current-menu-item a,
.sidebar ul > .current-cat a,
.sidebar ul > li a:hover {border-bottom-color:#1a57b1; color:#1a57b1;}
.sidebar ul > .current a::after,
.sidebar ul > .current-menu-item a::after,
.sidebar ul > .current-cat a::after,
.sidebar ul > li a:hover::after {position:absolute; content:''; top:50%; left:0.42vw; width:5px; height:5px; background-color:#1a57b1; border-radius:5px;}
.sidebar ul > li > ul > li {padding-left:1.04vw;}

.editor {font-size:0.94vw;}
.editor h1 {margin-bottom:2.6vw; font-size:1.35vw;}
.editor h2 {margin-bottom:2.6vw; font-size:1.35vw;}
.editor h3 {margin-bottom:1.56vw; padding:0.26vw 1.04vw; background-color:#30416b; color:#fff; font-size:0.94vw;}
.editor h4 {margin-bottom:1.04vw; font-size:0.94vw;}
.editor h5 {margin-bottom:1.04vw; font-size:0.94vw;}
.editor p {margin-bottom:1.56vw;}
.editor em {font-style:normal; color:inherit; font-weight:600; background:linear-gradient(transparent 72%, #9dc5ff 0%);}
.editor a:not(.button) {color:#1a57b1; text-decoration:underline;}
.editor a:hover {color:#1a57b1; text-decoration:none;}
.editor .table-scroll {display:block; overflow:auto; margin-top:1.56vw; margin-bottom:1.56vw;}
.editor .table-scroll table {white-space:nowrap;}
.editor .table-sticky {height:31.25vw;}
.editor .table-sticky thead th {position:sticky; top:0; z-index:1;}
.editor .table-sticky thead th:first-child {z-index:2;}
.editor table {width:100%; border-collapse:collapse; margin-bottom:0;}
.editor table th,
.editor table td {padding:0.16vw 0.94vw;}
.editor table th {font-weight:600; text-align:center;}
.editor table .vertical {margin:auto; padding:0.94vw; writing-mode:vertical-rl; text-align:center; line-height:1;}
.editor table thead th,
.editor table thead td {background-color:#cdd9e7; border:1px solid #fff;}
.editor table tbody th,
.editor table tbody td {background-color:#fff; border:1px solid #cdd9e7;}
.editor .bg-light th {background-color:#cdd9e7; border-color:#fff;}
.editor .wp-block-gallery {display:grid; grid-template-columns:repeat(3, 1fr); gap:1.3vw !important; margin-bottom:1.56vw; border-radius:0;}
.editor .wp-block-gallery.columns-5 {grid-template-columns:repeat(5, 1fr);}
.editor .wp-block-image {margin-bottom:2.6vw; border-radius:0;}
.page-case .editor .wp-block-image {margin-bottom:1.56vw;}
.editor .wp-block-image img {max-width:100%; height:auto;}
.editor .wp-block-image .wp-element-caption {margin-top:0.52vw; text-align:center; font-size:1.04vw; font-weight:600; color:#30416b;}
.editor .wp-block-separator {margin-top:2.6vw; margin-bottom:2.6vw; border-bottom:1px solid #cdd9e7;}
.editor .has-text-align-left {text-align:left;}
.editor .has-text-align-center {text-align:center;}
.editor .has-text-align-right {text-align:right;}
.editor .button {justify-content:center; height:auto; padding-top:5px; padding-bottom:5px;}
.editor .are-vertically-aligned-top {align-items:flex-start !important;}
.sidebar-search {position:relative; margin-top:1.56vw;}
.sidebar-search input {width:100%; height:3.54vw; padding:0 1.56vw; border:1px solid #30416c; border-radius:3.54vw; font-size:0.94vw;}
.sidebar-search button {position:absolute; top:0.26vw; right:0.26vw; width:3.02vw; height:3.02vw; white-space:nowrap; padding:0 0.73vw; background:#30416c; border-radius:3.02vw; color:#fff;}

.editor.no-sidebar ol,
.editor.no-sidebar ul {margin-bottom:1.56vw; padding-left:1.5em;}
.editor.no-sidebar ol {list-style:decimal;}
.editor.no-sidebar ul {list-style:disc;}
.editor.no-sidebar ol > li,
.editor.no-sidebar ul > li {margin-top:0 !important; margin-bottom:1.56vw;}

.form-group:not(:last-child) {margin-bottom:1.56vw;}
.form-group-row {display:flex; gap:2.08vw;}
.form-group-row-label {flex:0 0 13.02vw; display:flex; justify-content:space-between; align-items:center; gap:0.54vw;}
.form-group-row-label span {display:inline-flex; justify-content:center; align-items:center; height:1.3vw; padding:0 0.52vw; font-size:0.73vw; line-height:1;}
.form-group-row-label .required {background-color:#30416b; color:#fff;}
.form-group-row-label .no-required {background-color:#f1f4f8;}
.form-group-row-content {flex:1; display:flex; gap:1.04vw;}
.form-group-row-content > * {flex:1;}
.form-group-row-content [data-name="c-postcode"] {flex:0 0 15.63vw;}
.form-control {width:100%; padding:1.04vw 1.3vw; background-color:#fff; border:1px solid #cdd9e7; border-radius:0.52vw;}
textarea.form-control {min-height:7.81vw;}
.wpcf7-spinner {display:block !important;}

.floating-button {position:fixed; top:18.23vw; right:0; display:inline-flex; justify-content:center; align-items:center; min-width:3.39vw; min-height:17.71vw; gap:0.58vw; padding:1.04vw 0.58vw; border-radius:0.52vw 0 0 0.52vw; background-color:#283346; border:none; color:#fff !important; font-size:0.94vw; letter-spacing:.1em; writing-mode:vertical-rl; z-index:1000; box-shadow:0 0 1.04vw rgba(0, 0, 0, .175);}
.floating-button:hover {background-color:#30416c;}

@media (max-width:767px) {
    body {min-width:inherit; font-size:13px;}
    #content {padding-bottom:50px;}
    .container {min-width:inherit; max-width:inherit; padding:0 20px;}
    .container-lg {width:100%; padding:0 20px;}
    .container-fluid {width:100%; padding:0 20px;}
    .button {width:auto; height:40px; padding:0 15px; border-radius:40px; font-size:13px; gap:10px;}
    .arrow {width:40px; height:20px; border-radius:20px;}
    .arrow::before,
    .arrow::after {top:calc(50% - 2.5px); left:calc(50% - 7px); width:14px; height:5px;}
    .arrow-more {margin-top:30px;}
    .pager {min-height:30px;}
    .pagination {display:flex; justify-content:center; margin-top:20px;}
    .pagination ul {gap:10px;}
    .pagination ul > li > span,
    .pagination ul > li > a {width:30px; height:30px; border-radius:20px;}
    .floating-text {gap:30px;}
    .floating-text-inner {font-size:50px;}
    .header {min-width:inherit;}
    .header-inner {height:70px; padding:0 20px;}
    .header.scrolling .header-inner {padding:0 20px;}
    .header.scrolling .header-inner::before {top:5px; left:10px; width:calc(100% - 20px); height:calc(100% - 10px); backdrop-filter:blur(10px); border-radius:60px;}
    .header-brand {width:120px; margin:auto 0;}
    .button-hamburger {position:relative; display:block; width:30px; height:30px; margin-left:auto; border:1px solid #30416b; border-radius:30px;}
    .button-hamburger-bar {position:absolute; content:''; left:50%; width:12px; height:1px; background-color:#30416b; border-radius:0; transition:all .3s ease-in-out; transform:translateX(-50%);}
    .button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 4px);}
    .button-hamburger .button-hamburger-bar:nth-child(2) {top:50%;}
    .button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 4px);}
    .button-hamburger.open .button-hamburger-bar:nth-child(1) {transform:rotate(45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .button-hamburger.open .button-hamburger-bar:nth-child(2) {opacity:0;}
    .button-hamburger.open .button-hamburger-bar:nth-child(3) {transform:rotate(-45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .header-button-search {width:30px; height:30px; margin-left:10px; border-radius:30px;}
    .header-button-search i {font-size:14px;}
    .header-search {top:70px; right:20px;}
    .header-search input {height:40px; padding:0 15px; border-radius:40px; font-size:13px;}
    .header-nav {display:none; position:absolute; top:70px; left:10px; width:calc(100% - 20px); padding:20px; background-color:#fff;}
    .header-nav-global {flex-direction:column; gap:10px; height:auto; padding:20px 0; border-radius:10px;}
    .header-nav-global > li > a {justify-content:flex-start; padding:0 20px; font-size:14px;}
    .header-nav-global > li.has-child > a {padding:0 20px;}
    .header-nav-global > li.has-child > a::before {right:20px; width:15px; height:15px; border-radius:15px;}
    .header-nav-global-child {position:static; padding:10px 20px;}
    .header-nav-global-child-list {width:100%; padding:10px; border-radius:10px;}
    .header-nav-global-child-list > li > a {padding:5px 10px; border-radius:5px;}
    .header-nav-global-child-list > li:not(:last-child) {margin-bottom:10px;}
    .section {padding-top:30px; padding-bottom:30px;}
    .section-title {margin-bottom:30px; padding-bottom:10px; font-size:14px;}
    .section-title-inner {flex-direction:column; gap:10px; align-items:flex-start;}
    .section-title h3 {font-size:18px;}
    .more {gap:10px; margin-top:30px;}
    p:not(:last-child) {margin-bottom:20px;}
    figure {border-radius:10px;}
    .overview {padding-top:70px;}
    .overview-row {flex-direction:column; align-items:flex-start; gap:10px;}
    .overview-row__col:nth-child(1) {gap:10px;}
    .overview-row__col:nth-child(1) h2 {font-size:70px;}
    .overview-row__col:nth-child(1) h3 {font-size:17px;}
    .overview-row__col:nth-child(2) p {font-size:14px; letter-spacing:0; text-align:left;}
    .hero {padding-top:20px;}
    .hero-page-down {right:10px; width:50px; height:50px; border-width:2px; border-radius:50px;}
    .hero-page-down img {width:12px;}
    .hero-slider .swiper-slide {height:150px; border-radius:10px;}
    .about {padding-top:50px;}
    .about .text {flex-direction:column; gap:10px;}
    .about .text-heading {font-size:20px;}
    .about .text-description {flex:1; padding-top:0;}
    .about .text-description p {font-size:13px; line-height:1.75;}
    .specification-slide {padding:15px; border-radius:10px;}
    .specification-slide h4 {margin-bottom:10px; padding-left:25px; font-size:16px;}
    .specification-slide h4::before {width:15px; height:15px; border-radius:15px;}
    .specification-slider .swiper-pagination {margin-top:20px;}
    .specification-slider .swiper-pagination-bullet {width:30px; height:3px;}
    .specification-slide p {font-size:13px;}
    .card-list {gap:10px; grid-template-columns:repeat(1, 1fr);}
    .card-list__item {flex-direction:column; gap:20px; padding:15px; border-radius:10px;}
    .card-list__item-main {grid-column:1;}
    .card-list__item figure {flex:1;}
    .card-list__item h4 {margin-bottom:10px; font-size:16px;}
    .news-row {flex-direction:column;}
    .news .section-title h3 {margin-bottom:10px;}
    .news-list__item {gap:5px; flex-direction:column; padding:10px 0;}
    .news-list__item time {font-size:12px;}
    .news-list__item .category {width:auto; font-size:12px;}
    .news-list__item h4 {font-size:14px;}
    .news-list__item .arrow {margin-left:auto;}
    .gallery-bg-text {font-size:50px;}
    .floating-gallery {gap:20px;}
    .floating-gallery-inner img {width:400px;}
    .contact-row {flex-direction:column; gap:10px;}
    .contact-row__col a {font-size:20px;}
    .footer-row {flex-direction:column; gap:20px;}
    .footer-nav {display:grid; grid-template-columns:repeat(2, 1fr); gap:10px;}
    .footer-nav-list > li:not(:last-child) {margin-bottom:10px;}
    .footer-nav-list > li a {font-size:12px;}
    .footer-nav-list > li ul {padding-left:10px;}
    .footer-nav-list > li ul li a {font-size:11px;}
    .footer-secondary-row {flex-direction:column; justify-content:inherit; align-items:center; padding:50px 0;}
    .footer-logo {margin-bottom:20px;}
    .footer-text {gap:10px;}
    .footer-text h2 h2 {font-size:70px;}
    .footer-text h3 {font-size:17px;}
    .footer-copyright {margin-top:30px; padding:0; font-size:12px;}
    .form-group:not(:last-child) {margin-bottom:20px;}
    .form-group-row {gap:5px;}
    .form-group-row-label {gap:10px;}
    .form-group-row-label span {height:18px; padding:0 10px; border-radius:18px; font-size:10px;}
    .form-control {padding:15px 20px; border-radius:10px;}
    textarea.form-control {min-height:120px;}
    .page-header {gap:10px; margin-bottom:30px; padding-top:70px;}
    .page-header-title {margin-left:20px; font-size:16px;}
    .page-header-image {flex:0 0 50%; width:100%; height:120px; border-radius:10px 0 0 10px;}
    .page-content {flex-direction:column; gap:30px;}
    .page-content-main {order:0; width:100%;}
    .page-content-sidebar {flex:1; order:10;}
    .sidebar-item:not(:last-child) {margin-bottom:20px;}
    .sidebar {position:static; top:inherit; left:inherit;}
    .sidebar h3 {padding:5px 10px; border-radius:0 34px 34px 0; font-size:16px;}
    .sidebar ul > li {}
    .sidebar ul > li strong {padding:10px 0 0 20px; font-size:14px;}
    .sidebar ul > li a {padding:10px 10px 10px 20px; font-size:14px;}
    .sidebar ul > li a br {display:none}
    .sidebar ul > li a::before {top:1.04vw; right:1.04vw; width:1.2vw; height:0.47vw; background:url(../images/arrow-blue.svg) 0 0 / 100% auto no-repeat;}
    .sidebar ul > li a::before {top:calc(50% - 2.5px); right:7px; width:14px; height:5px;}
    .sidebar ul > .current-menu-item a,
    .sidebar ul > li a:hover {border-bottom-color:#1a57b1; color:#1a57b1;}
    .sidebar ul > .current-menu-item a::after,
    .sidebar ul > li a:hover::after {top:calc(50% - 2.5px); left:7px; border-radius:5px;}
    .sidebar ul > li > ul > li {padding-left:20px;}
    .editor {font-size:14px;}
    .editor h1 {margin-bottom:20px; font-size:20px;}
    .editor h2 {margin-bottom:20px; font-size:18px;}
    .editor h3 {margin-bottom:15px; padding:5px 15px; font-size:14px;}
    .editor h4 {margin-bottom:15px; font-size:14px;}
    .editor h5 {margin-bottom:15px; font-size:14px;}
    .editor p {margin-bottom:15px;}
    .editor .table-scroll {margin-top:20px; margin-bottom:20px;}
    .editor .table-sticky {height:250px;}
    .editor table th,
    .editor table td {padding:5px 15px;}
    .editor .wp-block-gallery {grid-template-columns:repeat(1, 1fr); gap:10px !important; margin-bottom:20px;}
    .editor .wp-block-gallery.columns-5 {grid-template-columns:repeat(2, 1fr);}
    .editor .wp-block-image {margin-bottom:20px;}
    .page-case .editor .wp-block-image {margin-bottom:15px;}
    .editor .wp-block-image .wp-element-caption {margin-top:10px; font-size:12px;}
    .editor .wp-block-separator {margin-top:20px; margin-bottom:20px;}
    .editor ol,
    .editor ul {margin-bottom:20px;}
    .editor ol > li,
    .editor ul > li {margin-bottom:20px;}
    .form-group:not(:last-child) {margin-bottom:20px;}
    .form-group-row {flex-direction:column; gap:5px;}
    .form-group-row-label {flex:1; justify-content:flex-start; gap:5px;}
    .form-group-row-label span {height:16px; padding:0 5px; font-size:10px;}
    .form-group-row-content {gap:10px;}
    .form-group-row-content [data-name="c-postcode"] {flex:1;}
    .form-control {padding:10px 15px; border-radius:5px;}
    textarea.form-control {min-height:200px;}
    .floating-button {top:inherit; bottom:10px; left:20px; width:calc(100% - 40px); min-height:inherit; height:40px; padding:0 15px; border-radius:1.04vw; font-size:13px; writing-mode:inherit;}
}

/* 260115調整 */
ul:not(.wp-block-social-links).is-style-vk-numbered-circle-mark, ol.is-style-vk-numbered-circle-mark {margin-left:1.8em;}
ul:not(.wp-block-social-links).is-style-vk-numbered-circle-mark li:before, ol.is-style-vk-numbered-circle-mark li:before {line-height:calc(1rem * 1.5) !important;}
