﻿@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: "FOT-Humming";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/fot_humming_std_d.woff2") format("woff2"), url("../fonts/fot_humming_std_d.woff") format("woff"), url("../fonts/fot_humming_std_d.off") format("opentype");
  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: "BIZ UDPGothic", "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: left;
  min-width: 320px;
  line-height: 1.8;
  /*background-image: url("../image/body-back.gif");*/
  background-color: #EDFFFF;
}

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

.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-hum {
  font-family: "FOT-Humming";
  font-weight: 600;
}

.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: #363636;
}

.fc-green, a.fc-green:hover {
  color: #20a39e;
}

.fc-green02, a.fc-green02:hover {
  color: #84a59d;
}

.fc-red, a.fc-red:hover {
  color: #b31b1b;
}

.fc-pink, a.fc-pink:hover {
  color: #f28482;
}



.fc-orange, a.fc-orange:hover {
  color: #ff9b42;
}

/*.fc-orange02, a.fc-orange02:hover {
  color: #f6bd60;
}*/

.fc-blue, a.fc-blue:hover {
  color: #003459;
}

.fc-blue02,
a.fc-blue02:hover {
  color: #06aed5;
}

.fc-blue03, a.fc-blur03:hover {
  color: #c9f5ff;
}

/*.fc-yellow,
a.fc-yellow:hover { color:#ebb60f; }
.fc-gold,
a.fc-gold:hover { color:#caa068; }*/

.fc-gray, a.fc-gray:hover {
  color: #737373;
}

.fc-gray02, a.fc-gray02:hover {
  color: #e5e5e5;
}

.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: #20a39e;
  text-decoration: underline;
}

a:hover {
  color: #f58321;
  text-decoration: none;
}

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