@charset "UTF-8";
@font-face {
  font-family: "MOBO-Bold";
  src: url("../../assets/fonts/MOBO-Bold.woff2") format("woff2"), url("../../assets/fonts/MOBO-Bold.woff") format("woff"), url("../../assets/fonts/MOBO-Bold.otf") format("opentype");
}
/**
 * uaplus.css version 0.0.1
 */
/**
 * Different box model
 * 
 * We use the traditional box model, where the padding and border 
 * of the element is drawn inside and not outside the specified 
 * width and height. That makes combining relative and absolute 
 * units in properties like <code>inline-size</code> and 
 * <code>block-size</code> easier.
 * 
 * See https://en.wikipedia.org/wiki/CSS_box_model
 */
*,
*::after,
*::before {
  box-sizing: border-box;
}

/**
 * Improve focus styles
 *
 * Add spacing between content and its focus outline.
 */
:focus-visible {
  outline-offset: 3px;
}

/**
 * Disable text size adjustment
 * 
 * To improve readability on non-mobile optimized websites, browsers
 * like mobile Safari increase the default font size when you switch
 * a website from portrait to landscape. We don't want that for our 
 * optimized sites.
 *
 * See https://kilianvalkhof.com/2022/css-html/your-css-reset-needs-text-size-adjust-probably/
 */
:where(html) {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/**
 * Increase line height
 *
 * Long paragraphs are easier to read if the line height is higher.
 */
:where(html) {
  line-height: 1.5;
}

/**
 * Add scrollbar gutter
 *
 * Prevent the page from “jumping” when switching from a long to a short page.
 *
 */
:where(html) {
  scrollbar-gutter: stable;
}

/**
 * Remove UA styles for h1s nested in sectioning content
 *
 * Nesting h1s in section, articles, etc., shouldn't influence the 
 * styling of the heading since nesting doesn't influence 
 * semantics either.
 * 
 * See https://github.com/whatwg/html/issues/7867#issuecomment-2632395167
 * See https://github.com/whatwg/html/pull/11102
 * See https://html.spec.whatwg.org/#sections-and-headings
 */
:where(h1) {
  font-size: 2em;
  margin-block: 0.67em;
}

/**
 * Improve abbreviations with titles
 * 
 * The abbr element with the title isn't helpful regarding 
 * accessibility because support is inconsistent, and it's only 
 * accessible to some users. Still, it's commonly used. 
 * This rule shows a dotted underline on abbreviations in all 
 * browsers (there's a bug in Safari) and changes the cursor.
 * 
 * See https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
 */
:where(abbr[title]) {
  cursor: help;
  text-decoration-line: underline;
  text-decoration-style: dotted;
}

/**
 * Optimize mark element in Forced Colors Mode
 *
 * The colors of the mark element don't change in Forced Colors Mode,
 * which can be problematic. Use system colors instead.
 * 
 * See https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
 */
@media (forced-colors: active) {
  mark {
    color: HighlightText;
    background-color: Highlight;
  }
}
/**
 * Announce del, ins, and s to screen readers
 * 
 * With the exception of NVDA (2024.4.2), which announces "deletion",
 * none of the common screen readers announces the <s> element.
 * Voice Over on macOS and iOS and Narrator don't announce 
 * <ins> and <del>. Usually, screen readers not announcing text-level
 * semantics is something we just accept, but devs using elements 
 * like <s> without knowing that they may not convey semantics is a 
 * common issue. We announce the start and end of stricken, inserted,
 * and deleted content with pseudo-elements. For languages other 
 * than English, you should provide translations, e.g. :lang(de) 
 * :where(s::before) { content: "Durchgestrichener Text Beginn "; }
 * 
 * See https://adrianroselli.com/2017/12/tweaking-text-level-styles.html
 */
:where(del, ins, s)::before,
:where(del, ins, s)::after {
  clip-path: inset(100%);
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  content: "test";
}

:where(s)::before {
  content: "stricken text start ";
}

:where(s)::after {
  content: " stricken text end";
}

:where(del)::before {
  content: "deletion start ";
}

:where(del)::after {
  content: " deletion end";
}

:where(ins)::before {
  content: "insertion start ";
}

:where(ins)::after {
  content: " insertion end";
}

/**
 * Avoid overflow caused by embedded content
 * 
 * Ensure that embedded content (audio, video, images, etc.) 
 * doesn't overflow its container.
 */
:where(audio, iframe, img, svg, video) {
  max-block-size: 100%;
  max-inline-size: 100%;
}

/**
 * Prevent fieldsets from causing overflow
 *
 * Reset the default `min-inline-size: min-content` to prevent
 * children from stretching fieldsets
 *
 * See https://github.com/twbs/bootstrap/issues/12359
 * and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
 */
:where(fieldset) {
  min-inline-size: 0;
}

/**
 * Turn labels into block elements
 * 
 * Labels for inputs, selects, and textarea should be block 
 * elements.
 */
:where(label):has(+ :where(textarea, input, select)) {
  display: block;
}

/**
 * Increase the block-size of textareas
 *
 * The default height of textareas is small. We increase it a bit.
 */
:where(textarea:not([rows])) {
  min-block-size: 6em;
}

/**
 * Inherit font styling in form elements
 * 
 * buttons, inputs, selects, and textarea should have the same font
 * family and size as the rest of the page.
 */
:where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit;
}

/**
 * Normalize search input styles
 *  
 * Remove the rounded corners of search inputs on macOS and IOS 
 * and normalize the background color
 */
:where([type=search]) {
  -webkit-appearance: textfield;
}

/* iOS only */
@supports (-webkit-touch-callout: none) {
  :where([type=search]) {
    border: 1px solid -apple-system-secondary-label;
    background-color: canvas;
  }
}
/**
 * Maintain direction in some input types
 * 
 * Some input types should remain left-aligned in right-to-left
 * languages,but only if the value isn't empty because the 
 * placeholder should be right-aligned.
 *
 * See https://rtlstyling.com/posts/rtl-styling#form-inputs
 */
:where([type=tel], [type=url], [type=email], [type=number]):not(:placeholder-shown) {
  direction: ltr;
}

/**
 * Improve table styling
 *  
 * With the default styling, tables are hard to scan. These rules 
 * add padding and collapsed borders.
 */
:where(table) {
  border-collapse: collapse;
  border: 1px solid;
}

:where(th, td) {
  border: 1px solid;
  padding: 0.25em 0.5em;
}

/**
 * Fading dialogs
 *  
 * Add fade in and fade out transitions for the dialog element
 * and backdrops
 */
:where(dialog)::backdrop {
  background: oklch(0% 0 0deg / 0.3);
}

:where(dialog),
:where(dialog)::backdrop {
  opacity: 0;
  transition: opacity 300ms ease-out, display 300ms allow-discrete, overlay 300ms allow-discrete;
}

:where(dialog[open]),
:where(dialog[open])::backdrop {
  opacity: 1;
}

@starting-style {
  :where(dialog[open]),
  :where(dialog[open])::backdrop {
    opacity: 0;
  }
}
/**
 * Increase specificity of [hidden]
 *  
 * Make it harder to accidentally unhide elements with the 
 * [hidden] attribute while still maintaining the until-found 
 * functionality.
 */
[hidden]:not([hidden=until-found]) {
  display: none !important;
}

/**
 * 追記
 */
body {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  margin: 0;
  padding: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

table,
table th,
table td {
  font-weight: inherit;
}

/* ------------------------------
 * default
------------------------------ */
html {
  font-size: 100%;
}

body {
  font-size: 1rem;
  font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #272222;
  background-color: #f7f4e5;
  position: relative;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 0.875rem;
  }
}

.adjust-wid {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

img {
  width: 100%;
  display: block;
}

table,
table th,
table td {
  border: none;
}

/* ------------------------------
 * utility
------------------------------ */
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

.fw-b {
  font-weight: bold;
}

/* ------------------------------
 * header
------------------------------ */
.l_header {
  background: url("../../assets/images/bg_1@x2.png") repeat top left/100px auto;
  overflow: hidden;
}

.header_container {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.header_container::before,
.header_container::after {
  content: "";
  width: 100%;
  height: 15px;
  display: block;
  position: absolute;
  bottom: 0;
}

.header_container::before {
  right: 100%;
  background: url("../../assets/images/line_rainbow.svg") repeat-x top right;
}

.header_container::after {
  left: 100%;
  background: url("../../assets/images/line_rainbow.svg") repeat-x top left;
}

.header_mv {
  width: 100%;
}

/* ------------------------------
 * footer
------------------------------ */
.l_footer {
  text-align: center;
  height: 90px;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #3f3b3b;
}
@media screen and (max-width: 768px) {
  .l_footer {
    padding: 0 5%;
    height: 150px;
  }
}

.footer_copy {
  font-size: 0.875rem;
  color: #fff;
}

.footer_copy span {
  padding-left: 0.5rem;
}
@media screen and (max-width: 768px) {
  .footer_copy span {
    display: block;
  }
}

/*
 * pagetop
*/
.pagetop {
  width: clamp(45px, 8vw, 75px);
  height: clamp(45px, 8vw, 75px);
  opacity: 0;
  background: url("../../assets/images/return.svg") no-repeat center center/100% auto content-box;
  position: fixed;
  bottom: -50%;
  right: 40px;
  z-index: 10;
  transform: translateY(130%);
  transition: opacity 0.2s, transform 0.2s;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .pagetop {
    right: 5%;
  }
}

.pagetop.js-show {
  opacity: 1;
  bottom: 50px;
  transform: translateY(0);
}
@media screen and (max-width: 768px) {
  .pagetop.js-show {
    bottom: 2.7%;
  }
}

.pagetop.js-show.js-fixed {
  position: absolute;
}

.pagetop:hover {
  background: url("../../assets/images/return_hover.svg") no-repeat center center/100% auto content-box;
}

.pagetop span {
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  position: absolute;
}

/* ------------------------------
 * heading
------------------------------ */
.c_hgroup {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .c_hgroup {
    margin-bottom: 8%;
  }
}

.c_heading {
  font-size: clamp(1.5rem, 4vw, 2.375rem);
  font-family: YakuHanJPs, "MOBO-Bold", sans-serif;
  font-weight: 500;
  color: #f02b61;
}

.c_heading::after {
  content: "";
  width: 100px;
  height: 12px;
  margin: 5px auto 0;
  display: block;
  background: url("../../assets/images/icon_rainbow.svg") no-repeat center center;
}

/* ------------------------------
 * swiper
------------------------------ */
.swiper {
  opacity: 0;
  padding: 10px 4px 25px 0;
}

.swiper.swiper-initialized {
  opacity: 1;
}

.swiper.is-disabled {
  padding-bottom: 4px;
}

.swiper-wrapper {
  height: auto;
}

.swiper-wrapper.is-center {
  justify-content: center;
}

.splide__track {
  padding-top: 10px;
}

.swiper-slide:last-child {
  margin-right: 0 !important;
}

.swiper-pagination {
  margin-top: 35px;
  position: static;
}

.swiper-pagination.is-disabled {
  display: none;
  opacity: 0;
}

.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #c7b299;
}

.swiper-pagination-bullet-active {
  background-color: #f02b61;
}

.swiper-button {
  max-width: 160px;
  width: 100%;
  margin: 0 auto;
  height: 35px;
  position: absolute;
  bottom: 12px;
  left: 0;
  right: 0;
}

.swiper-button.is-disabled {
  display: none;
  opacity: 0;
}

.swiper-button-prev,
.swiper-button-next {
  width: 35px;
  height: 100%;
  margin: 0;
  border: none;
  appearance: none;
  top: 0;
  background-color: transparent;
  background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0i44Kw44Or44O844OXXzMiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzNSIgaGVpZ2h0PSIzNSIgdmlld0JveD0iMCAwIDM1IDM1Ij4gPGRlZnM+IDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj4gPHJlY3QgaWQ9IumVt+aWueW9ol8xIiBkYXRhLW5hbWU9IumVt+aWueW9oiAxIiB3aWR0aD0iMzUiIGhlaWdodD0iMzUiIGZpbGw9Im5vbmUiLz4gPC9jbGlwUGF0aD4gPC9kZWZzPiA8ZyBpZD0i44Kw44Or44O844OXXzIiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDIiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4gPHBhdGggaWQ9IuODkeOCuV8xIiBkYXRhLW5hbWU9IuODkeOCuSAxIiBkPSJNMCwxNy41QTE3LjUsMTcuNSwwLDEsMSwxNy41LDM1LDE3LjUsMTcuNSwwLDAsMSwwLDE3LjUiIGZpbGw9IiMyNzIyMjIiLz4gPHBhdGggaWQ9IuODkeOCuV8yIiBkYXRhLW5hbWU9IuODkeOCuSAyIiBkPSJNMTguMjc0LDguNDA4YTEuMjcsMS4yNywwLDAsMSwuOCwyLjI1N0wxMC42MjMsMTcuNWw4LjQ1LDYuODM1YTEuMjcsMS4yNywwLDAsMS0xLjYsMS45NzRMNy44MDcsMTguNDg3YTEuMjcsMS4yNywwLDAsMSwwLTEuOTc0bDkuNjY5LTcuODIyYTEuMjYzLDEuMjYzLDAsMCwxLC44LS4yODMiIGZpbGw9IiNmZmYiLz4gPHBhdGggaWQ9IuODkeOCuV8zIiBkYXRhLW5hbWU9IuODkeOCuSAzIiBkPSJNOC42LDE2LjIzSDI2LjRhMS4yNywxLjI3LDAsMCwxLDAsMi41NEg4LjZhMS4yNywxLjI3LDAsMCwxLDAtMi41NCIgZmlsbD0iI2ZmZiIvPiA8L2c+PC9zdmc+");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 0.2s;
}

.swiper-button-prev {
  left: 0;
}

.swiper-button-next {
  right: 0;
  transform: rotate(-180deg);
}

.swiper-button-prev:after,
.swiper-button-next:after {
  content: none;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .swiper-button-prev:hover,
  .swiper-button-next:hover {
    opacity: 1;
  }
}

/* ------------------------------
 * list
------------------------------ */
.c_list_item {
  background-color: #fff;
  box-shadow: 2px 2px 4px 0px rgba(39, 34, 34, 0.15);
}
@media screen and (max-width: 768px) {
  .c_list_item {
    box-shadow: 1px 1px 4px 0px rgba(39, 34, 34, 0.15);
  }
}

.c_list_link,
.c_list_inner {
  color: #272222;
  text-decoration: none;
  display: block;
  position: relative;
  transition: all 0.2s;
}

.c_list_link:hover,
.c_list_inner:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .c_list_link:hover,
  .c_list_inner:hover {
    opacity: 1;
  }
}

.c_list_tag {
  font-size: clamp(0.75rem, 1.6vw, 0.9375rem);
  color: #fff;
  padding: 1px 10px;
  background-color: #fff;
  position: absolute;
  top: -11px;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .c_list_tag {
    padding: 1px 10px 2px;
  }
}

.c_list_tag span {
  max-width: 120px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: inline-block;
}

.c_list_tag._notice {
  background-color: #2d5da5;
}

.c_list_tag._release {
  background-color: #e35788;
}

.c_list_tag::before,
.c_list_tag::after {
  content: "";
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 9px 16px 7px 0;
  display: block;
  position: absolute;
  right: -8px;
}

.c_list_tag::before {
  top: 0;
  transform: rotate(-90deg);
}

.c_list_tag::after {
  bottom: 0;
  transform: rotate(90deg);
}

.c_list_tag._notice::before,
.c_list_tag._notice::after {
  border-color: transparent #2d5da5;
}

.c_list_tag._release::before,
.c_list_tag._release::after {
  border-color: transparent #e35788;
}

.c_list_imagegroup {
  width: 100%;
  overflow: hidden;
}

.c_list_image {
  transition: transform 0.5s;
}

.c_list_link:hover .c_list_image,
.c_list_inner:hover .c_list_image {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .c_list_link:hover .c_list_image,
  .c_list_inner:hover .c_list_image {
    transform: scale(1);
  }
}

.c_list_text {
  padding: 20px;
  background-color: #fff;
}

.c_list_title {
  font-size: clamp(0.8125rem, 3vw, 0.875rem);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c_list_title {
    line-height: 1.5;
  }
}

.c_list_day {
  font-size: clamp(0.75rem, 2vw, 0.875rem);
  font-weight: 300;
  text-align: right;
  margin-top: 10px;
}

/* ------------------------------
 * note
------------------------------ */
.c_note {
  text-align: left;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .c_note {
    margin-top: 8%;
  }
}

.c_note_item {
  font-size: clamp(0.875rem, 1.7vw, 1.0625rem);
}

.c_note_link {
  color: #0da49f;
  text-decoration: none;
  transition: all 0.2s;
  position: relative;
}

.c_note_link:hover {
  opacity: 0.6;
  border-bottom: 1px solid #0da49f;
}

.c_note_link::after {
  content: "";
  width: clamp(14px, 2vw, 19px);
  height: clamp(14px, 2vw, 19px);
  margin-left: 10px;
  display: inline-block;
  background: url("../../assets/images/icon-link.svg") no-repeat center center/100% 100% content-box;
  transform: translateY(11%);
}

/* ------------------------------
 * zoom (pan)
------------------------------ */
.c_zoom {
  position: relative;
}

.c_zoom_buttongroup {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}

.c_zoom_button {
  width: clamp(30px, 5vw, 55px);
  height: clamp(30px, 5vw, 55px);
  margin: 0;
  padding: 0;
  border: none;
  box-sizing: border-box;
  background-color: #f02b61;
  background-repeat: no-repeat;
  background-position: center center;
  position: relative;
  overflow: hidden;
  appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  cursor: pointer;
  transition: opacity 0.2s;
}

.c_zoom_button:hover {
  opacity: 0.6;
}

.c_zoom_button.js-zoomin {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzguMTE1IiBoZWlnaHQ9IjM4LjExNSIgdmlld0JveD0iMCAwIDM4LjExNSAzOC4xMTUiPiA8ZGVmcz4gPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPiA8cmVjdCBpZD0i6ZW35pa55b2iXzEiIGRhdGEtbmFtZT0i6ZW35pa55b2iIDEiIHdpZHRoPSIzOC4xMTUiIGhlaWdodD0iMzguMTE1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIiBmaWxsPSJub25lIi8+IDwvY2xpcFBhdGg+IDwvZGVmcz4gPGcgaWQ9IuOCsOODq+ODvOODl18yIiBkYXRhLW5hbWU9IuOCsOODq+ODvOODlyAyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIj4gPGcgaWQ9IuOCsOODq+ODvOODl18xIiBkYXRhLW5hbWU9IuOCsOODq+ODvOODlyAxIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+IDxwYXRoIGlkPSLjg5HjgrlfMSIgZGF0YS1uYW1lPSLjg5HjgrkgMSIgZD0iTTE5LjA1OCwzOC4xMTVhMi42MTIsMi42MTIsMCwwLDEtMi42LTIuNlYyMS42NTRIMi42YTIuNDkzLDIuNDkzLDAsMCwxLTEuODMxLS43NjYsMi41NzMsMi41NzMsMCwwLDEsMC0zLjY2M0EyLjUsMi41LDAsMCwxLDIuNiwxNi40NkgxNi40NjFWMi42QTIuNSwyLjUsMCwwLDEsMTcuMjI2Ljc2NGEyLjU3OCwyLjU3OCwwLDAsMSwzLjY2NCwwQTIuNTA3LDIuNTA3LDAsMCwxLDIxLjY1NSwyLjZWMTYuNDZIMzUuNTE5YTIuNTg5LDIuNTg5LDAsMCwxLDEuODMxLDQuNDI4LDIuNDkzLDIuNDkzLDAsMCwxLTEuODMxLjc2NkgyMS42NTVWMzUuNTE4YTIuNjEyLDIuNjEyLDAsMCwxLTIuNiwyLjYiIGZpbGw9IiNmZmYiLz4gPC9nPiA8L2c+PC9zdmc+");
  background-size: 70% auto;
}

.c_zoom_button.js-zoomout {
  margin-top: 1px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzYuMDI5IiBoZWlnaHQ9IjcuMTQxIiB2aWV3Qm94PSIwIDAgMzYuMDI5IDcuMTQxIj4gPGRlZnM+IDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj4gPHJlY3QgaWQ9IumVt+aWueW9ol8yIiBkYXRhLW5hbWU9IumVt+aWueW9oiAyIiB3aWR0aD0iMzYuMDI5IiBoZWlnaHQ9IjcuMTQxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIiBmaWxsPSJub25lIi8+IDwvY2xpcFBhdGg+IDwvZGVmcz4gPGcgaWQ9IuOCsOODq+ODvOODl180IiBkYXRhLW5hbWU9IuOCsOODq+ODvOODlyA0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIj4gPGcgaWQ9IuOCsOODq+ODvOODl18zIiBkYXRhLW5hbWU9IuOCsOODq+ODvOODlyAzIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+IDxwYXRoIGlkPSLjg5HjgrlfMiIgZGF0YS1uYW1lPSLjg5HjgrkgMiIgZD0iTTMuNTcsNy4xNDFBMy40LDMuNCwwLDAsMSwxLjA0Myw2LjA3NCwzLjQ2LDMuNDYsMCwwLDEsMCwzLjU3LDMuNDQxLDMuNDQxLDAsMCwxLDEuMDQzLDEuMDQzLDMuNDQzLDMuNDQzLDAsMCwxLDMuNTcsMEgzMi40NThhMy40NDMsMy40NDMsMCwwLDEsMi41MjcsMS4wNDNBMy40NDEsMy40NDEsMCwwLDEsMzYuMDI4LDMuNTdhMy40NiwzLjQ2LDAsMCwxLTEuMDQzLDIuNSwzLjQsMy40LDAsMCwxLTIuNTI3LDEuMDY3WiIgZmlsbD0iI2ZmZiIvPiA8L2c+IDwvZz48L3N2Zz4=");
  background-size: 65% auto;
}

.c_zoom_hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ------------------------------
 * table
------------------------------ */
.c_table {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  border-bottom: 1px solid #acaaaa;
}

.c_table tr {
  border-top: 1px solid #acaaaa;
}

.c_table th,
.c_table td {
  font-weight: 500;
  height: 80px;
  padding: 11px 20px 9px;
}
@media screen and (max-width: 768px) {
  .c_table th,
  .c_table td {
    height: auto;
    padding: 5% 3%;
  }
}

.c_table th {
  font-size: clamp(0.875rem, 2.2vw, 1.5rem);
  width: clamp(77px, 20vw, 200px);
  background-color: #efecd0;
}

.c_table td {
  font-size: clamp(0.75rem, 1.6vw, 0.875rem);
  line-height: 1.6;
  background-color: #fbf9f2;
}

.c_table_text {
  font-size: clamp(0.875rem, 2vw, 1.3125rem);
  display: block;
}

.c_table_text_small {
  font-size: clamp(0.875rem, 1.6vw, 1rem);
  position: relative;
  top: -1px;
}
@media screen and (max-width: 768px) {
  .c_table_text_small {
    top: 0;
  }
}

/* ------------------------------
 * link
------------------------------ */
.c_link {
  margin-top: 70px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .c_link {
    margin-top: 12%;
    flex-direction: column;
    align-items: center;
  }
}

.c_link_buttongroup {
  max-width: 350px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .c_link_buttongroup {
    max-width: auto;
    max-width: initial;
  }
}

.c_link_buttongroup:not(:first-child) {
  margin-left: clamp(20px, 5.5vw, 70px);
}
@media screen and (max-width: 768px) {
  .c_link_buttongroup:not(:first-child) {
    margin-top: 8%;
    margin-left: 0;
  }
}

.c_link_button {
  text-decoration: none;
  width: 100%;
  display: block;
  border-bottom-right-radius: 12px;
  box-shadow: 2px 2px 4px 0px rgba(39, 34, 34, 0.15);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c_link_button {
    box-shadow: 1px 1px 4px 0px rgba(39, 34, 34, 0.15);
  }
}

.c_link_imagegroup {
  position: relative;
  overflow: hidden;
}

.c_link_imagegroup::before {
  content: "";
  width: 100%;
  padding-top: 100%;
  background-color: #272222;
  opacity: 0.6;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .c_link_imagegroup::before {
    content: none;
  }
}

.c_link_button:hover .c_link_imagegroup::before {
  opacity: 0;
}

.c_link_title {
  color: #fff;
  padding: 10px 20px;
  background-color: #f02b61;
  position: relative;
  transition: all 0.2s;
}
@media screen and (max-width: 768px) {
  .c_link_title {
    padding: 18px 20px;
  }
}

.c_link_button:hover .c_link_title {
  background-color: #f89ab4;
}
@media screen and (max-width: 768px) {
  .c_link_button:hover .c_link_title {
    background-color: #f02b61;
  }
}

.c_link_title::after {
  content: "";
  width: 25px;
  height: 23px;
  display: block;
  background: url("../../assets/images/icon-arrow.svg") no-repeat center center/100% auto content-box;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

.c_link_title span {
  color: #ffff5e;
  padding-right: 1rem;
}

.c_link_note {
  width: clamp(100%, 41vw, 145%);
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .c_link_note {
    width: 100%;
    margin-top: 5%;
  }
}

.c_link_note_item {
  font-size: 0.875rem;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .c_link_note_item {
    text-indent: 0;
    padding-left: 0;
  }
}

/* ------------------------------
 * main
------------------------------ */
/*
 * section
*/
.l_section {
  padding: 70px clamp(3%, 5vw, 5%);
}
@media screen and (max-width: 768px) {
  .l_section {
    padding: 12% clamp(3%, 5vw, 5%);
  }
}

.l_section:last-child {
  padding-bottom: 0;
}

.l_wallpaper {
  background: url("../../assets/images/bg_1@x2.png") repeat top left/100px auto;
}

.l_bg_secondary {
  background-color: #fbf9f2;
}

/*
 * about
*/
.l-align._center {
  text-align: center;
}

.about_text {
  font-weight: 500;
}

.about_desc {
  font-size: clamp(0.9375rem, 2vw, 1.3125rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .about_desc {
    text-align: left;
  }
}

.about_desc ._f-clr {
  color: #f02b61;
}

.l-align .c_note {
  display: inline-block;
}

/*
 * merit
*/
.l_section.l_merit {
  padding-bottom: 90px;
}

.merit_list {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .merit_list {
    flex-direction: column;
  }
}

.merit_item {
  text-align: center;
  width: 33.3333333333%;
  padding: 0 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .merit_item {
    width: 100%;
    padding: 8% 20px;
  }
}

.merit_item::before {
  content: "";
  width: 2px;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(to top, #f02b61 2px, transparent 2px);
  background-size: 2px 8px;
  background-repeat: repeat-y;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .merit_item::before {
    content: none;
  }
}

.merit_item::after {
  content: "";
  width: 2px;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  background-image: linear-gradient(to top, #f02b61 2px, transparent 2px);
  background-size: 2px 10px;
  background-repeat: repeat-y;
  background-position: right bottom;
}
@media screen and (max-width: 768px) {
  .merit_item::after {
    content: none;
  }
}

.merit_item:nth-child(3n-1)::before,
.merit_item:nth-child(3n-1)::after {
  content: none;
}
@media screen and (max-width: 768px) {
  .merit_item:nth-child(3n-1)::before,
  .merit_item:nth-child(3n-1)::after {
    content: "";
    width: 100%;
    height: 2px;
    background-image: linear-gradient(to left, #f02b61 2px, transparent 2px);
    background-size: 10px 2px;
    background-repeat: repeat-x;
  }
}

@media screen and (max-width: 768px) {
  .merit_item:nth-child(3n-1)::before {
    background-position: left top;
  }
}

@media screen and (max-width: 768px) {
  .merit_item:nth-child(3n-1)::after {
    top: auto;
    bottom: 0;
    background-position: left bottom;
  }
}

@media screen and (max-width: 768px) {
  .merit_item:last-child {
    padding-bottom: 0;
  }
}

.merit_imagegroup {
  max-width: clamp(120px, 15vw, 160px);
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .merit_imagegroup {
    max-width: 150px;
  }
}

.merit_dif {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .merit_dif {
    margin-top: 5%;
  }
}

.merit_term {
  font-size: clamp(1.125rem, 1.8vw, 1.3125rem);
  font-weight: 800;
  line-height: 1.4;
  color: #f02b61;
}

.merit_desc {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .merit_desc {
    margin-top: 0;
  }
}

/*
 * summary
*/
.l_section.l_summary {
  padding-bottom: 90px;
}
@media screen and (max-width: 768px) {
  .l_section.l_summary {
    padding-bottom: 20%;
  }
}

/*
 * partner
*/
.l_section.l_partner {
  padding-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .l_section.l_partner {
    padding-bottom: 20%;
  }
}

.l_partner_lead {
  font-size: clamp(0.9375rem, 2.4vw, 1.3125rem);
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l_partner_lead {
    text-align: left;
  }
}

.l_partner_list {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .l_partner_list {
    margin-top: 8%;
  }
}

.l_partner_item {
  padding: 50px clamp(40px, 8vw, 70px);
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  background-color: #fff;
  box-shadow: 2px 2px 4px 0px rgba(39, 34, 34, 0.15);
}
@media screen and (max-width: 768px) {
  .l_partner_item {
    padding: 8% 5%;
    flex-direction: column;
    box-shadow: 1px 1px 4px 0px rgba(39, 34, 34, 0.15);
  }
}

.l_partner_item:not(:first-child) {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .l_partner_item:not(:first-child) {
    margin-top: 8%;
  }
}

.l_partner_imagegroup {
  max-width: 260px;
  min-width: 180px;
  margin-right: 50px;
  width: 30%;
}
@media screen and (max-width: 768px) {
  .l_partner_imagegroup {
    margin: 0 auto;
  }
}

.l_partner_imagegroup._right {
  margin-left: 50px;
  margin-right: 0;
  order: 2;
}
@media screen and (max-width: 768px) {
  .l_partner_imagegroup._right {
    order: 0;
    margin: 0 auto;
  }
}

.l_partner_text {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .l_partner_text {
    width: 100%;
    margin-top: 5%;
  }
}

.l_partner_heading {
  font-size: clamp(0.9375rem, 2.3vw, 1.4375rem);
  font-weight: 700;
  padding-bottom: 20px;
  background-image: linear-gradient(to right, #f02b61 2px, transparent 2px);
  background-size: 8px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .l_partner_heading {
    text-align: center;
    padding-bottom: 5%;
  }
}

.l_partner_desc {
  font-size: clamp(0.875rem, 2vw, 1.1875rem);
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .l_partner_desc {
    margin-top: 5%;
  }
}

@media screen and (max-width: 768px) {
  .l_partner_desc:last-child {
    margin-top: 0;
  }
}