@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:not(.wp-admin) {
  width: 100%;
  min-height: 100vh;
  line-height: 1.8;
  margin: 0 auto;
  font-size: 1.7rem;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #444;
}

a {
  outline: none;
  text-decoration: none;
  color: #333;
}

a:hover {
  color: #333;
  opacity: 0.8;
}

.wrap {
  width: 100%;
  padding: 0;
}

.container,
#main,
.content-bottom-in {
  width: 96%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  overflow: hidden;
  border-radius: 4px;
  overflow: visible;
}

#container {
  width: 100%;
  max-width: 100%;
  padding: 0;
}

.info {
  color: #fff;
  background: none;
  border-color: none;
  padding: 0;
  border-radius: 0;
}

.fz-18px {
  font-size: initial;
}

.content-in {
  margin: 7rem auto 0;
}

#lead h1 {
  color: var(--btn-color);
  font-size: 5rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  opacity: 0.8;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 800;
  font-style: normal;
  text-align: center;
  margin: 2rem 0 2rem;
}

#lead h1::first-letter {
  color: var(--main-light-color);
}

#lead .txt {
  border: solid 1px #efefef;
  border-radius: 6px;
  padding: 1rem 4rem 2rem;
  background-color: #fff;
  font-size: 1.6rem;
  margin: 4rem 0;
}

#lead .txt h2 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 600;
  margin: 0 0 2rem;
  position: relative;
  z-index: 1;
  line-height: 1.7;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

.ect-3-columns .entry-card-wrap {
  padding: 12px;
  background: #fff;
  border: solid 1px #eee;
}

#categories-2 {
  padding: 4rem 0 2rem;
}

#categories-2 h2 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 600;
  margin: 0 0 2rem;
  position: relative;
  z-index: 1;
  line-height: 1.7;
  border-bottom: solid 1px #ccc;
}

#categories-2 a {
  text-decoration: underline;
}

#categories-2 .children {
  margin: 0 0 2rem;
  font-size: 95%;
}

header.article-header {
  position: relative;
  padding: 0;
  box-shadow: none;
}

.entry-title,
.archive-title {
  color: var(--btn-color);
  font-size: 3.8rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  opacity: 0.8;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 800;
  font-style: normal;
  margin: 4rem 0 3rem;
  border-left: solid 6px #a2bcd3;
  padding: 0 0 0 1.5rem;
}

footer.article-footer {
  padding: 0;
}

footer.entry-footer::before,
footer.entry-footer::after {
  display: none;
}

.rect-vertical-card-3 .related-entry-card-wrap {
  padding: 12px;
  background: #fff;
  border: solid 1px #eee;
}

.article .entry-content {
  background-color: #fff;
  padding: 2rem 4rem;
  box-shadow: 0 4px 16px rgba(162, 188, 211, 0.15);
}

.archive #lead {
  display: none;
}

div#list-wrap .list-new-entries {
  display: none;
}

.list-title {
  margin-top: 2em;
  margin-bottom: 1.5em;
  font-weight: bold;
}

.list-title-in {
  padding: 0;
}

.list-title-in:before,
.list-title-in:after {
  display: none;
}

.body .list .widget-entry-cards p {
  text-align: center;
}

.new-entry-cards a {
  border: solid 1px #f0f0f0;
  border-radius: 6px;
}

.single #contact-form-7 {
  color: #444;
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.single #contact-form-7 .ttl {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 600;
  margin: 0 0 2rem;
  position: relative;
  z-index: 1;
  line-height: 1.7;
  border-bottom: solid 1px #ccc;
}

.single #contact-form-7 .form {
  background-color: #fff;
  padding: 2rem 16rem;
  box-shadow: 0 4px 16px rgba(162, 188, 211, 0.15);
  border: solid 8px #f0f0f0;
}

.single #contact-form-7 .form .required {
  margin: 0 0 0 0.8rem;
  color: rgb(247, 51, 51);
  font-size: 1.4rem;
}

.single #contact-form-7 .form p {
  margin: 0;
}

.single #contact-form-7 .form fieldset {
  margin: 2.4rem 0 0;
}

.single #contact-form-7 .form input[name="postal-1"],
.single #contact-form-7 .form input[name="postal-2"] {
  width: 8rem;
}

.single #contact-form-7 .form input[type="submit"] {
  width: 50%;
  margin: 3.4rem auto 0;
  display: block;
  background-color: #0b3779;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 3rem 3rem;
  font-size: 1.8rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(11, 55, 121, 0.12);
  transition: background 0.2s, opacity 0.2s;
}

.single #contact-form-7 .form input[type="submit"]:hover {
  background-color: #124a9e;
  opacity: 0.9;
}

.single .wpcf7-response-output {
  color: #444;
}

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

/*896px以下*/
@media screen and (max-width: 896px) {
  .container,
  #main,
  .content-bottom-in {
    width: 100%;
    padding-left: 4%;
    padding-right: 4%;
  }

  main.main,
  div.sidebar {
    padding: 22px 16px;
    margin: 6px 0;
    border-width: 0;
  }

  #lead h1 {
    font-size: 3rem;
  }

  #lead .txt {
    padding: 1rem 2rem 2rem;
  }

  #lead .txt h2 {
    text-align: left;
    font-size: 2rem;
  }

  .entry-title,
  .archive-title {
    font-size: 2.4rem;
    border-left: solid 4px #a2bcd3;
    padding: 0 0 0 1rem;
  }

  .article .entry-content {
    padding: 2rem 2rem;
  }

  .single #contact-form-7 .form {
    padding: 2rem 2rem;
  }

  .single #contact-form-7 .form input[type="submit"] {
    width: 100%;
  }
}

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