@charset "UTF-8";
@keyframes rotate-left {0% {transform: rotate(360deg);}100% {transform: rotate(0deg);}}
@keyframes rotate-right {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}
@keyframes loading {0% {z-index: 12;opacity: 1;}40% {z-index: 12;opacity: 1;}50% {z-index: -1;opacity: 0;}60% {z-index: -1;opacity: 0;}}
@keyframes introduction {30% {width: 0;right: 0;opacity: 0;}65% {width: 100%;right: 0;opacity: 1;}100% {width: 0;right: 100%;opacity: 0;}}

body {opacity: 0;transition: opacity var(--easing) 500ms 500ms;}
body.loaded {opacity: 1;}
body.active #Loading {animation: loading 10s;}
#Loading {position: fixed;top: 0;left: 0;z-index: -1;background: #fff;width: 100%;height: 100%;text-align: center;display: flex;justify-content: center;align-items: center;opacity: 0;}
#Loading img {width: auto;max-width: 100%;}

img:not(.figlio) {display: block;width: 100%;height: auto;}

figure[data-caps] {position: relative;}
figure[data-caps]::after {content: attr(data-caps)"";position: absolute;bottom: 0;right: 0;font-size: 10px;line-height: 1;color: #fff;padding: 1em;z-index: 3;}
figure[data-caps].invert::after {color: #333;}

a.venogallery {position: relative;}
a.venogallery::after {position: absolute;bottom: 0;right: 0;margin: 0; width: 2em;height: 2em;background: rgba(255,255,255,0.5) url("../img/common/icon_search.svg") no-repeat 55% 55%;background-size: 50% auto;content: "";filter: invert(1);}
a.external {position: relative;padding-right: 1.25em;}
a.external::after {content: "";position: absolute;top: 50%;right: 0;transform: translateY(-50%);width: 0.75em;height: 0.75em;background: transparent url("../img/common/icon_external.svg") no-repeat 50% / contain;}

.grid-list {display: flex;align-items: stretch;flex-direction: row;flex-wrap: wrap;}
.loader {position: absolute;top: calc(50% - 32px);left: calc(50% - 32px);width: 64px;height: 64px;z-index: 1;}
.loader div {position: absolute;top: 0;left: 0;width: 100%;height: 100%;border-radius: 50%;box-sizing: border-box;opacity: .8;}
.one {border-top: 1px solid #8FB259;animation: rotate-left 1s linear infinite;}
.two {border-right: 1px solid #CCCC52;animation: rotate-right 1s linear infinite;}
.three {border-bottom: 1px solid #FFD933;animation: rotate-right 1s linear infinite;}
.four {border-left: 1px solid #FF7F00;animation: rotate-right 1s linear infinite;}

.btn-style-01 {position: relative;border-radius: 1.5em;background: var(--grad-blue); line-height: 3;font-family: 'Jost', sans-serif;font-weight: 400;text-align: center;color: #fff;}
.btn-style-01::after {content: "→";position: absolute;top: 50%;right: 0;transform: translate(-100%, -50%);}

#Main header[data-catch] {position: relative;overflow: hidden;padding: 5em 0 1.5em;z-index: 2;}
#Main header[data-catch]::before {content: attr(data-catch)"";position: absolute;top: 0;left: 50%;z-index: -1;transform: translateX(-50%);font-family: 'Jost', sans-serif;font-size: 500%;font-weight: 700;color: #fff;white-space: nowrap;}
#Main header[data-catch]::after {content: "";position: absolute;bottom: 0;left: 50%;background-color: var(--daiei-orange);height: 1px;width: 6em;transform: translateX(-50%);}
#Main header[data-catch] h3 {font-size: 156.25%;font-weight: bold;text-align: center;color: var(--daiei-blue);}

#Main .block-common-01 {position: relative;overflow: hidden;}
#Main .block-common-01 h2 {position: relative;margin-left: 1em;overflow: hidden;font-size: 218.75%;font-weight: 600;color: #fff;letter-spacing: 0.15em;line-height: 1;white-space: nowrap;}
#Main .block-common-01 h2 + p {position: relative;margin-left: 1.5em;font-family: 'Jost', sans-serif;font-weight: 400;font-size: 87.5%;color: #fff;}
#Main .block-common-01 h2::before,
#Main .block-common-01 h2 + p::before {content: attr(data-title)"";position: absolute;top: 0;left: 0;bottom: 0;width: 100%;overflow: hidden;color: #fff;white-space: nowrap;}
#Main .block-common-01 .container {max-width: 1200px;width: calc(100% - 4em);margin: 0 auto;padding: 4em 0;display: flex;align-items: baseline;position: relative;z-index: 2;}
#Main .block-common-01 .container::before {content: "●";position: absolute;top: 50%;left: 0;transform: translateY(-50%);font-size: 87.5%;color: var(--daiei-orange);}
#Main .block-common-01::before {content: "";position: absolute;top: 0;right: 0;width: 0;height: 100%;background: linear-gradient(90deg, rgba(0,56,148,1) 25%, rgba(250,150,10,1) 75%);}
body.openingend #Main .block-common-01 h2,
body.openingend #Main .block-common-01 h2 + p{color: #444;transition: color cubic-bezier(0.15, 0.9, 0.35, 1.01) 500ms 1500ms;}
body.openingend #Main .block-common-01 h2::before,
body.openingend #Main .block-common-01 h2 + p::before{width: 0;will-change: width;transition: width cubic-bezier(0.15, 0.9, 0.35, 1.01) 500ms 1500ms;}
body.openingend #Main .block-common-01::before {will-change: width, right, opacity;animation: introduction 2s cubic-bezier(0.15, 0.9, 0.35, 1.01);}

#Main .block-common-left {position: relative;z-index: 2;}
#Main .block-common-left header {max-width: 1000px;width: calc(100% - 4em);margin: 0 auto 1em;}
#Main .block-common-left header h3 {margin-bottom: 1em;font-size: 156.25%;font-weight: bold;line-height: 1;color: #fff;opacity: 0.4;}
#Main .block-common-left header h3::before {content: attr(data-num)"";font-family: 'Jost', sans-serif;font-weight: 700;font-size: 600%;line-height: 0.6;}
#Main .block-common-left header h4 {font-weight: bold;font-size: 187.5%;color: #fff;}
#Main .block-common-left header h4 + p {font-weight: bold;font-size: 87.5%;color: #fff;}
#Main .block-common-left::before {content: "";position: absolute;top: 0;left: 0;bottom: 0;right: 0;background-color: var(--deep-blue);border-radius: 0 3em 0 0; z-index: -1;}

#Main .block-common-right {position: relative;z-index: 2;}
#Main .block-common-right header {max-width: 1000px;width: calc(100% - 4em);margin: 0 auto 1em;}
#Main .block-common-right header h3 {margin-bottom: 1em;font-size: 156.25%;font-weight: bold;line-height: 1;text-align: right;color: #fff;}
#Main .block-common-right header h3::after {content: attr(data-num)"";font-family: 'Jost', sans-serif;font-weight: 700;font-size: 600%;line-height: 0.6;}
#Main .block-common-right header h4 {font-weight: bold;font-size: 187.5%;text-align: right;}
#Main .block-common-right header h4 + p {font-weight: bold;font-size: 87.5%;text-align: right;}
#Main .block-common-right::before {content: "";position: absolute;top: 0;left: 0;bottom: 0;right: 0;background-color: var(--powder-blue);border-radius: 3em 0 0 0; z-index: -1;}

#Main .block-common-form .satori__custom_form {background-color: transparent;}
#Main .block-common-form form {margin-top: 1.5em;}
#Main .block-common-form form .satori__notes {border: 0 none transparent;background-color: transparent;font-size: 87.5%;color: #888;}
#Main .block-common-form form .satori__require {background-color: #a5292a;border-radius: 0.2em;padding: 0.25em 0.5em;line-height: 1;font-size: 87.5%;font-weight: bold;color: #fff;}
#Main .block-common-form form .satori__not_require {background-color: #dddddd;border-radius: 0.2em;padding: 0.25em 0.5em;line-height: 1;font-size: 87.5%;font-weight: bold;color: #333333;}
#Main .block-common-form form .satori__message a {color: var(--deep-blue);}
#Main .block-common-form form .satori__btn {background: var(--grad-orange);padding: 1.5em 0;width: 15em;border-radius: 0.2em;font-weight: bold;text-align: center;color: #fff;}
#Main .block-common-form form .satori__custom_form_0c87d6d94e47160c_css {font-size: 112.5%;}
#Main .block-common-form form input[type="email"],
#Main .block-common-form form input[type="number"],
#Main .block-common-form form input[type="password"],
#Main .block-common-form form input[type="tel"],
#Main .block-common-form form input[type="text"],
#Main .block-common-form form input[type="url"],
#Main .block-common-form form textarea {background-color: #fff!important;font-size: 100%;font-weight: 500;}

#Breadcrumb {border-bottom: 1px solid var(--sax-gray);}
#Breadcrumb ul {display: flex;}
#Breadcrumb ul li {margin: 0;padding: 1em;position: relative;font-size: 75%;line-height: 1;color: #fff;}
#Breadcrumb ul li + li {margin-left: 0.5em;}
#Breadcrumb ul li + li::before {content: "";position: absolute;left: 0;top: 0;bottom: 50%;width: 1px;transform-origin: 100% 100%;transform: skewX(20deg);background-color: var(--sax-gray);opacity: 0.8;}
#Breadcrumb ul li + li::after {content: "";position: absolute;left: 0;top: 50%;bottom: 0;width: 1px;transform-origin: 100% 0;transform: skewX(-20deg);background-color: var(--sax-gray);opacity: 0.8;}
#Breadcrumb ul li a {display: block;text-decoration: none;color: #fff;}
#Breadcrumb ul li .divider {display: none;}
#Breadcrumb ul li.home a {font-family: 'Jost', sans-serif;}

#Colophon {background: var(--grad-navi);}
#Colophon::before {content: "";display: block;height: 3px;background: var(--grad-daiei);}
#Colophon header ul {display: flex;align-items: center;}
#Colophon header ul li {margin: 0 0 0 1em;}
#Colophon header ul img {width: auto;height: 1.5em;}
#Colophon header ul a {opacity: 0.5;}
#Colophon header .address {font-size: 75%;font-weight: 500;color: #fff;}
#Colophon footer {border-top: 1px solid var(--sax-gray);border-bottom: 1px solid var(--sax-gray);}
#Colophon footer .grid-list > div:nth-child(1) a,
#Colophon footer .grid-list > div:nth-child(2) a {text-decoration: none;line-height: 5;color: #fff;background: transparent url("../img/common/icon_arrow_circle_invert.svg") no-repeat 100% 50% / auto 2.4em;}
#Colophon footer .grid-list ul li a {font-size: 87.5%;line-height: 1;white-space: nowrap;text-decoration: none;color: #fff;}
#Colophon footer .grid-list ul li a.external::after {background-image: url("../img/common/icon_external_invert.svg");}
#Colophon .sitemap h3 {border-bottom: 1px solid var(--sax-gray);position: relative;padding-bottom: 1.5em;margin-bottom: 1.5em;font-family: 'Jost', sans-serif;font-weight: 400;font-size: 95.75%;letter-spacing: 0.15em;color: #fff;}
#Colophon .sitemap h3::before {content: "";position: absolute;bottom: -1px;left: 0;width: 1.5em;height: 1px;background-color: rgb(255 255 255 / 50%);}
#Colophon .sitemap .grid-list ul li {margin-bottom: 0.5em;}
#Colophon .sitemap .grid-list ul li a {font-size: 87.5%;line-height: 1;white-space: nowrap;text-decoration: none;color: #fff;}
#Colophon .sitemap .grid-list ul li a.external::after {background-image: url("../img/common/icon_external_invert.svg");}

#Copyright {padding: 2em 0;}
#Copyright p {margin: 0;font-size: 75%;}
#Copyright p a {color: #333;text-decoration: none;}
#Copyright > div:nth-child(1) p a {position: relative;padding-left: 6em;background: transparent url("../img/common/icon_privacy.svg?20250512") no-repeat 0 50% / contain;}
/* =====
* LAYOUT :: PC
=================================================================== */
@media only screen and (min-width: 769px) {
  #Main {padding-top: 6em;}
  #Main .anchor {margin-top: -6em;padding-top: 6em;}

  #Main .block-common-left::before {right: calc(50vw - 500px - 4em);}
  #Main .block-common-right::before {left: calc(50vw - 500px - 4em);}

  #Colophon {padding: 0 0 4em;}
  #Colophon header {display: flex;justify-content: space-between;margin-top: 3em;}
  #Colophon header > div {display: flex;align-items: center;}
  #Colophon header ul a:hover {opacity: 1;}
  #Colophon header .logo img {width: auto;height: 1.5em;}
  #Colophon header .address {margin-left: 2em;}
  #Colophon footer .grid-list {flex-wrap: nowrap;align-items: center;}
  #Colophon footer .grid-list > div {justify-content: space-between;}
  #Colophon footer .grid-list > div:nth-child(1),
  #Colophon footer .grid-list > div:nth-child(2) {display: flex;align-items: center;justify-content: center;border-right: 1px solid var(--sax-gray);}
  #Colophon footer .grid-list > div:nth-child(1) a,
  #Colophon footer .grid-list > div:nth-child(2) a {width: 10em;margin: 0 1.25em;}
  #Colophon footer .grid-list ul {padding: 0.5em 1em;}
  #Colophon footer .grid-list ul + ul {margin-top: -2em;}
  #Colophon footer .grid-list ul li {display: inline-block;margin: 0.15em 1em 0.15em 0.15em;}
  #Colophon .sitemap {padding: 3em 0 2em;}
  #Colophon .sitemap .grid-list {justify-content: space-between;}
  #Colophon .sitemap .grid-list > div {width: calc(33.3% - 2em);max-width: 22em;}
  #Colophon .sitemap .grid-list > div ul li a:hover {text-decoration: underline;}
  #Colophon .container {width: calc(100% - 4em);margin: 0 auto;}

  #Copyright {display: flex;justify-content: space-between;align-items: center;padding: 1em 5em 1em 2em;}
}
@media only screen and (min-width: 769px) and (max-width: 1128px) {
  #Main .block-common-left::before {border-radius: 0;right: 0;}
  #Main .block-common-right::before {border-radius: 0;left: 0;}
}
@media only screen and (min-width: 769px) and (max-width: 1032px) {}
/* =====
* LAYOUT :: SP
=================================================================== */
@media only screen and (max-width: 768px) {
  #Loading img {width: calc(100% - 4em);}

  #Main {padding-top: 4em;}
  #Main .anchor {margin-top: -4em;padding-top: 4em;}

  #Main header[data-catch] {padding-top: 2.5em;}
  #Main header[data-catch]::before {top: 0.5em;font-size: 200%;}

  #Main .block-common-01 h2 {font-size: 150%;}

  #Main .block-common-left header h4 {margin-bottom: 0.5em;line-height: 1.2;}
  #Main .block-common-left header h4 + p {font-size: 100%;}
  #Main .block-common-left::before {border-radius: 0;}
  #Main .block-common-right header h4 {margin-bottom: 0.5em;line-height: 1.2;}
  #Main .block-common-right header h4 + p {font-size: 100%;}
  #Main .block-common-right::before {border-radius: 0;}

  #Main .scroller {overflow-x: scroll;position: relative;}
  #Main .scroller::before {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: transparent url("../img/common/icon_swipe.svg") no-repeat 50% 50%;background-size: 20% auto;z-index: 3;}
  #Main .scroller::after {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.2);width: 250%;padding: 3%;z-index: 2;}
  #Main .scroller > * {width: 250%;padding: 3%;opacity: 0.5;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 100ms;}
  #Main .scroller.on::before,
  #Main .scroller.on::after {opacity: 0;}
  #Main .scroller.on > * {opacity: 1;}
  #Main .scroller::-webkit-scrollbar {-webkit-appearance: none !important;height: 10px !important;background: #eaeaea !important;}
  #Main .scroller::-webkit-scrollbar-thumb {background: #cdcdcd !important;}

  #Colophon header {padding: 3em 0;border-bottom: 1px solid var(--sax-gray);}
  #Colophon header .logo img {width: auto;height: 2.5em;margin: 0 auto;}
  #Colophon header .address {margin-top: 0.5em;text-align: center;}
  #Colophon header ul {justify-content: center;margin-top: 2em;}
  #Colophon header ul li {margin: 1em;}
  #Colophon header ul img {height: 2.5em;}
  #Colophon footer .grid-list {}
  #Colophon footer .grid-list > div:nth-child(1),
  #Colophon footer .grid-list > div:nth-child(2) {width: 50%;}
  #Colophon footer .grid-list > div:nth-child(1) a,
  #Colophon footer .grid-list > div:nth-child(2) a {display: block;padding: 1.5em 1.6em;background-position: calc(100% - 1.6em) 50%;font-size: 125%;}
  #Colophon footer .grid-list > div:nth-child(2) a {border-left: 1px solid var(--sax-gray);}
  #Colophon footer .grid-list > div:nth-child(3) {width: 100%;border-top: 1px solid var(--sax-gray);}
  #Colophon footer .grid-list ul {padding: 2em 2em 0.5em;}
  #Colophon footer .grid-list ul li {margin-bottom: 1.5em;text-align: center;}
  #Colophon footer .grid-list ul li + li {border-top: 1px dotted var(--sax-gray);padding-top: 1.5em;}
  #Colophon footer .grid-list ul li a {font-size: 125%;}
  #Colophon footer .grid-list ul + ul {margin-top: -1em;border-top: 1px solid var(--sax-gray);}
  #Colophon .sitemap h3 {padding-bottom: 1em;margin-bottom: 0.5em;font-size: 137.5%;}
  #Colophon .sitemap .grid-list {display: block;}
  #Colophon .sitemap .grid-list > div {padding: 2em;}
  #Colophon .sitemap .grid-list > div ul {margin: 0 1em;}
  #Colophon .sitemap .grid-list > div ul li {margin: 0;padding: 1.5em 1em;}
  #Colophon .sitemap .grid-list > div ul li + li {border-top: 1px dotted var(--sax-gray);}
  #Colophon .sitemap .grid-list > div ul li a {font-size: 125%;}
  #Colophon .sitemap .grid-list > div ul li a.external {padding-right: 0;}
  #Colophon .sitemap .grid-list > div ul li a.external::after {position: inherit;top: inherit;right: inherit;display: inline-block;margin-left: 0.5em;vertical-align: -webkit-baseline-middle;}

  #Copyright {padding: 2em;}
  #Copyright > div:nth-child(1) p a {font-size: 10px;line-height: 1.6;}
  #Copyright > div:nth-child(2) p:nth-child(1) {border-top: 1px solid #ddd;border-bottom: 1px solid #ddd;margin: 1em 0;padding: 1em;text-align: center;font-size: 125%;}
  #Copyright > div:nth-child(2) p:nth-child(2) {letter-spacing: 0;}
}
@media only screen and (max-width: 768px) and (orientation: landscape) {}
@media only screen and (max-width: 640px) {}
@media only screen and (max-width: 480px) {}
/* =====
* LAYOUT :: 改行調整
=================================================================== */
#Contents br.sp,
#Contents br.pc {display: none;}
@media only screen and (min-width: 769px) {#Contents br.pc { display: block; }}
@media only screen and (max-width: 768px) {#Contents br.sp { display: block; }}



