@charset 'utf-8';
/* 専用CSS */

/* 全体 */
div.w { margin:auto; max-width:100%; width:calc( 100% - 2.5em ); }
div.txt { padding:0 .25em; }
div.txt p { line-height:1.8; }

/* フォント関係 */
html, .gothic { font-family:'BIZ UDPGothic', sans-serif; }
.zen_g { font-family:'Zen Kaku Gothic New', sans-serif; }
.maru { font-family:'Zen Maru Gothic', sans-serif; }

/* 便利 */
.link-off { pointer-events:none; }

/* 見出し */
h1 { font-size:2em; font-weight:600; }
h2 { font-size:2em; font-weight:600; }
h3 { font-size:2em; font-weight:600; }

/* イントロ */
div.intro { position:relative; z-index:1; top:45px; height:calc( 50vh - 45px ); overflow:hidden; margin:0 0 5vh 0; } div.top div.intro { height:calc( 60vh - 45px ); }
div.intro div.table { height:100%; }
div.intro div.bgloop::after { content:''; background-color:rgba(255,255,255,0.15); display:block; position:absolute; top:0; left:0; z-index:1; height:calc( 100vh - 45px ); width:100%; }
div.top div.intro h2 { font-weight:700; display:flex; flex-direction:column; gap:2.5px; position:absolute; transform:translate(0,-50%); z-index:5; top:50%; left:0; height:auto; max-width:100%; padding:0 .75em; font-size:16px; }
div.top div.intro h2 span { display:inline-block; padding:0 5px; width:fit-content; }
div.intro.page { height:calc( 15vh - 45px );}

/* イントロ動く背景 */
div.intro li.splide__slide div { height:calc( 60vh - 45px ); width:100%; background-position:center center; background-size:cover; background-repeat:no-repeat; }
div.intro li.splide__slide div.intro_sli01 { background-image:url("../img/intro/intro_01.jpg"); }
div.intro div.bgloop .splide__arrow--prev, div.intro div.bgloop .splide__arrow--next, div.intro div.bgloop ul.splide__pagination { display:none; }

/* ヘッダ */
header { position:fixed; top:0; left:0; z-index:10; width:100%; }
header div.table { height:45px; }
header h1 { width:calc( 100% - 45px ); line-height:1; }
header h1 img { padding:5px; height:40px; width:auto; }

/* SNSアイコン */
div.sns_icon { position:absolute; z-index:11; top:50px; right:.5em; height:auto; width:auto; }
div.sns_icon ul li { margin:0 0 .5em 0; }
div.sns_icon ul li img { height:25px; width:25px; }

/* コンテンツ */
div.content { padding:calc( 45px + .5em ) 0 5vh 0; }
div.content.page { padding:5vh 0; }

/* トップページ */
div.about h1 { padding:0 0 .15em .25em; margin:0 0 .5em 0; font-weight:900; }
div.about ul { margin:1.5em 0; }
div.about ul li { margin:0 0 .75em 0; } div.about ul li:last-child { margin:0; }
div.about ul li a { display:block; padding:1em 1.5em; border-radius:.25em; position:relative; z-index:1; }
div.about ul li a::before { content:url("../img/icon/arrow.svg"); position:absolute; top:2em; right:.75em; transform:translate(0,-50%); }
div.news h1 { border-bottom:2px solid #89c3eb; margin:0; }
div.news ul li a { border:none; border-bottom:1px solid #ddd; display:flex; flex-direction:column; gap:5px; padding:10px; }
p.news_txt { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
div.news div.more { margin:1.25em 0 0 0; }
div.news div.more p { text-align:center; }
div.news div.more p a { display:block; padding:1em; margin:auto; border-radius:5em; width:90%; }
div.appeal h1 { position:relative; z-index:1; left:50%; transform:translate( -50%,0 ); text-align:center; font-size:1.5em; margin:0 0 1em 0; }
div.appeal h1::before, div.appeal h1::after { content:''; display:inline-block; height:1.5em; width:3px; border-radius:3px; }
div.appeal h1::before { transform:translate( -1em, .5em ) rotate(-30deg); }
div.appeal h1::after { transform:translate( 1em, .5em ) rotate(30deg); }
div.appeal ul li { margin:0 0 1em 0; } div.appeal ul li:last-child { margin:0; }
div.appeal ul li a { display:block; aspect-ratio:3/2; height:100%; width:100%; position:relative; z-index:1; padding:1em; border-radius:1em 0 1em 0; overflow:hidden; }
div.appeal ul li a h3 { position:absolute; z-index:2; top:50%; left:0; transform:translate(0,-70%); text-align:center; width:100%; }
div.appeal ul li a p { position:absolute; z-index:2; right:1em; bottom:1em; }

/* 更新情報 */
div.news_index ul li a { display:block; width:100%; position:relative; z-index:1; border-radius:1em 0 1em 0; }
div.news_index ul li a::before { content:''; display:inline-block; height:90%; width:95%; border:1px solid #fff; position:absolute; top:5%; left:2.5%; z-index:2; border-radius:1em 0 1em 0; }
div.news_index ul li div.news_img { height:100%; width:100%; border-radius:1em 0 1em 0; overflow:hidden; margin:0 0 .5em 0; }
div.news_index ul li div.news_img img { object-fit:cover; aspect-ratio:3/2; width:100%; opacity:.75; }
div.news_index ul li p { margin:0 .5em; }

/* 記事 */
div.pol { padding:1em .75em 1.5em .75em; border-radius:1em; }
div.pol h1 { font-size:1.2em; margin:0 0 .5em 0; padding:.5em 0; }
p.back { text-align:center; margin:1.25em 0 0 0; }
p.back a { display:block; padding:1em; margin:auto; border-radius:5em; width:90%; }

/* sns */
div.sns_btn { display:flex; justify-content:flex-end; align-items:flex-start; width:100%; flex-wrap:wrap; margin:0 0 .25em 0; }
div.sns_btn div.share-bt { margin:0 0 0 12px; }
div.sns_btn div.share-bt:nth-child('1') { margin:0; }

/* フッターのフォーム */
div.f_form { padding:1.5em 0; margin:5vh 0 0 0; }
div.f_form h2 { font-size:1.25em; font-weight:500; margin:0 0 .75em 0; text-align:center; }
p.f_button { text-align:center; margin:.75em 0; }
p.f_button a { display:block; width:80%; padding:1em; margin:auto; font-size:1.15em; border-radius:.25em; }

/* フォームページ */
div.form p.btn { display:flex; justify-content:space-around; align-items:flex-start; margin:1em 0 0 0; }
div.form p.btn input { padding:1em; width:49%; margin:auto; text-align:center; }
div.form h2 { font-size:1.25em; margin:0 0 1em 0; padding:0 0 0 .5em; font-weight:500; }
div.form h3 { font-size:1.25em; margin:0 0 .25em 0; padding:0 0 0 .25em; font-weight:500; }
div.form textarea, div.form input { padding:.5em; max-width:100%; width:100%; }
div.form div.privacy { border-radius:.25em; padding:1em 1.25em; margin:1em 0 0 0; }
div.form_list div.form_row { margin:0 0 .75em 0; }
div.form_list div.form_row p { margin:0 0 .25em 0 ; }
div.form_list div.form_row p::before { content:'◆'; margin:0 .15em 0 0; }
div.form_list div.form_row div.sel { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:flex-start; }
div.form_list div.form_row div.sel input { width:auto; margin:0 .15em 0 0; }
div.form_list div.form_row div.sel p { margin:0 .5em 0 0; vertical-align:middle; }
div.form_list div.form_row div.sel p::before { display:none;  }

/* フッタ */
footer { padding:1.25em 0 5vh 0; }
div.foot_pan { padding:.5em .75em; }
div.foot_pan ul { display:flex; justify-content:flex-start; align-items:flex-start; }
div.foot_pan ul li { font-size:.9em; vertical-align:middle; padding:0; text-align:center; }
div.foot_pan ul li::after { content:'｜'; display:inline-block; font-weight:600; }
div.foot_pan ul li:last-child::after { content:''; display:none; }
div.foot_pan ul li:first-child::before { content:url("../img/icon/home.svg"); margin:0 .15em 0 0; vertical-align:middle; display:inline-block; }
div.footer h2 { font-size:1.5em; margin:0 0 .25em 0; }
div.footer h2 span { font-size:0.8em; }
div.address_tel p { font-size:.9em; }
p.copy { text-align:center; margin:2em 0 0 0; font-size:.8em; }

@media screen and (min-width: 769px) {
/* PC用レイアウト */

/* 全体 */
div.w { max-width:1024px; width:90%; }
div.txt { padding:0 .5em; }

/* ナビゲーション */
div.main_nav nav ul { display:flex; justify-content:space-around; align-items:flex-start; }
div.main_nav nav ul li { font-size:0.9em; }

/* イントロ動く背景 */
div.intro li.splide__slide div.intro_sli01 { background-image:url("../img/intro/intro_01.jpg"); }
div.intro li.splide__slide div.intro_sli02 { background-image:url("../img/intro/intro_02.jpg"); }
div.intro li.splide__slide div.intro_sli03 { background-image:url("../img/intro/intro_03.jpg"); }

/* ヘッダ */
header { position:fixed; top:5px; left:50%; transform:translate(-50%, 0); max-width:auto; width:calc( 100% - 2em ); border-radius:.25em; }
header div.h_all div.h_box { padding:.5em 1em; }
header div.h_all div.h_box:last-child { padding:.75em 0em; border-radius:0 0 .25em .25em; }

/* SNSアイコン */
div.sns_icon { top:.5em; right:1em; height:45px; }
div.sns_icon ul { display:flex; justify-content:flex-end; align-items:center; }
div.sns_icon ul li { margin:0 0 0 1em; }
div.sns_icon ul li img { height:40px; width:40px; }

/* イントロ */
div.intro { top:0; height:50vh; margin:0 0 calc( 10vh - 130px ) 0; } div.top div.intro { height:100vh; }
div.intro div.bgloop::after { height:100vh; }
div.intro div.intro_icon { top:130px; right:1.5em; }
div.intro h2 { margin:130px 0 0 0; }
div.top div.intro h2 { top:50vh; left:50%; transform:translate(-50%,-50%); padding:0; margin:auto; font-size:1.8em; width:fit-content; }
div.top div.intro div.intro_img { transform:scale( 75% ) translate(25%,25%); right:15vw; }
div.intro.page { margin:0 0 50px 0; height:40vh; }


/* イントロ動く背景 */
div.intro li.splide__slide div { height:100vh; }

/* コンテンツ */
div.content { padding:calc( 130px + 1em ) 0 5vh 0; }
div.content.page { padding:5vh 0; }

/* トップページ */
div.about ul { display:flex; justify-content:space-between; align-items:flex-start; }
div.about ul li { margin:0 .75em 0 0; width:50%; } div.about ul li:last-child { margin:0; }
div.news ul { display:flex; flex-direction:column; }
div.news ul li a { align-items:center; flex-direction:row; gap:20px; padding:15px; }
p.news_txt { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; -webkit-line-clamp:unset; -webkit-box-orient:unset; white-space:nowrap; }
div.news div.more p { text-align:right; }
div.news div.more p a { display:inline-block; width:auto; padding:1em 7.5vw; }
div.appeal ul { display:flex; justify-content:space-around; align-items:flex-start; flex-wrap:wrap; }
div.appeal ul li { width:32.5%; margin:auto; }
div.appeal ul li h3 { font-size:1.5em; }
div.appeal ul li p { font-size:.8em; }

/* 更新情報 */
div.news_index { }
div.news_index ul { display:flex; justify-content:flex-start; align-items:flex-start; flex-wrap:wrap; }
div.news_index ul li { width:50%; margin:0; padding:0 1em 1em 0; }

/* 記事 */
div.pol { padding:1.5em 2.25em 2em 2.25em; }
div.pol h1 { font-size:1.5em; }
p.back a { width:40%; }

/* フッターのフォーム */
div.f_form {  }
div.f_form div.form_content { display:flex; justify-content:space-around; align-items:baseline; }
div.f_form div.form_content div.form_box { width:50%; padding:0 1em 1.25em 1em; }

/* フッタ */
footer {  }
footer div.foot_main { display:flex; justify-content:flex-start; align-items:flex-start; width:100%; }
footer div.foot_main div.foot_box { width:60%; }
footer div.foot_main div.foot_box:first-child { width:calc( 40% - 1em ); padding:0 1em 0 0; }
footer div.foot_main div.foot_box ul { margin:.5em 0 0 0; }

}
