@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* カラー定義 */
:root {
  --dk-pink: #e2516f;
  --lt-pink: #eA8196;

  --dk-orange: #ea9a00;
  --lt-orange: #f0b84c;
  --slt-orange: #fef5e5;

  --dk-green: #01a769;
  --lt-green: #fdfabe;

  --dk-gray: #333333;
  --md-gray: #666666;
  --lt-gray: #949494;

  --dk-blue: #5364b6;
  --dk-purple: #8b65ba;
  --dk-red: #b4558f;
}
.btn-dk-orange {
  background-color: var(--dk-orange);
  border-radius: 10px;
}
/* □■-----------------------------------------------------
/ 『テーマオリジナルのカスタマイズ』
-----------------------------------------------------■□ */
body {
  color: var(--dk-gray);
  background-color: #fff;
}
.entry-content {
  margin-bottom: 0;
}
.article p {
  margin-bottom: 1.2em;
}
.br-sp {
  display: none;
}
.article p.mb0 {
  margin-bottom: 0;
}
table th,
table td {
  border: 2px solid #ddd;
  font-weight: normal;
}
ul {
  padding-left: 10px;
}
ol {
  padding-left: 30px;
}
.column-wrap {
  margin-bottom: 0;
}
table:not(.has-border-color) :where(th, td) {
  border: 1px solid var(--lt-gray);
}
a {
    color: var(--dk-gray);
}

.article h2 { /* h2 */
  padding: 0.6em !important;
  font-size: 180% !important;
  background-color: rgba(255, 255, 255, 0) !important;
  text-align: center;
  font-weight: normal;
  margin-bottom: 1.0em;
}
.article h2.ln-green::after,
.article h2.ln-orange::after,
.article h2.ln-blue::after,
.article h2.ln-gray::after {
    margin-top: 60px;
    position: absolute;
    left: calc(50% - 75px);
    width: 150px;
    height: 3px;
    content: '';
    border-radius: 3px;
}
.article h2.ln-green::after { background-color: var(--dk-green); }
.article h2.ln-orange::after{ background-color: var(--dk-orange); }
.article h2.ln-blue::after { background-color: var(--dk-blue); }
.article h2.ln-gray::after { background-color: var(--dk-gray); }

.article h3 { border: none; }

/* ＊付き ul li */
ul.asterisk-note {
  margin-left: 16px;
  font-size: 85%;
}
ul.asterisk-note li::marker{
  content: "※";
}
/* 画像を中央へ */
.center {
  text-align: center;
}
/* 下参画TOP空き調整 */
.arrow {
  margin-top: 1.8em;
}
/* リンク(fontawesome) */
.fa-external-link-alt {
  color: var(--dk-red);
}
.small-fonts {
  font-size: 80%;
}
.xsmall-fonts {
  font-size: 60%;
  line-height: 1.5em;
}
/* フッターメニューのホバー色 */
.navi-footer-in a:hover {background-color: #333; }

/* □■-----------------------------------------------------
/ 『ヘッダ右：電話：お問い合わせ：資料のご請求』
-----------------------------------------------------■□ */
/* 電話番号*/
.telephone-box {
  margin-left: auto;
  margin-bottom: 2px;
  line-height: 1.5em;
}
.telephone-box span {
  display: block;
}
.telephone-box01 {
  font-size: 11px;
  text-align: justify;
  text-align-last: justify;
}
.telephone-box02 {
  font-weight: 700;
  font-size: 25px;
  letter-spacing: 2px;
  margin-bottom: 2px;
}
.telephone-box03 {
  font-size: 11px;
  text-align: justify;
  text-align-last: justify;
}
/*問い合わせボタン*/
.contact-banner,
.document-banner {
  padding-left: 0.5em;
}
.contact-banner a,
.document-banner a {
  font-size: 17px;
  height: 88%;
  display: flex;
  align-items: center;
  padding: 0 2em;
  margin-top: 5px;
  text-decoration: none !important;
  color: #fff;
  border-radius: 10px;
}
.contact-banner a {
  border: 1px solid var(--dk-orange);
  background-color: var(--dk-orange);
}
.document-banner a {
  border: 1px solid var(--dk-green);
  background-color: var(--dk-green);
}
.contact-banner a:hover {
  color: var(--dk-orange);
  background-color: var(--slt-orange);
}
.document-banner a:hover {
  color: var(--dk-green);
  background-color: var(--lt-green);
}
.contact-banner i,
.document-banner i {
  padding-right: 6px;
}

/* コンテンツ内バナー */
.banner-img {
  text-align: center;
}
/* コンテンツ内バナー */
.banner-img img {
  width: 850px;
  height: auto;
  filter: drop-shadow(5px 5px 5px #aaa);
}

/* メニュー*/
@media (min-width: 960px) {
  #header {
    margin-bottom:0;
  }
  .header-container-in.hlt-top-menu {
    display: block;
  }
  .header-in {
    flex-direction: row;
  }
  .header-container-in.hlt-top-menu .logo-header {
    width: 30%;
    padding-left: 10px;
  }
  .jnt-right {
    width: 70%;
    display: flex;
    padding-right: 10px;
  }
}
/* PCのみ表示*/
@media (max-width: 959px) {
  .jnt-right {
    display:none;
  }
}
/* □■-----------------------------------------------------
/ 『各個別保険のタブ表示』
-----------------------------------------------------■□ */
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #01a769;
  display: block;
  order: -1;
}
.tab-label {
  color: White;
  background: #949494;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-switch:checked+.tab-label { /* アクティブなタブ */
  background: #01a769;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}
.tab-switch { /* ラジオボタン非表示 */
  display: none;
}
/* □■-----------------------------------------------------
/ 『リストの先頭をアスタリスク(+番号)にする 表示』
-----------------------------------------------------■□ */
ol.asterisk {
  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.asterisk {
  list-style: none;
}
ul.asterisk li {
  text-indent: -2.2em;
  margin-left: 1.2em;
}
ul.asterisk li::before {
  content: "※";
  margin-right: 0.2em;
}
/* □■-----------------------------------------------------
/ 『各個別保険の特徴１～Nボタン表示』
-----------------------------------------------------■□ */
.button-column a { /* divを選択可状態にする */
    color: #333;
    cursor: pointer;
    text-decoration: none;
}
.button-column a:hover {
  background-color:#fdf5e5;
}
.productFeatureButton, [class*="theme-"] .theme-examine .productFeatureButton {
    border: 2px solid #ea9a00;
}
.productFeatureButton {
  background: #fff;
  border-radius: 1.3rem;
  display: table;
  line-height: 1.34;
  margin-top: 10px;
  position: relative;
  vertical-align: middle;
  width: 100%;
}
.productFeatureButton>._label {
  /* padding: .75em 1em; */
  width: 80px;
  border-bottom-left-radius: 1.3rem;
  border-top-left-radius: 1.3rem;
  color: #333;
  display: table-cell;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  background: #fdf5e5;
  border-right: 1px solid #ea9a00;
}
.productFeatureButton>._label:after {
  content: "\f078";
  display: block;
  font-family: "Font Awesome 5 Free"; 
  font-size: 1.2rem;
  text-align: center;
  width: 80px;
}
.productFeatureButton>._label>small {
  display: block;
  font-size: 80%;
}
.productFeatureButton>._outline {
  color: #333;
  display: table-cell;
  font-size: 90%;
  /*font-weight: bold;*/
  padding: .75em 1em;
  vertical-align: middle;
}
.productFeatureButton>._outline strong {
  color: #c02;
  font-weight: bold;
}
/* オプション表示 */
.productFeatureButton>._option,
.productFeatureTitle>._option {
  border: 1px solid var(--dk-orange);
  color: var(--dk-orange);
  background: #fff;
  border-radius: .3rem;
  font-size: 60%;
  left: 10px;
  padding: .25em 0;
  position: absolute;
  text-align: center;
  top: -8px;
  width: 65px;
  z-index: 2;
}
/* □■-----------------------------------------------------
/ 『各個別保険の特徴１～Nボタンの飛び先タイトル表示』
-----------------------------------------------------■□ */
.productFeatureTitle {
  display: table;
  line-height: 1.34;
  margin: 1em 0;
  position: relative;
  vertical-align: middle;
  width: 100%;
}
.productFeatureTitle ._label {
  /*background: #fff;*/
  border-radius: 1.3rem;
  color: #333;
  display: table-cell;
  /*font-size: 2.8rem;*/
  font-weight: bold;
  line-height: 1;
  padding: .75em 1em;
  text-align: center;
  vertical-align: middle;
  width: 85px;
  height:85px;
  background: #fdf5e5;
  border: 2px solid #ea9a00;
}
.productFeatureTitle ._label>small {
  display: block;
  font-size: 80%;
}
.productFeatureTitle ._title {
  border: none;
  display: table-cell;
  margin: 0;
  padding: .75em 1em;
  vertical-align: middle;
  font-size:120%;
  font-weight: bold;
}
.productDetailCard>._image {
    border: 1px solid #ccc;
    border-radius: .65rem;
    float: left;
    margin: 0 0 1em;
    padding: 1em;
    width: 340px;
}
span.text-company {
  color: #c02;
}

.panel-default.panel-stroke-regular {
  background-color: var(--slt-orange);
  border: 1px solid #ccc;
}
[class^="panel-"], [class*=" panel-"] {
  border-radius: 1rem;
  margin: 1em 0;
  overflow: hidden;
  padding: 10px;
}

/* □■-----------------------------------------------------
/ 『グローバルメニュー』
-----------------------------------------------------■□ */
/* マウスオーバーでアンダーライン */
#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-green);
  font-size:1.2em;
}

/* ホバー色 */
.menu-drawer a:hover {
  background-color: #deebf7
}
/* □■-----------------------------------------------------
/ 『フロントページ他：ふわっと表示』
-----------------------------------------------------■□ */
/* 下から */
.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;
}
/* □■-----------------------------------------------------
/ 『対面販売の説明ボックス』
-----------------------------------------------------■□ */
.tt-howto {
  margin-top: 20px;
  border: var(--dk-orange) solid 1px;
  border-radius: 10px;
  padding: 10px;
}
.tt-howto .tt-howto-title {
  color: var(--dk-orange);
}
.tt-howto .tt-howto-details {
  font-size: 90%;
  line-height: 1.2rem;
}

/* □■-----------------------------------------------------
/ 『各保険のトップ部ボックス』
-----------------------------------------------------■□ */
.insurance-type { font-size: 120%; font-weight: bold; margin-top: 2rem; }
.insurance-type .fas { color: var(--dk-pink); }

.productPanel {
  width: 100%;
  border: 1px solid #ccc;
  border-radius: .5rem;
  margin: 1em 0 !important;
  padding: 1.2rem
}
.productPanel .productPanel-header {
/*  display: table-cell;*/
  padding-right: 2rem;
/*  padding-top: 1rem;*/
  vertical-align: middle;
  width: 60%;
}
.productPanel .productPanel-header>._image a img {
  width: 320px;
}
.productPanel .productPanel-header>._keyword {
  margin-bottom: 1rem;
}
.productPanel .productPanel-header>._keyword>._sub_title {
  font-size: 90%;
  font-weight: bold;
}
.productPanel .productPanel-header>._image {
    margin-bottom: 1rem;
}
.productPanel .productPanel-header>._title {
  font-size: 1.6rem;
  font-weight: bold;
}
.productPanel .productPanel-body {
  width: 39%;
}
.productPanel .productPanel-body>._system {
    margin-bottom: 7rem;
}
.productPanel .productPanel-body>._system:not(:first-child) {
    border-top: 1px solid #eee;
    padding-top: 1rem;
}
.productPanel .productPanel-body>._system>._title {
    font-size: .9rem;
 /*   margin-top: 2rem;*/
    margin-bottom: 0;
}
.productPanel .productPanel-header>._outline {
  font-size: 0.9rem;
}
.productPanel .productPanel-header>._keyword [class^="label-"] {
  margin-right: .5em;
}
.productPanel .label-product-A { background-color: #8b65ba; color: #fff; }
.productPanel .label-product-B { background-color: #5364b6; color: #fff; }
.productPanel .label-product-C { background-color: #b4558f; color: #fff; }
.productPanel .label-product-D { background-color: #297F98; color: #fff; }
[class^='label-'], [class*=' label-'] {
  border-radius: 3rem;
  display: inline-flex;
  padding: 0.3em 1em;
  border: 1px solid transparent;
  text-align: center;
  font-weight: bold;
  font-size:0.86rem;
  line-height: 1.5rem;
}
.productPanel .productPanel-body>._system>._item>._more {
    float: left;
    padding-left: .5rem;
    padding-right: .5rem;
    width: 100%;
}
.productPanel .productPanel-body {
    border-left: 1px solid #eee;
/*    display: table-cell;*/
    padding-left: 1rem;
    vertical-align: middle;
/*    width: 40%;*/
}
/*
.productPanel .productPanel-body>._system>._item>._order {
    float: left;
    padding-left: .5rem;
    padding-right: .5rem;
    width: 33.33333%;
}
*/
.productPanel .productPanel-body>._system>._item>._order  span {
  font-size: 210%;
}
.productPanel .productPanel-body>._system>._item>._order .btn-primary {
    background-color: #ea9a00;
}
.productPanel .productPanel-body>._system>._title [class^="label-"] {
  font-size: .6rem;
  margin-left: .5em;
  vertical-align: .1em;
}
.productPanel .productPanel-body>._system>._item>._more .btn-disabled {
    background-color: #eee !important;
    border: none;
    border-color: transparent !important;
    color: #ccc !important;
    opacity: 1;
}
.productPanel .btn-disabled {
    pointer-events: none;
    cursor: default;
    opacity: .3334;
}
.productPanel .productPanel-body>._system>._title [class^="label-"].label-disabled {
    opacity: .25;
}
.productPanel .label-default.label-stroke {
    background-color: transparent;
    border-color: #333;
    color: #333;
}
.productPanel .label-default {
    background-color: #ccc;
    color: #fff;
}
[class^='label-'], [class*=' label-'] {
    border-radius: 3rem;
    display: inline-flex;
    padding: 0 1em;
    border: 1px solid transparent;
    text-align: center;
    font-weight: bold;
}
.productPanel .btn-md-gray, .btn-wrap.btn-wrap-md-gray > a {
  background-color: var(--md-gray);
}
.productPanel .btn-dk-orange, .btn-wrap.btn-wrap-dk-orange > a {
  background-color: var(--dk-orange);
}
.productPanel .btn-dk-green, .btn-wrap.btn-wrap-dk-green > a {
  background-color: var(--dk-green);
}
.productPanel .btn-dk-blue, .btn-wrap.btn-wrap-dk-blue > a {
  background-color: var(--dk-blue);
}
.productPanel .btn-dk-pink, .btn-wrap.btn-wrap-dk-pink > a {
  background-color: var(--dk-pink);
}
.productPanel .btn-dk-purple, .btn-wrap.btn-wrap-dk-purple > a {
  background-color: var(--dk-purple);
}
.productPanel .btn-dk-orange-wk, .btn-wrap.btn-wrap-dk-orange-wk > a {
  background-color: #ffffff;
  color: var(--dk-orange);
  border: var(--dk-orange) solid 1px;
}
.productPanel .btn-dk-pink-wk:hover {
  color:var(--dk-orange) !important;
}
.productPanel .btn-dk-pink-wk, .btn-wrap.btn-wrap-dk-pink-wk > a {
  background-color: #ffffff;
  color: var(--dk-pink);
  border: var(--dk-pink) solid 1px;
}
.productPanel .btn-dk-orange-wk:hover {
  color:var(--dk-orange) !important;
}
.productPanel .btn-dk-pink-wk:hover {
  color:var(--dk-pink) !important;
}

.productPanel .btn-m, .btn-wrap.btn-wrap-m > a {
  margin-top: 5px;
  padding: 10px 5px;
  font-size: 15px;
  border-radius: 15px;
  width: 100%;
  font-weight: normal;
}

.productPanel a.btn-m-arrow:before {
  font-family: 'Font Awesome 5 Free';
  font-size: .9rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .5rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f138';
  font-weight: bold;
}
/* □■-----------------------------------------------------
/ 『保険カテゴリー：リンク部ブロック』
-----------------------------------------------------■□ */
.panel-default ul.category-link {
  list-style: none;
}
.panel-default ul.category-link li {
  float: left;
  margin-left: 0.3em;
  margin-right: 0.5em;
}
.panel-default ul.category-link li::before {
  font-family: "Font Awesome 5 Free";
  content: '\f138';
  color: var(--dk-orange);
  font-weight: 900;
  margin-right: 0.2em;
}
/* □■-----------------------------------------------------
/ 『保険：「オプション」のタブ 表ブロック』
-----------------------------------------------------■□ */
.table-op-title { background-color: var(--dk-orange); color:#fff; font-weight: bold; }
.table-op-details { padding: 0;}
.table-op-details .column-left { padding: 5px; background-color: var(--slt-orange); font-weight: bold; text-align: center; }
.table-op-details .column-right { padding: 5px }
/* □■-----------------------------------------------------
/ 『（SOMPO 健康生活サポートサービス）ブロック』
-----------------------------------------------------■□ */
.support {
  background-color: var(--slt-orange);
  padding: 10px;
}
.support p { display: none; }
.support .sp-box {
  border: 2px solid var(--dk-orange);
  background-color: #fff;
  border-radius: 10px;
  margin: 10px;
}
.support .sp-service {
  line-height: 50px;
  text-align: center;
  font-weight: bold;
  font-size: 120%;
}
.support .title {
  margin: 0;
  padding: 20px;
  text-align: center;
  border-bottom: 2px solid var(--dk-orange);
}
.support .inner {
  padding: 20px;
}
/* □■-----------------------------------------------------
/ 『（電話・メール）ブロック』
-----------------------------------------------------■□ */
.top-block {
  background-size: cover;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  text-align: center;
  background-color: #009c74;
  /*padding-bottom: 80px;*/
  margin-top: -9px;
}


#photo-block {
  background-size: cover;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  text-align: center;
}
.none-block {
  background-color: #009c74;
/*  padding-bottom: 80px;*/
}
.middle-block {
  background: url(https://sompo-himawari-life.com/wp-content/themes/cocoon-child-master/images/tm-middle-block-phone.jpg) no-repeat top center;
  padding-bottom: 30px;
  margin-bottom :0;
}
.last-block {
  background: url(https://sompo-himawari-life.com/wp-content/themes/cocoon-child-master/images/tm-foot-block-phone.jpg) no-repeat top center;
  padding-bottom: 80px;
}
#photo-block .block-div {
  max-width: 1154px;
  margin: 0 auto;
  overflow: hidden;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
  padding:30px 25px 0;
}
#photo-block .txt-message {
  font-size: 2.0vw;
  padding: 10px;
  line-height: 1.8em;
  margin-bottom: 50px;
  background-color: rgba(255,255,255,0.5);
}
.tel-box,
.mail-box {
    position: relative;
    margin: 2em 0;
    padding: 1.5em 1em;
    border-radius: 10px;
}
.tel-box {
  border: solid 1px var(--dk-green);
}
.mail-box {
  border: solid 1px var(--dk-orange);
}

.tel-box .box-title,
.mail-box .box-title {
  margin: 0 auto;
  font-size: 120%;
  text-align: center;
  position: absolute;
  right: 0;
  left: 0;
  top: -0.9em;
}

.tel-box .box-title span {
    margin: 0; 
    padding: 0 .5em;
    background: #FFF;
    color: var(--dk-green);
}
.mail-box .box-title span {
    margin: 0; 
    padding: 0 .5em;
    background: #FFF;
    color: var(--dk-orange);
}

.btn-box {
  text-align: center;
  letter-spacing: 0.1em;
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.btn-box-tel,
.btn-box-contact {
  width:100%;
  max-width: 350px;
  color: #fff;
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 1em 1em 1em 60px;
  border-radius: 10px;
  width: 100%;
  transition: 0.3s;
}
.btn-box-tel {
  background: var(--dk-green);
}
.btn-box-contact {
  background: var(--dk-orange);
}

.btn-box-contact::before,
.btn-box-tel::before {
  content: '';
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}
.btn-box-contact::before {
  font-family: "Font Awesome 5 Free";
  content: '\f0e0'; /* E-mail */
  font-weight: 900;
  font-weight: 900;
  font-size: 2.7em;
}

.btn-box-tel::before {
  font-family: "Font Awesome 5 Free";
  content: '\f3cd'; /* Phone */
  font-weight: 900;
  font-size: 2.7em;
}

.btn-box .copy_txt {
  line-height: 1;
  display: inline-block;
  padding: 0.2em 0.8em;
  letter-spacing: 0;
  background: #fff;
  border-radius: 5px;
  font-weight: bold;
}
.btn-box .copy_note {
  font-size: 65%;
}

.btn-box-tel .copy_txt {
  color: #009eb7;
}
.btn-box-contact .copy_txt {
  color: #ff8200;
}

/* マウスオーバーした際のデザイン */
.btn-box-contact:hover,
.btn-box-tel:hover {
  transform: scale(1.05);
}
.last-block .last-note {
  margin-top: .3em;
  font-size: 90%;
  color: #fff;
  text-shadow: 0 0 2em #000;
}

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

/*834px以下*/
@media screen and (max-width: 834px){
  #photo-block .txt-message {
    font-size: 3.8vw;
  }
}
/*480px以上*/
@media screen and (min-width: 480px){
  .mobile-footer-menu-buttons{ /*Blog Floating Buttonの競合表示を避ける*/
    display: none;
  }
}
/*480px以下*/
@media screen and (max-width: 480px){
  .br-sp { display: block; }
}
