/*  
  Theme Name: HARADA.OFFICEのテーマ
  Theme URI: 
  Description: HARADA.OFFICEのテーマ
  Version: 1.0.0
*/

@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

/* Base Layout CSS */
html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-size: 13px;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  line-height: 180%;
  /* letter-spacing: 2.4pt;*/
  letter-spacing: 1.2pt;
  color: #333;
  -webkit-text-size-adjust: 100%;
}

a:not(.btn) {
  transition: .4s;
}

a:not(.btn):hover {
  padding-left: 3px;
}

img {
  max-width: 100%;
  height: auto;
}

a:hover img {
  -moz-opacity: 0.65;
  opacity: 0.65;
  filter: alpha(opacity=65);
}

img,
a:link img,
a:visited img {
  border: 0;
  vertical-align: bottom;
}

hr {
  margin: 50px 0;
  border: none;
  display: block;
  height: 2px;
  background-color: #E2E2E2;
}

address {
  font-style: normal;
}

figcaption {
  text-align: center;
}

.gothic {
  font-family: "游ゴシック", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

.minchou {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* 反転時の色 ------------------------------------- */
::selection {
  background: #444;
  color: #fff;
}

/* Firefoxに対応 ------------------------------------- */
::-moz-selection {
  background: #444;
  color: #fff;
}



/* header ------------------------------------ */
#header {
  color: #fff;
  position: relative;
  z-index: 10;
}

#header.white {
  color: #333;
}

#header:before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  background: url(bg-header.jpg) no-repeat center top #bbb;
  background-size: cover;
}

#header .wrap {
  width: 50%;
  height: 250px;
  margin-left: 7%;
  padding-top: 80px;

  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: left;
  -ms-flex-align: left;
  -webkit-align-items: left;
  align-items: left;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  z-index: 20;
}

body.home #header .wrap {
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  padding-top: 0;
}

#header a {
  color: #fff;
  text-decoration: none;
}

#header.white a {
  color: #333;
}

#header h1 {
  font-size: 150%;
  margin: 0;
}

#header h1 small {
  font-size: 75%;
  margin-right: 5px;
}

#header h1 span {
  display: block;
  font-size: 75%;
  color: #ccc;
  font-style: italic;
}

#header h1:first-letter {
  color: #568ee3;
}

#header.white h1:first-letter {
  /*color: #6161e7;*/
}

#header em {
  color: #ccc;
  font-style: italic;
}

#header.white h1 span,
#header.white em {
  color: #666;
}

#header p {
  margin: 0;
  padding-left: 32px;
}

#header address {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #B22D00;
  text-align: right;
}

#header address .tel {
  font-size: 150%;
  font-style: italic;
  /* font-weight: bold; */
}

@media (max-width:767px) {
  #header .wrap {
    width: 94%;
    margin-left: 3%;
  }

  #header address {
    font-size: 80%;
  }
}



/* scrolldown ------------------------------------ */
.scrolldown {
  position: absolute;
  bottom: 1%;
  right: 50%;
  animation: arrowmove 1s ease-in-out infinite;
  z-index: 15;
}

.scrolldown:hover {
  cursor: pointer;
}

@keyframes arrowmove {
  0% {
    bottom: 1%;
  }

  50% {
    bottom: 3%;
  }

  100% {
    bottom: 1%;
  }
}

.scrolldown span {
  position: absolute;
  left: -23px;
  bottom: 10px;
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  word-break: normal;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.scrolldown:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: -6px;
  width: 1px;
  height: 20px;
  background: #eee;
  transform: skewX(-31deg);
}

.scrolldown:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1px;
  height: 50px;
  background: #eee;
}

#header.white .scrolldown:before,
#header.white .scrolldown:after {
  background: #737373;
}

#header.white .scrolldown span {
  color: #737373;
}



/* navi ------------------------------------ */
#navi {
  width: 100%;
  height: 70px;
  padding: 10px 30px;
  /* background-color: #14347c; */
  background-color: #222;
  color: #fff;
  margin-top: -15px;
  opacity: 0;
  transition: .8s;
}

#navi.fixed {
  position: fixed;
  top: 0;
  z-index: 30;
  margin-top: 0;
  opacity: 1;
  transition: .8s;
}

#navi .logo {
  float: left;
}

#navi .logo a {
  color: #fff;
  text-decoration: none;
}

#navi .logo:first-letter,
#navi .logo a:first-letter {
  color: #568ee3;
}

#navi ul {
  float: right;
  text-align: right;
  list-style: none;
  margin: 0;
  padding: 0;
}

#navi ul li {
  display: inline-block;
  padding: 15px 20px;
  font-size: 110%;
}

#navi ul li a {
  color: #fff;
  text-decoration: none;
}

#navi a {
  position: relative;
}

#navi a:hover {
  padding-left: 0;
}

#navi a:before,
#navi a:after {
  position: absolute;
  top: 25px;
  content: "";
  display: inline-block;
  width: 0;
  height: 3px;
  background: #F30034;
  transition: 0.5s;
}

#navi a:before {
  left: 50%;
}

#navi a:after {
  right: 50%;
}

#navi a:hover:before,
#navi a:hover:after {
  width: 50%;
}

@media (max-width:767px) {
  #navi {
    padding: 10px;
  }

  #navi .logo {
    font-size: 16px;
  }

  #navi ul {
    display: none;
  }
}



/* main ------------------------------------ */
#main {
  position: relative;
  z-index: 20;
  background: #eee;
  padding: 30px 0 10px;
  min-height: calc(100vh - 282px);
}

#main .wrap {
  width: 94%;
  max-width: 1200px;
  margin: 0 auto;
}

#main .wrap.small {
  max-width: 900px;
}

.content-block-column {
  opacity: 0;
  transform: translateY(30px);
  transition: 1s;
}



/* footer ------------------------------------ */
#footer {}

#footer .copyright {
  text-align: right;
  font-size: 80%;
  color: #999;
}

#page-top {
  position: fixed;
  right: 5px;
  bottom: 20px;
  height: 50px;
  text-decoration: none;
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 90%;
  line-height: 1.5rem;
  color: #737373;
  padding: 0 0 0 35px;
  border-top: solid 1px;
}

#page-top::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0px;
  width: 15px;
  border-top: solid 1px;
  transform: rotate(35deg);
  transform-origin: left top;
}



/* page ------------------------------------ */
#topics {
  background-color: #fbf0f5;
  border: 1px solid #fcafd2;
  padding: 15px;
}

#topics .entry-title {
  padding-top: 10px;
  margin-bottom: 30px;
}

#topics .entry-body {
  margin-bottom: 15px;
}

#news ul li {
  padding-bottom: 5px;
  margin-bottom: 5px;
}

#news ul li .date {
  display: inline-block;
  width: 100px;
}

#news ul li .comment {
  display: inline-block;
}

#news ul li.more {
  list-style: none;
  text-align: right;
}

#page-information .entry-body {
  padding-bottom: 50px;
  border-bottom: 1px solid #ddd;
}

#catchcopy {
  margin-top: 80px;
  margin-bottom: 80px;
  text-align: center;
  font-size: 180%;
  font-weight: bold;
  line-height: 200%;
}

@media (max-width:767px) {
  #catchcopy {
    font-size: 140%;
  }
}

.profile-block {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-gap: 15px;
  row-gap: 20px;
  justify-content: space-between;
  margin: 30px 0;
}

.profile-block .profile-item {
  border: 1px solid #ccc;
  padding: 10px;
}

.profile-block .profile-item img {
  max-width: 100%;
}

.imagehover,
a[rel=attachment] {
  overflow: hidden;
  width: 100%;
}

.imagehover img,
a[rel=attachment] img {
  transition: .5s;
}

.imagehover img:hover,
a[rel=attachment] img:hover {
  /*transform: scale(1.1, 1.1); */
  transform: scale(1.1, 1.1) rotateZ(3deg);
}

.service-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 15px;
  row-gap: 20px;
  justify-content: space-between;
  margin: 30px 0;
}

.service-list .service-item {
  border: 1px solid #ccc;
  padding: 10px;
}

.flip-scroll {
  opacity: 0;
}

.flip {
  animation-name: flipAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipAnime {
  from {
    transform: translate(-20px, 80px) rotate(-15deg);
    opacity: 0;
  }

  to {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}

.fadeup-scroll {
  opacity: 0;
}

.fadeup {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    transform: translateY(50px);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}



.entry {
  margin-bottom: 50px;
}

.entry-title {
  padding-top: 50px;
  text-align: center;
  margin-bottom: 80px;
}

.entry-body {
  margin-bottom: 50px;
}

.label {
  display: inline-block;
  padding: 3px 20px;
  background-color: #b53b3b;
  color: #fff;
  border-radius: 5px;
}

table {
  width: 100%;
  margin: 10px 0;
}

table th,
table td {
  border: 1px solid #999;
  padding: 12px 8px;
}

table th {
  background-color: #eee;
}

table td {
  background-color: #fff;
}

form table th {
  white-space: nowrap;
}


.table-outline table {
  width: 100%;
}

.table-outline table th {
  white-space: nowrap;
  width: 25%;
}

.table-outline table td {
  width: 75%;
}

@media (max-width:767px) {

  .table-outline table th,
  .table-outline table td {
    display: block;
    width: 100%;
  }
}


input:not([type=submit]),
textarea {
  width: 100%;
  padding: 5px;
  display: block;
}

textarea {
  height: 200px;
}

button,
input[type=submit],
input[type=button] {
  padding: 8px 30px;
  min-width: 150px;
  display: block;
  margin: 0 auto;
}



/* common ------------------------------------ */
.w20,
.w40,
.w60,
.w80 {
  margin-left: auto;
  margin-right: auto;
}

.w20 {
  width: 20%;
  margin-left: auto;
  margin-right: auto;
}

.w40 {
  width: 40%;
}

.w60 {
  width: 60%;
}

.w80 {
  width: 80%;
}

.w100 {
  width: 100%;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-blue {
  color: #2D00B2;
}

.text-red {
  color: #B22D00;
}

.text-green {
  color: #2D9235;
}