@charset "utf-8";
/*=============================
　common → 共通★骨組み
　style → 共通★修飾
　pagename* → 各ページ
　2020.09.07........... ver0.0
=============================*/

/* !!!--公開までTELを無効化 */
/* !!!--有効化を忘れずにする--!!!
a[href^="tel:"] { pointer-events: none;} */

/* モバイル以外　tel無視 */
@media (min-width: 768px){a[href^="tel:"] { pointer-events: none;}}



/* ローディング */
#loading {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.9);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20000;}
#loading img {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -20px;
	margin-left: -20px;}


/* IE対策（zoom:1;はとりあえず試す要素） */
a:hover img { zoom:1;}
_:-ms-lang(x), selector { property: value;}
_:-ms-fullscreen, :root .selector { property: value;}
@media screen\0 {
  .selector { property: value; }
}
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
  .selector { property: value;}
}
/* Edge対策https://spyweb.media/2017/12/04/ie-edge-css-hacks/ */
@supports (-ms-accelerator: true) and (not (color: unset)) {
  .selector { property: value;}
}
@supports (-ms-ime-align: auto) and (not (-ms-accelerator: true)) {
  .selector { property: value; }
}
@supports (-ms-ime-align: auto) and (-webkit-text-stroke: initial) {
  .selector { property: value; }
}
@supports (-ms-accelerator: true) {
  .selector { property: value; }
}
@supports (-ms-ime-align: auto) {
  .selector {  property: value; }
}

/* resetCSS=== 初期化 === */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, button, input, output, textarea, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: bottom;
	list-style-type: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
	display: block;}
br { margin: 0 !important;}
ol, ul { list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;}
table {
	border-collapse: collapse;
	border-spacing: 0;}
strong { font-weight: bold;}
a:hover { text-decoration: none;}

html,body {
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;}

a:-webkit-any-link {
  cursor: pointer;
  text-decoration: none;}


/* pcのみ・spのみ・タブレットtab以上 改行 */
@media (max-width: 576px){
  .pc_only { display:none; }
  .tab_only { display:block; }
  .sp_only { display:block; }}
@media (min-width: 577px){
  .pc_only { display:block; }
  .tab_only { display:block; }
  .sp_only { display:none; }}
@media (min-width: 768px) {
  .pc_only { display:block; }
  .tab_only { display:block; }
  .sp_only { display:none; }}

/* 例外　*/
@media (max-width: 991px) {
  .pc_only { display:none; }}
@media (min-width: 992px) { 
  .pc_only { display:block; }
  .tab_only { display:none; }}

/* レスポンシブ対応 */
html { font-size: 62.5%;} /* 10px */
img { max-width: 100%; height: auto; flex-shrink: 0;}
.row { align-items: flex-start;}


/* ===============
基本構造 ＆ bootstrap追加項目
================== */

/* https://haniwaman.com/noto-sans-japanese/　←NotoSans サブセット化 */
@font-face {
  font-family: "nsjpr";
  font-style: normal;
  font-weight: 400;
  src: url("/font/nsjpr.woff") format("woff");}
@font-face {
  font-family: "nsjbo";
  font-style: normal;
  font-weight: 700;
  src: url("/font/nsjbo.woff") format("woff");}
@font-face {
  font-family: "nsjpbl";
  font-style: normal;
  font-weight: 900;
  src: url("/font/nsjbl.woff") format("woff");}
.fa, .fab, .fal, .far, .fas {
  line-height: inherit;}

body {
  color: #333;
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: normal;
	font-family: "Sawarabi Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  letter-spacing: 0.05em;}
@media only screen and (max-width: 767px) {
    body { font-size: 1.4rem;}}

/* 基本フォントは下記の明朝(要★Googlefont)or呉竹 */
.mincho { font-family: "Sawarabi Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif; }
.gochi { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,  "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; }

h1,h2,h3,h4 {
  font-family: "Sawarabi Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  letter-spacing: .3;}
h1,h2,.h1,.h2 {
  font-weight: 700;}
h3,h4,h5,h6,.h3,.h4,.h5,.h6,dt {
  font-weight: 400;
  line-height: 1.2;}

/* footer　常に最下部に固定 */
body, #wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 100vh;}
footer { margin-top: auto;}


/* Bootstrap  + ---------------------------------------------------- */
.mb-1 { margin-bottom: 1rem!important;}	/* マージン修正 */
.mb-2 { margin-bottom: 2rem!important;}
.mb-3 { margin-bottom: 3rem!important;}
.mb-4 { margin-bottom: 4rem!important;}
.mb-5 { margin-bottom: 5rem!important;}
.mb-6 { margin-bottom: 6rem;}
.mb-7 {	margin-bottom: 7rem;}
.mb-8 {	margin-bottom: 8rem;}
.mb-9 {	margin-bottom: 9rem;}
.mb-10 { margin-bottom: 10rem;}
.mb-15 { margin-bottom: 15rem;}
.pb-1 {	padding-bottom: 1rem!important;}	/* パディング修正 */
.pb-2 {	padding-bottom: 2rem!important;}
.pb-3 {	padding-bottom: 3rem!important;}
.pb-4 {	padding-bottom: 4rem!important;}
.pb-5 {	padding-bottom: 5rem!important;}
.pb-6 {	padding-bottom: 6rem;}
.pb-7 {	padding-bottom: 7rem;}
.pb-8 {	padding-bottom: 8rem;}
.pb-9 {	padding-bottom: 9rem;}
.pb-10 { padding-bottom: 10rem;}
.lh-1 { line-height: 1em;}	/* 行間追加 */
.lh-2 { line-height: 2em;}
.lh-3 { line-height: 3em;}
.lh-4 { line-height: 4em;}
.lh-5 { line-height: 5em;}
.m-0a { margin: 0 auto;}				/* 左右センター揃え */
.max-w100 {max-width: 100%!important;}		/* max-width: 100% */
.max-h100 {max-height: 100%!important;}		/* max-height: 100% */
.h-100vh {height: 100vh!important;}

.bob-0 { border-bottom: none;}	/* アンダーライン消去 */

.letter-sp005 {letter-spacing: 0.05;}	/* 文字間を広げる */
.letter-sp01 {letter-spacing: 0.1;}
.letter-sp0 {letter-spacing: 0;}
.btn-hover {										/* ホバー　無透過 → 透過 */
  cursor: pointer;
  display: block;}
.btn-hover:hover {
  transition: 0.5s;
	opacity: 0.75;}
.btn-hover_op {										/* ホバー　透過 → 無透過（外に背景色を設定） */
	cursor: pointer;
	display: block;
  opacity: .6;}
.btn-hover_op:hover {
  transition: 0.5s;
  opacity: 1;}

.card {display: block;}
.card-img-top {
  max-width: 100%;
  flex-shrink:0;}

.container-xs {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;}
@media (min-width: 576px) {
  .container-xs { max-width: 100%;}
}
@media (min-width: 768px) {
  .container-xs { max-width: 96%;}
}
@media (min-width: 992px) {
  .container-xs { max-width: 960px;}
}
@media (min-width: 1200px) {
  .container-xs { max-width: 960px;}
}

.container-xl {
  padding-right: 0px;
  padding-left: 0px;
  margin-right: auto;
  margin-left: auto;}
@media (min-width: 1200px) {
  .container-xl {
    max-width: 1920px; }
}

button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
  background-color: inherit;}


/* == コンテンツ ========================== */

.container {
	width: 991px;
	max-width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;}
@media (min-width: 992px) {
  .container {
    max-width: 1140px;}
}

 .info_box {
  width: auto;
  margin: 0 15px;
  padding: 20px;}


.content-none::before {
    content: inherit!important;}



/* == パンくずリスト（カスタマイズはstyle.cssを使う） ========== */

.breadcrumb {
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  height: 60px;
  padding: 1.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: rgba(0,0,0,0.00);
  position: relative;
  border-radius: 0;}
.breadcrumb li {
  font-size: 13px;}
.breadcrumb li:after {
  content: '>';
  color: #fff;
  padding: 0 0.2em;}
.breadcrumb li:last-child:after {
  content: '';}
.breadcrumb li a {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  position: relative;
  z-index: 98;}
.breadcrumb li a:hover {
  text-decoration: underline;}
.breadcrumb .fas {
  vertical-align: middle;
  line-height: 0;}











