@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; }



/* フォント */
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; }
div.mokuji_txt p { 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; }
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 ============================= */

.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/form/blank_link.png);
background-position: center;
background-size: contain;
}

/* 汎用 */
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 2.5vh 0; }
div.intro div.table { height:260px; }
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.slide { height:45vh; width:100%; }
div.slide div.splide ul li img { height:45vh; width:100%; object-fit:cover; object-position:top center; }
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.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 p { line-height:1.8; }
div.pol p.date { font-size:90%; margin:1.25em 0 0 0; }
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:space-around; align-items:center; margin:0 0 1.5em 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%; }

@media only screen and (min-width:600px) {
/* タブレット */

/* 汎用 */
div.w { padding:auto; width:85%; }

/* イントロ */
div.intro { margin:10vh 0 5vh 0; }
div.intro div.table div.tcell { padding:2.5vh 0; }
div.intro.cate_slide div.table div.tcell { padding:0 }
div.pg_intro_img img { max-height:30vh; }

/* スライダー */
div.slide { height:50vh; }
div.slide div.splide ul li img { height:50vh; }

/* お問い合わせボタン */
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:space-around; align-items:flex-start; }
div.mokuji ul li { width:30%; }

/* フッタ */
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; }

}

@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:20vh 0 5vh 0; }

/* お問い合わせボタン */
div.otoiawase { top:calc( 15vh + 1.5em ); }

/* フッタ */
footer ul.footer_nav { max-width:1025px; width:80%; }
footer ul.footer_nav li a { padding:0 .5em; }

}
