/*!
Theme Name: WARACRO
Theme URI: https://waraku18.com/
Author: WARACRO
Author URI: https://waraku18.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: waracro
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

WARACRO is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-size: 1.6rem;
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  background: #ECECEC;
}

a {
	color: #000;
	text-decoration: none;
}

a:hover {
	color: #0B9E58;
}

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

video {
  width: 100%;
}

/* Navigation
--------------------------------------------- */
.main-navigation-pc {
  display: block;
  width: 54%;
}

.main-navigation-pc ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation-pc ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation-pc ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation-pc ul ul li:hover>ul,
.main-navigation-pc ul ul li.focus>ul {
  display: block;
  left: auto;
}

.main-navigation-pc ul ul a {
  width: 200px;
}

.main-navigation-pc ul li:hover>ul,
.main-navigation-pc ul li.focus>ul {
  left: auto;
}

.main-navigation-pc li {
  position: relative;
}

.main-navigation-pc a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation-pc.toggled ul {
  display: block;
}

.menu-toggle {
  display: none;
}

.main-navigation-pc ul {
  display: flex;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

.wrapper {
  overflow: hidden;
}

.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-branding {
  width: 200px;
  margin: 20px 0 0 30px;
}

.main-navigation-sp {
  display: none;
}

.main-navigation-pc ul {
  justify-content: flex-end;
	align-items: center;
}

.main-navigation-pc li {
  margin-left: 50px;
}

.main-navigation-pc li a {
  color: #000;
	font-weight: 600;
}

.main-navigation-pc li a:hover {
  color: #138d4e;
}

.main-navigation-pc li:last-child a {
  padding: 44px 20px 12px;
   background: #000;
   color: #fff;
	position: relative;
}

.main-navigation-pc li:last-child a::before {
  content: '\f0e0';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    font-size: 2rem;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.main-navigation-pc li:last-child a:hover {
   background: #138d4e;
}

.main-visual {
  position: relative;
  z-index: 2;
}

.float {
  animation: float 3s infinite ease-in-out .8s alternate;
  transition: 1.5s ease-in-out;
}

@keyframes float {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }

  50% {
    transform: translate(0, -10px) rotate(0deg);
  }

  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

.main-visual_img_01 {
  position: absolute;
  top: 10%;
  right: 30%;
  width: 4%;
  z-index: 1;
}

.main-visual_img_01.slidein.is-animated {
  animation: slideIn 3s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

@keyframes slideIn {
  0% {
    transform: translateY(-250px);
  }

  100% {
    transform: translateY(0);
  }
}

.main-visual_text {
  position: absolute;
  top: 8%;
  left: 7%;
}

.main-visual_text h1 {
  font-size: 6rem;
}

/* 下層ページヘッダー */
.sub-main_inner_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
}

.sub-main_inner_box_text {
	width: 50%;
}

.sub-main_inner_box_text h1 {
	font-size: 7rem;
}

.sub-main_inner_box_img {
	width: 50%;
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.inner_title {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.inner_title h2 {
  font-size: 5rem;
  margin-right: 30px;
}

.service {
  position: relative;
  padding: 100px 0 350px;
  background: #0B9E58;
  color: #fff;
  margin-top: -60px;
  z-index: 1;
}

.service_inner_box_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.service_inner_box_item.reverse {
  flex-direction: row-reverse;
}

.service_inner_box_item:not(:first-child) {
  margin-top: -100px;
}

.service_inner_box_item:last-child {
  position: absolute;
}

.service_inner_box_item_img {
  width: 50%;
  text-align: center;
}

.service_inner_box_item_img img {
  width: 84%;
}

.service_inner_box_item_text {
  width: 46%;
}

.service_inner_box_item_text_title {
  font-size: 2.4rem;
  margin-bottom: 20px;
}

.works {
	padding: 100px 0 60px;
}

.works .inner_title {
    margin-bottom: 50px;
}

.works_inner_box {
	display: flex;
    justify-content: space-between;
	margin-bottom: 50px;
}

.works_inner_box_item {
	width: 30%;
}

.works_inner_box_item_img {
	margin-bottom: 10px;
}

.works_inner_box_item h3 {
	margin-bottom: 10px;
}

.works_inner_box_item_category ul {
	list-style-type: none;
}

.works_inner_box_item_category a {
  display: inline-block;
    padding: 2px 12px;
    background: #0B9E58;
    color: #fff;
    border-radius: 20px;
    font-size: 1.4rem;
}

.works_inner_box_item_category a:hover {
	padding: 0 12px;
    background: #fff;
    color: #0B9E58;
    border: 1px #0B9E58 solid;
}

.works_inner_button a {
	width: 240px;
    display: block;
    text-align: center;
    padding: 20px 0;
    font-weight: 600;
    border: 2px #000 solid;
	position: relative;
	overflow: hidden;
}

.works_inner_button a span {
  position: relative;
}

.works_inner_button a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  background: #000;
}

.works_inner_button a:hover:before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}

.works_inner_button a:hover {
/*     border: 2px #0B9E58 solid; */
	color: #ECECEC;
}

.about {
  padding: 60px 0;
  z-index: 0;
  position: relative;
}

.about_inner_box {
  display: flex;
  justify-content: space-between;
  background: #fff;
  padding: 50px;
  border-radius: 20px;
}

.about_inner_box_title {
  width: 44%;
}

.about_inner_box_text {
  width: 56%;
}

.about_inner_box_text dl {
  display: flex;
  border-bottom: 1px #000 solid;
  padding: 20px 0;
}

.about_inner_box_text dl:last-child {
  border-bottom: none;
}

.about_inner_box_text dt {
  width: 200px;
}

.contact {
  padding: 0 0 120px;
}

.contact_inner_box {
  background: #0b9e58;
    color: #fff;
    padding: 50px;
    border-radius: 20px;
}

.contact_inner_box_text_text {
  margin-bottom: 70px;
}

.contact_inner_box_text_form dl {
  display: flex;
   justify-content: space-between;
	margin-bottom: 30px;
}

.contact_inner_box_text_form dt {
   padding-top: 20px;
}

.contact_inner_box_text_form dt span {
  background: #e60012;
   padding: 3px;
   margin-left: 10px;
   font-size: 1.3rem;
}

.contact_inner_box_text_form dd {
  width: 78%;
}

.contact_inner_box_text_form dd input {
  width: 100%;
	padding: 20px;
    font-size: 1.6rem;
    background: #ECECEC;
    border: none;
	border-radius: 3px;
}

.contact_inner_box_text_form dd textarea {
  width: 100%;
	padding: 20px;
    font-size: 1.6rem;
    background: #ECECEC;
    border: none;
	border-radius: 3px;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
}

::placeholder {
  color: #ccc;
}

.contact_inner_box_text_button {
	width: 78%;
   margin-left: auto;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.contact_inner_box_text_button input {
	width: 240px;
    padding: 24px 0;
    font-size: 1.6rem;
    background: #333;
    color: #fff;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-weight: 600;
	border-bottom: 7px #000 solid;
	border-radius: 5px;
	transition: all 0.6s;
}

.contact_inner_box_text_button input:hover {
    border-bottom: 2px #000 solid;
    margin-top: 5px;
	background: #000;
}

.contact_inner_box_img {
  width: 50%;
  text-align: center;
	position: absolute;
   top: -60px;
   right: 0;
}

.contact_inner_box_img img {
  width: 30%;
}

/* アーカイブ */
.site-main .archive {
	padding: 60px 0;
}

.archive_inner_box {
	display: flex;
   justify-content: space-between;
}

.archive_inner_box_main {
	display: flex;
    flex-wrap: wrap;
	width: 70%;
}

.archive_inner_box_main_item {
	width: 47%;
}

.archive_inner_box_main_item:not(:nth-child(2n)) {
	margin-right: 6%;
}

.widget-area {
	width: 25%;
}

/* フッター */
.site-footer {
  background-color: #000;
  padding: 12px 0;
  color: #fff;
}

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

@media screen and (max-width: 1200px) {
  .site-main .inner {
    padding: 0 20px;
  }
  .service_inner_box_item:last-child {
  width: calc(100% - 40px);
}
}

@media screen and (max-width: 768px) {
  .site-branding {
    width: 150px;
	 margin: 20px 0 0 20px;
  }

  .main-navigation-pc {
    display: none;
  }

  .main-navigation-sp {
    display: block;
  }

  /*　ハンバーガーメニューボタン　*/
  .menu-toggle {
    display: block;
    position: fixed;
    z-index: 4;
    right: 0;
    top: 0;
    width: 55px;
    height: 55px;
    cursor: pointer;
    text-align: center;
    background: #000;
  }

  .menu-toggle span {
    display: block;
    position: absolute;
    width: 20px;
    height: 2px;
    left: 0;
	  right: 0;
	  margin: auto;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }

  .menu-toggle span:nth-child(1) {
    top: 18px;
  }

  .menu-toggle span:nth-child(2) {
    top: 26px;
  }

  .menu-toggle span:nth-child(3) {
    top: 34px;
  }

  /* スマホメニューを開いてる時のボタン */
  .menu-toggle.active span:nth-child(1) {
    top: 26px;
    background: #fff;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .menu-toggle.active span:nth-child(2),
  .menu-toggle.active span:nth-child(3) {
    top: 26px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  /* メニュー背景　*/
  .main-navigation-sp .menu-global-nav-container {
    position: fixed;
    z-index: 3;
    top: 0;
    right: 0;
    color: #fff;
    background: #000;
    width: 70%;
    transform: translateX(100%);
    transition: all 0.6s;
    height: 100%;
    display: flex;
    align-items: center;
  }

  .main-navigation-sp .menu-global-nav-container ul {
    margin: 0 auto;
    padding: 0;
  }

  .main-navigation-sp .menu-global-nav-container ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
    font-size: 2rem;
  }

  .main-navigation-sp .menu-global-nav-container ul li:last-child {
    padding-bottom: 0;
  }

  .main-navigation-sp .menu-global-nav-container ul li a {
    display: block;
    color: #fff;
    padding: 10px 0;
    text-decoration: none;
	  font-weight: 600;
  }

  /* クリックでjQueryで追加・削除 */
  .main-navigation-sp .menu-global-nav-container.active {
    opacity: 100;
    transform: translateX(0%);
  }

  .main-visual_img {
    width: 200vw;
    margin-left: -100%;
    margin-top: 32%;
  }

  .main-visual_img_01 {
    position: absolute;
    top: 31%;
    right: 60%;
    width: 8%;
  }

  .main-visual_text {
    top: 2%;
    left: 20px;
  }

  .main-visual_text h1 {
    font-size: 3rem;
  }

  .inner_title h2 {
    font-size: 3rem;
  }

  .inner_title p {
    font-size: 1.4rem;
  }

  .service {
    padding: 70px 0 40px;
    margin-top: -40px;
  }

  .service_inner_box_item {
    display: block;
    margin-bottom: 50px;
  }

  .service_inner_box_item:not(:first-child) {
    margin-top: 0;
  }

  .service_inner_box_item:last-child {
    position: relative;
	  width: 100%;
  }

  .service_inner_box_item_img {
    width: 100%;
  }

  .service_inner_box_item_text {
    width: 100%;
  }

  .service_inner_box_item_text_title {
    font-size: 2rem;
  }
	
	.works {
    padding: 60px 0 20px;
}
	
	.works .inner_title {
    margin-bottom: 30px;
}
	
	.works_inner_box {
    display: block;
}
	
	.works_inner_box_item {
    width: 100%;
	margin-bottom: 40px;
}
	
	.works_inner_button a {
    width: 100%;
    padding: 16px 0;
}

  .about_inner_box {
    display: block;
    padding: 20px;
  }

  .about_inner_box_title {
    width: 100%;
  }

  .about_inner_box_text {
    width: 100%;
  }

  .about_inner_box_text dt {
    width: 100px;
  }

  .contact {
    padding: 0 0 60px;
  }

  .contact_inner_box {
    padding: 20px 20px 120px;
  }
	
	.contact_inner_box_text_text {
    margin-bottom: 30px;
}
	
  .contact_inner_box_text_form dl {
    display: block;
  }
	
	.contact_inner_box_text_form dt {
		margin-bottom: 10px;
		padding-top: 0;
	}
	
	.contact_inner_box_text_form dd {
    width: 100%;
  }
	
	.contact_inner_box_text_button {
    width: 100%;
    text-align: center;
}
	
	.contact_inner_box_text_button input {
    padding: 20px 0;
}
	
	.contact_inner_box_text_button input:hover {
    padding: 18px 0;
}
	
	.wpcf7-spinner {
    display: block;
    margin: 0 auto;
}

  .contact_inner_box_img {
    width: 100%;
	 top: initial;
    bottom: -60px;
  }
	
	.contact_inner_box_img img {
    width: 100px;
}
}