@charset 'utf-8';

/* ============================= ▽ リセットCSS ▽ ============================= */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:3px solid Highlight;outline-offset:2px;scroll-margin-block:10vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}


/* ============================= ▽ ベースCSS ▽ ============================= */


/* 汎用 */
html { position:relative; z-index:1; min-height:100vh; height:100%; max-width:100vw; width:100%; overflow-x:hidden; text-rendering:optimizeLegibility; }
h1, h2, h3, li, dt, dd, p { line-height:1.61; font-weight:400; }
.center { text-align:center; } .right { text-align:right; } .left { text-align:left; }
strong { font-weight:bold; }
img { height:auto; max-width:100%; width:auto; }
div.clear { clear:both; }
.sp_br{display:block;}

/* フォント */
html, h1, h2, h3, li, dt, dd, p { font-family:'Noto Sans JP', sans-serif; font-size:14px; }
.min { font-family:'BIZ UDPMincho', serif; }


/* レスポンシブ設定 */
.sp { display:block; visibility:visible; }
.tab { display:none; visibility:hidden; }
.pc { display:none; visibility:hidden; }

/* 縦配置 */
div.table { display:table; width:100%; }
div.tcell { display:table-cell; vertical-align:middle; }

/* リンク */
a { text-decoration:none; }
a:link, a:visited, a:active, a:hover { transition:.3s; }

/* スクロールバー */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-thumb { border-radius:6px; }
@-moz-document url-prefix() { html { scrollbar-width:thin; } }

/* フッタ */

@media only screen and (min-width:600px) {
/* タブレット */

/* フォント */
html, h1, h2, h3, li, dt, dd, p { font-size:16px; }

/* レスポンシブ設定 */
.sp { display:none; visibility:hidden; }
.tab { display:block; visibility:visible; }
.pc { display:none; visibility:hidden; }
}

@media only screen and (min-width:1025px) {
/* PC */

/* フォント */
html, h1, h2, h3, li, dt, dd, p { font-size:18px; }

/* レスポンシブ設定 */
.sp { display:none; visibility:hidden; }
.tab { display:none; visibility:hidden; }
.pc { display:block; visibility:visible; }

}


/* ============================= 色設定CSS ============================= */

/* 汎用 */
html { background-color:#fff; color:inherit; }

/* ドラッグ背景色 */
::selection { background-color:#000; color:#fff; }

/* スクロールバー */
::-webkit-scrollbar-track { background-color:transparent; }
::-webkit-scrollbar-thumb { background-image:linear-gradient( #000, #000 ); }
@-moz-document url-prefix() { html { scrollbar-color:#000 transparent; } }

/* ヘッダ */
header { background-image:url("../img/header.png"); }

/* お問い合わせ */
div.otoiawase a:link, div.otoiawase a:visited { border:2px solid #333; background-color:#fff; }
div.otoiawase a:active, div.otoiawase a:hover { border:2px solid #ccc; }

/* カテゴリ */
div.mokuji_txt h2 {
	border-bottom:1px solid #ccc;
  display: -webkit-box;
  -webkit-line-clamp: 2;         /* 2行で切る */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 4em;                   /* 高さを固定（行の高さ×行数） */
  line-height: 1.85em;            /* 行の高さ：1.5 × 2 = 3em */
}
div.mokuji_txt p {
		  display: -webkit-box;
  -webkit-line-clamp: 2;         /* 2行で切る */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 4em;                   /* 高さを固定（行の高さ×行数） */
  line-height: 1.85em;            /* 行の高さ：1.5 × 2 = 3em */
	color:#666;
}


div.mokuji_txt p.m_cate, div.mokuji_txt p.m_date { color:#333; }

/* 記事 */
div.pol article h1 { border-bottom:1px solid #333; }
div.pol iframe { aspect-ratio:16/9; margin:20px 0; height:auto; max-width:100%; width:100%; }
p.bk_list a:link, p.bk_list a:visited { border:1px solid #333; }
p.bk_list a:active, p.bk_list a:hover { background-color:rgba( 0,0,0,0.15 ); }

/* フッタ */
footer ul.footer_nav li { border-right:1px solid #ccc; border-bottom:1px solid #ccc; }
footer ul.footer_nav li:nth-child(even) { border-right:none; }
footer ul.footer_nav li:first-child, footer ul.footer_nav li:nth-child(2) { border-top:1px solid #ccc; }

@media only screen and (min-width:600px) {
/* タブレット */

/* お問い合わせ */
div.otoiawase a:link, div.otoiawase a:visited { border:none; background-color:#0f8539; color:#fff; }
div.otoiawase a:active, div.otoiawase a:hover { border:none; background-color:#fcc800; }

/* フッタ */
footer ul.footer_nav li { border-right:none; border-bottom:none; }
footer ul.footer_nav li:first-child, footer ul.footer_nav li:nth-child(2) { border-top:none; }
footer ul.social { border-bottom:1px solid #ccc; }
footer ul.footer_nav li a { border-right:1px solid #ccc; }
footer ul.footer_nav li:last-child a { border-right:none; }

}

@media only screen and (min-width:1025px) {

}

/* ============================= 個別CSS ============================= */
/* ソーシャルリンク */
.sns_share{
    width: 220px;
    margin: 40px auto;}
.sns_share p{
    font-weight: 700;
    font-size: 16px;
    text-align: center;
}
.social_link li{
    margin: 20px auto 0;}
.social_link li img { height:32px; width:auto; }
.social_link { display:flex; }

/* 汎用 */
div.w { padding:0 1.5em; margin:auto; width:auto; }
div.content { margin:0 0 5vh 0; }

/* ヘッダ */
header { background-repeat:no-repeat; background-size:cover; background-position:bottom center; position:fixed; z-index:20; top:0; left:0; height:10vh; width:100%; }
header div.table { height:10vh; }
header img { height:auto; width:250px; }

/* イントロ */
div.intro { margin:10vh 0 5vh 0;}
div.intro h1 { font-size:250%; font-weight:500; text-align:center; }
div.intro p { font-size:120%; font-weight:600; }
div.pg_intro_img img { margin:auto; }

div.intro2 { padding:20vh 0 5vh 0;}
div.intro2 h1 { font-size:250%; font-weight:500; text-align:center; }
div.intro2 p { font-size:120%; font-weight:600; }


/* スライダー */
div.slide {width:100%; }
div.slide div.splide ul li img { height:auto; width:100% }
div.slide div.splide__arrows button { display:none; }

/* お問い合わせボタン */
div.otoiawase { position:fixed; z-index:19; right:1em; bottom:1em; }
div.otoiawase a { display:inline-block; height:36px; width:36px; border-radius:50%; position:relative; z-index:1; }
div.otoiawase a img { height:auto; width:24px; position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%); }

/* カテゴリ */
div.title_category h1 { font-size:200%; font-weight:500; text-align:center; }
div.title_category p { font-size:120%; }
div.mokuji ul { display:flex; justify-content:flex-start; align-items:flex-start; flex-wrap:wrap; }
div.mokuji ul li { width:50%; }
div.mokuji ul li a { display:block; padding:0 .25em; }
div.mokuji ul li a:link, div.mokuji ul li a:visited { opacity:1; }
div.mokuji ul li a:active, div.mokuji ul li a:hover { opacity:0.5; }
div.mokuji_ph { margin:0 0 .5em 0;  }
div.mokuji_ph img { aspect-ratio:3/2; object-fit:cover; width:100%; }
div.mokuji_txt p.m_cate, div.mokuji_txt p.m_date { font-size:80%; }
div.mokuji_txt p.m_cate { margin:0 0 .5em 0;}
div.mokuji_txt p.m_date { margin:.5em 0 1.5em 0; }
div.mokuji_txt h2 { font-weight:500; padding:0 0 .5em 0; margin:0 0 .5em 0; }
div.pager { margin:20px auto; }
#pagenation:after{content:".";display:block;clear:both;height:0;visibility:hidden;}#pagenation #pagenation-list li{float:left;background:none;list-style:none;padding:0;margin:0 5px 5px 0;}#pagenation #pagenation-list li:last-child{margin-left:0;}#pagenation #pagenation-list a,#pagenation #pagenation-list span{background:none;display:block;margin:0;padding:4px 9px;font-size:12px;line-height:1.5;text-align:center;}#pagenation #pagenation-list .current{background:#DEDEDE;color:#696969;border:1px solid #E3E3E3;}#pagenation #pagenation-list .omit{padding:4px 2px;color:#777777;}#pagenation #pagenation-list li a{color:#333333;border:1px solid #6B6B6B;text-decoration:none;}#pagenation #pagenation-list a:hover{background:#F0F0F0;color:#000000;border:1px solid #121212;text-decoration:none;}

/* 記事 */
div.pol p.pol_cate { font-size:90%; font-weight:500; }
div.pol article h1 { font-size:150%; font-weight:600; padding:0 0 .5em 0; margin:0 0 .75em 0; }
div.pol article h2, div.pol article h3 { margin:0 0 10px 0; clear:both; font-size:140%; font-weight:600; }
div.pol article p { text-indent:1rem; line-height:1.8; text-align:justify; }
div.pol article p.wp-caption-text { text-indent:0; text-align:center; }
div.pol article img { margin:auto; height:auto; max-width:300px; width:auto; }
div.pol article .aligncenter, div.pol article .alignleft, div.pol article .alignright { margin:15px auto; text-align:center; width:auto; }
div.pol article .wp-caption-text { margin:5px 0; }
div.pol p.date { font-size:90%; margin:1em 0; text-align:right; }
p.bk_list { font-size:90%; margin:5vh 0 0 0; text-align:right; }
p.bk_list a { padding:.25em 5em; }




/* フッタ */
footer { padding:1.5em 0 2.25em 0; }
ul.social { display:flex; justify-content:flex-start; align-items:center; margin:0 0 1.5em 0; }
ul.social li { margin:0 10px 0 0;}
ul.social li img { height:60px; width:auto; }
footer ul.footer_nav { display:flex; justify-content:flex-start; align-items:flex-start; flex-wrap:wrap; }
footer ul.footer_nav li { width:50%; text-align:center; font-size:90%; }
footer ul.footer_nav li a { display:block; width:100%; padding:.75em 0; }
footer h3 { font-size:120%; font-weight:500; margin:1em 0 .75em 0; }
footer p.copy { font-size:80%; }

.blank_link {
position: relative;
z-index: 1;
}

.blank_link ::before {
position: absolute;
z-index: 1;
top: 50%;
transform: translate(-30px,-50%);
content: "";
display: inline-block;
background-repeat:no-repeat;
width: 20px;
height: 20px;
background-image: url(../img/blank_link.png);
background-position: center;
background-size: contain;
}



@media only screen and (min-width:600px) {
/* タブレット */

/* 汎用 */
div.w { padding:auto; width:85%; }






/* お問い合わせボタン */
div.otoiawase { top:calc( 10vh + 1.5em ); right:0; bottom:inherit; }
div.otoiawase a { height:auto; width:auto; border-radius:0; padding:1em .75em; }
div.otoiawase a p { writing-mode:vertical-rl; }

/* カテゴリ */
div.title_category h1 { font-size:250%; }
div.title_category p { font-size:150%; }
div.mokuji ul { display:flex; justify-content:flex-start; align-items:flex-start; }
div.mokuji ul li { padding:0 5px; width:33%; }

/* 記事 */
div.pol article img { max-width:250px; width:auto; }
div.pol article .alignleft { float:left; margin:10px 10px 10px 0; }
div.pol article .alignright { float:right; margin:10px 0 10px 10px; }

/* フッタ */
ul.social { justify-content:flex-start; padding:0 0 1em 0; margin:0 0 1em 0; }
ul.social li { margin:0 1em 0 0;  }
ul.social li:last-child { margin:0; }
ul.social li img { height:75px; }
footer ul.footer_nav { margin:auto; padding:0 1.5em; width:85%; }
footer ul.footer_nav li { width:auto; font-size:75%; line-height:2; }
footer ul.footer_nav li a { padding:0 .25em; margin:0 1em 0 0; }
footer ul.footer_nav li:last-child a { margin:0; }

.blank_link {
    position: relative;
    z-index: 1;
    padding-left: 30px;
    }
    

.blank_link ::before {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 10px;
    transform: translate(0,-50%);
    content: "";
    display: inline-block;
    background-repeat:no-repeat;
    width: 20px;
    height: 20px;
    background-image: url(../img/blank_link.png);
    background-position: center;
    background-size: contain;
    }

}

@media only screen and (min-width:1025px) {
/* PC */

/* 汎用 */
div.w { max-width:1025px; width:80%; }

/* ヘッダ */
header { height:15vh; min-height:150px; }
header div.table { height:15vh; min-height:150px; }
header img { width:500px; }

/* イントロ */
div.intro { margin:150px 0 60px 0; }

/* お問い合わせボタン */
div.otoiawase { top:calc( 15vh + 1.5em ); }

/* 記事 */
div.pol article img { max-width:100%; width:auto; }

/* フッタ */
footer ul.footer_nav { max-width:1025px; width:80%; }
footer ul.footer_nav li a { padding:0 .5em; }


}


.m_cate{
	margin-left:-1em;
}

