﻿@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:"M PLUS 1p locl";
  font-style:normal;
  font-weight:300;
  src:url("../fonts/mplus_1p_light.woff2") format("woff2"),
      url("../fonts/mplus_1p_light.woff") format("woff"),
      url("../fonts/mplus_1p_light.ttf") format("truetype");
  font-display:auto;
}

@font-face {
  font-family:"M PLUS 1p locl";
  font-style:normal;
  font-weight:400;
  src:url("../fonts/mplus_1p_regular.woff2") format("woff2"),
      url("../fonts/mplus_1p_regular.woff") format("woff"),
      url("../fonts/mplus_1p_regular.ttf") format("truetype");
  font-display:auto;
}

@font-face {
  font-family:"M PLUS 1p locl";
  font-style:normal;
  font-weight:500;
  src:url("../fonts/mplus_1p_medium.woff2") format("woff2"),
      url("../fonts/mplus_1p_medium.woff") format("woff"),
      url("../fonts/mplus_1p_medium.ttf") format("truetype");
  font-display:auto;
}

@font-face {
  font-family:"M PLUS Rounded 1c locl";
  font-style:normal;
  font-weight:700;
  src:url("../fonts/mplus_1p_bold.woff2") format("woff2"),
      url("../fonts/mplus_1p_bold.woff") format("woff"),
      url("../fonts/mplus_1p_bold.ttf") format("truetype");
  font-display:auto;
}


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

  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: "M PLUS 1p locl","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: #f7ede2;*/
}

@-moz-document url-prefix(){
	body {transform: rotate(0.05deg);}
	img{transform: rotate(-0.05deg);}
}

@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.1em;
}

.f-ake {
  letter-spacing: 0.1rem;
}

.f-lineSS {
  line-height: 1.4;
}

.f-lineS {
  line-height: 1.6;
}

.f-lineL {
  line-height: 2;
}

.ff-mon {
  font-family: 'Montserrat', sans-serif;
}

.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-sm {
    font-size: 2.2rem;
  }
  .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: calc(2.1rem + ((1vw - 0.64rem) * 0.0781));
  } 
  /* 22～21 */
  .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-sm {
    font-size: 2.1rem;
  }
  .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:#222a2a; }

.fc-normal,
a.fc-normal:hover  { color:#222a2a; }

.fc-green01,
a.fc-green01:hover  { color:#0d5d56; }
.fc-green02,
a.fc-green02:hover  { color:#2ca559; }
.fc-green03,
a.fc-green03:hover  { color:#a4d3b5; }
.fc-green04,
a.fc-green04:hover  { color:#f3f8c9; }

.fc-black,
a.fc-black:hover  { color:#000; }

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

.fc-red02,
a.fc-red02:hover    { color:#BF3E3A; }

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

.fc-orange02,
a.fc-orange02:hover { color:#EC7F04; }

.fc-orange03,
a.fc-orange03:hover { color:#FCDA94; }

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

.fc-blue02,
a.fc-blue02:hover   { color:#007ea7; }

.fc-yellow,
a.fc-yellow:hover { color:#ffc914; }

.fc-white,
a.fc-white:hover  { color:#fff; }

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

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

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

:root {
	--color-normal: #222a2a;
	--color-green01: #0d5d56;
	--color-green02: #2ca559;
	--color-green03: #a4d3b5;
	--color-green04: #f3f8c9;
	--color-black: #000;
	--color-red: #f0544f;
	--color-red02: #BF3E3A;
	--color-orange: #ec9f05;
	--color-orange02: #EC7F04;
	--color-orange03:#FCDA94;
	--color-blue: #256eff;
	--color-blue02: #007ea7;
	--color-yellow: #ffc914;
	--color-white: #fff;
	--color-gray: #e5e5e5;
    --color-gray02: #f7f6f3;
	--color-pink: #ee9480;
}

/*----------------------------------------------------------------------
  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: var(--color-blue02);
  text-decoration: underline;
}

a:hover {
  color: var(--color-orange);
  text-decoration: none;
}

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