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

/************************************
** 子テーマ用のスタイルを書く
************************************/
body {
  background-color: #fff;
}
.wrap {
  width: 100%;
}
.header-in {
  flex-direction: unset;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 1000px;
  padding: 15px 0;
}
.logo-text {
  padding: 0;
}
.logo-text a {
  display: block;
}
.logo-text a img {
  vertical-align: middle;
}
#header-in #navi .navi-in a {
  color: #7b7b7b;
  font-size: 14px;
}
#navi .navi-in a:hover {
  opacity: 0.7;
}
#header-in .navi-in > ul {
  padding-bottom: 0.3em;
}
#header-in .navi-in > ul li {
  width: auto;
  height: auto;
  line-height: 1;
}
#header-in .navi-in > ul li + li {
  margin-left: 2em;
}
.content {
  margin-top: 0;
}
.main {
  padding: 0 0 6em;
}
.entry-content {
  width: 90vw;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.article .entry-title {
  height: 80px;
  color: #fff;
  font-size: 27px;
  text-align: center;
  line-height: 80px;
  background-color: #005bab;
  margin: 0;
}
.article-header.entry-header .date-tags {
  display: none;
}
.single_content .article-header.entry-header .date-tags {
  display: block;
  width: 90vw;
  max-width: 900px;
  margin-top: 1.2em;
  margin-left: auto;
  margin-right: auto;
}
.no-post-date .single_content .article-header.entry-header .post-date {
  display: inline;
}
footer.article-footer.entry-footer {
  width: 90vw;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.entry-content h2 {
  color: #005bab;
    font-size: 25px;
    background-color: unset;
    border-radius: 0;
    padding: 0 0 0 0.5em;
    border-left: 3px #005bab solid;
    position: relative;
}
.entry-content h2::after {
  content: "";
  background-color: #005bab;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -6px;
  left: -3px;
}
.entry-content h3 {
  font-size: 21px;
  border: none;
  padding: 0 0 0 1.5em;
  color: #005bab;
  position: relative;
}
.entry-content h3::before {
  content: "■";
  position: absolute;
  top: 0;
  left: 0;
}
.wp-block-table.table_default table {
  width: 100%;
  border-right: 1px #231815 solid;
}
.wp-block-table.table_default table tr {
  background-color: unset;
  border-bottom: 1px #231815 solid;
}
.wp-block-table.table_default table th,
.wp-block-table.table_default table td {
  border: none;
  font-size: 13px;
  border-left: 1px #231815 solid;
  padding: 0.6em 4.8em;
}
.wp-block-table.table_default table td.none {
  border-left-color: #fff;
}
.index {
  background-color: #afe6ff;
}
.wp-block-table.table_default table tr:first-of-type .index {
  padding-left: 0;
  padding-right: 0;
  font-size: 15px;
  text-align: center;
  border-top: 1px #231815 solid;
}
.entry-content > p.exp{
  margin-top: 2.4em;
}
.entry-content > p + p {
  margin-top: 1em;
}
.wpcf7-form label {
  display: flex;
  justify-content: space-between;
}
.wpcf7-form label b {
  font-weight: normal;
}
.wpcf7-form label b::after {
  content: "任意";
  display: inline-block;
  color: #fff;
  font-size: 14px;
  background-color: #999;
  margin-left: 0.45em;
  padding: 0em 0.45em;
}
.wpcf7-form label b.req::after {
  content: "必須";
  background-color: #ff0000;
}
.wpcf7-form-control-wrap {
  width: 75%;
  max-width: 650px;
}
.wpcf7-form-control-wrap.zip input {
  width: 36%;
  max-width: 194px;
}
.wpcf7-form-control.wpcf7-submit {
  border: none;
  background-color: #666;
  color: #fff;
  font-size: 26px;
  display: block;
  max-width: 396px;
  margin: 0 auto 1em;
}
.wpcf7 .ajax-loader {
  left: 50%;
  transform: translateX(-50%);
}
#post-3 .entry-content > p {
  font-size: 21px;
}
#post-3 ol li {
  margin: 2.4em 0;
}
.plot {
	margin-bottom: 4.5em;
}
.plot dl {
  max-width: 770px;
  text-align: center;
  background-color: #afe6ff;
  border: 1px #005bab solid;
  margin-left: auto;
  margin-right: auto;
  padding: 12px;
  position: relative;
}
.plot dl::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -61px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #daf3ff transparent transparent transparent;
  border-width: 60px 180px 0 180px;
}
.plot dl + dl {
  margin-top: 4.5em;
}
.plot dt {
  font-size: 30px;
  font-weight: bold;
}
.plot dd {
  margin-left: 0;
  font-size: 20px;
}
.plot dl:last-child::after {
  border: none;
}
#post-62 dl {
  border-bottom: 1px #bababa solid;
  margin-bottom: 3em;
  padding-bottom: 1.5em;
}
#post-62 dl:first-of-type {
  margin-top: 3em;
  padding-top: 1.5em;
}
#post-62 dt {
  font-size: 27px;
}
#post-62 dd {
  font-size: 17px;
  margin-left: 0;
  margin-top: 2em;
  padding-top: 0.5em;
}
#post-62 dt,
#post-62 dd {
  padding-left: 66px;
  position: relative;
}
#post-62 dt::before,
#post-62 dd::before {
  display: inline-block;
  width: 50px;
  height: 50px;
  color: #fff;
  font-size: 36px;
  text-align: center;
  line-height: 50px;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}
#post-62 dt::before {
  content: "Q";
  background-color: #231815;
}
#post-62 dd::before {
  content: "A";
  background-color: #367ebd;
}
#post-95 .article-header.entry-header {
  position: relative;
}
#post-95 .article-header.entry-header .entry-title {
  height: auto;
  line-height: 1;
  background-color: unset;
  margin: 0;
}
#post-95 .article-header.entry-header .mv_bg {
  width: 100%;
}
#post-95 .article-header.entry-header .mv_txt {
  max-width: 560px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.notice_list {
  list-style-type: none;
  padding: 0 22px;
}
.notice_list li + li {
  margin-top: 1em;
}
.notice_list .date {
  display: inline-block;
  margin-right: 1em;
}
#post-95 .entry-content > p {
  padding: 0 22px
}
.tabular_work {
  padding: 0 22px;
}
.tabular_work dl {
  display: flex;
  font-size: 16px;
  border-bottom: 1px #bababa solid;
  margin-bottom: 0;
  padding: 0.5em 22px;
}
.tabular_work dl:first-of-type {
  border-top: 1px #bababa solid;
}
.tabular_work dt {
  width: 8em;
  text-align-last: justify;
}
.tabular_work dd {
  margin-left: 90px;
}
.gmap {
  height: 0;
  overflow: hidden;
  margin-top: 3em;
  padding-bottom: 56.25%;
  border: 1px #000 solid;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.footer {
  margin-top: 0;
}
.footer_signature {
  text-align: center;
  font-size: 14px;
  margin-top: 24px;
}
.footer_signature dt img {
  width: 54vw;;
  max-width: 230px;
}
.footer_signature dd {
  margin-top: 12px;
}
.footer_signature dd a {
  text-decoration: none;
}
.navi-footer-in > .menu-footer li,
.navi-footer-in > .menu-footer li:last-child {
  border: none;
}
.navi-footer-in > .menu-footer li {
  margin-left: 2.1em;
}
.navi-footer-in > .menu-footer li:first-child {
  margin-left: 0;
}
.copyright {
  margin-top: 18px;
}
.nf {
  text-align: center;
}
.not-found {
  width: 90vw;
  max-width: 600px;
}
.link-btn {
	width: 33%;
	text-align: center;
	background: #005BAA;
	border-radius: 10px;
	margin: 0 auto;
	padding: 5px;
}
.link-btn a {
	display: block;
	height: 60px;
	line-height: 60px;
	color: #fff;
	text-decoration: none;
	background: #3FA8F4;
	border-radius: 5px;
}



/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  .header-in {
    justify-content: center;
  }
  .logo-text a img {
    width: 54vw;
  }
  .article .entry-title {
    height: auto;
    font-size: 21px;
    line-height: 1.4;
    padding: 1.2em 0;
  }
  main.main {
    padding: 0 0 1.8em;
  }
  .entry-content h2 {
    font-size: 18px;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
  }
  .entry-content h3 {
    font-size: 17px;
    margin-top: 0.9em;
    margin-bottom: 0.6em;
  }
  .wp-block-table.table_default table th,
  .wp-block-table.table_default table td {
    padding: 0.3em 0.6em;
  }
  .plot dl::after {
    bottom: -41px;
    border-width: 40px 120px 0 120px;
  }
  .plot dt {
    font-size: 21px;
  }
  .plot dd {
    font-size: 16px;
  }
  .link-btn {
	width: 100%;
  }
  #post-62 dl {
    margin-bottom: 1.8em;
    padding-bottom: 0;
  }
  #post-62 dl:first-of-type {
    margin-top: 1.2em;
    padding-top: 1.2em;
  }
  #post-62 dt,
  #post-62 dd {
    padding-left: 57px;
  }
  #post-62 dt::before,
  #post-62 dd::before {
    width: 40px;
    height: 40px;
    font-size: 24px;
    line-height: 40px;
  }
  #post-62 dt {
    font-size: 18px;
  }
  #post-62 dd {
    font-size: 15px;
    margin-top: 1.8em;
  }
  .wpcf7-form label {
    flex-wrap: wrap;
  }
  .wpcf7-form label b {
    display: block;
  }
  .wpcf7-form-control-wrap {
    width: 100%;
    margin-top: 0.6em;
  }
  .wpcf7-form-control-wrap.zip input {
    width: 50%;
  }
  .wpcf7-form-control.wpcf7-submit {
    font-size: 18px;
  }
  .search-edit,
  input[type="text"],
  input[type="password"],
  input[type="date"],
  input[type="datetime"],
  input[type="email"],
  input[type="number"],
  input[type="search"],
  input[type="tel"],
  input[type="time"],
  input[type="url"],
  textarea,
  select {
    font-size: 15px;
  }
  #post-3 .entry-content > p {
    font-size: 16px;
  }
  .entry-content > p.exp {
    margin-top: 1.5em;
  }
  #post-95 .article-header.entry-header .entry-title {
    padding: 0;
  }
  #post-95 .article-header.entry-header .mv_txt {
    width: 72vw;
  }
  #post-95 .notice_list,
  #post-95 .entry-content > p,
  .tabular_work {
    padding: 0 0.6em;
  }
  #post-95 .notice_list li {
    margin-left: 0;
    margin-right: 0;
  }
  .notice_list .a-wrap {
    padding: 0;
    margin-bottom: 0;
  }
  .notice_list .date {
    display: block;
    margin-right: 0;
  }
  .tabular_work dl {
    padding: 0.5em 0.6em;
    flex-wrap: wrap;
  }
  .tabular_work dt {
    width: 100%;
    text-align-last: unset;
  }
  .tabular_work dd {
    margin-left: 0;
  }
  .sns-follow-buttons a {
    width: 32%;
  }
  .footer_signature {
    font-size: 12px;
  }
  .footer_signature dd {
    margin-top: 12px;
  }
  .footer-bottom {
    margin-top: 1.2em;
    font-size: 12px;
  }
  .footer-bottom.fdt-up-and-down .footer-bottom-content .navi-footer-in > ul {
    width: 69vw;
    margin-left: auto;
    margin-right: auto;
  }
  .navi-footer-in > .menu-footer li.menu-item {
    width: 100%;
    text-align: left;
    margin-top: 0.6em;
  }
  .navi-footer-in > .menu-footer li:first-child {
    margin: 0;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
