@charset "utf-8";

/*
Theme Name: mukaibou
Author: arktain
Author URI: https://www.arktain.jp/
*/

@font-face { font-family: 'Noto Serif JP'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-jp-v33-japanese_latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif JP'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/noto-serif-jp-v33-japanese_latin-500.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif JP'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/noto-serif-jp-v33-japanese_latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif JP'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/noto-serif-jp-v33-japanese_latin-700.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif JP'; font-style: normal; font-weight: 800; font-display: swap; src: url('fonts/noto-serif-jp-v33-japanese_latin-800.woff2') format('woff2'); }
@font-face { font-family: 'Noto Serif JP'; font-style: normal; font-weight: 900; font-display: swap; src: url('fonts/noto-serif-jp-v33-japanese_latin-900.woff2') format('woff2'); }

@font-face { font-family: 'Noto Sans JP'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/noto-sans-jp-v56-latin-regular.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans JP'; font-style: normal; font-weight: 500; font-display: swap; src: url('fonts/noto-sans-jp-v56-latin-500.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans JP'; font-style: normal; font-weight: 600; font-display: swap; src: url('fonts/noto-sans-jp-v56-latin-600.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans JP'; font-style: normal; font-weight: 700; font-display: swap; src: url('fonts/noto-sans-jp-v56-latin-700.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans JP'; font-style: normal; font-weight: 800; font-display: swap; src: url('fonts/noto-sans-jp-v56-latin-800.woff2') format('woff2'); }
@font-face { font-family: 'Noto Sans JP'; font-style: normal; font-weight: 900; font-display: swap; src: url('fonts/noto-sans-jp-v56-latin-900.woff2') format('woff2'); }

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus{outline: 0;}
img{vertical-align:top;}
a img:hover{opacity:.8;}
table{width:100%;border-collapse: separate;border-spacing: 0;}
td{vertical-align: middle;}
caption, th, td{font-weight: normal;text-align: left;}
blockquote:before, blockquote:after, q:before, q:after{content: "";}
blockquote, q{quotes: "" "";}
a img{border: 0;transition:all 0.3s;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display: block;}

*, *::before, *::after{-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}

body{font-family: "Noto Sans JP", sans-serif;font-size:18px;color:#000;-webkit-text-size-adjust: none;text-size-adjust: none;background:#fff;line-height:1.7;}

/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after, .post:after, ul.post li:after{content:""; display: table;clear: both;}
nav .panel, nav#mainNav, .newsTitle, .bg, .post, ul.post li{zoom: 1;}


/* レイアウト
------------------------------------------------------------*/
#wrapper{margin:0 auto 0;width:100%;overflow:hidden;}

.inner{margin:0 auto 0;width:min(90%,1200px);position:relative;}

#header{background:#fff;}

#content{width:100%;padding:0;margin:0 auto;}

/* 404
------------------------------------------------------------*/
.error404_main{width:100%;overflow:hidden;background:#fff;}
.error404_section{display:flex;align-items:center;justify-content:center;min-height:600px;padding:100px 20px;}
.error404_inner{width:100%;max-width:1200px;margin:0 auto;text-align:center;}
.error404_number{margin-bottom:10px;color:#edf3f7;font-size:clamp(100px,14vw,190px);font-weight:700;line-height:.8;letter-spacing:.03em;}
.error404_title{position:relative;margin:0 0 40px;padding-bottom:22px;color:#222;font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1.4;letter-spacing:.06em;}
.error404_title::after{position:absolute;bottom:0;left:50%;width:60px;height:4px;background:#0072bc;content:"";transform:translateX(-50%);}
.error404_text{color:#444;font-size:17px;line-height:2;}
.error404_text p{margin:0;}
.error404_button_wrap{display:flex;justify-content:center;margin-top:45px;}
.error404_button{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;width:100%;max-width:320px;min-height:64px;padding:15px 30px;border:2px solid #0072bc;border-radius:4px;background:#0072bc;color:#fff;font-size:17px;font-weight:700;line-height:1.4;text-decoration:none;transition:background-color .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease;}
.error404_button i{font-size:14px;transition:transform .3s ease;}
.error404_button:hover{background:#fff;color:#0072bc;transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,114,188,.2);}
.error404_button:hover i{transform:translateX(5px);}
.error404_button:focus-visible{outline:3px solid rgba(0,114,188,.35);outline-offset:4px;}
@media screen and (max-width:1199px){
.error404_section{min-height:550px;padding:90px 30px;}
}
@media screen and (max-width:749px){
.error404_section{min-height:500px;padding:70px 20px;}
.error404_number{margin-bottom:15px;font-size:100px;}
.error404_title{margin-bottom:30px;padding-bottom:18px;font-size:26px;}
.error404_text{font-size:15px;line-height:1.9;text-align:left;}
.error404_text p{margin-bottom:8px;}
.error404_text p:last-child{margin-bottom:0;}
.error404_button_wrap{margin-top:35px;}
.error404_button{max-width:280px;min-height:58px;font-size:16px;}
}

/* スクロールフェードイン
------------------------------------------------------------*/
.fade{opacity: 0;transition: opacity 1s;}
.fade.is-visible{opacity: 1;}


/* トップページ　メイン画像
----------------------------------*/
.post{margin:0 auto;padding:0;}
.top_hero{position:relative;width:100%;min-height:450px;overflow:hidden;background-color:#e8f2f8;background-image:url("/wp-content/themes/mukaibou/img/top_hero.webp");background-repeat:no-repeat;background-position:center center;background-size:cover;will-change:transform;}
.top_hero::before{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 18%,rgba(255,255,255,.65) 30%,rgba(255,255,255,.08) 47%,rgba(255,255,255,0) 62%);content:"";pointer-events:none;}
.top_hero_inner{position:relative;z-index:2;display:flex;align-items:center;width:min(1200px,calc(100% - 40px));min-height:450px;margin:0 auto;}
.top_hero_content{width:460px;padding:45px 0;}
.top_hero_lead{margin:0 0 8px;color:#111;font-size:clamp(20px,2vw,27px);font-weight:700;line-height:1.5;letter-spacing:.05em;}
.top_hero_title{margin:0;color:#111;font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1.35;letter-spacing:.04em;}
.top_hero_green{color:#07813c;}
.top_hero_orange{color:#f26322;}
.top_hero_text{margin:20px 0 0;color:#222;font-size:15px;font-weight:500;line-height:1.8;letter-spacing:.03em;}
@media screen and (max-width:1199px){
.top_hero{min-height:420px;background-position:58% center;}
.top_hero::before{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 30%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.05) 72%);}
.top_hero_inner{width:calc(100% - 60px);min-height:420px;}
.top_hero_content{width:440px;padding:40px 0;}
.top_hero_title{font-size:clamp(34px,4.3vw,46px);}
}
@media screen and (max-width:749px){
.top_hero{min-height:560px;background-image:url("/wp-content/themes/mukaibou/img/top_hero_sp.webp");background-position:center top;background-size:cover;}
.top_hero::before{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.05) 42%,rgba(255,255,255,.88) 70%,rgba(255,255,255,.98) 100%);}
.top_hero_inner{align-items:flex-end;width:100%;min-height:560px;padding:0 20px;}
.top_hero_content{width:100%;padding:35px 0 30px;}
.top_hero_lead{margin-bottom:5px;font-size:18px;}
.top_hero_title{font-size:clamp(31px,9.7vw,40px);line-height:1.4;letter-spacing:.02em;}
.top_hero_text{margin-top:17px;font-size:14px;line-height:1.8;}
}
@media screen and (max-width:374px){
.top_hero_title{font-size:29px;}
.top_hero_text{font-size:13px;}
}




/* フッター
*****************************************************/