/*
	Theme Name:diver_child
	Template:diver
	Description:Diverの子テーマです。
	Theme URI:http://tan-taka.com/diver/
	Author:Takato Takagi
 */

/* カスタマイズする場合にはこれより下に追記してください  */
.fbold{font-weight:bold;}

.box1{ /*緑*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#E5F2F1;
}
.box2{ /*黄*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#faf9b4;
}
.box6{ /*赤*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#f7ebec;
}
.box7{ /*青*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#e3efff;
}
.box8{ /*灰*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#f0f0ef;
}
.box9{ /*緑*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#e8f1e3;
}
.box10{ /*黄*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#fafde0;
}
.box11{ /*赤*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#fff5f5;
}
.box12{ /*青*/
margin:2em auto;
padding:0.8em 1em 0.8em 1em;
background-color:#eef7ff;
}

.box3{
margin:2em auto;
padding:1em 2em 0.2em;
background-color:#E8EAF0;
border-radius:1px;
}
.box3 .box-title{
color:#b4bbce;
font-size:18px;
font-weight:bold;
}
.box3 .box-title:before{
font-family:"Font Awesome 5 Free";
content:"\f304";
font-size:18px;
margin:0 3px 0 0;
font-weight:bold;
}

.box4{
margin:2em auto;
padding:1em 2em 0.2em;
background-color:#EFE3DF;
border-radius:1px;
}
.box4 .box-title{
color:#cca497;
font-size:18px;
font-weight:bold;
}
.box4 .box-title:before{
font-family:"Font Awesome 5 Free";
content:"\f06a";
font-size:18px;
margin:0 3px 0 0;
font-weight:bold;
}

.box5{
margin:2em auto;
padding:1em 2em 0.2em;
background-color:#F6F4D4;
border-radius:1px;
box-shadow:0px 1px 3px rgba(0,0,0,0.1);
}
.box5 .box-title{
color:#8B847E;
font-size:18px;
font-weight:bold;
}
.box5 .box-title:before{
font-family:"Font Awesome 5 Free";
content:'\f00c';
font-size:18px;
margin:0 3px 0 0;
font-weight:bold;
}

.checkmark1{
padding-left:30px;
position:relative;
}
.checkmark1::before{
content:"";
display:inline-block;
position:absolute;
top:5px;
left:0;
width:20px;
height:10px;
border-left:3px solid #FF0000;
border-bottom:3px solid #FF0000;
transform:rotate(-45deg);
}

.checkmark2{
padding-left:30px;
position:relative;
}
.checkmark2::before{
content:"";
display:inline-block;
position:absolute;
top:5px;
left:0;
width:20px;
height:10px;
border-left:3px solid #053370;
border-bottom:3px solid #053370;
transform:rotate(-45deg);
}
.checkmark3{
padding-left:30px;
position:relative;
}
.checkmark3::before{
content:"";
display:inline-block;
position:absolute;
top:5px;
left:0;
width:20px;
height:10px;
border-left:3px solid #0c603a;
border-bottom:3px solid #0c603a;
transform:rotate(-45deg);
}


.checkmark4{
padding-left:30px;
font-size:16px;
position:relative;
}
.checkmark4::before{
content:"";
display:inline-block;
position:absolute;
top:0;
left:0;
width:25px;
height:15px;
border-left:3px solid #FF0000;
border-bottom:3px solid #FF0000;
transform:rotate(-45deg);
}
.checkmark5{
padding-left:30px;
font-size:16px;
position:relative;
}
.checkmark5::before{
content:"";
display:inline-block;
position:absolute;
top:10;
left:0;
width:25px;
height:15px;
border-left:3px solid #053370;
border-bottom:3px solid #053370;
transform:rotate(-45deg);
}
.checkmark6{
padding-left:30px;
font-size:16px;
position:relative;
}
.checkmark6::before{
content:"";
display:inline-block;
position:absolute;
top:10;
left:0;
width:25px;
height:15px;
border-left:3px solid #0c603a;
border-bottom:3px solid #0c603a;
transform:rotate(-45deg);
}

.spc05{margin:0;padding:5px 0 0 0;}
.spc10{margin:0;padding:10px 0 0 0;}
.spc15{margin:0;padding:15px 0 0 0;}
.spc20{margin:0;padding:20px 0 0 0;}
.spc25{margin:0;padding:25px 0 0 0;}
.spc30{margin:0;padding:30px 0 0 0;}
.spc35{margin:0;padding:35px 0 0 0;}
.spc40{margin:0;padding:40px 0 0 0;}
.spc45{margin:0;padding:45px 0 0 0;}
.spc50{margin:0;padding:50px 0 0 0;}


.moredwrap{
position:relative;
}
.moredwrap + .moredwrap{
margin-top:40px;
}
.morebtn{
z-index:2;
position:absolute;
right:0;
bottom:0;
left:0;
width:170px;
height:45px;
margin:auto auto 0.5em auto;
padding:.5em 0;
border-radius:2px;
background:#1b2538;
color:#fff;
font-size:1.1rem;
text-align:center;
cursor:pointer;
transition:.2s ease;
box-shadow:0 0 3px rgba(0,0,0,.3);
border-radius:30px;
}
.morebtn::after{
content:"続きを見る";
color:#ffffff;
background:#1b2538;
border-radius:30px;
}
.morebtn:hover{
color:#ffffff;
background:#1b2538;
border-radius:30px;
}
.morebtn .fa{
margin-right:.5em;
}
.cp_box1 input:checked + label:before{
left:calc(50% - 2.5em);
transform:scale(1, -1);
}
.moreitem{
position:relative;
overflow:hidden;
height:170px;
}
.moreitem p + p{
margin-top:1em;
}
.moreitem::before{
display:block;
position:absolute;
bottom:0;
left:0;
content:"";
width:100%;
height:80px;
background:-webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
background:linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.moretrigger{
display:none;
}
.moretrigger:checked ~ .morebtn{
bottom:-2.5em;
}
.moretrigger:checked ~ .morebtn::after{
content:"閉じる"
}
.moretrigger:checked ~ .morebtn .fa{
transform:rotate(180deg);
}
.moretrigger:checked ~ .moreitem{
height:auto;
}
.moretrigger:checked ~ .moreitem::before{
display:none;
}

/* テーブルソート */
.tablesorter thead th{
position:relative;
cursor:pointer;
text-align:center;
}
.tablesorter thead th::before, .tablesorter thead th::after{
content:'';
position:absolute;
z-index:2;
right:7px;
width:0;
height:0;
border:4px dashed;
border-color:#333 transparent;
pointer-events:none;
}
.tablesorter thead th::before{
border-bottom-style:solid;
border-top:none;
top:30%;
}
.tablesorter thead th::after{
border-top-style:solid;
border-bottom:none;
bottom:30%;
}
.tablesorter thead th.tablesorter-headerAsc:after{
border:none;
}
.tablesorter thead th.tablesorter-headerAsc:before{
top:50%;
transform:translateY(-50%);
-webkit-transform:translateY(-50%);
}
.tablesorter thead th.tablesorter-headerDesc:before{
border:none;
}
.tablesorter thead th.tablesorter-headerDesc:after{
top:50%;
transform:translateY(-50%);
-webkit-transform:translateY(-50%);
}
.tablesorter thead th.sorter-false:before, .tablesorter thead th.sorter-false:after{
border:none;
}


/* CTAエリア */
.custom-cta-area {
background: #f9f9f9; /* 背景色：薄いグレー */
border: 1px solid #e0e0e0; /* 枠線 */
border-radius: 8px;
padding: 40px 20px;
margin: 10px 0 60px 0 !important; /* 上下の余白 */
text-align: center;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.custom-cta-area .cta-inner {
max-width: 600px;
margin: 0 auto;
}
/* ラベル（キャッチ） */
.custom-cta-area .cta-label {
display: inline-block;
color: #8a6d3b; /* 和風なゴールド系 */
font-weight: bold;
font-size: 16px;
margin-bottom: 6px;
letter-spacing: 0.05em;
}
/* タイトル */
.custom-cta-area .cta-title {
font-size: 28px;
margin: 0 0 20px 0;
color: #333;
line-height: 1.4;
}
/* 説明文 */
.custom-cta-area .cta-desc {
font-size: 15px;
line-height: 1.8;
color: #666;
margin-bottom: 30px;
}

/* ボタンエリア */
.custom-cta-area .cta-btn-wrap {
margin-top: 0px;
}
/* ボタン本体 */
.custom-cta-area .cta-btn {
display: inline-block;
background: #222; /* ボタン色：黒で引き締め */
color: #fff;
text-decoration: none;
font-weight: bold;
padding: 25px 40px;
border-radius: 50px;
font-size: 16px;
transition: all 0.3s ease;
box-shadow: 0 4px 6px rgba(0,0,0,0.2);
position: relative;
overflow: hidden;
}
/* ボタンホバー時 */
.custom-cta-area .cta-btn:hover {
background: #444;
transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(0,0,0,0.25);
}
/* 矢印アイコン */
.custom-cta-area .cta-btn .arrow {
display: inline-block;
margin-left: 10px;
transition: transform 0.3s;
}
.custom-cta-area .cta-btn:hover .arrow {
transform: translateX(5px);
}
/* マイクロコピー */
.custom-cta-area .cta-micro-copy {
font-size: 12px;
color: #888;
margin-top: 10px;
}
/* スマホ用調整 */
@media screen and (max-width: 768px) {
  .custom-cta-area {
    padding: 30px 15px;
    margin: 40px 0;
  }
  .custom-cta-area .cta-title {
    font-size: 22px;
  }
  .custom-cta-area .cta-desc br {
    display: none; /* スマホでは改行を無視して自然に流す */
  }
  .custom-cta-area .cta-btn {
    width: 100%; /* スマホではボタンを幅一杯に */
    padding: 16px;
    box-sizing: border-box;
  }
  .custom-cta-area .cta-micro-copy {
    font-size: 16px;
    color: #888;
    margin-top: 0px;
  }
}
