@charset "utf-8";
/*リセット
==================================================================================================================*/
html, body, h1, h2, h3, h4, h5, h6, div, p, hr, dl, dt, dd, ol, ul, menu, li
, form, fieldset, legend, label, table, caption, thead, tbody, tfoot, tr, th, td
, section, header, main, article, aside, nav, footer, address, summary
, span, a, cite, strong, em, small, i, b, q, u, sub, sup, ruby, rt
, img, picture, source, figure, figcaption, canvas, iframe, audio, video {
  font-size: inherit; font-weight: inherit; font-style: inherit; text-align: inherit;
  margin: 0; padding: 0; background-repeat: no-repeat; border: 0 none; }
* { outline: none; box-sizing: border-box; }
*:focus { outline:none; }
html { -webkit-text-size-adjust: none; height:100%; }
body { font-style:normal; font-weight:normal; font-size:100%; text-align:left; }
ol, ul, li { list-style-image: none; list-style-position: outside; list-style-type: none; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
img { border:0 none; width: auto; height: auto; max-width: 100%;vertical-align: top; }
strong, em { font-weight:bold; }
small{ font-size:80%; }
sub,sup{ font-size:70%; line-height:0; position:relative; vertical-align:baseline; }
sup{ vertical-align:text-top; top:-.5em; }
sub{ vertical-align:text-bottom; bottom:-.25em; }

/*基本スタイル
==================================================================================================================*/

html { font-size: 16px;}

body {
	font-family: YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
	line-height: 2;
	color: #333;
	background: #fff;
	font-weight: 400;
	opacity: 0;
	transition: 0.3s;
}

.wf-active body { font-family: 'Noto Sans JP', sans-serif; opacity: 1;}

h1, h2, h3, h4, h5, h6 { margin: 0 0 0.8em; padding: 0; line-height: 1;}
article h1, article h2, article h3, article h4, article h5, article h6 { line-height: 1.4; font-weight: 700; margin-bottom: 0.8em;}

a { text-decoration: none; color: inherit;}
a:hover { color: inherit; opacity: 0.8;}

section{ overflow: hidden;}

table { border-collapse: collapse; border-spacing: 0; width: 100%;}
caption { text-align: left; font-weight: bold;}
th, td{ border: #707070 1px solid; padding: 1em 2em; font-size: 1rem; vertical-align: top;}

.fMin { font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
.fGot{ font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
.fMaru{ font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }
.fTime{ font-family: "Times New Roman","Times New Roman",sans-serif; }
@font-face { font-family:"FAsolid"; src:url("./fa-solid-900.woff") format("woff"); }
@font-face { font-family:"FAregular"; src:url("./fa-regular-400.woff") format("woff"); }

.c_mrk { background: linear-gradient(transparent 60%, #fff100 40%);}
.c_bold { font-weight: bold;}
.c_white { color: #fff;}
.bg_white { background: #fff;}
.bg_blue { background: #4a94be; color: #fff;}
.bg_yellow { background: #fdfbde;}
.bw_thin { border: solid 1px;}
.bw_med { border: solid 2px;}
.bw_thick { border: solid 5px;}
.dbl{display: block;}
.dib{display: inline-block;}
.din{display: inline;}
.dtb{display: table;}
.right, .right p{ text-align: right;}
.center, .center p { text-align: center;}
.left, .left p { text-align: left;}
.under{ text-decoration: underline;}
.bold { font-weight: bold;}
.italic { font-style: italic;}
.small { font-size: 90%;}
.small2 { font-size: 80%;}
.large { font-size: 125%;}
a[target="_blank"]::after { font-family: "FAsolid"; font-weight: 900; content: "\f35d"; display: inline-block; margin: 0 0 0 0.2em;}
.sns_icon a[target="_blank"]::after, a.no_icon[target="_blank"]::after { display: none;}
.float_left { float: left;}
.float_right { float: right;}
.img_left { display: block; float: left; margin: 0 30px 30px 0;}
.img_right { display: block; float: right; margin: 0 0 30px 30px;}
.clear { clear: both;}
.clearfix::after { display: block; clear: both; content: "";}
.flex { display: flex; flex-flow: row wrap;}
.flex_between { justify-content: space-between;}
.flex_center { justify-content: center;}
.flex_around { justify-content: space-around;}
.flex_a_center { align-items: center;}
.flex_a_end { align-items: flex-end;}

.indent { padding-left: 1em; text-indent: -1em;}
.lineclamp2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow:hidden; }
.lineclamp3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow:hidden; }

.list_check > li { padding-left: 1.3em; position: relative;}
.list_check > li::before { content: "\f14a"; font-family: FAregular; position: absolute; left: 0; top: 0;}

#container  { width: 100%; position: relative; overflow: hidden;}
.inner { width: 92vw; max-width: 1000px; margin: 0 auto;}
.sec_inr { padding: 4vw 0;}
.contents_btm01{ margin-bottom: 100px;}
.contents_btm02{ margin-bottom: 80px;}
.contents_btm03{ margin-bottom: 60px;}
.contents_btm04{ margin-bottom: 40px;}
.contents_btm05{ margin-bottom: 20px;}

.btn a { display: inline-block;}

@media (max-width:999px) {
}

@media (max-width:899px) {
}

@media (max-width:799px) {
}

@media all and (min-width: 600px){
	.noPC { display:none !important; }
}

@media all and (max-width: 599.999px){
	.noSP { display:none !important; }
}

@media (max-width: 599px){
	.noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td { display: block; width: 100%;}
	.noTab tr { margin-top: 10px;}
	.img_left { float: none; margin: 10px auto; text-align: center;}
	.img_right { float: none; margin: 10px auto; text-align: center;}
}

@media (max-width:499px) {
	html { font-size: 14px;}
	body { line-height: 1.7;}
}

/*グローバルナビゲーション
==================================================================================================================*/
/*ヘッダー*/
header { width: 100%; padding: 10px; background: rgba(255,255,255,0); position: fixed; z-index: 999;}
header.on { top: -95px; transition: all 1s; transform:translateY(+95px); opacity: 1; background: #fff;}


.header_inner {}

#hdr_logo { width: 30vw; max-width: 268px;}

#hdr_logo h1 { margin: 0;}

#hdr_logo a { display: block;}

/*グローバルメニュー*/

#head_right{
	position: absolute;
	top: 30px;
	right: 30px;
}

#head_contact a{
	display: block;
	background: #9a0000;
	color: #fff;
	padding: .5em 1.5em;
	font-size: 1.062rem;
}


@media (max-width:899px) {
	#hdr_logo { max-width: 200px;}
/*
	#header { position: fixed;top: 0;width: 100%;height: 80px;z-index: 99999; box-shadow: 0 0 0.5vw rgb(0 0 0 / 40%); padding: 0;}
	.header_inner.inner { padding: 10px 5px;}
	#head_right { top: 15px; right: 15px;}
	article { padding-top: 80px;}
*/
}

@media (max-width:599px) {
	#hdr_logo { width: 200px;}
}

@media (max-width:499px) {
/*
	#header { height: 60px;}
	#hdr_logo { width: calc( 100% - 160px ); padding: 5px;}
	#hdr_logo h1 { max-height: 50px;}
	#hdr_logo h1 a img { height: 50px;}
	article { padding-top: 60px;}
	#head_right { top: 10px; right: 10px;}
	#head_contact a { font-size: 0.875rem; width: 10em; line-height: 40px; text-align: center; padding: 0;}
*/
}

@media (max-width:399px) {
/*
	#hdr_logo { width:190px; padding:10px 5px;}
	#hdr_logo h1 a img{height: auto;}
	#head_contact a { font-size: 0.75rem; width: 9em; letter-spacing: 0;}
*/
}


/*フッター*/
#bread { background:#eee; font-size:80%; padding:0.3em; }
#bread li { display:inline-block; }
#bread li::before { font-family:FAsolid; content:"\f105"; font-weight:900; color:red; display:inline-block; margin:.1em .5em; }
#bread li:first-of-type::before { content:"\f015"; margin:.1em .5em .1em 0; }
#bread a { color:green; }

#footer { width: 100%;padding: 30px 0;border-top: 1px #ccc solid;}
/*
#footer #foot_logo { text-align: center; width: 30vw; margin: 0 auto 30px; max-width: 268px;}
*/
#footer #foot_logo a { margin: 10px 20px; width: 150px; max-width: calc( 50% - 40px );}

#copy{ font-size: 0.75rem; text-align: center;}
#unei { font-size: 0.75rem; text-align: center; margin: 1em 0 0 0;}

@media (max-width:599px){
}


.gmap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative;}
.gmap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

#page_top{position: fixed; z-index: 9999; display:none; right: 30px; bottom: 5%;}
#page_top.on { display:block; }
#page_top a{ position: relative; display: block; width: 70px; height: 70px;}
@media (max-width: 499px){
	#page_top{right: 5px; bottom: 50px;}
	#page_top a{ width: 50px; height: 50px;}
	#page_top a::before{ margin-bottom:2px;}
}
@media (max-width: 369px){
	#page_top, #page_top a{width: 45px;height: 45px;}
	#page_top{bottom: 45px;}
	#page_top a::before{margin-bottom:0;height: 22px;}
}


.onoff { opacity: 0; transition:all 1s; }
.onoff.on { opacity: 1; }

/*フェードイン設定*/

/*スクロールで*/

/*右から*/
.fadeIn_right {
  opacity: 0;
  transform: translate(50%,0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/*左から*/
.fadeIn_left {
  opacity: 0;
  transform: translate(-50%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/*下から*/
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}


/*左から順番に*/
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
transform: translateY(150px);
  }
  to {
    opacity: 1;
transform: translateY(0);
  }
}

.fadeUpTrigger{opacity: 0;}
.delay-time02{animation-delay: 0.5s;}
.delay-time03{animation-delay: 0.7s;}



/*読み込まれたら*/

/* 下から */
.load_fadeUp{
animation-name:load_fadeUpAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes load_fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

.load_fadeLeft{
animation-name:load_fadeLeftAnime;
animation-duration:1.6s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes load_fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.load_fadeRight{
animation-name:load_fadeRightAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes load_fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

