@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/* マウスドラッグを禁止にする */
/*
* {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
*/
/* □■-----------------------------------------------------
/ 『共通設定』
-----------------------------------------------------■□ */
/* カラー定義 */
:root {
  --dk-red-color: #cc0022;
  --lt-red-color: #fa7932;
  --dk-yellow-color: #f87b3e; /* OJ */
  --lt-yellow-color: #fbfcf4; /* OJ */
  --dk-green-color: #01a691; /* OJ */
  --lt-green-color: #ddfef8; /* OJ */
  --dk-blue-color: #1955A6;
  --jibai-main-color: #cc0022;
  --jibai-sub-color: #fa7932;

  --color-red: #dd6b74;
  --color-green: #87a976;
  --color-blue: #64abcb;
  --color-yellow: #e6ae5b;
  --color-pink: #f0a6af;
  --color-back: #f9f8f4;
}

body {
  background-color: #ffffff;
}
#navi .navi-in>ul>li>a {
    padding: 0 0.8em;
}
.main {
  padding-top: 0;
}
h1 {
  padding: 0.8em;
  color: #3d3836;
  background-color: var(--lt-yellow-color);
  border-top: solid 3px var(--dk-green-color);
  border-bottom: solid 3px var(--dk-green-color);
}
h1:before {
  font-family: "Font Awesome 5 Free";
  content: '\f21c';
  font-weight: 900;
  padding-right: 10px;
  color: var(--dk-green-color);
}
.article h2 {
  background-color: #3161a4;
  color: #fff;
  font-size: 21px;
  padding: 0.7em !important;
  margin-bottom: 0.8em;
}
.article h2.green { border-left: solid 5px #25a146; }
.article h2.red { border-left: solid 5px #b4558f; }
.article h2.blue { border-left: solid 5px #00a2d7; }

.article h2 span.auto {
  font-size: 80%;
  background-color: #fff;
  color: #3161a4;
  border-radius: 5px;
  padding: 3px 10px;
}
.article h2 span.ko {
  border: 1px solid #fff;
  background-color: #00a2d7;
  padding: 1px 5px;
}
.article h2 span.ho {
  border: 1px solid #fff;
  padding: 1px 5px;
}
.article h3 {
  border-top:none;
  border-left:none;
  border-right:none;
  border-bottom: solid 2px var(--color-red);
  position: relative;
  font-weight:500;
  font-size:21px;
  background-color:#fafbfc;
  padding:10px;
}
.article h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #555555;
  bottom: -2px;
  width: 30%;
}
p.makasete {
  text-align: right;
}
p.makasete img {
  width: 120px;
  height: auto;
}

table th {
  font-weight: normal;
}
span.caution {
    border: 1px solid red;
    color: red;
    padding: 2px 5px;
}
/* □■-----------------------------------------------------
/ 『基本設定』
-----------------------------------------------------■□ */
/* 左右センタリング */
.entry-content .center {
  text-align: center;
}
/* 上下(画像)センタリング */
.entry-content .middle {
  align-items: center;
  display: flex;
  justify-content: center;
}
.ac_jibai {
  position: relative;
  display: inline-block;
  padding: 0 45px;
  font-weight:600;
}
.ac_jibai:before, .ac_jibai:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.ac_jibai:before {
  left:0;
}
.ac_jibai:after {
  right: 0;
}
/* ページトップ画像３点（PC） */
.top-image-pc {
  width: 1256px;
  height:auto;
}
/* ページトップ画像３点（SP） */
.top-image-sp {
  width: 840px;
  height:auto;
}
/* ヘッダ代理店ロゴ */
.header-in {
  background: url('../cocoon-child-master/images/dairi_logo03.png') no-repeat;
  background-position: right;
}
.site-name-text {
  font-size:10px;
}
.site-name-text-link {
  padding: 0;
}
.logo-image {
  padding:10px 0 0 0;
}

/* DIV改行 */
.clear {
  clear:both;
}
.small-fonts {
  font-size: 80%;
}
/* 記事一覧に日付表示 */
.new-entry-card-date {
  /*display: block;*/
}

/* 固定ページ日付非表示 */
.page .date-tags {
  display: none;
}

/* 日付の文字サイズ */
.post-date, .post-update {
  font-size: 0.9em;
}

/* 最新ニュース内の記事 */
.widget-entry-card-snippet {
  font-size:14px;
}

/* フッター */
.footer,
.footer-bottom {
  margin-top: 0;
}
.footer-bottom img {
  border-radius: 5px;
}

/* PDF fontawesome */
.fa-file-pdf {
  color: var(--color-red);
  font-size:130%;
}
/* Word fontawesome */
.fa-file-word {
  color: var(--color-blue);
  font-size: 130%;
}
/* blank box の線幅変更 */
.body .blank-box {
  border-width: 1px;
}
/* □■-----------------------------------------------------
/ 『リストの先頭を「チェックマーク」にする 表示』
-----------------------------------------------------■□ */
ol.checkmark, ul.checkmark {
  padding-left: 20px;
}
/* UL LI チェックマーク */
.entry-content ul.checkmark {
  list-style: none;
}
.entry-content ul.checkmark li {
  position: relative;
  padding: 0 0 0 1.5em;
  margin: 0;
}
.entry-content ul.checkmark li::before {
  position: absolute;
  left: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f058';
  color: var(--color-green);
}
.entry-content ul.checkmark li ol li::before {
  display:none;
  /* padding-left:-1.5em;*/
}
/* □■-----------------------------------------------------
/ 『リストの先頭を※にする 表示』
-----------------------------------------------------■□ */
ul.asterisk {
  margin-left: 1em;
  font-size: 80%;
}
ul.asterisk li::marker{
  content: "※";
}
/* □■-----------------------------------------------------
/ 『リストの先頭を※+番号にする 表示』
-----------------------------------------------------■□ */
ol.asterisk {
  font-size: 80%;
  list-style: none;
  counter-reset: count 0;
}

ol.asterisk li {
  text-indent: -2.2em;
  margin-left: .7em;
}

ol.asterisk li::before {
  content: "※" counter(count);
  counter-increment: count 1;
  margin-right: 0.5em;
}
ul.note,
ol.note {
  font-size: 80%;
}

/* バナーホバー時に透過 */
.jibai-banner img:hover,
.ninni-banner img:hover {
  opacity: 0.8 ;
}

/* 画面トップボタン */
.go-to-top .go-to-top-button {
  font-size:2.5em;
}

/* hr */
hr {
  margin: 0;
  padding: 0;
  border: 0;
  height: 8px;
  background-image: repeating-linear-gradient(45deg, #ccc 0, #ccc 1px, transparent 0, transparent 50%);
  background-size: 8px 8px;
}

/* PCで改行しない */
.br-sp { display: none; }

/* 吹き出しの背景 */
.speech-div {
  padding: 10px;
  background-color: var(--lt-yellow-color);
  border-radius: 10px;
}

/* 蛍光ペン */
.marker_water {
  background: linear-gradient(transparent 60%, var(--color-pink) 60%);
}

/*左上にずらした背景色ありタイトル*/
.stepbox {
  margin: 2em auto; /* ボックスの余白 */
  background-color: #fafafa; /* ボックス背景色 */
  padding:2em 1em 1em; /* ボックス内側余白 */
  position:relative; /* 配置(ここを基準に)*/
  border: 1px solid #5a728b; /* ボックスの線 (太さ 種類 色)*/
}
.stepbox p {
  margin-bottom:0;
}
.stepbox .box-title {
  font-size: 1em; /* タイトル文字の大きさ */
  color: #fff ; /* タイトル文字色 */
  padding: 7px 10px; /*タイトルの余白*/
  line-height: 1.2; /*タイトルの行の高さ*/
  position:absolute; /* 配置(ここを動かす) */
  top: -10px; /*上から（0px）移動*/
  left: 20px; /*左から(0px)移動*/
}
.stepbox .box-blue {
  background-color:#5a728b; /* タイトル背景色 */
}
.stepbox .box-green {
  background-color:#87a976; /* タイトル背景色 */
}

/* 自賠責保険加入促すイラスト */
.confirmation {
  background-color: #fffbbc;
  padding-bottom:10px;
}
.confirmation-title {
  font-size:120%;
  font-weight:bold;
  color: #006fc1;
}
.confirmation span {
  display: block;
  font-size:0.8em;
  line-height:1.3em;
}
/* □■-----------------------------------------------------
/ 『グローバルメニュー』
-----------------------------------------------------■□ */
/* マウスオーバーでアンダーライン */
#navi .navi-in a:after{
  position: absolute;
  content: "";
  left: 0px;
  bottom: 1px;
  height: 1px;
  width: 100%;
  background: #ffffff;
  transform: scale(0,1);
  transition: 0.3s;
}
#navi .navi-in a:hover:after{
  transform: scale(1);
}

/* サブメニュ－下にボーダーライン */
.navi-in>ul .sub-menu li {
  border-bottom: 1px groove #c2c2c2!important;
}

/* □■-----------------------------------------------------
/ 『モバイルスライドメニュー』
-----------------------------------------------------■□ */
/* モバイルメニューの高さ変更 */
.mobile-footer-menu-buttons {
  min-height: 60px;
  background-color: rgba(255, 255, 255, 0.5);
}
/* 「Ｘ」ボタン */
.fa-times {
  color: var(--dk-red-color);
  font-size:1.2em;
}

/* ホバー色 */
.menu-drawer a:hover {
  background-color: #deebf7;
}

/* □■-----------------------------------------------------
/ 『フロントページ』
-----------------------------------------------------■□ */
/* ご契約はこちら */
a.apply-banner{
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  max-width: 420px;
  margin: auto;
  /*margin-top:20px;*/
  padding: 0.9rem;
  font-weight: bold;
  border: 3px solid var(--dk-yellow-color);
  background: var(--dk-yellow-color);
  color: #fff;
  border-radius: 100vh;
  transition: 0.5s;
}
a.apply-banner:hover {
  color: var(--dk-yellow-color);
  background: #fff;
}
p.jibai-tlink { /* ボタン下の任意保険のテキストリンク */
  text-align: center;
  font-size: 90%;
}
p.last-note {
  margin-top: 0;
  text-align: center;
  font-size: 80%;
}
/* 申込みはこちら */
a.contact-banner {
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  max-width: 420px;
  margin: auto;
  /*margin-top:20px;*/
  padding: 0.9rem;
  font-weight: bold;
  border: 3px solid var(--dk-blue-color);
  background: var(--dk-blue-color);
  color: #fff;
  border-radius: 100vh;
  transition: 0.5s;
}
a.contact-banner:hover {
  color: var(--dk-blue-color);
  background: #fff;
}

/* フロントページ：ファーストビュー */
.first-box,
.non-first-box {
  margin-top: 50px;
  text-align: center;
}
.first-box span.box-title,
.non-first-box span.box-title {
  position: relative;
  margin-top: 50px;
  font-size: 1.6rem;
  line-height: 2.16667em;
  letter-spacing: 0em;
  font-weight: 800;
}
.non-first-box span.box-title:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 60px);
  width: 120px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background: var(--dk-green-color);
}
.first-box img {
  margin: -20px 0 0 0;
  padding: 0;
  vertical-align: middle;
  border: 0;
  width:150px;
  max-width: 100%;
  height: auto;
}

/* フロントページ：左上・右下ラインボックス */
.line-a-box {
  text-align: center;
  position: relative;
  padding: 25px;
  margin-top: 25px;
}
.line-b-box,
.line-c-box {
  text-align:center;
  position: relative;
  padding: 5px;
  margin: 5vh 10vh;
}
.line-a-box::before,
.line-b-box::before,
.line-c-box::before {
  top: 0;
  left: 0;
}
.line-a-box::after,
.line-b-box::after,
.line-c-box::after {
  bottom: 0;
  right: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.line-a-box::before,
.line-a-box::after {
  position: absolute;
  z-index: -1;
  content: url(https://one-jibai.com/wp-content/themes/cocoon-child-master/images/mark-a.png);
}
.line-b-box::before,
.line-b-box::after {
  position: absolute;
  z-index: -1;
  content: url(https://one-jibai.com/wp-content/themes/cocoon-child-master/images/mark-b.png);
}
.line-c-box::before,
.line-c-box::after {
  position: absolute;
  z-index: -1;
  content: url(https://one-jibai.com/wp-content/themes/cocoon-child-master/images/mark-c.png);
}
.line-a-box span,
.line-b-box span,
.line-c-box span {
  font-size: 1.4rem;
  line-height: 2.16667em;
  letter-spacing: 0em;
  font-weight: 800;
}
.line-a-box img,
.line-b-box img,
.line-c-box img {
  margin: -19px 0 0 0;
  padding: 0;
  vertical-align: middle;
  border: 0;
  width:130px;
  max-width: 100%;
  height: auto;
}
.line-a-box a {
  margin-bottom:5px;
}
.line-b-box a,
.line-c-box a {
  margin-top:5px;
  margin-bottom:5px;
}
.line-b-box .cool {
  margin: 3%;
  margin-bottom: 0;
  padding:0 2% 2% 2%;
  background-color:#f5f6f7;
  border: 1px #cc0022 solid;
  border-radius: 20px;
}
.line-c-box .cool {
  margin: 3%;
  padding:0 2% 2% 2%;
  background-color:#e1f5ee;
  border: 1px #13c3dc solid;
  border-radius: 20px;
}

/* フロントページ：ナンバー付ボックス */
.circle-no-box {
  margin: 1em 0;
  padding: 1.5em 1em 1em;
  position: relative;
  /*border: 1px solid #81d4fa;*/
  background-color: #e1f5fe;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
}
.circle-no-box-no {
  position: absolute;
  top: -0.5em;
  left: 50%;
  font-weight: bold;
  font-size: 1.1em;
  background-color: #64abcb;
  color: #fff;
  padding: 0 0.5em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  text-align:center;
  justify-content: center;
}
.circle-no-box-image {
  max-width: 100%;
  height: auto;
  text-align:center;
  margin-bottom:8px;
}
.circle-no-box img {
  width: 150px;
}
.circle-no-box-title {
  text-align: center;
  color: #13c3dc;
  font-weight: bold;
  font-size: 110%;
  margin-bottom: 0 !important;
/*
  line-height:2.5em;
*/
}
.circle-no-box-detail {
  text-align: center;
  margin: 0;
  padding: 0;
  font-size: 80%;
}

/* フロントページ：プライスボックス */
.price-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-bottom: 10px;
}
.price-box-head {
  position: relative;
  top: 65px;
  width: 130px;
  height: 130px;
  margin-right: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  line-height: 1.7em;
  text-align: center;
}
.price-box-head::before {
    background-color: var(--color-yellow);
    top: 4px;
    left: 4px;
    z-index: -1;
}

.price-box-head::before,
.price-box-head::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.price-box-head::after {
  top: 0;
  left: 0;
  border: 2px solid #373e42;
  z-index: 1;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.price-box-body span {
  color: var(--color-red);
  font-weight: 900;
  font-size:120%;
}

.price-box-body table {
  border-collapse: separate;
  border-spacing: 0 10px;
}

.price-box-body th {
  padding-right: 45px;
  border-right: none !important;
  background-color: #f7f7f7;
  background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, white 50%, white 100%), repeating-linear-gradient(120deg, transparent, transparent 6px, white 6px, white 8px);
  background-size: 40px 100%, auto;
  background-repeat: no-repeat, repeat;
  background-position: right top, left top;
}
.price-box-body th::before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  bottom: -2px;
  left: 20px;
}
.price-box-body td {
  padding-left: 50px;
  border-left: none !important;
  background-color: #fff;
  text-align:right;
}
.price-box-body td::before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: -2px;
  right: 20px;
}
.price-box-body th,
.price-box-body td {
  position: relative;
  padding: 25px 10px;
  border: 2px solid #999999;
}
/* マイクロバルーン */
.micro-balloon { color:#fff; font-weight:bold; background-color:var(--color-yellow); }
.micro-bottom.micro-balloon:after { border-bottom-color:var(--color-yellow); }
/* □■-----------------------------------------------------
/ 『フロントページ：ふわっと表示』
-----------------------------------------------------■□ */
/* 下から */
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
/* 上から */
.fadeDown{
  animation-name:fadeDownAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeDownAnime{
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 左から */
.fadeLeft{
  animation-name:fadeLeftAnime;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }
  to {
    opacity: 1;
  transform: translateX(0);
  }
}
/* 右から */
.fadeRight{
  animation-name:fadeRightAnime;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }
  to {
    opacity: 1;
  transform: translateX(0);
  }
}
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
  opacity: 0;
}

/* □■-----------------------------------------------------
/ 『テーブルタグ』
-----------------------------------------------------■□ */
/* Cocoon オリジナル */
table th,
table td {
  border: 2px solid #ddd;
}
/* 主に料金の箇所 */
table.nomad_table {
  font-size:18px;
  line-height: 1.25em;
}
table.nomad_table tr th,
table.nomad_table tr td {
  padding: 1.5em 1.8em;
  border-bottom: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
}
table.tb-red tr th {
  color:white !important;
  background-color: var(--color-red) !important;
}
table.tb-green tr th {
  color:white !important;
  background-color: var(--color-green) !important;
}
table.tb-blue tr th {
  color:white !important;
  background-color: var(--color-blue) !important;
}
table.tb-red tr td,
table.tb-green tr td,
table.tb-blue tr td {
  text-align: right;
}
th.left-col1 {
  width: 40%;
}
th.left-col2,
th.left-col3 {
  width: 30%;
}

/* フッター */
.footer-sompo-japan { font-weight: bold; font-size:120%; }
.footer-jnext { font-size: 90%; }
.footer-freedial { color:var(--dk-red-color); }
/* Blog Floating Button */
[id^="bfb_content_"].bfb_view_pc {
  font-family: initial;
}
[id^="bfb_content_"].bfb_view_pc a.bfb_btn {
  border-bottom: none !important;
  text-shadow: none !important;
  background-color: #cc0022 !important;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /* モバイルメニューの文字を消す */
  .mobile-menu-buttons .menu-caption{ display: none; }
  .mobile-menu-buttons { align-items: center; /*background-color: rgb(255 255 255 / 0%);*/ }
  /* ロゴ画像の空白を無くす */
  .mobile-menu-buttons > li {
    padding:0;
  }
  /* モバイルフッターメニューの幅を調整 */
  .mobile-footer-menu-buttons .menu-button,
  #menu-mobile-footer-button .navi-menu-button,
  #menu-mobile-footer-button .top-menu-button { width: 25% !important; }
  /* モバイルメニューアイコンの色と太さ変更 */
  .mobile-menu-buttons .menu-icon,
  .menu-close-button { color:#3d61a7; font-size:2.0em; }
}

/*834px以下*/
@media screen and (max-width: 834px){
  /* スマホで改行する */
  .br-sp { display: block; }
  /* トップページのプライス */
  .price-box-head { margin-right: 0; }
  /* お申し込み */
  .app-forms { padding:10px 3px !important; }
  .note, .note-b { font-size:65%; }
  /* ページフッターボタンバナー */
  .line-b-box, .line-c-box { padding: 0; margin-left: 0; margin-right: 0; }
  .line-b-box::before, .line-c-box::before,
  .line-b-box::after, .line-c-box::after { content: none; }
  .line-b-box span { font-size: 1.0rem; }
  .line-c-box span { font-size: 0.9rem; }
  .line-b-box .cool, .line-c-box .cool { margin: 0; }
  .footer-bottom { background-color: var(--dk-green-color); color: #fff; }
}

/*480px以上*/
@media screen and (min-width: 480px){
  .mobile-footer-menu-buttons{ /*Blog Floating Buttonの競合表示を避ける*/
    display: none;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .circle-no-box-no {
    padding:0 0.7em;
  }
  .circle-no-box-title {
    line-height: 1.5em;
    font-size: 110%;
  }
  table.nomad_table tr th,
  table.nomad_table tr td {
    padding:5px 3px;
    border-bottom: 2px solid #ffffff !important;
    border-left: 2px solid #ffffff !important;
  }
}