﻿@charset "utf-8";

@font-face {
	font-family: 'BIZ UDPGothic';　
	font-style: normal;
	font-weight: 400;
	src: url('../font/BIZ-UDGothicR.woff2') format('woff2'), url('../font/BIZ-UDGothicR.woff') format('woff'); 
}
@font-face {
	font-family: 'BIZ UDPGothic';　
	font-style: normal;
	font-weight: 700;
	src: url('../font/BIZ-UDGothicB.woff2') format('woff2'), url('../font/BIZ-UDGothicB.woff') format('woff'); 
}
@font-face {
	font-family: 'fot-rodin';
	font-style: normal;
	font-weight: 600;
	src: url('../font/RodinPro-DB.woff2') format('woff2'); 
}
@font-face {
	font-family: 'fot-rodin';
	font-style: normal;
	font-weight: 700;
	src: url('../font/RodinPro-B.woff2') format('woff2');
}
@font-face {
	font-family: 'fot-rodin';
	font-style: normal;
	font-weight: 800;
	src: url('../font/RodinPro-EB.woff2') format('woff2');
}
@font-face {
	font-family: 'High Tide';　
	font-style: normal;
	font-weight: 700;
	src: url('../font/High Tide Bold.woff2') format('woff2'), url('../font/High Tide Bold.woff') format('woff'); 
}
@font-face {
	font-family: 'High Tide';　
	font-style: normal;
	font-weight: 700;
	src: url('../font/High Tide Bold.woff2') format('woff2'), url('../font/High Tide Bold.woff') format('woff'); 
}
@font-face {
	font-family: 'fot-matisse';
	font-style: normal;
	font-weight: 600;
	src: url('../font/FOT-MatisseVPro-DB.woff2') format('woff2'), url('../font/FOT-MatisseVPro-DB.woff') format('woff'); 
}
@font-face {
	font-family: 'fot-matisse';
	font-style: normal;
	font-weight: 800;
	src: url('../font/FOT-MatisseVPro-EB.woff2') format('woff2'), url('../font/FOT-MatisseVPro-EB.woff') format('woff'); 
}


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

  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

====================================================================================================*/
:root {
  --primary-color: #197278;
  --primary-color-hover: #3e9ca2;
  --primary-color-light: #d9eff0;
  --primary-color-dark: #283d3b;  
  
  --secondary-color: #193878;
  --secondary-color-hover: #375798;
  --secondary-color-light: #eef4ff;
  
  --thirdry-color: #c44536;
  --thirdry-color-hover: #dc7367;
  --thirdry-color-light: #ffe9e6;
  
  --fourthly-color: #3b469b;
  --fourthly-color-dark: #262e65;
  
  /* link color */
  --fc-link: #151515;
  --fc-link-hover: var(--primary-color);
}

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

* {
  margin:0;
  padding:0;
}

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

body {
  min-width: 375px;
  background-image: url("../image/body-bg.jpg");
  background-repeat: repeat;
  font-family: 
    "BIZ UDPGothic",
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-weight: 400;
  line-height:1.8;
  word-wrap:break-word;  
}

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

.i-block { display: inline-block; }


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

.txt-id { text-indent: 1em; }
.txt-nowrap { white-space: nowrap; }
.txt-hide {
  display:block;
  text-indent:200%;
  white-space:nowrap;
  overflow:hidden;
}

.txt-tate {
  -webkit-writing-mode:vertical-rl;
  -ms-writing-mode:tb-rl;
  writing-mode:vertical-rl;
  text-align:left;
  display:inline-block;
  white-space:nowrap;
}

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

.fw-400 { font-weight:400; } /* Regular */
.fw-600 { font-weight:600; } /* DB */
.fw-700 { font-weight:700; } /* Bold */
.fw-800 { font-weight:800; } /* EB */

.ff-rodin { font-family: 'fot-rodin', sans-serif; }
.ff-matisse { font-family: 'fot-matisse', sans-serif; }
.ff-hide { font-family: 'High Tide', sans-serif; }

html { font-size:16px; }

.fs-max { font-size:3rem; }
.fs-4l  { font-size:2.5rem; }
.fs-3l  { font-size:2.25rem; }
.fs-2l  { font-size:2rem; }
.fs-l   { font-size:1.5rem; }
.fs-m   { font-size:1.25rem; }
.fs-s   { font-size:0.875rem; }
.fs-ss  { font-size:0.75rem; }
.fs-min { font-size:0.66rem; }

.ls-s { letter-spacing: -0.25ex; }

body { color:#151515; }

.fc-red    { color:var(--thirdry-color); }
.fc-blue   { color:var(--secondary-color); }
.fc-orange  { color:#D3642A; }
.fc-green  { color:var(--primary-color); }


/*-----------------------------------------------------------------------------------
  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.3s 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,
a:hover { color:inherit; text-decoration:underline; }

a[link="uline"] { text-decoration:underline; }
a[link="uline"]:hover { text-decoration:none; }

/*
.ua-pc a {
  transition:color 0.15s ease-out, opacity 0.15s ease-out;
}
*/

/* 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:"][link="uline"],
.ua-sp a[href^="tel:"][link="uline"] {
  text-decoration:underline;
}

