a[href^='tel:'] {
  color: inherit !important;
  pointer-events: none;
}



header,
#dh,
#tree,
footer,
main {
  min-width: 1080px;
  font-size: 15px;
}

#header,
#tree nav,
#footer {
  max-width: 1280px;
  box-sizing: border-box;
}
.box {
  width: 960px;
  box-sizing: border-box;
}


header {
  background: #ffffff;
  padding-top: 20px;
}
header,
#dh {
  height: calc(2.5em + 40px);
}
#header > h1,
#header > h1 a,
#header > h1 a > * {
  height: 52px;
  line-height: 52px;
}
#header > h1 {
  left: 3%;
}
#header > h1 a svg {
  fill: rgba(255, 70, 145, 1);
}
#header > nav {
  width: fit-content;
  margin-right: 0;
  padding-right: calc(2% + 0.25em);
}
#header nav > * {
  vertical-align: top;

  border-radius: 2em;

  position: relative;
  z-index: 1;
  overflow: hidden;
}
#header nav a {
  display: inline-block;
  vertical-align: top;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
}
#header nav a.no,
#header nav a:active,
#header nav a:hover {
  opacity: 0.5;
}
#header nav div {
  display: inline-block;
  background: #ffecf4;
  padding-right: 2.25em;
  padding-left: 2.25em;
  transition: background 1.0s cubic-bezier(0.2, 1.0, 0.2, 1.0);
}
#header nav div > a {
  color: #000000;
  padding-right: 1em;
  padding-left: 1em;
}
#header nav > a {
  background: rgba(255, 70, 145, 1);
  color: #ffffff;
  margin-left: 0.5em;
  padding-right: 2em;
  padding-left: 2em;
}


#tree nav,
#footer {
  padding-right: calc(2% + 0.75em);
  padding-left: calc(2% + 0.75em);
}


#tree nav {
  font-size: 0.85em;
}


footer {
  margin-top: 160px;
  padding-top: 30px;
}
#footer {
  margin-bottom: 30px;
  position: relative;
}
#fins {
  position: absolute;
  top: 50%;
  right: calc(2% + 0.75em);
  transform: translate3d(0, -50%, 0);
}


main {
}


#navigation {
  margin-top: 100px;
}
.snsbox {
  margin-top: 100px;
  margin-bottom: -70px;
}



.base figcaption { font-size: 0.8em; }

.alignnone {
}
.aligncenter {
  display: block;
}
.alignleft {
  margin-right: 1.5em !important;
}
.alignright {
  margin-left: 1.5em !important;
}
.size-thumbnail {
  max-width: 40%;
}
.size-medium {
  max-width: 70%;
}

.alp:active,
.alp:hover {
  opacity: 0.5;
}

.pcn {
  display: none !important;
}



#mv {
  height: calc(100svh - 2.5em - 40px);
}

.hbox {
  max-width: 1280px;
  padding-right: 40px;
  padding-left: 40px;
  position: relative;
  box-sizing: border-box;
}

.hst {
  width: 170px;
  position: absolute;
  top: 10px;
  left: 40px;
}
.hst h3 {
  font-size: 2.5em;
}
.hst a {
  line-height: 2.5em;
  margin-top: 50px;
}
.hst a:link,
.hst a:visited {
  background: #ffffff;
  color: rgba(255, 70, 145, 1);
}
.hst a:active,
.hst a:hover {
  background: rgba(255, 70, 145, 1);
  color: #ffffff;
}

#hco {
  width: fit-content;
  margin-top: 100px;
  padding-left: 320px;
  position: relative;
}
#hco figure {
  width: 270px;
  height: 100%;

  position: absolute;
  top: 50%;
  left: 0;
  transform: translate3d(0, -50%, 0);
  box-sizing: border-box;
}
#hco figure img {
  width: 80px;
}

#hne.hbox,
#hbl.hbox {
  min-height: 150px;
  margin-top: 100px;
  padding-left: 220px;
}

#hne article {
  margin-left: 4%;
}
#hne article a {
  padding: 2em 20px 2em 120px;
  position: relative;
}
#hne article a time {
  font-size: 0.95em;
  line-height: inherit;

  position: absolute;
  left: 20px;
}

#hli {
  margin-top: 100px;
  padding-top: 70px;
  padding-bottom: 70px;
}
#hli nav:after {
  content: '';
  clear: both;
  display: block;
}
#hli article {
  float: left;
  width: 48.5%;
}
#hli article:not(:nth-of-type(1)) {
  margin-left: 3%;
}
#hli a h3 {
  line-height: 4em;
}

#hbl {
  margin-top: 120px;
}

#hbl .blist {
  width: 46%;
  margin-top: 4%;
  margin-left: 4%;
}
#hbl .blist:nth-of-type(-n+2) {
  margin-top: 0;
}
#hbl .blist:nth-of-type(2n+1) {
  clear: both;
}
#blog .blist {
  width: 32%;
  margin-top: 4%;
  margin-left: 2%;
}
#blog .blist:nth-of-type(-n+3) {
  margin-top: 2%;
}
#blog .blist:nth-of-type(3n+1) {
  clear: both;
  margin-left: 0;
}
.blist a span {
  padding-right: 2em;
  padding-left: 2em;
}
.blist a time {
  font-size: 0.85em;
}
.blist a h3 {
  font-size: 1em;
  padding: 0 1em;
}



.nlist a {
  min-height: 160px;
  padding: 2em 20px 2em 290px;
  position: relative;
}
.nlist a .cc {
  width: 240px;
  height: 160px;

  position: absolute;
  top: 2em;
  left: 20px;
}
.nlist a time {
  font-size: 0.85em;
  margin-top: 1em;
}
.nlist a h3 {
  font-size: 1.05em;
  padding-bottom: 0.5em;
}
.nlist a p {
  font-size: 0.9em;
}



#pmain {
  height: 240px;
  font-size: 1.15em;
  margin-bottom: 60px;
}
.sin {
  width: 780px;
}



.ilist {
  min-height: 390px;
  margin-top: 80px;
  padding-left: 320px;
  position: relative;
}
.ilist > figure {
  width: 270px;
  height: 360px;

  position: absolute;
  top: 0;
  left: 0;
}
.ilist > h1 {
  font-size: 1.5em;
  padding-top: 0.25em;
}
.ilist > ul {
  font-size: 0.95em;
}



#pcredit time {
  font-size: 0.85em;
  margin-bottom: 0.35em;
}
#pcredit h1 {
  font-size: 1.35em;
}



#contact .base {
  width: fit-content;
}

#form {
  margin-top: 60px;
}
#form table {
  width: 100%;
}
#form th,
#form td {
  padding-top: 2em;
  padding-right: 2em;
  padding-bottom: 2em;
}
#form tr > *:nth-child(1) {
  padding-left: 2em;
}
#form input[type='number'] {
  padding-right: 0;
}
.wpcf7-list-item {
  display: inline-block;
}
.wpcf7-list-item:not(:first-child) {
  margin-left: 2.5em;
}
.wpcf7-list-item label {
  padding: 0.25em 0;
}

div.wpcf7-response-output,
div.wpcf7-display-none,
div.wpcf7-validation-errors {
  line-height: 3em;
}




