﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&display=swap');

/*--------------------------------------------------------------------------------
  reset
--------------------------------------------------------------------------------*/
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;min-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}main{display:block}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}address,blockquote,dl,figure,form,iframe,ol,p,pre,table,ul{margin:0}ol,ul{padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}embed,iframe,img,object,svg{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type=button],[type=reset],[type=submit],button{cursor:pointer}[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled,button:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}fieldset,option{padding:0}fieldset{margin:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=number]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}
a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:none;}

/*--------------------------------------------------------------------------------
  base
--------------------------------------------------------------------------------*/
:root {  
  /* font */
  --ff-go: "BIZ UDPGothic", sans-serif;

  --color-primary: #003f98;
  --color-primary-hover: #1857b1;
  --color-primary-light: #73a1df;
  --color-primary-lighter: #9db7dd;
  --color-primary-lighter2: #d9eafc;
  --color-primary-lightest: #f7fbff;
  
  --color-secondary: #ed6c00;
  --color-secondary-light: #ff9943;
  --color-secondary-pale: #ffeee0;

  --color-thirdry: #6fba2c;
  --color-thirdry-light: #a1db6e;
  --color-thirdry-pale: #f9fff3;
  
  --color-forthry: #3da466;
  --color-forthry-light: #c1e7d0;
  --color-forthry-pale: #eefdf4;

  --color-epark: #4aa7a4;
  --color-epark-light: #baf5f3;
  --color-epark-pale: #eafffe;

  --color-melmo: #FF474E;
  --color-melmo-light: #ffc3c5;
  --color-melmo-pale: #fff4f5;
  
  /* link color */
  --fc-link: var(--color-primary);
  --fc-link-hover: var(--color-primary-hover);
  
  --link-color: var(--color-primary);
  --link-color-hover: var( --color-primary-light);
  --link-deco: underline;
  --link-deco-hover: none;
  
  /* gray color */
  --color-gray-dark: #474555;
  --color-gray: #6e7698;
  --color-gray-light: #aca9bb;
  --color-gray-lighter: #DADEE0;
  --color-gray-lighter2: #ebebeb;
  --color-gray-lightest: #F4F6F8;

  --color-red: #FF474E;
  
  /* border color */
  --border-color: var(--color-gray);
  --border-color-light: var(--color-gray-lighter);
  
  --cubic-bezier: cubic-bezier(.23,1,.32,1);
  --hover-trans: color 0.2s ease-in-out, opacity 0.2s ease-in-out, background 0.2s ease-in-out, border 0.15s ease-in-out, fill 0.2s ease-in-out, filter 0.2s ease-in-out, transform 0.2s ease-in-out;

  --pc-min-width: 1260;
  --base-width: 1200;

  /* body */  
  --bg-color: var(--color-primary-lightest);
  --txt-color: #282828;
}

body { font-family: 'BIZ UDPGothic','Hiragino Kaku Gothic ProN','Roboto','Helvetica Neue',Arial,'Hiragino Sans','Meiryo',sans-serif; }
.u-ff-go { font-family: var(--ff-go); }

html, body { height: 100%; }
@media (min-width: 769px) { body { min-width: calc(var(--pc-min-width) * 1px); } }
@media (max-width: 768px) { body { min-width: 375px; } }
body {
  word-wrap: break-word;
  line-height: var(--line-height);
  background-color: var(--bg-color);
  color: var(--txt-color);
}

/* side space
----------------------------------------*/
:root {
  --side-space-unit-max: 40;
}
@media (min-width: 769px) {
  :root {
    --side-space-unit-min: 40px;
    --side-space-break-point: var(--base-width);
  }
}
@media (max-width: 768px) {
  :root {
    --side-space-unit-min: 1rem;
    --side-space-break-point: var(--pc-min-width);
  }
}
:root {
  --side-space: clamp((var(--side-space-unit-min) * 1), (var(--side-space-unit-max) / var(--side-space-break-point) * 100vw), var(--side-space-unit-max) * 1px);
}
  
/* space
----------------------------------------*/
@media (min-width: 769px) {
  :root {
    --space-unit-max: 15;
    --space-unit-mag: 1.5;
    /*--space-unit-min: calc((var(--space-unit-max) * var(--space-unit-mag)) * 1px);*/
    --space-unit-min: calc((((var(--space-unit-max) * var(--space-unit-mag)) / var(--base-width)) * var(--pc-min-width)) * 1px);
    --space-break-point: var(--base-width);
  }
}
@media (max-width: 768px) {
  :root {
    --space-unit-max: 12.5;
    --space-unit-mag: 1.25;
    --space-unit-min: 0.75rem;
    --space-break-point: 600;
  }
}
:root {
  --base-space: 12px;
  --space-max:calc(var(--base-space) * 10);
  --space-4l:calc(var(--base-space) * 7);
  --space-3l:calc(var(--base-space) * 5);
  --space-2l:calc(var(--base-space) * 4);
  --space-l:calc(var(--base-space) * 3);
  --space-m:calc(var(--base-space) * 2);
  --space-s:calc(var(--base-space) * 1.5);
}

/* box space */
@media (min-width: 769px) {
  :root {
    --box-space-unit-max: 15;
    --box-space-unit-mag: 1.25;
    /*--box-space-unit-min: calc((var(--box-space-unit-max) * var(--box-space-unit-mag)) * 1px);*/
    --box-space-unit-min: calc((((var(--box-space-unit-max) * var(--box-space-unit-mag)) / var(--base-width)) * var(--pc-min-width)) * 1px);
    --box-space-break-point: var(--base-width);
  }
}
@media (max-width: 768px) {
  :root {
    --box-space-unit-max: 10;
    --box-space-unit-mag: 1.25;
    --box-space-unit-min: 0.75rem;
    --box-space-break-point: 600;
  }
}
:root {
  --box-space-2l: clamp((var(--box-space-unit-min) * 4), ((var(--box-space-unit-max) * (4 * var(--box-space-unit-mag))) / var(--box-space-break-point) * 100vw), (var(--box-space-unit-max) * (4 * var(--box-space-unit-mag))) * 1px);
  --box-space-l: clamp((var(--box-space-unit-min) * 3), ((var(--box-space-unit-max) * (3 * var(--box-space-unit-mag))) / var(--box-space-break-point) * 100vw), (var(--box-space-unit-max) * (3 * var(--box-space-unit-mag))) * 1px);
  --box-space-m: clamp((var(--box-space-unit-min) * 2), ((var(--box-space-unit-max) * (2 * var(--box-space-unit-mag))) / var(--box-space-break-point) * 100vw), (var(--box-space-unit-max) * (2 * var(--box-space-unit-mag))) * 1px);
  --box-space-s: clamp((var(--box-space-unit-min) * 1.5), ((var(--box-space-unit-max) * (1.5 * var(--box-space-unit-mag))) / var(--box-space-break-point) * 100vw), (var(--box-space-unit-max) * (1.5 * var(--box-space-unit-mag))) * 1px);
  --box-space-2s: clamp((var(--box-space-unit-min) * 1), ((var(--box-space-unit-max) * (1 * var(--box-space-unit-mag))) / var(--box-space-break-point) * 100vw), (var(--box-space-unit-max) * (1 * var(--box-space-unit-mag))) * 1px);
}

/* font size
----------------------------------------*/
:root {
  --line-height: 1.8;
  --line-height-s: 1.6;
  --line-height-2s: 1.4;

  --base-fs: 12px;
  --fs-max: calc(var(--base-fs) * 6);
  --fs-4l: calc(var(--base-fs) * 4);
  --fs-3l: calc(var(--base-fs) * 3);
  --fs-2l: calc(var(--base-fs) * 2.5);
  --fs-l: calc(var(--base-fs) * 2);
  --fs-m: calc(var(--base-fs) * 1.75);
  --fs-n: calc(var(--base-fs) * 1.5);
  --fs-s: calc(var(--base-fs) * 1.25);
  --fs-min: var(--base-fs);
}
@media (max-width:768px) {
  :root {
    --base-fs: 12px;
    --fs-max: calc(var(--base-fs) * 5);
    --fs-4l: calc(var(--base-fs) * 3.5);
    --fs-3l: calc(var(--base-fs) * 2.5);
    --fs-2l: calc(var(--base-fs) * 2.25);
    --fs-l: calc(var(--base-fs) * 1.75);
    --fs-m: calc(var(--base-fs) * 1.5);
    --fs-n: calc(var(--base-fs) * 1.25);
    --fs-s: calc(var(--base-fs) * 1);
    --fs-min: var(--base-fs);
  }
}
html { font-size: var(--fs-n); }

.u-fs-max { font-size: var(--fs-max); }
.u-fs-4l { font-size: var(--fs-4l); }
.u-fs-3l { font-size: var(--fs-3l); }
.u-fs-2l { font-size: var(--fs-2l); }
.u-fs-l { font-size: var(--fs-l); }
.u-fs-m { font-size: var(--fs-m); }
.u-fs-n { font-size: var(--fs-n); }
.u-fs-s { font-size: var(--fs-s); }
.u-fs-min,small { font-size: var(--fs-min); }


/* text
----------------------------------------*/
.u-line1 { line-height: 1; }
.u-line-n { line-height: var(--line-height); }
.u-line-s { line-height: var(--line-height-s); }
.u-line-2s { line-height: var(--line-height-2s); }

.u-txt-left { text-align: left; }
.u-txt-center { text-align: center; }
.u-txt-right { text-align: right; }
.u-txt-indent { text-indent: 1em; }

.u-fw-9 { font-weight: 900; }
.u-fw-8 { font-weight: 800; }
.u-fw-7 { font-weight: 700; }
.u-fw-6 { font-weight: 600; }
.u-fw-5 { font-weight: 500; }
.u-fw-4 { font-weight: 400; }
.u-fw-3 { font-weight: 300; }
.u-fw-b { font-weight: bold; }
.u-fw-n { font-weight: normal; }

.u-fc-red { color:#DD2B2B; }
.u-fc-epark { color: var(--color-epark); }
.u-fc-melmo { color: var(--color-melmo); }

.u-fc-primary { color: var(--color-primary); }
.u-fc-p-primary { color: var(--pale-color-primary); }
.u-fc-secondary { color: var(--color-secondary); }
.u-fc-tertiary { color: var(--color-tertiary); }
.u-fc-quaternary { color: var(--color-quaternary); }
.u-fc-quinary { color: var(--color-quinary); }
.u-fc-senary { color: var(--color-senary); }

.u-fc-gray { color: var(--color-gray); }
.u-fc-gray-dark { color: var(--color-gray-dark); }

.u-cap { font-size: var(--fs-s); display: block; line-height: var(--line-height-s); padding-top: 0.75rem; }
.u-block { display: block; }
.u-no-break:not(.-pc) { display: inline-block; }
.u-keep-break:not(.-pc) { white-space: nowrap; word-break: keep-all; overflow-wrap: anywhere; }
@media (min-width: 769px) {
  .u-no-break.-pc { display: inline-block; }
  .u-keep-break.-pc { word-break: keep-all; overflow-wrap: anywhere; }
}

/* link
----------------------------------------*/
.js_linkblock:has(a) { cursor: pointer; }
a { outline: none; transition: var(--hover-trans); }
a, a:hover { color: var(--link-color); text-decoration: var(--link-deco); }

.u-nolink { color: var(--link-color, inherit); pointer-events: none; text-decoration: none !important; }
.u-tellink { color: var(--link-color, inherit); text-decoration: none !important; }

@media (hover: hover) {
  a:hover, .js_linkblock:hover a:not(.js_linkblock-exclink) { color: var(--link-color-hover); text-decoration: var(--link-deco-hover); }
  .u-alpha, .u-alpha-img { transition: opacity 0.2s ease-in-out; }
  .u-alpha:hover, a:hover .u-alpha-img,
  .js_linkblock:hover .u-alpha, .js_linkblock:hover .u-alpha-img { opacity: 0.6; }
}

.u-zoom { display: block; }
.u-zoom,
.u-zoom:hover { text-decoration: none; }
.u-zoom_img { display: block; overflow: hidden; }
.u-zoom_img img { transition: transform 1s var(--cubic-bezier), filter 0.3s ease-in-out; }
@media (hover: hover) { .u-zoom:hover .u-zoom_img img { transform: scale(1.08); } }

@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    color: var(--link-color, inherit);
    text-decoration: var(--link-deco, none);
  }
}

/* img
----------------------------------------*/
img { max-width: 100%; height: auto; }
.u-img-cover { width: 100%; height: 100%; object-fit: cover; }

/* clear both
----------------------------------------*/
.u-clear:after { content: ""; display: block; height: 0; clear: both; }

/* responsive
----------------------------------------*/
.js_rps-tbl,
.js_rps-block { overflow: hidden; }
@media (min-width: 769px) { .u-sp-only { display: none !important; } }
@media (max-width: 768px) { .u-pc-only { display: none !important; } }

/* accordion
----------------------------------------*/
.js_acod-trigger { cursor: pointer; }
.js_acod-item { display: none; opacity: 0; transition: opacity 0.15s ease-out; }
.js_acod.is-active .js_acod-item { opacity: 1; }

/* tab
----------------------------------------*/
.js_tab-content { display: none; }
@media (min-width: 769px) { .js_tab.tab-sp-only .js_tab-content { display: block !important; } }
@media (max-width: 768px) { .js_tab.tab-pc-only .js_tab-content { display: block !important; } }

/* scroll-x
----------------------------------------*/
.u-scroll-x { overflow-x: auto; }


/* ruby
----------------------------------------*/
rt { display: none; }
[data-ruby] { position: relative; }
[data-ruby]:before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.5em;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  margin: auto;
  font-size: var(--fs-2s-rem);
}

/* sub sup
----------------------------------------*/
sub, sup {
  font-size: 70%;
  display: inline-block;
  margin: 0 0.25rem;
}

/* fancybox
----------------------------------------*/
:root { --fancybox-zIndex: 9999; }
.fancybox-slide--html { padding: var(--side-space) !important; }
.fancybox-container * { transition: none; }
.fancybox__caption { text-align: center; }

/* swiper
----------------------------------------*/
.swiper-slide { height: auto !important; }
.swiper-scrollbar,
.swiper-scrollbar-horizontal,
.swiper-scrollbar-drag {
  height: 3px !important;
  border-radius: 0 !important;
}
.swiper-scrollbar { background: var(--border-color) !important; display: none; }
.swiper-scrollbar-drag { background: var(--color-primary) !important; }
.swiper-scrollbar.swiper-scrollbar-horizontal { display: inherit; }

/* slick
----------------------------------------*/
.slick-list,
.slick-track { width: 100%; height: 100%; }
.slick-list { padding: 0 0 !important; }


