/* 基本 */
body {margin: 0;font-family: "Yu Gothic", sans-serif;background: #f5f7fa;
color: #333;}

* a img{border:0;}

.ctr{text-align:center;}

br.clear{clear:both;}

.container {max-width: 960px;margin: 0 auto;padding: 20px;background: #fff;}

strong{color:#1F3A5F;text-decoration:underline #ebeb00 3px;font-weight:bold;}

h2{margin:0;padding:0;}

.container a{color:#1f3a5f;}
.container a:hover{color:#1f3a5f;text-decoration:none;}


/* ヘッダー共通 */
.site-header {background: #2d4666;}

/* ロゴ＋インコ配置 */
.header-visual {position: relative;height: 30px;max-width: 1200px;margin: 0 auto;}

/* 中央ロゴ */
.main-logo {display: block;margin: 0 auto;height: 30px;}

/* インコ共通 */
.bird {position: absolute;bottom: -40px;}

/* 左右配置 */
.bird-left {left: 0;height: 68px;}

.bird-right {right: 0;height: 80px;}


@media (min-width: 768px) {
.bird{bottom: -50px;}
/* 左右配置 */
.bird-left{left:-30px;}

.bird-right{right:-30px;}}


@media (max-width: 767px) {

.header-visual {height: 30px;}

.main-logo {width:167px;height: 18px;}

.bird {height: 40px;opacity: 0.9;bottom:-3px}
}


/* 上段：ロゴ */
.header-top{text-align: center;padding:0;line-height: 0;}

.logo img {display: block;margin: 0 auto;}

/* 下段：ナビ */
.header-bottom {background: #2d4666;border-top: none;}

.header-inner {max-width: 1200px;margin: 0 auto;padding: 0;display: flex;
align-items: center;justify-content: center;
height: 60px;}

/* ナビ共通 */
.nav {z-index: 1000;}

.nav ul {list-style: none;margin: 0;padding: 0;display: flex;/*gap: 5px;*/
align-items: center;justify-content: center;flex-wrap: nowrap;}

.nav li {white-space: nowrap;}

.nav a {display: flex;align-items: center;height: auto;
padding: 16px 18px;color: #fff;
text-decoration: none;font-weight: bold;position: relative;}

/* 現在ページ */
.nav .current a {color: #6fb6ff;}

/* ホバー下線 */
.nav a::after {content: "";position: absolute;left: 0;
bottom: -1px;width: 100%;height: 4px;background: #4DA3FF;
transform: scaleX(0);transition: transform 0.25s ease;}

.nav a:hover::after, .nav .current a::after {transform: scaleX(1);}


/* ハンバーガー */
.hamburger {margin-left:auto;
width: 32px;height: 26px;border: none;background: none;cursor: pointer;
display: none;flex-direction: column;justify-content: space-between;
position: relative;z-index: 1001;}

.hamburger span {display: block;height: 3px;background: #fff;border-radius: 2px;}


/* 料金プラン */

.zero{margin:10px 0 0 0;padding:0;}

.pricing {padding: 0px 20px;/*background: #f5f7fa;*/text-align: center;}

.pricing h2 {font-size: 30px;margin-bottom: 15px;color: #1F3A5F;}

.pricing-lead {margin-bottom: 40px;color: #555;}

.pricing-table {display: grid;grid-template-columns: repeat(3, 1fr);
gap: 10px;width: 100%;max-width: 960px;margin: 0;padding:0;
box-sizing: border-box;}

/* カード */
.plan {background: #fff;border: 2px solid #ccc;padding: 5px 22px;
box-sizing: border-box;width: 300px;border-radius: 10px;
box-shadow: 0 5px 18px rgba(0,0,0,0.08);position: relative;transition: 0.3s;}

.plan:hover {transform: translateY(-6px);}

/* おすすめ */
.plan.recommended {border: 2px solid #1F3A5F;}

.badge {position: absolute;top: -12px;left: 50%;transform: translateX(-50%);
background: #1F3A5F;color: #fff;font-size: 12px;padding: 5px 12px;
border-radius: 20px;opacity:0.8;}

/* 価格 */
.price {font-size: 30px;color: #1F3A5F;font-weight: bold;
  margin:0;/*margin: 15px 0 20px;*/text-align:center;}

.yen {font-size: 14px;margin: 0 3px;}

/* 機能リスト */
.features {padding: 0;margin: 0;text-align: left;}

.features li {padding: 1px 0;border-bottom: 1px dotted #ccc;}

/* 対象文 */
.target {font-size: 15px;text-align: left;padding: 0;margin: 0;
color: #222;margin:20px 0 20px 0;}

/* ボタン */
.plan-btn {display: inline-block;font-weight:600;background: #1F3A5F;
color: #fff !important;padding: 11px 22px;border-radius: 10px;
text-decoration: none !important;transition: 0.3s;}

.plan-btn:hover {background: #4DA3FF !important;}

/* 注意書き */
.pricing-note {margin-top: 25px;font-size: 13px;color: #666;}

/* smp */
@media (max-width: 768px) {
.pricing-table {grid-template-columns: 1fr;padding: 0 15px;}

.plan {max-width: 520px;margin: 0 auto;}
}


/* QandA */

@media screen and (max-width:767px) {.faq details{border-radius:15px;}}

.faq {margin: 0;padding-top: 0;}

.faq details {background: #efefef;margin-bottom: 35px;border-radius: 6px;
padding: 20px 15px;}

.faq summary {cursor: pointer;font-weight: 600;color:#1A2238;}

.faq p {margin-top: 10px;}

/* 標準の矢印を消す（Chrome・Safari） */
.faq summary::-webkit-details-marker {display: none;}

/* Firefox用 */
.faq summary {list-style: none;position: relative;padding-left: 22px;}

/* 自作矢印 */
.faq summary::before {content: "▶";position: absolute;left: 0;
color: #4DA3FF;font-size: 14px;transition: transform 0.2s ease;}

/* 開いたときの矢印 */
.faq details[open] summary::before {content: "▼";}


/* footer */

@media screen and (min-width:768px) {
.row{display: flex;flex-direction: row;justify-content: center;
padding:0;margin-left:auto;margin-right:auto;}
}

footer{background-color:#1f3a5f;padding:20px 0;}

footer ul{list-style-type:none;margin:0 30px;text-align:left;}

footer li{font-size:15px;margin:0;}

@media screen and (max-width: 767px){
footer li{font-size:12px;margin:10px 0;}

footer a:link, a:visited, a:active, a:hover{color:#fff;text-decoration:none;text-decoration:none;}

footer ul{margin:0;padding:0;
}}

@media screen and (min-width:768px){
footer a:link, a:visited, a:active{color:#fff;text-decoration:none;}
footer a:hover{color:#dcdcdc;text-decoration:underline;}}

.copyright{text-align:center;color:#fff;font-style:italic;font-size:11px;
margin:2em 0 0 0;padding:0;}


/* ハンバーガーメニュー */
@media (max-width: 767px) {

.nav{opacity:0.8;}

.hamburger {display: flex;position: absolute !important;right: 65px !important;
top: 18px;z-index: 1001;}

.nav {position: absolute;top: 62px;left: 0;width: 100%;background: #2d4666;
display: none;z-index: 1000;}

.nav.open {display: block;}

.nav ul {flex-direction: column;gap: 0px;}

.nav li {border-top: 1px solid rgba(255,255,255,0.2);}

.nav a {display: block;padding: 10px;height: auto;}

.nav a::after {display: none;}

.logo-item a {font-size: 20px;padding: 15px;}

/*.hamburger{display: flex;position: absolute;right: 15px;top: 18px;z-index: 1001;}*/

.header-inner {height: 10px;}

}


/* サイトタイトル（H1） */
h1 {margin: 0;font-size: 12px;color: #fff;background: #2d4666;}

/* PC表示：左寄せ */
@media (min-width: 768px) {

h1 {text-align: left;padding: 6px 0  0 20px;}

h2{font-size:22px;margin-top:20px;color:#2d8755;text-align:center;}

h3{font-size:20px;margin-top:20px;color:#1F3A5F;text-align:center;}

.faq summary {font-size:17px;}
}

@media (max-width: 767px) {
img{max-width:100%;height: auto;background-size:contain;}

h1 {text-align: center;font-weight:300;margin-bottom:5px;}

h2{color:#2d8755;text-align:center;background-color:#fff;
padding:0;margin:0;font-weight:bold;
font-size:15px;font-style:normal;}

h3{font-size:14px;padding:0;margin:0;color:#1F3A5F;text-align:center;}

p{line-height:170%;font-size:16px;color:#1A2238;
margin-left:0px;margin-right:0px;text-align:left;}
}


/* Contents */
@media (max-width: 767px) {

.container li{text-align:left;font-size:16px;list-style-position:inside;list-style-type:disc;line-height:200%;color:#1A2238;font-weight:normal;
margin-left:-10px !important;  /* discの左マージン */}

.container li.sche{list-style-type:decimal;}

.container ul{margin:15px 0 30px 0;padding:0;}

p.midashi{line-height:140%;font-size:12px;color:#1A2238;font-weight:bold;text-align:center;}

p.midashi2{line-height:140%;font-size:14px;color:#1A2238;font-weight:bold;font-style:italic;}

.results a:link, .results a:visited, .results a:active, .results a:hover
{background:none;color:#00b7ce;text-decoration:underline !important;}

address{font-size:10px;font-style:italic;padding:0;color:#212121;}

}


@media (min-width: 768px) {

p{line-height:180%;font-size:18px;color:#1A2238;
margin-left:25px;margin-right:24px;text-align:left;}

figcaption{line-height:180%;font-size:16px;color:#1A2238;
margin-left:0px;margin-right:0px;text-align:left;}

.container li{font-size:18px;list-style-type:disc;line-height:200%;color:#1A2238;font-weight:normal;}

.container li.sche{list-style-type:decimal;}

p.midashi{font-size:20px;color:#1A2238;font-weight:bold;text-align:center;}

p.midashi2{font-size:20px;color:#1A2238;font-weight:bold;font-style:italic;}

.results{width:auto;}

.results p{line-height:180%;font-size:16px;color:#1A2238;
margin:0;text-align:left;}

.results a:link, .results a:visited, .results a:active
{text-decoration:none !important;color:#00b7ce !important;}

.results a:hover{background:none;color:#00b7ce;text-decoration:underline !important;}

address{font-size:12px;font-style:italic;padding-top:5px;padding-bottom:0px;color:#212121;}
}

.lineunder{border-top:2px solid #e5e7eb;margin-bottom:20px}


/* gototop button */

#gototop {z-index:9999;position: fixed;bottom: 20px;right: 0px;}

#gototop a {display: block;background: #1F3A5F;color: #fff;width: 50px;
padding: 10px 5px;text-align: center;border-radius: 10px;
opacity: 0.7;transition: 0.3s !important;}

#gototop a:hover {opacity: 1;}


/* DISC Color */
ul li::marker {color: #4DA3FF;font-weight: bold;}
