﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

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

  Reset CSS

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

/*-------------------------------------------------------------------------------
  normalize.css v3.0.2
-------------------------------------------------------------------------------*/

html {
  font-family:sans-serif;
  -ms-text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

body {
  margin:0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display:block;
}

audio,
canvas,
progress,
video {
  display:inline-block;
  vertical-align:baseline;
}

audio:not([controls]) {
  display:none;
  height:0;
}

[hidden],
template {
  display:none;
}

a {
  background-color:transparent;
}

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

abbr[title] {
  border-bottom:1px dotted;
}

b,
strong {
  font-weight:bold;
}

dfn {
  font-style:italic;
}

mark {
  background:#ff0;
  color:#000;
}

small {
  font-size:80%;
}

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

sup {
  top:-0.5em;
}

sub {
  bottom:-0.25em;
}

img {
  border:0;
}

svg:not(:root) {
  overflow:hidden;
}

figure {
  margin:1em 40px;
}

hr {
  -moz-box-sizing:content-box;
  box-sizing:content-box;
  height:0;
}

pre {
  overflow:auto;
}

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

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

button {
  overflow:visible;
}

button,
select {
  text-transform:none;
}

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

button[disabled],
html input[disabled] {
  cursor:default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border:0;
  padding:0;
}

input {
  line-height:normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing:border-box;
  padding:0;
}

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

input[type="search"] {
  -webkit-appearance:textfield;
  -moz-box-sizing:content-box;
  -webkit-box-sizing:content-box;
  box-sizing:content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance:none;
}

fieldset {
  border:1px solid #c0c0c0;
  margin:0 2px;
  padding:0.35em 0.625em 0.75em;
}

legend {
  border:0;
  padding:0;
}

textarea {
  overflow:auto;
}

optgroup {
  font-weight:bold;
}

table {
  border-collapse:collapse;
  border-spacing:0;
}

td,
th {
  padding:0;
}


/* 追加 */
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;
}

address {
  font-style:normal;
}


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

  Base

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

.preload * {
  transition:none !important;
  animation:none !important;
}

* {
  margin:0;
  padding:0;
}

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

body {
  line-height:1.6;
  word-wrap:break-word;
}

@media print,screen and (min-width:751px) {
  .pc-none { display:none; }
}
@media screen and (max-width:750px) {
  html {
      width:100%;
      min-width: 700px;
  }
  .sp-none { display:none; }
}

.js__rpsTable,
.js__rpsBlock { overflow:hidden; }

.js__linkBox { cursor:pointer; }

.fl-l { float: left; }
.fl-r { float: right; }

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


/*--------------------------------------------------------------------------------
  caption
--------------------------------------------------------------------------------*/

.f-cap {
  color:#818181;
  display:block;
  text-align:center;
  font-size:0.85em;
  padding-top:0.5em;
  line-height:1.4;
}


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

body,input,textarea,select,option {
  font-family:'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  font-weight: 400;
  letter-spacing: 0.1ex;
}

.f-nowrap { display:inline-block; }
.f-hide { display:none; }
.f-ind { text-indent:1em; }

.f-line1   { line-height:1; }
.f-lineMIN { line-height:1.1; }
.f-lineSS  { line-height:1.4; }
.f-lineS   { line-height:1.6; }
.f-lineL   { line-height:2; }

.fw-500 { font-weight:500; }
.fw-700 { font-weight:700; }

.txt-id { display: inline-block; }

.f-center { text-align: center; }
.f-right { text-align: right; }


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

body { font-size:18px; }

.fs-max { font-size:250%; }
.fs-4l  { font-size:200%; }
.fs-3l  { font-size:150%; }
.fs-2l  { font-size:137.5%; }
.fs-l   { font-size:125%; }
.fs-m   { font-size:112.5%; }
.fs-s   { font-size:87.5%; }
.fs-ss { font-size:75.0%; }
.fs-min { font-size:62.5%; }

@media print,screen and (min-width:751px) {
  body.fs-large  { font-size:24px; } /* 特大 */
  body.fs-medium { font-size:20px; } /* 大 */
}

@media screen and (max-width:750px) {
    body { font-size:28px !important; }
    .fs-max { font-size:225%; }
}


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

body { color:#282828; }

.fc-blue { color:#42bfdd; }
.fc-lblue { color:#52c5eb; }
.fc-green { color:#53c760; }
.fc-lgreen { color:#93c84c; }
.fc-orange { color:#f5a523; }
.fc-pink { color:#f390b9; }
.fc-red { color:#ed5d5d; }
.fc-purple { color:#b284df; }
.fc-gray { color:#818181; }


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

a { outline:none; }
a,
a:visited { color:#42bfdd; text-decoration:underline; }
a:hover,
.ua-pc .js__linkBox:hover a:not[href^="tel:"] { color:#52c5eb; text-decoration:none; }
.ua-pc a:hover { text-decoration:none; }

.ua-pc a {
  transition:color 0.1s ease, opacity 0.1s ease;
}


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

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

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

.ua-pc img.img-hv,
.ua-pc a.img-hv img {
  transition:opacity 0.15s ease;
}
  
.ua-pc img.img-hv:hover,
.ua-pc a.img-hv:hover img,
.ua-pc .js__linkBox:hover img.img-hv,
.ua-pc .js__linkBox:hover a.img-hv img {
  opacity:0.7;
}

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

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

.ua-tab a[href^="tel:"],
.ua-sp a[href^="tel:"] {
  text-decoration:underline;
}

.photo-l {
	float:left !important;
  margin-left: 0 !important;
	margin-right:3rem;
	text-align:center;
}
.photo-r {
	float:right !important;
	margin-left:3rem;
	text-align:center;
}
.photo-c {
	float:none !important;
  display: block !important;
  line-height: inherit !important;
  margin: 0 auto 25px !important;
  text-align: center !important;
}

@media screen and (max-width:640px) {
  .photo-l,
  .photo-r {
    float:none !important;
    display: block !important;
    line-height: inherit !important;
    margin: 0 auto 25px !important;
    text-align: center !important;
  }
}


/*--------------------------------------------------------------------------------
  margin padding
--------------------------------------------------------------------------------*/

.mg-t0h  { margin-top:0.5em; }
.mg-t1  { margin-top:1em; }
.mg-t1h { margin-top:1.5em; }
.mg-t2  { margin-top:2em; }
.mg-t2h { margin-top:2.5em; }
.mg-t3  { margin-top:3em; }
.mg-t3h { margin-top:3.5em; }
.mg-t4  { margin-top:4em; }
.mg-t4h { margin-top:4.5em; }
.mg-t5  { margin-top:5em; }
.mg-t5h { margin-top:5.5em; }

.mg-b1  { margin-bottom:1em; }
.mg-b1h { margin-bottom:1.5em; }
.mg-b2  { margin-bottom:2em; }
.mg-b2h { margin-bottom:2.5em; }
.mg-b3  { margin-bottom:3em; }
.mg-b3h { margin-bottom:3.5em; }
.mg-b4  { margin-bottom:4em; }
.mg-b4h { margin-bottom:4.5em; }
.mg-b5  { margin-bottom:5em; }
.mg-b5h { margin-bottom:5.5em; }

.pd-t0h  { padding-top:0.5em; }
.pd-t1  { padding-top:1em; }
.pd-t1h { padding-top:1.5em; }
.pd-t2  { padding-top:2em; }
.pd-t2h { padding-top:2.5em; }
.pd-t3  { padding-top:3em; }
.pd-t3h { padding-top:3.5em; }
.pd-t4  { padding-top:4em; }
.pd-t4h { padding-top:4.5em; }
.pd-t5  { padding-top:5em; }
.pd-t5h { padding-top:5.5em; }

.pd-b0h  { padding-bottom:0.5em; }
.pd-b1  { padding-bottom:1em; }
.pd-b1h { padding-bottom:1.5em; }
.pd-b2  { padding-bottom:2em; }
.pd-b2h { padding-bottom:2.5em; }
.pd-b3  { padding-bottom:3em; }
.pd-b3h { padding-bottom:3.5em; }
.pd-b4  { padding-bottom:4em; }
.pd-b4h { padding-bottom:4.5em; }
.pd-b5  { padding-bottom:5em; }
.pd-b5h { padding-bottom:5.5em; }

.pd-l1 { padding-left:1em; }
