﻿@charset "utf-8";

/*====================================================================================================

  Font

====================================================================================================*/
/*@import url('https://fonts.googleapis.com/css2?family=Abhaya+Libre:wght@400;500;600;700;800&family=Shippori+Mincho:wght@400;500;600;700;800&&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');*/

@font-face {
  font-family:"Noto Sans JP";
  font-style:normal;
  font-weight:400;
  src:url("../fonts/noto_sans_cjk_jp_regular.woff2") format("woff2"),
      url("../fonts/noto_sans_cjk_jp_regular.woff") format("woff"),
      url("../fonts/noto_sans_cjk_jp_regular.off") format("opentype");
  font-display:swap;
}

@font-face {
  font-family:"Noto Sans JP";
  font-style:normal;
  font-weight:500;
  src:url("../fonts/noto_sans_cjk_jp_medium.woff2") format("woff2"),
      url("../fonts/noto_sans_cjk_jp_medium.woff") format("woff"),
      url("../fonts/noto_sans_cjk_jp_medium.off") format("opentype");
  font-display:swap;
}

@font-face {
  font-family:"Noto Sans JP";
  font-style:normal;
  font-weight:700;
  src:url("../fonts/noto_sans_cjk_jp_bold.woff2") format("woff2"),
      url("../fonts/noto_sans_cjk_jp_bold.woff") format("woff"),
      url("../fonts/noto_sans_cjk_jp_bold.off") format("opentype");
  font-display:swap;
}

@font-face {
  font-family:"Noto Sans JP";
  font-style:normal;
  font-weight:900;
  src:url("../fonts/noto_sans_cjk_jp_black.woff2") format("woff2"),
      url("../fonts/noto_sans_cjk_jp_black.woff") format("woff"),
      url("../fonts/noto_sans_cjk_jp_black.off") format("opentype");
  font-display:swap;
}

@font-face {
  font-family:"Helvetica";/*Arial, Helvetica, 'sans-serif'*/
  font-style:normal;
  font-weight:500;
  src:url("../fonts/helvetica_neueots_bold.ttf") format("truetype");
  font-display:swap;
}


/*====================================================================================================

  Reset CSS

====================================================================================================*/

/*-------------------------------------------------------------------------------
  ress.css v2.0.1
-------------------------------------------------------------------------------*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

html {
  box-sizing:border-box;
  -webkit-text-size-adjust:100%;
  word-break:break-word;
  -moz-tab-size:4;
  tab-size:4;
}

*,
::before,
::after {
  background-repeat:no-repeat;
  box-sizing:border-box;
}

::before,
::after {
  text-decoration:inherit;
  vertical-align:inherit;
}

* {
  padding:0;
  margin:0;
}

address {
  font-style:normal;
}

hr {
  overflow:visible;
  height:0;
}

details,
main {
  display:block;
}

summary {
  display:list-item;
}

small {
  font-size:80%;
}

[hidden] {
  display:none;
}

abbr[title] {
  border-bottom:none;
  text-decoration:underline;
  text-decoration:underline dotted;
}

a {
  background-color:transparent;
}

a:active,
a:hover {
  outline-width:0;
}

code,
kbd,
pre,
samp {
  font-family:monospace, monospace;
}

pre {
  font-size:1em;
}

b,
strong {
  font-weight:bolder;
}

sub,
sup {
  font-size:75%;
  line-height:0;
  position:relative;
  vertical-align:baseline;
}

sub {
  bottom:-0.25em;
}

sup {
  top:-0.5em;
}

input {
  border-radius:0;
}

[disabled] {
  cursor:default;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height:auto;
}

[type="search"] {
  -webkit-appearance:textfield;
  outline-offset:-2px;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance:none;
}

textarea {
  overflow:auto;
  resize:vertical;
}

button,
input,
optgroup,
select,
textarea {
  font:inherit;
}

optgroup {
  font-weight:bold;
}

button {
  overflow:visible;
}

button,
select {
  text-transform:none;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor:pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style:none;
  padding:0;
}

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline:1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance:button;
}

button,
input,
select,
textarea {
  background-color:transparent;
  border-style:none;
}

select {
  -moz-appearance:none;
  -webkit-appearance:none;
}

select::-ms-expand {
  display:none;
}

select::-ms-value {
  color:currentColor;
}

legend {
  border:0;
  color:inherit;
  display:table;
  max-width:100%;
  white-space:normal;
  max-width:100%;
}

::-webkit-file-upload-button {
  -webkit-appearance:button;
  font:inherit;
}

img {
  border-style:none;
}

progress {
  vertical-align:baseline;
}

svg:not([fill]) {
  fill:currentColor;
}

@media screen {
  [hidden~="screen"] {
  display:inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
  position:absolute !important;
  clip:rect(0 0 0 0) !important;
  }
}

[aria-busy="true"] {
  cursor:progress;
}

[aria-controls] {
  cursor:pointer;
}

[aria-disabled] {
  cursor:default;
}


/* TELリンク無効 */
.ua-pc a[href^="tel:"] {
  pointer-events:none;
  cursor:default;
}

.ua-pc a[href^="tel:"],
.ua-pc a[href^="tel:"]:visited,
.ua-pc a[href^="tel:"]:hover {
  text-decoration:none;
}


/*====================================================================================================

  Base

====================================================================================================*/

body {
  font-family:"Noto Sans JP","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
  text-align:left;
  min-width:320px;
  line-height:1.8;
}

@media print,screen and (min-width:641px) {
 /* body { min-width:1200px; }*/
}

.clear:after {
  content:"";
  display:block;
  height:0;
  clear:both;
}

.f-nowrap {
  display:inline-block;
}

.f-tsume {
  letter-spacing:-0.2em;
}
.f-ake {
  letter-spacing:0.1rem;
}
.f-lineSS { line-height:1.4; }
.f-lineS  { line-height:1.6; }
.f-lineL  { line-height:2; }

.ff-hel{font-family: 'Helvetica'; }
.ff-heb{font-family: 'Heebo', sans-serif;}
.ff-normal{font-family: "Noto Sans JP"; }

.fw-300 { font-weight:300; } /*light */
.fw-400 { font-weight:400; } /* regular */
.fw-500 { font-weight:500; } /* medium */
.fw-600 { font-weight:600; } /*Semi-bold */
.fw-700 { font-weight:700; } /* bold*/
.fw-800 { font-weight:800; } /*Extra-bold */
.fw-900 { font-weight:900; } /* Black */


/*--------------------------------------------------------------------------------
  font-size
--------------------------------------------------------------------------------*/

html {
  font-size: 62.5%;
}

body {
  font-size: 1.8rem;
}


/*@media screen and (max-width:640px) {
  html { font-size:58%; }
  body { font-size:2.0rem; }
  .fs-max { font-size:2em; }    
  .fs-3l  { font-size:1.77em; } 
  .fs-2l  { font-size:1.55em; } 
  .fs-l   { font-size:1.33em; } 
}*/

@media screen and (min-width: 1921px) {
  /* 1200px以上*/
  .fs-max {
    font-size: 7.2rem;
  }
  .fs-4l {
    font-size: 6.0rem;
  }
  .fs-3l {
    font-size: 4.8rem;
  }
  .fs-2l {
    font-size: 3.6rem;
  }
  .fs-l {
    font-size: 3.0rem;
  }
  .fs-m {
    font-size: 2.4rem;
  }
  .fs-s {
    font-size: 1.6rem;
  }
  .fs-ss {
    font-size: 1.4rem;
  }
  .fs-min {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 641px) and (max-width: 1920px) {
  .fs-max {
    font-size: 72px;
    font-size: calc(6.8rem + ((1vw - 0.64rem) * 0.3125));
  }
  /* 72～68 */
  .fs-4l {
    font-size: 60px;
    font-size: calc(5.6rem + ((1vw - 0.64rem) * 0.3125));
  }
  /* 60～56 */
  .fs-3l {
    font-size: 48px;
    font-size: calc(4.4rem + ((1vw - 0.64rem) * 0.3125));
  }
  /* 48～44 */
  .fs-2l {
    font-size: 36px;
    font-size: calc(3.2rem + ((1vw - 0.64rem) * 0.3125));
  }
  /* 36～32 */
  .fs-l {
    font-size: 30px;
    font-size: calc(2.6rem + ((1vw - 0.64rem) * 0.1563));
  }
  /* 30～28 */
  .fs-m {
    font-size: 24px;
    font-size: calc(2.2rem + ((1vw - 0.64rem) * 0.1563));
  }
  /* 24～22 */
  /*.fs-sm  { font-size:22px; font-size:2.2rem; } */
  .fs-s {
    font-size: 16px;
    font-size: calc(1.4rem + ((1vw - 0.64rem) * 0.1563));
  }
  /* 16～14 */
  .fs-ss {
    font-size: 14px;
    font-size: calc(1.2rem + ((1vw - 0.64rem) * 0.1563));
  }
  /* 14～12 */
  .fs-min {
    font-size: 12px;
    font-size: calc(1.0rem + ((1vw - 0.64rem) * 0.1563));
  }
  /* 12～10 */
}

@media screen and (max-width: 640px) {
  /* 640px以下*/
  body {
    font-size: 2.0rem;
  }
  .fs-max {
    font-size: 6.8rem;
  }
  .fs-4l {
    font-size: 5.6rem;
  }
  .fs-3l {
    font-size: 4.4rem;
  }
  .fs-2l {
    font-size: 3.2rem;
  }
  .fs-l {
    font-size: 2.8rem;
  }
  .fs-m {
    font-size: 2.2rem;
  }
  .fs-s {
    font-size: 1.4rem;
  }
  .fs-ss {
    font-size: 1.2rem;
  }
  .fs-min {
    font-size: 1.0rem;
  }
}

@media screen and (max-width:560px) {
  html {
    font-size: -webkit-calc(32% + 0.75vw);
    font-size: calc(32% + 0.75vw);
  }
}


/*-----------------------------------------------------------------------------------
  font-color
-----------------------------------------------------------------------------------*/

body { color:#000000; }

.fc-green,
a.fc-green:hover  { color:#519872; }
/*.fc-green02,
a.fc-green02:hover  { color:#81E1BF; }*/
/*.fc-red,
a.fc-red:hover    { color:#b31b1b; }*/
.fc-pink,
a.fc-pink:hover    { color:#f7717d; }
.fc-pink02,
a.fc-pink02:hover    { color:#f07167; }
.fc-orange,
a.fc-orange:hover { color:#f58f29; }
.fc-blue,
a.fc-blue:hover   { color:#00307c; }
.fc-blue02,
a.fc-blue02:hover   { color:#255f77; }
.fc-yellow,
a.fc-yellow:hover { color:#f1d302; }
.fc-gray,
a.fc-gray:hover { color:#313131; }
.fc-gray02,
a.fc-gray02:hover { color:#ccd6e5; }
.fc-white,
a.fc-white:hover { color:#fff; }


/*----------------------------------------------------------------------
  img
----------------------------------------------------------------------*/

img {
  max-width:100%;
  height:auto;
  vertical-align:bottom;
  -webkit-backface-visibility:hidden;
  -ms-interpolation-mode:bicubic;
}

img[src$=".svg"] {
  width:100%;
  height:auto;
}

.ua-pc img.img-hv,
.ua-pc a.img-hv img {
  -webkit-transition:opacity 0.2s ease-out;
  transition:opacity 0.2s ease-out;
}
  
.ua-pc img.img-hv:hover,
.ua-pc a.img-hv:hover img {
  opacity:0.7;
}


/*----------------------------------------------------------------------
  link
----------------------------------------------------------------------*/

a { outline:none; }
a,
a:visited { color: rgba(81,152,114,1); text-decoration:underline; }
a:hover { color:#00307c; text-decoration:none; }

.ua-pc a {
  -webkit-transition:color 0.15s ease;
  transition:color 0.15s ease;
}
