@charset "UTF-8";
/*************************************
MIXINS
*************************************/
.scpop {
  transform: scale3d(0, 0, 0);
  transform-origin: center center;
  will-change: animation;
}

.scpop.ac {
  animation: bounce 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/*------------------------------------
animation
	*/
@keyframes hueRotate {
  0% {
    filter: hue-rotate(0deg);
  }
  100% {
    filter: hue-rotate(359deg);
  }
}
@keyframes photoCoverAnim {
  0% {
    filter: grayscale(95%);
  }
  100% {
    filter: grayscale(0%);
  }
}
@keyframes bounce {
  0% {
    transform: scale3d(0, 0, 0);
  }
  40% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
  60% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  80% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
/*------------------------
SIZE
-------------------------*/
/*------------------------
COLOR
-------------------------*/
a {
  color: #333;
  text-decoration: none;
}

/*------------------------
TEXT SET
-------------------------*/
html {
  font-size: 62.5%;
}

body {
  font-size: 1.4em;
  font-family: ryo-gothic-plusn, "Noto Sans", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
  box-sizing: border-box;
}
@media all and (-ms-high-contrast: none) {
  body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}
/*------------------------
BASIC LAYOUT / MODULE
-------------------------*/
img {
  image-rendering: -webkit-optimize-contrast;
}

.pcHide {
  display: none;
}
@media screen and ( max-width : 768px ) {
  .pcHide {
    display: block;
  }
}

.spHide {
  display: block;
}
@media screen and ( max-width : 768px ) {
  .spHide {
    display: none;
  }
}

.lbx {
  cursor: pointer;
}

.tac {
  text-align: center;
}

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

.wrap {
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
  box-sizing: border-box;
}
.minWrap {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

figure {
  margin: 0;
}

/*------------------------
RESET
-------------------------*/
body {
  word-wrap: break-word;
}

th, td {
  text-align: left;
  vertical-align: top;
  border: none;
}

caption {
  text-align: left;
}

img {
  border: 0;
  vertical-align: bottom;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

fieldset, img {
  border: 0;
}

a {
  outline: none;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
}

/*
	clearfix
------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  clear: both;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
}

* html .clearfix {
  display: inline-block;
}

.clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/*html5の要素をblock*/
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
  box-sizing: border-box;
}

/*------------------------
FORM
-------------------------*/
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/*------------------------
TABLE
-------------------------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
  width: 100%;
}

html {
  font-size: 100%;
  overflow-x: hidden;
}

body {
  font-size: 14px;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  line-height: 1.75;
  color: #000000;
  background: #fff;
  font-weight: 400;
  animation: fadeIn 1s ease 0s 1 normal;
  -webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@media screen and ( max-width : 1024px ) {
  body {
    font-size: 14px;
  }
}

input,
textarea {
  font-family: "Inter", sans-serif;
}

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

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#allWraper {
  display: none;
}
@media screen and ( max-width : 768px ) {
  #allWraper {
    min-width: auto;
  }
}

#cdArea,
#mainVisual .bottom,
#mainVisual .title,
#newsArea .title {
  opacity: 0;
  transition: opacity 0.1s;
}

.loaded #cdArea,
.loaded #mainVisual .bottom,
.loaded #mainVisual .title,
.loaded #newsArea .title {
  opacity: 1;
}

a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  transition: 0.5s;
}
a:hover {
  opacity: 0.75;
}
a:hover.nonOp {
  opacity: 1;
}

li {
  list-style: none;
}

/*==============================================
  common parts
==============================================*/
rt {
  font-size: 0.3em;
  transform: scale(0.9);
  transform-origin: bottom;
  opacity: 0.6;
}

.sectionTitle {
  font-size: 3.3333333333vw;
  line-height: 1;
  text-align: center;
  font-weight: 800;
}
@media screen and ( max-width : 768px ) {
  .sectionTitle {
    font-size: 5.6vw;
  }
}
@media screen and ( max-width : 768px ) {
  .sectionTitle.spLarge {
    font-size: 8vw;
  }
}

.flex {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin: 0 auto;
}
.flex .col2 {
  width: 48%;
}
.flex .col2-1 {
  width: 48%;
}
@media screen and ( max-width : 768px ) {
  .flex .col2-1 {
    width: 100%;
  }
}
.flex .col2-1 img {
  width: 100%;
}
.flex a {
  transition: opacity 0.2s;
}
.flex a:hover {
  opacity: 0.6;
}

.btn a,
.btn input,
.btn span {
  vertical-align: middle;
  width: auto;
  display: inline-block;
  padding: 0 66px 13px 0;
  background: url(../images/common/arr.svg) no-repeat top 0.5em right;
  background-size: auto 13px;
  border-bottom: 1px solid #fff;
  color: #FFF;
  cursor: pointer;
  line-height: 1.5;
}
@media screen and ( max-width : 768px ) {
  .btn a,
.btn input,
.btn span {
    font-size: 12px;
  }
}
.btn.blue a,
.btn.blue input,
.btn.blue span {
  border-bottom: 1px solid #265CA5;
  color: #265CA5;
  background: url(../images/common/arrBlue.svg) no-repeat top 0.5em right;
}

/*==============================================
  layout
==============================================*/
body {
  overflow-x: hidden;
  background: #fff;
}
body .sp {
  display: none !important;
}
body .pc {
  display: block !important;
}
@media screen and ( max-width : 768px ) {
  body .sp {
    display: block !important;
  }
  body .pc {
    display: none !important;
  }
}
body.close {
  overflow: hidden;
}

header {
  position: relative;
  height: 100vh;
}
header .navBox {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
/*  padding: 30px 60px 30px 30px; */
  padding: 10px 20px 10px 10px;
  align-items: center;
  background: none;
}
@media screen and ( max-width : 768px ) {
  header .navBox {
/*    padding: 30px 20px;*/
    padding: 10px 5px;
  }
}
@media screen and ( max-width : 1024px ) {
  header .navBox h1 img {
/*    width: 250px; */
    width: 350px;
  }
}
header .navBox ul {
  display: flex;
  align-items: center;
  justify-content: right;
}
@media screen and ( max-width : 768px ) {
  header .navBox ul {
    display: none;
  }
}
header .navBox ul li {
  margin-left: 50px;
}
@media screen and ( max-width : 1024px ) {
  header .navBox ul li {
    margin-left: 30px;
  }
}
header .navBox ul li:first-child {
  margin-left: 0;
}

.aboutWrap {
  padding: 100px 40px 120px;
  background: url(../images/top/earthBg.jpg) no-repeat top 130px left;
  background-size: calc((100% - 1000px) / 2 + 300px) auto;
}
@media screen and ( max-width : 768px ) {
  .aboutWrap {
    padding: 60px 30px 90px;
  }
}
.aboutWrap .box {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: right;
}
@media screen and ( max-width : 768px ) {
  .aboutWrap .box {
    display: block;
  }
}
.aboutWrap .box .child {
  width: 640px;
}
@media screen and ( max-width : 768px ) {
  .aboutWrap .box .child {
    width: auto;
  }
}
.aboutWrap .box .child h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 50px;
}
@media screen and ( max-width : 768px ) {
  .aboutWrap .box .child h2 {
    font-size: 24px;
  }
}
.aboutWrap .box .child .inner {
  display: flex;
  padding-bottom: 20px;
  border-bottom: 1px solid #999;
  margin-bottom: 50px;
}
@media screen and ( max-width : 768px ) {
  .aboutWrap .box .child .inner {
    display: block;
  }
}
.aboutWrap .box .child .inner .image {
  width: 30%;
}
@media screen and ( max-width : 768px ) {
  .aboutWrap .box .child .inner .image {
    width: 100%;
  }
}
.aboutWrap .box .child .inner .detail {
  width: 70%;
  padding: 0 30px;
}
@media screen and ( max-width : 768px ) {
  .aboutWrap .box .child .inner .detail {
    width: 100%;
    padding: 20px;
  }
}
.aboutWrap .box .child .inner .detail h3 {
  font-weight: 700;
  margin-bottom: 5px;
}

body#top {
  /*注意*/
}
body#top header p {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100vh;
  top: 0;
}
body#top header p:before {
  content: "";
  width: 100%;
  height: 30vh;
  z-index: 3;
  display: block;
  background: linear-gradient(to bottom, #fff 50%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  top: 0;
  left: 0;
}
body#top header p:after {
  content: "";
  width: 100%;
  height: 30vh;
  z-index: 3;
  display: block;
  background: linear-gradient(to top, white, rgba(255, 255, 255, 0));
  position: absolute;
  bottom: 0;
  left: 0;
}
body#top header p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body#top footer {
  padding: 150px 40px 0;
  background: url(../images/top/welcomeBg.jpg) no-repeat top left;
  background-size: cover;
}
@media screen and ( max-width : 768px ) {
  body#top footer {
    padding: 90px 0 0;
  }
}
body#top footer .welcomeWrap {
  margin-bottom: 60px;
}
@media screen and ( max-width : 768px ) {
  body#top footer .welcomeWrap {
    padding: 0 30px;
  }
}
body#top footer .welcomeWrap .box {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
body#top footer .welcomeWrap .box h3 {
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 30px;
}
@media screen and ( max-width : 768px ) {
  body#top footer .welcomeWrap .box h3 {
    font-size: 21px;
  }
}
body#top footer .welcomeWrap .box p {
  font-size: 18px;
}
@media screen and ( max-width : 768px ) {
  body#top footer .welcomeWrap .box p {
    font-size: 14px;
  }
}
body#top footer .welcomeWrap .box .ab {
  position: absolute;
  right: 0;
  width: 45%;
  top: 50%;
  transform: translateY(-50%);
}

footer .row3Wrap {
  padding: 80px 0 0;
}
@media screen and ( max-width : 768px ) {
  footer .row3Wrap {
    padding: 60px 30px 0;
  }
}
footer .row3Wrap .box {
  max-width: 1000px;
  margin: 0 auto;
}
footer .row3Wrap .box ul {
  display: flex;
  justify-content: space-between;
}
@media screen and ( max-width : 768px ) {
  footer .row3Wrap .box ul {
    display: block;
  }
}
footer .row3Wrap .box ul li {
  width: calc(33.3333333333% - 20px);
  text-align: center;
}
@media screen and ( max-width : 768px ) {
  footer .row3Wrap .box ul li {
    width: 100%;
    margin-bottom: 40px;
  }
  footer .row3Wrap .box ul li:last-child {
    margin-bottom: 0;
  }
}
footer .row3Wrap .box ul li span {
  font-size: 25px;
  font-weight: 700;
  padding-bottom: 50px;
  display: block;
  background: url(../images/common/arr.svg) no-repeat center 62%;
}
@media screen and ( max-width : 1024px ) {
  footer .row3Wrap .box ul li span {
    font-size: 18px;
  }
}

address {
/*  padding: 130px 0 30px;*/
  padding: 20px 0 0px;
  text-align: center;
}
@media screen and ( max-width : 768px ) {
  address {
    padding: 60px 0 30px;
    font-size: 9px;
  }
}

.en {
  font-family: "Poppins";
}

.underContent header {
  height: auto;
}
.underContent header p {
  height: auto;
  width: 100%;
}
.underContent header p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.underContent .servicesWrap {
  padding: 90px 40px 0;
}
@media screen and ( max-width : 768px ) {
  .underContent .servicesWrap {
    padding: 90px 30px 0;
  }
}
.underContent .servicesWrap .box {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: right;
}
@media screen and ( max-width : 768px ) {
  .underContent .servicesWrap .box {
    display: block;
  }
}
@media screen and ( max-width : 768px ) {
  .underContent .servicesWrap .box .child {
    width: auto;
  }
}
.underContent .servicesWrap .box .child h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
}
@media screen and ( max-width : 768px ) {
  .underContent .servicesWrap .box .child h2 {
    font-size: 24px;
  }
}
.underContent .servicesWrap .box .child .inner {
  margin-bottom: 32px;
}
@media screen and ( max-width : 768px ) {
  .underContent .servicesWrap .box .child .inner {
    display: block;
  }
}
.underContent .servicesWrap .box .child .inner .image {
  padding: 0 64px 50px;
}
@media screen and ( max-width : 768px ) {
  .underContent .servicesWrap .box .child .inner .image {
    width: 100%;
    padding: 0 0px 50px;
  }
}
.underContent .servicesWrap .box .child .inner .detail {
  width: 100%;
}
@media screen and ( max-width : 768px ) {
  .underContent .servicesWrap .box .child .inner .detail {
    width: 100%;
    padding: 20px 0;
  }
}
.underContent .servicesWrap .box .child .inner .detail p {
  font-size: 18px;
  font-weight: 300;
  font-family: "Inter-Light";
}
.underContent .servicesWrap .box .child .inner .detail ul {
  padding-left: 2em;
}
.underContent .servicesWrap .box .child .inner .detail ul li {
  display: flex;
  font-size: 18px;
  font-weight: 300;
}
.underContent .servicesWrap .box .child .inner .detail ul li span {
  padding-right: 5px;
  font-family: "Inter-Light";
}
.underContent .companyWrap {
/*  padding: 90px 40px 0;*/
  padding: 20px 4px 0;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap {
/*  padding: 90px 30px 0;*/
  padding: 20px 4px 0;
  }
}
.underContent .companyWrap .box {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: right;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box {
    display: block;
  }
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box .child {
    width: auto;
  }
}
.underContent .companyWrap .box .child h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
/*  margin-bottom: 43px;*/
  margin-bottom: 10px;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box .child h2 {
    font-size: 24px;
  }
}
.underContent .companyWrap .box .child .inner {
  margin-bottom: 32px;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box .child .inner {
    display: block;
  }
}
.underContent .companyWrap .box .child .inner .image {
  padding: 0 64px 50px;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box .child .inner .image {
    width: 100%;
    padding: 0 0px 50px;
  }
}
.underContent .companyWrap .box .child .inner .detail {
  width: 100%;
  display: flex;
/+  margin-bottom: 40px;*/
  margin-bottom: 40px;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box .child .inner .detail {
    width: 100%;
    display: block;
  }
}
.underContent .companyWrap .box .child .inner .detail h3 {
  font-weight: 700;
  font-size: 18px;
  width: 24%;
  flex-wrap: wrap;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box .child .inner .detail h3 {
    width: 100%;
  }
}
.underContent .companyWrap .box .child .inner .detail p {
  font-size: 18px;
  font-weight: 300;
  font-family: "Inter-Light";
  width: 76%;
}
@media screen and ( max-width : 768px ) {
  .underContent .companyWrap .box .child .inner .detail p {
    width: 100%;
  }
}
.underContent .companyWrap .box .child .inner .detail:last-of-type {
  margin-bottom: 0;
}
.underContent .contactWrap {
  padding: 90px 40px 0;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap {
    padding: 90px 30px 0;
  }
}
.underContent .contactWrap .box {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: right;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box {
    display: block;
  }
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box .child {
    width: auto;
  }
}
.underContent .contactWrap .box .child h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 43px;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box .child h2 {
    font-size: 24px;
  }
}
.underContent .contactWrap .box .child .inner {
  margin-bottom: 32px;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box .child .inner {
    display: block;
  }
}
.underContent .contactWrap .box .child .inner .image {
  padding: 0 64px 50px;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box .child .inner .image {
    width: 100%;
    padding: 0 0px 50px;
  }
}
.underContent .contactWrap .box .child .inner .detail {
  width: 100%;
  display: flex;
  margin-bottom: 8px;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box .child .inner .detail {
    width: 100%;
    display: block;
    margin-bottom: 40px;
  }
}
.underContent .contactWrap .box .child .inner .detail h3 {
  font-weight: 700;
  font-size: 18px;
  width: 14%;
  flex-wrap: wrap;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box .child .inner .detail h3 {
    width: 100%;
  }
}
.underContent .contactWrap .box .child .inner .detail p {
  font-size: 18px;
  font-weight: 300;
  font-family: "Inter-Light";
  width: 86%;
}
@media screen and ( max-width : 768px ) {
  .underContent .contactWrap .box .child .inner .detail p {
    width: 100%;
  }
}
.underContent .contactWrap .box .child .inner .detail:last-of-type {
  margin-bottom: 0;
}

.drawer {
  display: none;
}
@media screen and ( max-width : 768px ) {
  .drawer {
    display: block;
  }
}

.drawer-open {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 101;
  cursor: pointer;
  margin: auto;
  height: 120px;
  width: 180px;
  background: none;
  right: 0;
  top: 0;
}
@media screen and ( max-width : 1024px ) {
  .drawer-open {
    height: 90px;
    width: 120px;
  }
}
@media screen and ( max-width : 768px ) {
  .drawer-open {
    width: 80px;
    height: 60px;
  }
}

.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: "";
  display: block;
  height: 1px;
  background: #999;
  transition: 0.5s;
  position: absolute;
  top: 70px;
  height: 1px;
  width: 60px;
}
@media screen and ( max-width : 1024px ) {
  .drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
    top: 40px;
  }
}
@media screen and ( max-width : 768px ) {
  .drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
    width: 40px;
  }
}

.drawer-open span:before {
  top: auto;
  bottom: 0px;
}

.drawer-open span:after {
  right: 0;
  top: 12px;
  width: 40px;
}
@media screen and ( max-width : 768px ) {
  .drawer-open span:after {
    width: 30px;
  }
}

.drawer-open.clicked .title {
  text-align: center;
}

.drawer-open.clicked span {
  background: rgba(255, 255, 255, 0);
}

.drawer-open.clicked span::before {
  bottom: 0;
  transform: rotate(45deg);
}

.drawer-open.clicked span::after {
  top: 0;
  width: 60px;
  transform: rotate(-45deg);
}
@media screen and ( max-width : 768px ) {
  .drawer-open.clicked span::after {
    width: 40px;
  }
}

/* 横スライドメニュー*/
.drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  /*ヘッダーの高さ*/
  left: 100%;
  /*向き変更*/
  background: #fff;
  transition: 0.5s;
  margin-left: 70px;
  /*向き変更・背景見せる場合マージン入れる*/
  padding-right: 70px;
  /*向き変更・背景見せる場合マージン入れる*/
  overflow: scroll;
  z-index: 100;
  padding: 90px 40px 60px;
}
@media screen and ( max-width : 1024px ) {
  .drawer-content {
    top: 0;
  }
}
@media screen and ( max-width : 768px ) {
  .drawer-content {
    top: 0;
  }
}
.drawer-content .drawer-content-wrap {
  padding-bottom: 100px;
}
.drawer-content li.list a {
  display: block;
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
  line-height: 1;
  padding-bottom: 20px;
}
.drawer-content li .info {
  font-size: 12px;
  margin-bottom: 10px;
}
.drawer-content li .info span {
  display: block;
  margin-bottom: 20px;
}
.drawer-content li .tel {
  display: flex;
  align-items: baseline;
}
.drawer-content li .tel a {
  font-size: 24px;
}

.drawer-content-bg {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 100%;
  transition: 0.5s;
  background: rgba(0, 0, 0, 0.7);
  z-index: 99;
}

.drawer-content.clicked {
  left: 0;
  /*向き変更*/
}

.drawer-content-bg.clicked {
  left: 0;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  width: 100%;
}
.wp-pagenavi span,
.wp-pagenavi a {
  border: 2px solid #002A74;
  background-color: #fff;
  display: inline-block;
  width: 60px;
  line-height: 60px;
  vertical-align: middle;
  border-radius: 5px;
  margin: 0 10px;
  text-align: center;
  color: #002A74;
}
.wp-pagenavi .current {
  background-color: #002A74;
  color: #fff;
}

.wpcf7-response-output {
  background: #FFF;
  padding: 10px;
  position: fixed;
  width: 20%;
  z-index: 1000;
  text-align: left;
  padding: 30px;
  bottom: 50px;
  right: 50px;
  box-shadow: 0px 0px 15px -5px #777777;
  border-radius: 10px;
}
@media screen and ( max-width : 768px ) {
  .wpcf7-response-output {
    width: calc(100% - 60px);
    right: 30px;
    bottom: 30px;
  }
}

.screen-reader-response {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  color: #F00;
  font-weight: 700;
}