@charset "UTF-8";
/* WEBフォント使用時はここに設定 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Maru+Gothic&display=swap'); */

/* ***********************************
 *
 *    Ire's CSS Reset & Base
 *
 * *********************************** */

/* Reset margin, padding, border
 * *********************************** */

html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background:transparent;
  color: #333;
  font-weight: 500;
  letter-spacing: 0;
}

body , html {
  height: 100%;
}

/* Typography
 * *********************************** */

html {
  /* sets the base font to 10px for easier math */
  /* SP基準 */
  /* font-size: calc(100vw / 32); */
}

body {
  font-size: 16px;
  font-size: 1.2rem;
  line-height: 1.6;
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
}

/* ベースフォント設定 */
* {
  font-family: inherit;
  font-size: inherit;
  font-family: 'Roboto', 'Noto Sans JP','Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック','Yu Gothic Medium', '游ゴシック Medium',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  line-height: inherit;
  letter-spacing: 0.1em;
  font-weight: 400;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* a,
a:visited {
  color: inherit;
  text-decoration: none;
} */


:where(a, a:visited) {
  color: inherit;
  text-decoration: none;
}


/* Layout
 * *********************************** */

article,
aside,
figure,
footer,
header,
nav,
section,
main {
  display: block;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

/* Elements
 * *********************************** */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol,
ul {
  list-style: none;
  list-style-type: none;
}

img,
video {
  max-width: 100%;
}

img {
  display: block;
  border-style: none;
}

input[type="submit"],
input[type="button"] {
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
  margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input,
button,
textarea,
select {
  font: inherit;
}

input[type="submit"] {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

/* 装飾設定 */
strong {
  font-weight: bold;
}


/* SP/PC表示切替用
 * *********************************** */
.pc-only {
  display: none;
}

@media screen and (min-width: 800px) {
  .sp-only {
    display: none;
  }
  .pc-only {
    display: block;
  }
}