@charset "UTF-8";

*,
:after,
:before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

/*! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com*/
*,
:after,
:before {
    border: 0 solid;
    box-sizing: border-box
}

:after,
:before {
    --tw-content: ""
}

:host,
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent
}

body {
    line-height: inherit;
    margin: 0
}

hr {
    border-top-width: 1px;
    color: inherit;
    height: 0
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
pre,
samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-size: 1em;
    font-variation-settings: normal
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font-family: inherit;
    font-feature-settings: inherit;
    font-size: 100%;
    font-variation-settings: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0
}

fieldset,
legend {
    padding: 0
}

menu,
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #9ca3af;
    opacity: 1
}

input::placeholder,
textarea::placeholder {
    color: #9ca3af;
    opacity: 1
}

[role=button],
button {
    cursor: pointer
}

:disabled {
    cursor: default
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
    vertical-align: middle
}

img,
video {
    height: auto;
    max-width: 100%
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

.invisible {
    visibility: hidden
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.-right-\[270\%\] {
    right: -270%
}

.-top-32 {
    top: -32rem
}

.bottom-0 {
    bottom: 0
}

.left-0 {
    left: 0
}

.left-\[50\%\] {
    left: 50%
}

.right-0 {
    right: 0
}

.right-24 {
    right: 24rem
}

.top-0 {
    top: 0
}

.top-1\/2 {
    top: 50%
}

.top-10 {
    top: 10rem
}

.top-20 {
    top: 20rem
}

.top-72 {
    top: 72rem
}

.top-\[50\%\] {
    top: 50%
}

.z-50 {
    z-index: 50
}

.z-\[100\] {
    z-index: 100
}

.z-\[1\] {
    z-index: 1
}

.z-\[200\] {
    z-index: 200
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.-mr-20 {
    margin-right: -20rem
}

.-mt-100 {
    margin-top: -100rem
}

.ml-15 {
    margin-left: 15rem
}

.mr-4 {
    margin-right: 4rem
}

.mt-12 {
    margin-top: 12rem
}

.mt-16 {
    margin-top: 16rem
}

.mt-18 {
    margin-top: 18rem
}

.mt-20 {
    margin-top: 20rem
}

.mt-24 {
    margin-top: 24rem
}

.mt-26 {
    margin-top: 26rem
}

.mt-32 {
    margin-top: 32rem
}

.mt-40 {
    margin-top: 40rem
}

.mt-48 {
    margin-top: 48rem
}

.mt-56 {
    margin-top: 56rem
}

.mt-72 {
    margin-top: 72rem
}

.mt-8 {
    margin-top: 8rem
}

.mt-80 {
    margin-top: 80rem
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.flex {
    display: flex
}

.table {
    display: table
}

.hidden {
    display: none
}

.h-1160 {
    height: 1160rem
}

.h-12 {
    height: 12rem
}

.h-22 {
    height: 22rem
}

.h-24 {
    height: 24rem
}

.h-320 {
    height: 320rem
}

.h-56 {
    height: 56rem
}

.h-64 {
    height: 64rem
}

.h-72 {
    height: 72rem
}

.h-8 {
    height: 8rem
}

.h-\[100dvh\] {
    height: 100dvh
}

.h-\[2px\] {
    height: 2px
}

.h-full {
    height: 100%
}

.w-102 {
    width: 102rem
}

.w-135 {
    width: 135rem
}

.w-1600 {
    width: 1600rem
}

.w-21 {
    width: 21rem
}

.w-24 {
    width: 24rem
}

.w-32 {
    width: 32rem
}

.w-50 {
    width: 50rem
}

.w-590 {
    width: 590rem
}

.w-67 {
    width: 67rem
}

.w-76 {
    width: 76rem
}

.w-84 {
    width: 84rem
}

.w-94 {
    width: 94rem
}

.w-\[calc\(\(100\%_-_12rem\)_\/_2\)\] {
    width: calc(50% - 6rem)
}

.w-\[calc\(100\%_\/_4\)\] {
    width: 25%
}

.w-auto {
    width: auto
}

.w-full {
    width: 100%
}

.max-w-1280 {
    max-width: 1280rem
}

.max-w-1540 {
    max-width: 1540rem
}

.max-w-1700 {
    max-width: 1700rem
}

.flex-1 {
    flex: 1 1 0%
}

.-translate-x-\[50\%\] {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2,
.-translate-y-\[50\%\] {
    --tw-translate-y: -50%
}

.-translate-y-1\/2,
.-translate-y-\[50\%\],
.translate-y-\[100\%\] {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-\[100\%\] {
    --tw-translate-y: 100%
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.cursor-pointer {
    cursor: pointer
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.gap-x-12 {
    -moz-column-gap: 12rem;
    column-gap: 12rem
}

.gap-x-16 {
    -moz-column-gap: 16rem;
    column-gap: 16rem
}

.gap-x-24 {
    -moz-column-gap: 24rem;
    column-gap: 24rem
}

.gap-x-36 {
    -moz-column-gap: 36rem;
    column-gap: 36rem
}

.gap-x-40 {
    -moz-column-gap: 40rem;
    column-gap: 40rem
}

.gap-x-80 {
    -moz-column-gap: 80rem;
    column-gap: 80rem
}

.gap-y-10 {
    row-gap: 10rem
}

.gap-y-16 {
    row-gap: 16rem
}

.gap-y-20 {
    row-gap: 20rem
}

.gap-y-6 {
    row-gap: 6rem
}

.overflow-hidden {
    overflow: hidden
}

.overflow-x-auto {
    overflow-x: auto
}

.overflow-y-auto {
    overflow-y: auto
}

.whitespace-nowrap {
    white-space: nowrap
}

.rounded-10-md {
    border-radius: 12.5rem
}

.rounded-16 {
    border-radius: 16rem
}

.rounded-18 {
    border-radius: 18rem
}

.rounded-2 {
    border-radius: 2rem
}

.rounded-4 {
    border-radius: 4rem
}

.rounded-8 {
    border-radius: 8rem
}

.rounded-t-32 {
    border-top-left-radius: 32rem;
    border-top-right-radius: 32rem
}

.border {
    border-width: 1px
}

.border-x {
    border-left-width: 1px;
    border-right-width: 1px
}

.border-b {
    border-bottom-width: 1px
}

.border-l {
    border-left-width: 1px
}

.border-t {
    border-top-width: 1px
}

.border-solid {
    border-style: solid
}

.border-dashed {
    border-style: dashed
}

.border-gray {
    --tw-border-opacity: 1;
    border-color: rgb(204 204 204/var(--tw-border-opacity))
}

.border-lightGray {
    --tw-border-opacity: 1;
    border-color: rgb(222 222 222/var(--tw-border-opacity))
}

.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255/var(--tw-border-opacity))
}

.border-t-white {
    --tw-border-opacity: 1;
    border-top-color: rgb(255 255 255/var(--tw-border-opacity))
}

.bg-\[\#333333\] {
    --tw-bg-opacity: 1;
    background-color: rgb(51 51 51/var(--tw-bg-opacity))
}

.bg-\[rgba\(255\2c 255\2c 255\2c 0\.5\)\] {
    background-color: hsla(0, 0%, 100%, .5)
}

.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0/var(--tw-bg-opacity))
}

.bg-blue {
    --tw-bg-opacity: 1;
    background-color: rgb(0 130 235/var(--tw-bg-opacity))
}

.bg-darkGray {
    --tw-bg-opacity: 1;
    background-color: rgb(117 117 117/var(--tw-bg-opacity))
}

.bg-weakBlue {
    --tw-bg-opacity: 1;
    background-color: rgb(235 245 254/var(--tw-bg-opacity))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity))
}

.bg-\[url\(\'\/media\/images\/common\/news_note\.webp\'\)\] {
    background-image: url(/media/images/common/news_note.webp)
}

.bg-contain {
    background-size: contain
}

.bg-top {
    background-position: top
}

.bg-repeat-x {
    background-repeat: repeat-x
}

.fill-white {
    fill: #fff
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.px-15 {
    padding-left: 15rem;
    padding-right: 15rem
}

.px-20 {
    padding-left: 20rem;
    padding-right: 20rem
}

.px-24 {
    padding-left: 24rem;
    padding-right: 24rem
}

.px-35 {
    padding-left: 35rem;
    padding-right: 35rem
}

.px-8 {
    padding-left: 8rem;
    padding-right: 8rem
}

.py-32 {
    padding-bottom: 32rem;
    padding-top: 32rem
}

.pb-110 {
    padding-bottom: 110rem
}

.pb-12 {
    padding-bottom: 12rem
}

.pb-124 {
    padding-bottom: 124rem
}

.pb-16 {
    padding-bottom: 16rem
}

.pb-24 {
    padding-bottom: 24rem
}

.pb-44 {
    padding-bottom: 44rem
}

.pb-48 {
    padding-bottom: 48rem
}

.pb-6 {
    padding-bottom: 6rem
}

.pb-9 {
    padding-bottom: 9rem
}

.pl-16 {
    padding-left: 16rem
}

.pr-16 {
    padding-right: 16rem
}

.pt-1 {
    padding-top: 1rem
}

.pt-12-md {
    padding-top: 15rem
}

.pt-17 {
    padding-top: 17rem
}

.pt-18 {
    padding-top: 18rem
}

.pt-24 {
    padding-top: 24rem
}

.pt-36 {
    padding-top: 36rem
}

.pt-40 {
    padding-top: 40rem
}

.pt-64 {
    padding-top: 64rem
}

.pt-70 {
    padding-top: 70rem
}

.pt-8 {
    padding-top: 8rem
}

.text-center {
    text-align: center
}

.font-trebuchetMs {
    font-family: trebuchet-ms, sans-serif
}

.text-13 {
    font-size: 13rem
}

.text-14 {
    font-size: 14rem
}

.text-15 {
    font-size: 15rem
}

.text-16 {
    font-size: 16rem
}

.text-17 {
    font-size: 17rem
}

.text-18 {
    font-size: 18rem
}

.text-19 {
    font-size: 19rem
}

.text-20 {
    font-size: 20rem
}

.text-21 {
    font-size: 21rem
}

.text-22 {
    font-size: 22rem
}

.text-25 {
    font-size: 25rem
}

.text-28 {
    font-size: 28rem
}

.text-34 {
    font-size: 34rem
}

.font-bold {
    font-weight: 700
}

.font-medium {
    font-weight: 500
}

.leading-\[1\.3\] {
    line-height: 1.3
}

.leading-\[1\.611\] {
    line-height: 1.611
}

.leading-\[1\.625\] {
    line-height: 1.625
}

.leading-\[1\.636\] {
    line-height: 1.636
}

.leading-\[1\.666\] {
    line-height: 1.666
}

.leading-\[1\.6\] {
    line-height: 1.6
}

.leading-\[1\] {
    line-height: 1
}

.leading-\[2\.25\] {
    line-height: 2.25
}

.leading-none {
    line-height: 1
}

.tracking-\[0\.04em\] {
    letter-spacing: .04em
}

.tracking-\[0\.06em\] {
    letter-spacing: .06em
}

.text-blue {
    --tw-text-opacity: 1;
    color: rgb(0 130 235/var(--tw-text-opacity))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity))
}

.opacity-0 {
    opacity: 0
}

.drop-shadow-\[0_3px_8px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
    --tw-drop-shadow: drop-shadow(0 3px 8px rgba(0, 0, 0, .08));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.duration-500 {
    transition-duration: .5s
}

html {
    font-family: Yu Gothic, YuGothic, 游ゴシック, 游ゴシック体, sans-serif;
    font-size: .2381vw;
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(0 0 0/var(--tw-text-opacity))
}

@media (min-width:768px) {
    html {
        font-size: .10417vw
    }
}

@media (min-width:1272px) {
    html {
        font-size: .05208vw
    }
}

@font-face {
    font-display: swap;
    font-family: trebuchet-ms;
    font-weight: 400;
    src: url(/media/files/fonts/trebuchet-ms.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: trebuchet-ms;
    font-weight: 600;
    src: url(/media/files/fonts/trebuchet-ms-bold.ttf) format("truetype")
}

.is-spMenu-opened {
    opacity: 1;
    overflow: hidden
}

.is-spMenu-opened #js-spMenu {
    opacity: 1;
    visibility: visible
}

.is-spMenu-opened #js-burger-line--1 {
    top: 8rem;
    transform: rotate(40deg)
}

.is-spMenu-opened #js-burger-line--2 {
    opacity: 0
}

.is-spMenu-opened #js-burger-line--3 {
    top: 8rem;
    transform: rotate(-40deg)
}

.js-details-sp__summary {
    cursor: pointer;
    display: block;
    font-size: 28rem;
    font-weight: 700;
    line-height: 1.636;
    padding-bottom: 16rem;
    padding-top: 16rem;
    position: relative
}

@media only screen and (max-width:767px) {
    .js-details-sp__summary {
        font-size: 25rem
    }
}

.js-details-sp__summary::-webkit-details-marker {
    display: none
}

.js-details-sp[open] .js-details-sp__summary {
    border-bottom: none
}

.js-details-sp__summary:after,
.js-details-sp__summary:before {
    background-color: #fff;
    content: "";
    display: block;
    height: 2rem;
    position: absolute;
    right: 7rem;
    top: 50%;
    width: 10rem;
    z-index: 10
}

.js-details-sp__summary:before {
    background-color: #fff;
    transform: translateY(-50%)
}

.js-details-sp__summary:after {
    transform: translateY(-50%) rotate(90deg);
    transition: all .4s ease-out
}

.js-details-sp[open] .js-details-sp__summary:after {
    transform: translateY(-50%) rotate(0deg)
}

.js-details-sp__cont {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 8rem;
    margin-bottom: 16rem;
    overflow: hidden
}

.js-overlay {
    height: calc(var(--vh, 1vh)*100 - 7.08333vh)
}

.block h1 {
    font-size: 28rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 2
}

@media (min-width:768px) {
    .block h1 {
        font-size: 32rem
    }
}

.block h2 {
    font-size: 22rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.25;
    padding-left: 16rem;
    position: relative
}

.block h2:before {
    height: 32rem;
    left: 0;
    position: absolute;
    top: -2rem;
    width: 4rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 130 235/var(--tw-bg-opacity));
    --tw-content: "";
    content: var(--tw-content)
}

@media (min-width:768px) {
    .block h2 {
        font-size: 24rem
    }
}

.block h3 {
    border-bottom-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(204 204 204/var(--tw-border-opacity));
    font-size: 19rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.666;
    padding-bottom: 12rem
}

@media (min-width:768px) {
    .block h3 {
        font-size: 18rem
    }
}

.block h4 {
    font-size: 19rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.666;
    --tw-text-opacity: 1;
    color: rgb(0 130 235/var(--tw-text-opacity))
}

@media (min-width:768px) {
    .block h4 {
        font-size: 18rem
    }
}

.block h5 {
    font-size: 19rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.666
}

@media (min-width:768px) {
    .block h5 {
        font-size: 18rem
    }
}

.block h6 {
    font-size: 19rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.666
}

@media (min-width:768px) {
    .block h6 {
        font-size: 18rem
    }
}

.block p {
    font-size: 19rem;
    letter-spacing: .04em;
    line-height: 1.777
}

@media (min-width:768px) {
    .block p {
        font-size: 18rem
    }
}

.block a {
    text-decoration-line: underline;
    transition-duration: .5s
}

@media (min-width:1272px) {
    .block a:hover {
        opacity: .7
    }
}

.block.text .div {
    font-size: 19rem;
    letter-spacing: .04em;
    line-height: 1.777
}

@media (min-width:768px) {
    .block.text .div {
        font-size: 18rem
    }
}

.block.text .blockquote {
    font-size: 19rem;
    letter-spacing: .04em;
    line-height: 1.777;
    padding-left: 16rem;
    position: relative
}

.block.text .blockquote:before {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 2rem;
    --tw-bg-opacity: 1;
    background-color: rgb(204 204 204/var(--tw-bg-opacity));
    --tw-content: "";
    content: var(--tw-content)
}

@media (min-width:768px) {
    .block.text .blockquote {
        font-size: 18rem
    }
}

.block.table {
    display: block;
    margin-right: -20rem;
    overflow-x: auto;
    padding-right: 20rem
}

@media (min-width:768px) {
    .block.table {
        margin-right: 0;
        padding-right: 0
    }
}

.block.table table {
    width: 500rem
}

@media (min-width:768px) {
    .block.table table {
        width: 100%
    }
}

.block.table table {
    table-layout: auto;
    white-space: nowrap
}

.block.table table caption {
    font-size: 19rem;
    letter-spacing: .04em;
    line-height: 1.777
}

@media (min-width:768px) {
    .block.table table caption {
        font-size: 18rem
    }
}

.block.table table tbody,
.block.table table thead {
    vertical-align: top
}

.block.table table td,
.block.table table th {
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(204 204 204/var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity));
    font-size: 19rem;
    font-weight: 500;
    line-height: 1.777;
    padding-bottom: 16rem;
    padding-left: 20rem;
    padding-right: 20rem;
    padding-top: 16rem;
    vertical-align: top
}

@media (min-width:768px) {

    .block.table table td,
    .block.table table th {
        font-size: 18rem
    }
}

.block.table table th {
    width: 240rem;
    --tw-bg-opacity: 1;
    background-color: rgb(235 245 254/var(--tw-bg-opacity));
    font-weight: 700
}

.block.table table td {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity))
}

.block.editor p {
    font-size: 19rem;
    letter-spacing: .04em;
    line-height: 1.777
}

@media (min-width:768px) {
    .block.editor p {
        font-size: 18rem
    }
}

.block.editor p a {
    text-decoration-line: underline
}

.block.editor p.ql-align-center {
    text-align: center
}

.block.editor p.ql-align-right {
    text-align: right
}

.block.editor p.ql-align-justify {
    text-align: justify
}

.block.editor blockquote {
    font-size: 19rem;
    letter-spacing: .04em;
    line-height: 1.777;
    padding-left: 16rem;
    position: relative
}

.block.editor blockquote:before {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 2rem;
    --tw-bg-opacity: 1;
    background-color: rgb(204 204 204/var(--tw-bg-opacity));
    --tw-content: "";
    content: var(--tw-content)
}

@media (min-width:768px) {
    .block.editor blockquote {
        font-size: 18rem
    }
}

.block.images ul {
    align-items: center;
    display: flex;
    gap: 20rem
}

@media (min-width:768px) {
    .block.images ul {
        gap: 30rem
    }
}

@media (min-width:1272px) {
    .block.images ul {
        gap: 40rem
    }
}

.block.images ul li {
    overflow: hidden
}

.block.images ul li img {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.block.images ul li .caption {
    align-items: center;
    bottom: 0;
    display: flex;
    font-size: 13rem;
    justify-content: center;
    left: 0;
    letter-spacing: .04em;
    line-height: 1.777;
    min-height: 56rem;
    padding-bottom: 10rem;
    padding-left: 12rem;
    padding-right: 12rem;
    padding-top: 10rem;
    position: absolute;
    text-align: center;
    width: 100%
}

@media (min-width:768px) {
    .block.images ul li .caption {
        font-size: 16rem;
        padding-bottom: 12rem;
        padding-left: 24rem;
        padding-right: 24rem;
        padding-top: 12rem
    }
}

.block.images.align-left ul {
    justify-content: flex-start
}

.block.images.align-center ul {
    justify-content: center
}

.block.images.align-right ul {
    justify-content: flex-end
}

.block.images.wrap-1 ul li {
    width: calc(50% - 20rem)
}

@media only screen and (max-width:1271px) {
    .block.images.wrap-1 ul li {
        width: calc(50% - 15rem)
    }
}

@media only screen and (max-width:767px) {
.block.images.wrap-1 ul li {
    width: 100%
    }
}

.block.images.wrap-2 ul {
    flex-wrap: wrap
}

.block.images.wrap-2 ul li {
    width: calc(50% - 20rem)
}

@media only screen and (max-width:1271px) {
    .block.images.wrap-2 ul li {
        width: calc(50% - 15rem)
    }
}

@media only screen and (max-width:767px) {
    .block.images.wrap-2 ul li {
        width: 100%
    }
}

.block.images.wrap-3 ul {
    flex-wrap: wrap
}

.block.images.wrap-3 ul li {
    width: calc(33.33333% - 26.66667rem)
    }

@media only screen and (max-width:1271px) {
    .block.images.wrap-3 ul li {
        width: calc(33.33333% - 20rem)
    }
}

@media only screen and (max-width:767px) {
    .block.images.wrap-3 ul li {
        width: 100%
    }
}

.block.images.wrap-4 ul {
    flex-wrap: wrap
}

.block.images.wrap-4 ul li {
    width: calc(25% - 30rem)
}

@media only screen and (max-width:1271px) {
    .block.images.wrap-4 ul li {
        width: calc(25% - 22.5rem)
    }
}

@media only screen and (max-width:767px) {
    .block.images.wrap-4 ul li {
        width: 100%
    }
}

.block.images.wrap-5 ul {
    flex-wrap: wrap
}

.block.images.wrap-5 ul li {
    width: calc(20% - 32rem)
}

@media only screen and (max-width:1271px) {
    .block.images.wrap-5 ul li {
        width: calc(20% - 24rem)
    }
}

@media only screen and (max-width:767px) {
    .block.images.wrap-5 ul li {
        width: 100%
    }
}

.block.images.wrap-6 ul {
    flex-wrap: wrap
}

.block.images.wrap-6 ul li {
    width: calc(16.66667% - 33.33333rem)
}

@media only screen and (max-width:1271px) {
    .block.images.wrap-6 ul li {
        width: calc(16.66667% - 25rem)
    }
}

@media only screen and (max-width:767px) {
    .block.images.wrap-6 ul li {
        width: 100%
    }
}

.block.text-image .texts {
    flex: 1 1 0%
}

.block.text-image.layout-image-text {
    display: flex;
    flex-direction: column;
    gap: 10rem
}

@media (min-width:768px) {
    .block.text-image.layout-image-text {
        gap: 40rem
    }
}

@media (min-width:1272px) {
    .block.text-image.layout-image-text {
        flex-direction: row
    }
}

.block.text-image.layout-image-text .image {
    width: 100%
}

@media (min-width:1272px) {
    .block.text-image.layout-image-text .image {
        width: calc(50% - 20rem)
    }
}

.block.text-image.layout-text-image {
    display: flex;
    flex-direction: column-reverse;
    gap: 10rem
}

@media (min-width:768px) {
    .block.text-image.layout-text-image {
        gap: 40rem
    }
}

@media (min-width:1272px) {
    .block.text-image.layout-text-image {
        flex-direction: row-reverse
    }
}

.block.text-image.layout-text-image .image {
    width: 100%
}

@media (min-width:1272px) {
    .block.text-image.layout-text-image .image {
        width: calc(50% - 20rem)
    }
}

.block.text-image h3 {
    font-size: 19rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.666;
    padding-bottom: 12rem
}

@media (min-width:768px) {
    .block.text-image h3 {
        font-size: 18rem
    }
}

.block.text-image p {
    flex: 1 1 0%;
    font-size: 19rem;
    letter-spacing: .04em;
    line-height: 1.777
}

@media (min-width:768px) {
    .block.text-image p {
        font-size: 18rem
    }
}

.block.text-image img {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.block.editor li,
.block.list li {
    font-size: 17rem;
    letter-spacing: .04em;
    line-height: 1.875
}

@media (min-width:768px) {

    .block.editor li,
    .block.list li {
        font-size: 16rem
    }
}

.block.editor ul li,
.block.list ul li {
    padding-left: 14rem;
    position: relative
}

.block.editor ul li:before,
.block.list ul li:before {
    border-radius: 50%;
    height: 6rem;
    left: 0;
    position: absolute;
    top: 11rem;
    width: 6rem;
    --tw-bg-opacity: 1;
    background-color: rgb(0 130 235/var(--tw-bg-opacity));
    --tw-content: "";
    content: var(--tw-content)
}

.block.editor ul li:nth-of-type(n+2),
.block.list ul li:nth-of-type(n+2) {
    margin-top: 2rem
}

.block.editor ol li,
.block.list ol li {
    counter-increment: count;
    padding-left: 26rem;
    position: relative
}

.block.editor ol li:before,
.block.list ol li:before {
    font-size: 20rem;
    font-weight: 700;
    left: 0;
    position: absolute;
    top: -3rem;
    --tw-text-opacity: 1;
    color: rgb(0 130 235/var(--tw-text-opacity));
    --tw-content: counter(count)".";
    content: var(--tw-content)
}

.block.editor ol li:nth-of-type(n+2),
.block.list ol li:nth-of-type(n+2) {
    margin-top: 4rem
}

.block.youtube .iframe-inner {
    aspect-ratio: 16/9
}

.block.youtube .iframe-inner iframe {
    border: none;
    filter: drop-shadow(0 0 rgba(0, 0, 0, 0));
    height: 100%;
    outline: none;
    width: 100%
}

.block.google-map .iframe-inner {
    aspect-ratio: 16/9
}

.block.google-map .iframe-inner iframe {
    height: 100%;
    width: 100%
}

.block.buttons ul {
    display: flex;
    flex-direction: column;
    gap: 20rem
}

@media only screen and (max-width:767px) {
    .block.buttons ul {
        align-items: center
    }
}

.block.buttons ul li {
    display: flex
}

.block.buttons ul li a {
    align-items: center;
    border-radius: 16rem;
    border-style: solid;
    border-width: 1px;
    display: flex;
    height: 64rem;
    justify-content: center;
    position: relative;
    width: 100%;
    --tw-border-opacity: 1;
    border-color: rgb(204 204 204/var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255/var(--tw-bg-opacity));
    font-size: 19rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.611;
    padding-top: 1rem;
    transition-duration: .5s
}

.block.buttons ul li a:after {
    height: 24rem;
    position: absolute;
    right: 22rem;
    top: 50%;
    width: 24rem;
    --tw-translate-y: -50%;
    background-image: url(/media/images/common/icon_arrow_square.svg);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    --tw-content: "";
    content: var(--tw-content)
}

@media (min-width:768px) {
    .block.buttons ul li a {
        font-size: 18rem;
        width: 458rem
    }
}

@media (min-width:1272px) {
    .block.buttons ul li a:hover {
        --tw-border-opacity: 1;
        border-color: rgb(0 130 235/var(--tw-border-opacity));
        opacity: 1
    }
}

.block.buttons ul li a {
    text-decoration: none
}

.after\:absolute:after {
    content: var(--tw-content);
    position: absolute
}

.after\:-bottom-10:after {
    bottom: -10rem;
    content: var(--tw-content)
}

.after\:-right-26:after {
    content: var(--tw-content);
    right: -26rem
}

.after\:-top-27:after {
    content: var(--tw-content);
    top: -27rem
}

.after\:left-1\/2:after {
    content: var(--tw-content);
    left: 50%
}

.after\:left-18:after {
    content: var(--tw-content);
    left: 18rem
}

.after\:left-\[76\.5\%\]:after {
    content: var(--tw-content);
    left: 76.5%
}

.after\:right-18:after {
    content: var(--tw-content);
    right: 18rem
}

.after\:right-22:after {
    content: var(--tw-content);
    right: 22rem
}

.after\:top-1\/2:after {
    content: var(--tw-content);
    top: 50%
}

.after\:h-20:after {
    content: var(--tw-content);
    height: 20rem
}

.after\:h-24:after {
    content: var(--tw-content);
    height: 24rem
}

.after\:h-8:after {
    content: var(--tw-content);
    height: 8rem
}

.after\:w-16:after {
    content: var(--tw-content);
    width: 16rem
}

.after\:w-24:after {
    content: var(--tw-content);
    width: 24rem
}

.after\:w-8:after {
    content: var(--tw-content);
    width: 8rem
}

.after\:-translate-x-1\/2:after {
    --tw-translate-x: -50%
}

.after\:-translate-x-1\/2:after,
.after\:-translate-y-1\/2:after {
    content: var(--tw-content);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.after\:-translate-y-1\/2:after {
    --tw-translate-y: -50%
}

.after\:rotate-180:after {
    content: var(--tw-content);
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.after\:rounded-\[50\%\]:after {
    border-radius: 50%;
    content: var(--tw-content)
}

.after\:bg-blue:after {
    content: var(--tw-content);
    --tw-bg-opacity: 1;
    background-color: rgb(0 130 235/var(--tw-bg-opacity))
}

.after\:bg-\[url\(\'\/media\/images\/common\/icon_arrow\.svg\'\)\]:after {
    background-image: url(/media/images/common/icon_arrow.svg);
    content: var(--tw-content)
}

.after\:bg-\[url\(\'\/media\/images\/common\/icon_arrow_gray\.svg\'\)\]:after {
    background-image: url(/media/images/common/icon_arrow_gray.svg);
    content: var(--tw-content)
}

.after\:bg-\[url\(\'\/media\/images\/common\/icon_arrow_square\.svg\'\)\]:after {
    background-image: url(/media/images/common/icon_arrow_square.svg);
    content: var(--tw-content)
}

.after\:bg-contain:after {
    background-size: contain;
    content: var(--tw-content)
}

.after\:bg-center:after {
    background-position: 50%;
    content: var(--tw-content)
}

.after\:bg-no-repeat:after {
    background-repeat: no-repeat;
    content: var(--tw-content)
}

.after\:opacity-0:after {
    content: var(--tw-content);
    opacity: 0
}

.after\:duration-500:after {
    content: var(--tw-content);
    transition-duration: .5s
}

.after\:content-\[\'\'\]:after {
    --tw-content: "";
    content: var(--tw-content)
}

@media (min-width:768px) {
    .md\:top-100 {
        top: 100rem
    }

    .md\:ml-16 {
        margin-left: 16rem
    }

    .md\:mt-100 {
        margin-top: 100rem
    }

    .md\:mt-16 {
        margin-top: 16rem
    }

    .md\:mt-44 {
        margin-top: 44rem
    }

    .md\:mt-56 {
        margin-top: 56rem
    }

    .md\:flex {
        display: flex
    }

    .md\:h-100 {
        height: 100rem
    }

    .md\:h-75 {
        height: 75rem
    }

    .md\:w-102 {
        width: 102rem
    }

    .md\:w-135 {
        width: 135rem
    }

    .md\:w-136 {
        width: 136rem
    }

    .md\:w-180 {
        width: 180rem
    }

    .md\:w-458 {
        width: 458rem
    }

    .md\:w-54 {
        width: 54rem
    }

    .md\:w-\[calc\(\(100\%_-_32rem\)_\/_3\)\] {
        width: calc(33.33333% - 10.66667rem)
    }

    .md\:gap-x-16 {
        -moz-column-gap: 16rem;
        column-gap: 16rem
    }

    .md\:gap-x-80 {
        -moz-column-gap: 80rem;
        column-gap: 80rem
    }

    .md\:gap-y-24 {
        row-gap: 24rem
    }

    .md\:px-30 {
        padding-left: 30rem;
        padding-right: 30rem
    }

    .md\:px-48 {
        padding-left: 48rem;
        padding-right: 48rem
    }

    .md\:px-50 {
        padding-left: 50rem;
        padding-right: 50rem
    }

    .md\:pb-17 {
        padding-bottom: 17rem
    }

    .md\:pb-20 {
        padding-bottom: 20rem
    }

    .md\:pb-68 {
        padding-bottom: 68rem
    }

    .md\:pb-80 {
        padding-bottom: 80rem
    }

    .md\:pt-0 {
        padding-top: 0
    }

    .md\:pt-100 {
        padding-top: 100rem
    }

    .md\:pt-20 {
        padding-top: 20rem
    }

    .md\:pt-64 {
        padding-top: 64rem
    }

    .md\:text-14 {
        font-size: 14rem
    }

    .md\:text-15 {
        font-size: 15rem
    }

    .md\:text-16 {
        font-size: 16rem
    }

    .md\:text-18 {
        font-size: 18rem
    }

    .md\:text-20 {
        font-size: 20rem
    }

    .md\:text-24 {
        font-size: 24rem
    }

    .md\:text-28 {
        font-size: 28rem
    }

    .md\:text-32 {
        font-size: 32rem
    }

    .md\:text-40 {
        font-size: 40rem
    }

    .md\:after\:left-34:after {
        content: var(--tw-content);
        left: 34rem
    }

    .md\:after\:right-34:after {
        content: var(--tw-content);
        right: 34rem
    }
}

@media (min-width:1272px) {
    .pc\:mt-0 {
        margin-top: 0
    }

    .pc\:mt-120 {
        margin-top: 120rem
    }

    .pc\:mt-60 {
        margin-top: 60rem
    }

    .pc\:block {
        display: block
    }

    .pc\:hidden {
        display: none
    }

    .pc\:h-120 {
        height: 120rem
    }

    .pc\:h-auto {
        height: auto
    }

    .pc\:w-728 {
        width: 728rem
    }

    .pc\:w-752 {
        width: 752rem
    }

    .pc\:flex-row {
        flex-direction: row
    }

    .pc\:rounded-16 {
        border-radius: 16rem
    }

    .pc\:px-50 {
        padding-left: 50rem;
        padding-right: 50rem
    }

    .pc\:px-80 {
        padding-left: 80rem;
        padding-right: 80rem
    }

    .pc\:pb-104 {
        padding-bottom: 104rem
    }

    .pc\:pb-108 {
        padding-bottom: 108rem
    }

    .pc\:pt-104 {
        padding-top: 104rem
    }

    .pc\:pt-120 {
        padding-top: 120rem
    }

    .pc\:pt-20 {
        padding-top: 20rem
    }

    .pc\:hover\:border-blue:hover {
        --tw-border-opacity: 1;
        border-color: rgb(0 130 235/var(--tw-border-opacity))
    }

    .pc\:hover\:opacity-70:hover {
        opacity: .7
    }

    .pc\:hover\:after\:left-30:hover:after {
        content: var(--tw-content);
        left: 30rem
    }

    .pc\:hover\:after\:right-30:hover:after {
        content: var(--tw-content);
        right: 30rem
    }

    .pc\:hover\:\[\&\>div\:after\]\:opacity-100>div:hover:after {
        opacity: 1
    }
}