/*!
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;
  color: #38474f;
}

p {
	line-height: 1.7;
}

a {
	color: #38474f;
	text-decoration: none;
}

a:hover {
	color: #487ac3;
}

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

video {
  width: 100%;
}

.br-sp {
	display: none;
}

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

.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: 150px;
  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:last-child {
  display: none;
} */

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

.main-navigation-pc li a:hover {
  color: #487ac3;
}

/* .main-navigation-pc li:last-child a {
  padding: 44px 20px 12px;
   background: #121212;
   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;
	height: 600px;
	display: flex;
    justify-content: center;
    align-items: center;
} */

.main-visual {
  position: relative;
  z-index: 2;
	padding-top: 30px;
	height: 600px;
}

.main-visual_img {
	max-width: 600px;
	margin-left: auto;
	margin-right: 5%;
    display: block;
}

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

@keyframes float {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-20px);
  }

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

.main-visual_img_01 {
  position: absolute;
    top: 40%;
    right: 10%;
    transform: translateY(-50%);
    width: 6%;
    z-index: 1;
}

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

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

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

.main-visual_text {
  position: absolute;
  top: 50%;
    transform: translateY(-50%);
  left: 7%;
}

.main-visual_text h1 {
  font-size: 5vw;
	line-height: 1.3;
	text-shadow: 5px 5px 0px #fff;
}

/* 下層ページヘッダー */
.sub-main {
	position: relative;
	height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sub-main_text h1 {
	font-size: 5rem;
}

.sub-main_text.single h1 {
	font-size: 5rem;
}

.sub-main_text.search-none h1 {
	text-align: center;
}

.sub-main_text.search-none p {
	position: relative;
    top: 30px;
}

.sub-main_img_01 {
    position: absolute;
    top: 20%;
    right: 10%;
    transform: translateY(-50%);
    width: 10%;
    z-index: 1;
}

.sub-main_img_01.slidein.is-animated {
  animation: slideIn 3s forwards;
}

.sub-main_img_01 img {
	transform: scale(-1, 1);
}

.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;
}

.description {
	padding-bottom: 50px;
}

.description h2 {
	text-align: center;
	font-size: 2.4rem;
}

.service {
  position: relative;
  padding: 100px 0 350px;
  background: #487ac3;
  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;
}

.article {
	padding: 30px 0 100px;
}

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

.article_inner_box {
	display: flex;
   justify-content: flex-start;
   flex-wrap: wrap;
	margin-bottom: 10px;
}

.article_inner_box_item {
	width: 30%;
	background: #ECECEC;
	margin-bottom: 40px;
}

.article_inner_box_item:not(:nth-child(3n)) {
	margin-right: 5%;
}

.article_inner_box_item_img {
	margin-bottom: 10px;
}

.article_inner_box_item time {
	padding: 0 20px;
	margin-bottom: 10px;
    display: block;
}

.article_inner_box_item h3 {
	margin-bottom: 10px;
	padding: 0 20px;
}

.post-categories {
	list-style-type: none;
	display: flex;
    flex-wrap: wrap;
	padding: 0 20px 10px;
}

.post-categories li {
	margin-right: 10px;
	margin-bottom: 10px;
}

.post-categories a {
  display: inline-block;
    padding: 2px 12px;
    background: #487ac3;
    color: #fff;
    border-radius: 20px;
    font-size: 1.4rem;
}

.post-categories a:hover {
	padding: 1px 11px;
    background: #fff;
    color: #487ac3;
    border: 1px #487ac3 solid;
}

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

.article_inner_button a span {
  position: relative;
}

.article_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: #38474f;
}

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

.article_inner_button a:hover {
    border: 2px #38474f solid;
	color: #fff;
}

.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 #121212 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: #487ac3;
    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;
}

.contact_inner_box_text_form ::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 #121212 solid;
	border-radius: 5px;
	transition: all 0.6s;
}

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

.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;
	margin-bottom: 40px;
}

.archive_inner_box_main {
	display: flex;
    flex-wrap: wrap;
	width: 70%;
/* 	margin-bottom: 70px; */
}

.archive_inner_box_main_item {
	width: 47%;
	background: #ecf1f5;
	margin-bottom: 40px;
}

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

.archive_inner_box_main_item time {
    padding: 0 20px;
	margin-bottom: 10px;
    display: block;
}

.archive_inner_box_main_item h3 {
    margin-bottom: 10px;
    padding: 0 20px;
}

/* シングルページ */
.entry-content {
	margin-bottom: 100px;
}

.entry-content p {
    margin-bottom: 1em;
}

.entry-content a {
    text-decoration: underline;
}

.entry-content ul {
    margin-bottom: 1em;
}

.sub-main_text {
		padding: 0 30px;
	}

.site-main .single {
	padding: 60px 0;
}

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

.single_inner_box_main {
	width: 70%;
}

.entry-meta {
	margin-bottom: 10px;
}

.cat-links {
	margin-bottom: 30px;
    display: inline-block;
}

.cat-links a {
    display: inline-block;
    padding: 2px 12px;
    background: #487ac3;
    color: #fff;
    border-radius: 20px;
    font-size: 1.4rem;
	  margin-right: 10px;
    margin-bottom: 10px;
}

.wp-block-code {
    border: 2px solid;
    padding: 20px;
}

/* サイドバー */
.widget-area {
	width: 25%;
}

.widget_categories {
	background: #ecf1f5;
	padding: 20px;
}

.widget:not(:last-child) {
	margin-bottom: 40px;
}

.widget-title {
	margin-bottom: 12px;
}

.widget li {
	list-style: none;
    font-weight: 600;
}

.widget li:not(:last-child) {
    margin-bottom: 10px;
}

/* 検索フォーム */
.wp-block-search__label {
    display: none;
}
.wp-block-search__input {
   width: 100%;
	background: none;
/*    color: #fff; */
	border-radius: 50px;
	padding: 8px 16px;
}
.wp-block-search__button {
    width: 42px;
    flex-shrink: 0;
	cursor: pointer;
	border: none;
    border-radius: 50px;
}
.wp-block-search__button:hover {
    background-color: #fff !important;
	border: 1px #487ac3 solid;
}
.wp-block-search__button:hover svg {
    fill: #487ac3 !important;
}

/* ページネーション */

.pagination ul {
  list-style: none;
    display: flex;
    justify-content: center;
    width: 70%;
}

.pagination li {
  margin: 5px;
}

.page-numbers {
	padding: 5px 10px;
}

.pagination li a:hover {
  background-color: #487ac3;
  color: #fff;
}

.page-numbers.current {
  background-color: #487ac3;
  color: #fff;
}

.breadcrumb {
	padding: 50px 0;
}

.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb li {
	list-style: none;
	margin-bottom: 10px;
}

.breadcrumb li:not(:last-child) {
	margin-right: 20px;
}

.breadcrumb li:not(:last-child):after {
    content: ">";
}

.breadcrumb li:not(:last-child) a {
	padding-right: 20px;
}

/* フッター */
.site-footer {
  padding: 12px 0;
}

.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) {
	.br-sp {
	display: block;
}
	
  .site-branding {
    width: 100px;
	 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: #38474f;
  }

  .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: #38474f;
    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 {
    height: initial;
}
	
/*   .main-visual_img {
    width: 200vw;
    margin-left: -100%;
    margin-top: 32%;
  } */

  .main-visual_img_01 {
    position: absolute;
    top: 31%;
    right: 20%;
    width: 14%;
  }

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

  .main-visual_text h1 {
    font-size: 7vw;
  }
	
	.sub-main_img_01 {
    top: 31%;
    right: 20%;
    width: 18%;
}
	
	.sub-main_text {
		padding: 0 20px;
	}
	
	.sub-main_text h1 {
    font-size: 4rem;
}
	
	.sub-main_text.single h1 {
    font-size: 3rem;
}

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

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

  .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;
  }
	
	.article {
    padding: 60px 0 20px;
}
	
	.article .inner_title {
    margin-bottom: 30px;
}
	
	.article_inner_box {
    display: block;
}
	
	.article_inner_box_item {
    width: 100%;
	margin-bottom: 40px;
}
	
	.article_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;
}
	
	.archive_inner_box {
    display: block;
}
	
	.archive_inner_box_main {
    display: block;
    width: 100%;
}
	
	.archive_inner_box_main_item {
    width: 100%;
}
	
	.archive_inner_box_main_item:not(:nth-child(2n)) {
    margin-right: 0;
}
	
	.widget-area {
    width: 100%;
}
	
	.single_inner_box {
    display: block;
}
	
	.single_inner_box_main {
    width: 100%;
}
	
	.post-navigation .nav-links {
    display: block;
}
	
	.post-navigation .nav-next {
    text-align: initial;
}
	
	.pagination ul {
    width: 100%;
}
	
	.breadcrumb {
    padding: 20px;
}
}