@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.2
*/
/************************************
** 子テーマ用のスタイルを書く
************************************/
/* 必要ならばここにコードを書く */
/* -----------------------------------------
全体
----------------------------------------- */
a,
a:hover {
  transition: all 0.3s ease-in-out;
}

body.body {
  background-color: #ffffff;
}
body.body .wp-block-image figcaption {
  text-align: center;
}

.content {
  margin-top: 0;
}

.no-sidebar .content .wrap {
  width: 100%;
  background-color: #ffffff;
}
.no-sidebar .content .wrap .main {
  width: 100%;
  max-width: 1256px;
  margin: 0 auto;
}

.page .blur,
.page .blur > img {
  padding: 0;
  margin: 0;
  border: 0;
}
.page .blur {
  position: relative;
  display: inline-block;
  font-size: 0;
  line-height: 0;
}
.page .blur::after {
  position: absolute;
  inset: 0;
  content: " ";
  box-shadow: inset 0 0 10px 10px #ffffff;
}

/* -----------
ヘッダー
----------- */
#header-container {
  position: relative;
  z-index: 10;
  box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.6);
}
#header-container #header {
  padding: 10px 0;
}
#header-container #header .logo {
  margin-left: 15px;
}
#header-container #header .logo a:hover {
  opacity: 0.8;
}
#header-container #header .logo a span {
  font-weight: 700;
}
#header-container nav.navi .navi-in > ul li {
  width: auto;
  min-width: 130px;
  height: 80px;
  line-height: 80px;
  transition: all 0.3s ease-in-out;
}
#header-container nav.navi .navi-in > ul li:hover {
  color: #ffffff;
  background-color: #156bb2;
  transition: all 0.3s ease-in-out;
}
#header-container nav.navi .navi-in > ul li a {
  font-size: 17px;
}
#header-container nav.navi .navi-in > ul li a:hover {
  color: #ffffff;
  background-color: transparent;
}

/* -----------
sp版ヘッダーメニュー部分
----------- */
.mobile-menu-buttons .navi-menu-button .menu-close-button {
  padding-right: 1rem;
  padding-left: 1rem;
  text-align: left;
}

.menu-content {
  max-width: 250px;
}
.menu-content .menu-drawer .menu-item a:hover {
  background-color: #5496cc;
}

/* -----------
アピールエリア
----------- */
.appeal {
  position: relative;
  height: 250px;
  overflow: hidden;
  background-color: #156bb2;
}
.appeal .appeal-toptext {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.appeal .appeal-toptext .appeal-toptext-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 1256px;
  height: 100%;
  margin: 0 auto;
}
.appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap {
  padding-left: 1rem;
}
.appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap p {
  margin: 0;
  font-size: 3vw;
  color: #ffffff;
  text-shadow: 1px 2px 3px #808080;
}
.appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap p span {
  display: inline-block;
}
.appeal .appeal-topimg {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}
.appeal .appeal-topimg .index-textdiv {
  width: 45%;
}
.appeal .appeal-topimg .index-img {
  width: 55%;
  height: 100%;
}
.appeal .appeal-topimg .index-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0 100%;
     object-position: 0 100%;
}
.appeal .appeal-backimg {
  display: block;
  width: 100%;
  height: 100%;
}
.appeal .appeal-backimg .h-img-wrap {
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  width: 100%;
  height: 100%;
  font-size: 0;
}
.appeal .appeal-backimg .h-img-wrap .h-img-text {
  width: 40%;
  height: 100%;
  font-size: 0;
  background-color: #0f4c7d;
}
.appeal .appeal-backimg .h-img-wrap .blur {
  width: 60%;
  height: 100%;
}
.appeal .appeal-backimg .h-img-wrap .blur::after {
  box-shadow: inset 15px 0 15px -5px #0f4c7d;
}
.appeal .appeal-backimg .h-img-wrap .blur img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.appeal .appeal-in-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
}
.appeal .appeal-in-wrapper .appeal-in.wrap {
  position: relative;
  min-height: 250px;
  padding: 0;
}
.appeal .appeal-in-wrapper .appeal-in.wrap .appeal-h1-title {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%) translateX(-10%);
}
.appeal .appeal-in-wrapper .appeal-in.wrap .appeal-h1-title p {
  display: block;
  margin: 0;
  font-size: 42px;
  color: #ffffff;
  text-shadow: 1px 2px 3px #808080;
}

/* -----------
ページ見出し
----------- */
.page .entry-title,
.single .entry-title {
  text-align: center;
}

/* 固定ページは更新日時・カテゴリ情報・h1見出し非表示 */
/* stylelint-disable-next-line no-duplicate-selectors */
.page .date-tags,
.page .entry-categories-tags,
.page .entry-title {
  display: none;
}

.article h2:first-child,
.article h3:first-child,
.article h4:first-child,
.article h5:first-child,
.article h6:first-child {
  margin-top: calc(20px + 1em);
}

/* -----------
フッター
----------- */
.footer {
  padding: 0;
  padding-top: 10px;
  margin-top: 20px;
}

#footer .footer-in.wrap {
  width: 100%;
}
#footer .footer-in.wrap .footer-widgets-wrap,
#footer .footer-in.wrap .footer-bottom-wrap {
  width: 100%;
}
#footer .footer-in.wrap .footer-widgets-wrap .footer-widgets-inner-wrap,
#footer .footer-in.wrap .footer-bottom-wrap .footer-bottom-inner-wrap {
  width: 100%;
  max-width: 1256px;
  margin: 0 auto;
}
#footer .footer-in.wrap .footer-widgets-wrap,
#footer .footer-in.wrap .footer-widgets-mobile {
  color: #0a3659;
  background-color: #ffffff;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_nav_menu .menu,
#footer .footer-in.wrap .footer-widgets-mobile .widget_nav_menu .menu {
  margin: 10px 0;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_nav_menu .menu .menu-item,
#footer .footer-in.wrap .footer-widgets-mobile .widget_nav_menu .menu .menu-item {
  color: #0f4c7d;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_nav_menu .menu .menu-item a,
#footer .footer-in.wrap .footer-widgets-mobile .widget_nav_menu .menu .menu-item a {
  display: inline-block;
  padding: 0;
  font-size: 16px;
  color: #0f4c7d;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_nav_menu .menu .menu-item a:hover,
#footer .footer-in.wrap .footer-widgets-mobile .widget_nav_menu .menu .menu-item a:hover {
  text-decoration: underline;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_nav_menu .menu .menu-item::before,
#footer .footer-in.wrap .footer-widgets-mobile .widget_nav_menu .menu .menu-item::before {
  padding-right: 5px;
  font-family: "Font Awesome 6 Free", sans-serif;
  font-size: 80%;
  font-weight: 900;
  content: "\f105";
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html {
  padding: 10px 0;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html h3,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html h3 {
  font-size: 14px;
  font-weight: 400;
  color: #156bb2;
  text-align: center;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html .custom-html-widget .footer-company-text-wrap a,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .custom-html-widget .footer-company-text-wrap a {
  color: #0a3659;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html .custom-html-widget .footer-company-text-wrap p,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .custom-html-widget .footer-company-text-wrap p {
  margin: 0;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html .custom-html-widget .footer-company-text-wrap p.footer-company-title,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .custom-html-widget .footer-company-text-wrap p.footer-company-title {
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 700;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html .button-block .btn,
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html .btn-wrap > a,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .button-block .btn,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .btn-wrap > a {
  color: #156bb2;
}
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html .button-block .btn:hover,
#footer .footer-in.wrap .footer-widgets-wrap .widget_custom_html .btn-wrap > a:hover,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .button-block .btn:hover,
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .btn-wrap > a:hover {
  color: #ffffff !important;
  background-color: #156bb2 !important;
  opacity: 1;
  filter: opacity(1);
  transition: all 0.3s ease-in-out;
}
#footer .footer-in.wrap .footer-widgets-mobile .widget_custom_html .custom-html-widget .footer-company-text-wrap p.footer-company-title {
  font-size: 20px;
}
#footer .footer-in.wrap .footer-bottom-wrap {
  background-color: #156bb2;
}
#footer .footer-in.wrap .footer-bottom-wrap .footer-bottom-inner-wrap .footer-bottom {
  margin-top: 0;
}
#footer .footer-in.wrap .footer-bottom-wrap .footer-bottom-inner-wrap .footer-bottom .footer-bottom-content .navi-footer {
  display: none;
}

.footer-left,
.footer-center,
.footer-right {
  padding: 0;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/* 1241px以上 */
@media screen and (width >= 1241px) {
  /* 必要ならばここにコードを書く */
}
/* 1240px以下 */
@media screen and (width <= 1240px) {
  /* 必要ならばここにコードを書く */
}
/* 1024px以上 */
@media screen and (width >= 1024px) {
  /* 必要ならばここにコードを書く */
  .appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap p {
    font-size: 34px;
  }
}
/* 1023px以下 */
@media screen and (width <= 1023px) {
  /* 必要ならばここにコードを書く */
  body.mblt-header-mobile-buttons {
    margin-top: 53px;
  }
  #header-container {
    box-shadow: none;
  }
  #header-container #header {
    display: none;
  }
  #header-container .navi-in > .menu-header {
    display: none;
  }
  .appeal {
    background-size: auto 100%;
  }
  .mobile-header-menu-buttons {
    box-shadow: 0 5px 10px -5px rgba(0, 0, 0, 0.4);
  }
  .mobile-header-menu-buttons .menu-button {
    color: #156bb2;
  }
  .mobile-header-menu-buttons .menu-button > a {
    color: #156bb2;
  }
  .mobile-header-menu-buttons .menu-button .navi-menu-content {
    background-color: #156bb2;
  }
  .mobile-header-menu-buttons .menu-button .navi-menu-content .navi-menu-close-button {
    color: #ffffff;
  }
  .mobile-header-menu-buttons .menu-button .navi-menu-content .menu-drawer li a {
    color: #ffffff;
  }
}
/* 835px以上 */
@media screen and (width >= 835px) {
  /* 必要ならばここにコードを書く */
}
/* 834px以下 */
@media screen and (width <= 834px) {
  /* 必要ならばここにコードを書く */
  .appeal {
    height: 150px;
    background-size: 100% auto;
  }
  .appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap p {
    font-size: 3.3vw;
  }
  .appeal .appeal-topimg .index-textdiv {
    width: 35%;
  }
  .appeal .appeal-topimg .index-img {
    width: 65%;
    height: 100%;
  }
  .appeal .appeal-in-wrapper .appeal-in.wrap {
    min-height: 150px;
  }
  .appeal .appeal-in-wrapper .appeal-in.wrap .appeal-h1-title p {
    font-size: 36px;
  }
}
/* 599px以下 */
@media screen and (width <= 599px) {
  /* 必要ならばここにコードを書く */
}
/* 480px以下 */
@media screen and (width <= 480px) {
  /* 必要ならばここにコードを書く */
  .appeal .appeal-toptext .appeal-toptext-inner {
    background-color: rgba(0, 0, 0, 0.15);
  }
  .appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap {
    padding-right: 1rem;
  }
  .appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap p {
    font-size: 22px;
    text-align: center;
  }
  .appeal .appeal-toptext .appeal-toptext-inner .toptext-wrap p:first-child {
    margin-bottom: 1rem;
  }
  .appeal .appeal-topimg .index-textdiv {
    width: 15%;
  }
  .appeal .appeal-topimg .index-img {
    width: 85%;
  }
  .appeal .appeal-backimg .h-img-wrap .h-img-text {
    display: none;
  }
  .appeal .appeal-backimg .h-img-wrap .blur {
    width: 100%;
  }
  .appeal .appeal-backimg .h-img-wrap .blur::after {
    box-shadow: none;
  }
  .appeal .appeal-in-wrapper .appeal-in.wrap {
    background-color: rgba(0, 0, 0, 0.35);
  }
  .appeal .appeal-in-wrapper .appeal-in.wrap .appeal-h1-title p {
    font-size: 32px;
  }
}
/* 350px以下 */
@media screen and (width <= 350px) {
  /* 必要ならばここにコードを書く */
}