@charset "utf-8";

/*
Theme Name: simplehp
Author: arktain
Author URI: https://www.arktain.jp/
*/

/* =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;}

* {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-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;
background:#fff;
line-height:1.75;
}
.meirio{font-family: "メイリオ" ;}


/* リンク設定
------------------------------------------------------------*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
transition:all 0.3s;
color:#000;
}

a:hover, a:active{
outline: none;
color:#c7b299;
}


/**** 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{
overflow:hidden;
background:#fff;
}

#content{
width:100%;
padding:0;
margin:0px auto 0;

}

#sidebar{
width:300px;
float:left;
margin:30px 20px 0 0;
}








/* トップページ　メイン画像
----------------------------------*/
.top_hero { width:100%; background:linear-gradient(90deg, #f7fbff 0%, #ffffff 48%, #eef6ff 100%); overflow:hidden; }

.top_hero_inner { width:min(90%, 1200px); min-height:640px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:50px; }


.top_hero_text { position:relative; z-index:2; padding:60px 0; }
.top_hero_text h1 { margin:0 0 28px; color:#061a3f; font-size:clamp(38px, 3.75vw, 50px); line-height:1.35; letter-spacing:0.03em; font-weight:800; }
.top_hero_text p { margin:0; color:#061a3f; font-size:clamp(17px, 1.3vw, 20px); line-height:1.8; font-weight:700; }
.top_hero_text p span { color:#1261d8; }
.top_hero_btns { display:flex; align-items:center; gap:28px; margin-top:34px; }
.top_hero_btn { display:flex; align-items:center; justify-content:center; min-width:260px; height:58px; border-radius:8px; background:#1261d8; color:#fff; font-size:17px; font-weight:700; text-decoration:none; box-shadow:0 12px 24px rgba(18, 97, 216, 0.25); transition:opacity 0.3s, transform 0.3s; }
.top_hero_btn:hover { opacity:0.9; transform:translateY(-1px); }
.top_hero_btn span { position:relative; padding-left:30px; }
.top_hero_btn span::before { content:""; position:absolute; left:0; top:50%; width:20px; height:14px; transform:translateY(-50%); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M1 1h20v14H1z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='m1 2 10 8 10-8'/%3E%3C/svg%3E") center/contain no-repeat; }
.top_hero_note { position:relative; margin:0; padding-left:24px; color:#061a3f; font-size:15px; font-weight:700; white-space:nowrap; }
.top_hero_note::before { content:""; position:absolute; left:0; top:50%; width:16px; height:16px; transform:translateY(-50%); border:2px solid #1261d8; border-radius:50%; }
.top_hero_note::after { content:""; position:absolute; left:5px; top:50%; width:5px; height:8px; border-right:2px solid #1261d8; border-bottom:2px solid #1261d8; transform:translateY(-58%) rotate(45deg); }
.top_hero_visual { display:flex; align-items:center; justify-content:flex-end; width:100%; margin:0; }

.top_hero_visual picture { display:block; width:100%; }

.top_hero_visual img { display:block; width:100%; max-width:100%; height:auto; object-fit:contain; }
@media screen and (max-width: 900px) {
.top_hero_inner { min-height:auto; grid-template-columns:1fr; gap:24px; padding:48px 0 0; }
.top_hero_text { padding:0; }
.top_hero_btns { flex-direction:column; align-items:flex-start; gap:16px; margin-top:28px; }
.top_hero_visual { width:100%; margin:0; justify-content:center; }
.top_hero_visual img { max-width:100%; }
}
@media screen and (max-width: 480px) {
.top_hero { background:linear-gradient(180deg, #f7fbff 0%, #ffffff 55%, #eef6ff 100%); }
.top_hero_inner { width:min(92%, 1200px); padding-top:38px; }
.top_hero_text h1 { margin-bottom:20px; font-size:clamp(32px, 8vw, 44px); }
.top_hero_text p { font-size:16px; line-height:1.75; }
.top_hero_btn { width:100%; min-width:0; height:54px; font-size:16px; }
.top_hero_note { font-size:14px; }
}
.post{margin:0 auto;padding:0;}




/* フッター
*****************************************************/
.site_footer { padding:30px 0 18px; background:linear-gradient(135deg, #031635 0%, #062252 100%); }
.site_footer_inner { width:min(90%, 1200px); margin:0 auto; display:grid; grid-template-columns:1fr auto 1fr; align-items:start; gap:40px; }
.footer_logo a { display:block; margin-bottom:6px; color:#fff; font-size:40px; font-weight:800; line-height:1; letter-spacing:-0.03em; text-decoration:none; }
.footer_logo p { margin:0; color:rgba(255, 255, 255, 0.72); font-size:13px; line-height:1.7; font-weight:600; }
.footer_nav ul { display:grid; grid-template-columns:repeat(2, auto); gap:10px 30px; margin:0; padding:0; list-style:none; }
.footer_nav a { color:#fff; font-size:14px; line-height:1.6; font-weight:700; text-decoration:none; transition:opacity 0.3s; }
.footer_nav a:hover { opacity:0.7; }
.footer_contact { text-align:right; }
.footer_mail { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:0 0 8px; color:#fff; font-size:24px; line-height:1.4; font-weight:700; }
.footer_mail i { font-size:22px; }
.footer_time { margin:0; color:rgba(255, 255, 255, 0.72); font-size:13px; line-height:1.7; font-weight:600; }
.footer_copy { margin:22px 0 0; color:rgba(255, 255, 255, 0.55); font-size:12px; line-height:1.6; font-weight:500; text-align:center; }

@media screen and (max-width: 1000px) {
.site_footer_inner { grid-template-columns:1fr; gap:28px; text-align:center; }
.footer_logo a { font-size:34px; }
.footer_nav ul { justify-content:center; grid-template-columns:repeat(2, auto); }
.footer_contact { text-align:center; }
.footer_mail { justify-content:center; font-size:20px; }
}

@media screen and (max-width: 560px) {
.site_footer { padding:26px 0 16px; }
.site_footer_inner { width:min(92%, 1200px); gap:24px; }
.footer_logo a { font-size:28px; }
.footer_logo p { font-size:12px; }
.footer_nav ul { grid-template-columns:1fr; gap:8px; }
.footer_nav a { font-size:13px; }
.footer_mail { flex-direction:column; gap:6px; font-size:17px; }
.footer_mail i { font-size:18px; }
.footer_time { font-size:12px; }
}


/* 1099px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 1199px){

}

/* 1099px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 999px){

}

/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){

}	


