﻿@charset "UTF-8";

/* ----- reset ----- */
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;
}
body {
  line-height:1;
  -webkit-text-size-adjust: none;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
  display:block;
}
ul {
  list-style:none;
}
blockquote, q {
  quotes:none;
}
blockquote:before, blockquote:after,q:before, q:after {
  content:'';
  content:none;
}
a {
  margin:0;
  padding:0;
  vertical-align:baseline;
  background:transparent;
}
/* change colours to suit your needs */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}
/* change colours to suit your needs */
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom:1px dotted inherit;
  cursor:help;
}
table {
  border-collapse:collapse;
  border-spacing:0;
}
/* change border colour to suit your needs */
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}
input,select {
  vertical-align:middle;
  margin:0px;
}

input, select, button {
  color: #000;
}

* {
  box-sizing: border-box;
}


/* ----- base ----- */
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'),
	local('Yu Gothic Medium');
}

@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'),
	local('Yu Gothic');
}

:root {
  --usr-scrollbar-width: 0;

  /* color */
  --color-primary: #D81625;
  --color-primary2: #AF8E60;
  --color-primary3: #846a43;
  --color-tert: #f5f5f5;
  --color-danger: #555;
  --color-default: #222;
  --color-alert: #D81625;

  /* transition */
  --transition-all: all .3s ease;
  --transition-opacity: opacity .3s ease;

  /* width */
  --width-wide: 1600px;
}

body {
  font-family: "Zen Kaku Gothic New", "MyYuGothicM", "YuGothic", BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: var(--color-default);
  line-height: 1.5;
}

a {
  color: var(--color-default);
  text-decoration: none;
}


/* animation arrow link */
.icon-svg-link-arrow {
  transform-origin: center;
  transform-box: fill-box;
  transform: translateY(-3px);
  transition: transform .3s ease;
}

.icon-svg-link-arrow-bdr {
  transform-origin: center bottom;
  transform-box: fill-box;
  transform: scale(0);
  transition: transform .3s ease;
}

@media (min-width: 769px) {
  .icon-svg-link-arrow-anime:where(:hover, :focus) .icon-svg-link-arrow {
    transform: translateY(2px);
  }

  .icon-svg-link-arrow-anime:where(:hover, :focus) .icon-svg-link-arrow-bdr {
    transform: scale(1);
  }
}

/* display */
.hidden-sb {
  display: none !important;
}

.hidden-fb {
  display: block !important;
}

@media (min-width: 769px) {
  .hidden-sb {
    display: block !important;
  }

  .hidden-fb {
    display: none !important;
  }
}