@charset "UTF-8";

/*リセット*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, div, dfn, em, img, ins, kbd, q, s, samp, small, strike, 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, hgroup, main, menu, nav, output, ruby, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  text-align: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  background-repeat: no-repeat;
  border: 0 none;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

ol, ul, li {
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
}

img {
  width: auto;
  height: auto;
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*--------------------------------------------------
基本設定
--------------------------------------------------*/

html {
  height: 100%;
}

body {
  font-size: 16px;
  line-height: 1;
  height: 100%;
  font-weight: 500;
  color: #333;
  background: #f5f5f5;
  font-family: "Noto Sans JP", "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h1 {
  margin: 20px auto;
  font-size: 18px;
  padding: 15px 20px;
  background: #f25555;
  color: #fff;
  text-align: center;
  border-radius: 3px;
}

h2 {
  border-left: 5px solid #f25555;
  background: #fff;
  padding: 10px;
  margin: 20px auto 15px;
}

h3 {
  color: #f25555;
  border-bottom: dashed #333 1px;
  padding: 10px;
  margin: 20px auto 15px;
}

.fMin {
  font-family: "Roboto Slab", Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.fGot {
  font-family: "Noto Sans JP", "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}

@font-face { font-family: "FontAwesome"; src: url("../css/fa-solid-900.woff2") format("woff2"); }
.fa { display: inline-block; font-family: "FontAwesome"; font-size: inherit; }

.dib { display: inline-block; font-weight: inherit; }
th, td { border: solid 1px #aaa; padding: 10px; }
thead td { background: #224473; color: #fff; }
tbody th { background: #dadfe6; }
td { background: #fff; }
@media (max-width: 499px) {
}

a { color: inherit; }
a[target="_blank"]::after {
	font-family: "FontAwesome"; content: "\f35d"; font-size:14px;
	display: inline-block; text-indent:0; position:static; margin:0 0 0 3px;
}
*:focus { outline:none; }

/*--------------------------------------------------
共通
--------------------------------------------------*/

header { position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: auto;background: #fff; }
.hdr_inr { position: relative; width: 100%; height: auto; }
.hdr_inr .hdr_logo {
  position: absolute; height: 50px; width:auto; z-index: 97;
  background: none; text-align: center; padding: 5px;
}
.hdr_inr .hdr_logo a {
  position: absolute; top: 5px; left: 20px; z-index: 99;
  display: block; width: 100px; height: auto;
}

#globalNav {
  width: 100%; height:50px; overflow-y: auto;
  background: #fff; display: flex; flex-wrap: wrap; justify-content: flex-end;
}
#globalNav ul { display: inline-flex; }
#globalNav ul li { margin: 5px; line-height: 1.4; z-index: 98; }
#globalNav ul li a { padding: 5px; text-decoration: none; color: inherit; font-weight: bold; }
#globalNav .gmenu01 li a { color: #f25555; display: block; }
#globalNav .gmenu02 { display: none;}
#globalNav .gmenu02 li a {
	position: relative;
	padding-right: 20px;
	display: block;
}
#globalNav .gmenu02 li a:after {
	display: inline-block; position: absolute; right: 5px;
	font-family: "FontAwesome"; content: "\f105"; font-size: 14px;
}
#globalNav .gmenu03 { margin-right: 40px;}
#globalNav .gmenu03 li a {
  display: block; padding: 10px; line-height: 1;
  text-align: center; background: #f25555; color: #fff;
}

.search_btn {
  position: absolute; top: 10px; right: 12px; z-index: 98;
  font-size: 26px; color: #ccc; cursor:pointer;
}
.fa-search:before{content:"\f002"}
.search_window {
  position: absolute; top: 54px; right: 0; z-index: 100; background:#f5f5f5; padding:3px;
  transform:translateX(300px); transition:all .4s;
}
.search-is-open .search_window { transform:translateX(0); }
.search_window input[type="text"] { padding: 2px; width:200px; font-size:16px; vertical-align:middle; }

.cmenu { width: 100%; display:block; height:40px; overflow:hidden; position:relative; }
.cmenu::before, .cmenuOverF ul::before {
  content:""; position:absolute; top:0; bottom:0; left:0; width:100%; z-index:-1; pointer-events:none;
}
.cmenu::before { z-index:-2; background:#333; }
.cmenuOverF::before {
  background:none; background-image:
    linear-gradient(to right, #ddd, #333 100% ),
    linear-gradient(to left, #ddd, #333 100% ),
    linear-gradient(to left, #333, #333 100% );
  background-repeat: no-repeat;
  background-position:left top,right top,center top;
  background-size:20px 100%,20px 100%,calc(100% - 40px) 100%;
}
.cmenu .scrw { overflow:auto; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.cmenu ul {
  width:auto; display:inline-block; white-space: nowrap; position:relative;
  padding:10px 10px 20px; color:#fff; border-bottom: 1px solid #ccc;
}
.cmenuOverF ul::before {
  background-image:
    linear-gradient(to right, #333, #333 100% ),
    linear-gradient(to left, #333, #333 100% );
  background-repeat: no-repeat;
  background-position:left top,right top;
  background-size:20px 100%,20px 100%;
}
.cmenu li { margin:0 10px 0 0; display:inline-block; line-height: 1.4; }
.cmenu li:last-of-type { margin:0 20px 0 0; }
.cmenu li a {
  position: relative; display: block; padding: 0 5px;
  color: inherit; text-decoration: none; font-weight: bold;
  border-bottom:1px solid #333;
}
.cmenu li a.nowc { border-bottom:1px solid #fff; }

.breadCrumb { display:none; }
/*.fa-home:before{content:"\f015";}*/
main { display: block; padding: 0; margin-top: 100px; }
article { width: 100%; max-width: 1000px; margin: 0 auto; }
footer { background: #fff; padding: 10px 0 0; margin-top:20px; }
.ftr_logo { width: 100px; margin: 0 auto 10px; }
.copyright { font-family: 'Arial',sans-serif; font-size: 11px; text-align: center; }
footer .link { text-align:center; background:#333; margin-top:10px; }
footer .link li { display:inline-block; color:#fff; margin:5px 10px; font-size:80%; }

#pageTop {
  position:fixed; right:10px; bottom:20px; padding:3px;
  background:rgba(255,255,255,.9); border-radius:3px; border:1px solid #eee; }
#pageTop::before {
  display: inline-block; color:#ccc; line-height:1;
  font-family: "FontAwesome"; content:"\f0aa"; font-size:32px;
}

.section_inr { width: 100%; margin: 0 auto; border-bottom: solid 1px #ccc; }
.section_inr h2, .section_inr h3, .section_inr h4 { width: calc( 100% - 20px ); }
.main_visual { width: 100%; margin: 0; }

.indexPage h2 { margin-top:60px; }
.indexPage .section_inr h2:first-of-type { margin-top:20px; }
.topList { margin:auto 30px; }
@media only screen and (max-width:899px) {
  .topList { margin:auto 5px; }
  .topList .slick-prev { left:-5px; top:0; bottom:0; height:auto; width:20px;
    transform:none; background:none; background-image:linear-gradient(to left, rgba(200,200,200,.1), 70%, rgba(48,48,48,.5) 100% ); }
  .topList .slick-prev::before { content:none; }
  .topList .slick-prev[aria-disabled="true"] { display:none !important; }
  .topList .slick-next { right:-5px; top:0; bottom:0; height:auto; width:20px;
    transform:none; background:none; background-image:linear-gradient(to right, rgba(200,200,200,.1), 70%, rgba(48,48,48,.5) 100% ); }
  .topList .slick-next::before { content:none; }
  .topList .slick-next[aria-disabled="true"] { display:none !important; }
}
.indexPage .topList .category { display:none; }
.indexPage .topList.recommend .category { display:block; }
.topList .txt_area {
  display: block!important; display: -webkit-box!important;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; text-overflow: ellipsis;
  word-wrap:break-word; word-break:break-all; margin-bottom: 0.3em; height:3.2em;
  font-weight: bold; line-height: 1.6; font-size: 14px;
}
.indexPage .topList.recommend .txt_area {
  margin-top:20px;
}
.topList .litem { width:auto; margin:0 3px; }

.list {
  display: flex; flex-flow: row wrap; justify-content:flex-start;
  padding: 0 10px; margin: 0 0 10px;
}
.litem {
  width: 31%; margin: 1%; padding: 0;
  background: #fff; border: solid 1px #ccc; position:relative;
}
.litem a { color: inherit; text-decoration: none; display: block; }
.litem .img_area {
  width: 100%; padding-top:75%; overflow:hidden; position:relative;
}
.litem .img_area img {
  position:absolute; left:50%; top:50%; display: block; transform:translate(-50%,-50%);
}
.litem .category {
  position: absolute; right: -1px; top: -1px; display: inline-block; padding: 3px;
  line-height: 1; font-size: 12px; color: #fff; background: rgba(242,73,73,.6);
}
.litem .category_name {
  position: absolute; display: block; left:0; width:100%; bottom: 20%;
  line-height: 1; font-size: 18px; color: #444; text-align:center;
}

.litem .txt_area { padding: 5px 10px 10px; }
.litem .date { display:none; }
.litem p {
  display: block!important; display: -webkit-box!important;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; text-overflow: ellipsis;
  word-wrap:break-word; margin-bottom: 0.3em; min-height:3.2em;
  font-weight: bold; line-height: 1.6; font-size: 14px;
}

#pageList { transition:all .5s; }
#pageList.out { opacity:0; }
#pageNavi { text-align:center; margin:20px 0; font-size:12px; }
#pageNavi .btn { display:inline-block; text-align:center; vertical-align:middle;
  margin:0 .5em; padding:.4em 0 0; line-height:1.5; width:1.9em; height:2.4em;
  border:2px solid #fff; box-shadow:#ccc 1px 1px; border-radius:3px; cursor:pointer; }
#pageNavi .btn.btnNavi { font-size:80%; width:3em; height:3em; padding:.6em 0 0; }
#pageNavi .btn[data-page=""] { color:#aaa; cursor:auto; pointer-events:none; user-select:none; }
#pageNavi .btn.on { color:red; }

.txt_link { text-align: center; margin: 20px auto; }
.txt_link a { color: #f25555; }
@media only screen and (max-width:499px) {
  #globalNav .gmenu03 li a { font-size:14px; }
  .litem { width: 48%; }
}
@media (min-width: 768px) {
  .litem { width: 23%; }
  .litem .category_name { font-size: 24px; }
}
@media (min-width: 1000px) {
  .breadCrumb { display:block; background:#fff; padding:0 10px; margin-bottom:10px; }
  .breadCrumb a{ display:inline-block; margin:3px; font-size:80%; text-decoration:none; }
  .breadCrumb a::after{ content:">"; padding-left:3px; }
  .breadCrumb a:last-of-type::after{ content:none; }
  article > section:last-of-type .section_inr { border-bottom: none;}
}
.pt_post .chead .date { display:none; }

/*サブページ*/
.pt_static .section_inr { padding:0 5px; }
.pt_static .about { line-height:2; background:#fff; }
.pt_static .about p{ padding:5px; }
.pt_static dl { margin:1.5em 0; line-height:1.7; }
.pt_static dt { font-weight:bold; margin-top:1em; background:#fff; padding:5px; }
.pt_static dd { background:#fff; padding:5px; }
.pt_static .in_ti3 > p { text-indent:-1.5em; padding-left:1.5em; }
.pt_static .in_ti4 > p { text-indent:-2em; padding-left:2em; }
.pt_static .ml3 { padding-left:1.5em; }
.pt_static .ml4 { padding-left:2em; }
.pt_static table.cost { margin:10px 0 10px auto; text-align:center; }
.pt_static i { display:inline-block; }
@media only screen and (max-width:499px) {
  .pt_static table.cost { font-size:85%; }
  .pt_static table.cost td { padding:3px; }
}

.pageBack { width: 100%; max-width: 1000px; margin: 30px auto 0; }
.pageBack a {
  background:#fff; padding:3px 5px; border-radius:10px;
  line-height:1.3; font-size:80%; color:#666; cursor:pointer;
}
.pageBack a::before {
  display: inline-block; color:#aaa; margin-right:3px;
  font-family: "FontAwesome"; content:"\f55a";
}
