@charset "UTF-8";
/*-- foundationフォルダの中の_index.scss --*/
/*---------------------------------

 reset

---------------------------------*/
/*** The new CSS Reset - version 1.2.0 (last updated 23.7.2021) ***/
/* ブラウザのUAスタイルシートのすべてのスタイルを削除します、displayは除く */
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

/* box-sizingの優先値 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/*
  リストのスタイル（箇条書き・番号）を削除します
  normalize.cssで使用する場合
*/
ol,
ul {
  list-style: none;
}

/* 画像がコンテナを超えないようにするため */
img {
  max-width: 100%;
  vertical-align: top;
}

/* テーブルのセル間のスペースを削除します */
table {
  border-collapse: collapse;
}

/* Safariのtextarea要素のwhite-spaceプロパティを元に戻します */
textarea {
  white-space: revert;
}

/*** The new CSS Reset ***/
:root {
  --primary-color: #f58220;
  --primary-subcolor: #c76b1a;
  --main-Color: #fff5e0;
  --sub-textColor: #40250d;
  --sub-titleColor: #76583d;
}

h1,
h2,
h3,
h4,
p,
a,
li,
summary,
input {
  font-family: "游ゴシック", "Yu Gothic";
  font-style: normal;
  font-weight: normal;
  color: var(--sub-textColor);
  font-size: 16px;
  line-height: 1.8;
}

h2 {
  font-size: 32px;
  font-weight: bold;
}

h3 {
  font-size: 28px;
  font-weight: bold;
}

h4 {
  font-size: 24px;
  font-weight: 500;
}

a:hover {
  cursor: pointer;
}

@media (max-width: 1260px) {
  h2 {
    font-size: max(3.8vw, 30px);
  }
  h3 {
    font-size: max(2.8vw, 24px);
  }
  h4,
  a,
  dd,
  dt,
  p,
  input {
    font-size: max(1.5vw, 18px);
  }
  .Fade__ul a {
    font-size: max(2.5vw, 22px);
    font-weight: 600;
  }
  .Fade__ul ul a {
    font-size: max(1.8vw, 18px);
    font-weight: 400;
  }
}
@media (max-width: 980px) {
  h2 {
    font-size: max(4vw, 35px);
  }
  h3 {
    font-size: max(3.8vw, 30px);
  }
  h4,
  a,
  dd,
  dt,
  p,
  input {
    font-size: max(1.8vw, 16px);
  }
  .Fade__ul a {
    font-size: max(2.5vw, 22px);
    font-weight: 600;
  }
  .Fade__ul ul a {
    font-size: max(1.8vw, 16px);
    font-weight: 400;
  }
}
@media (max-width: 720px) {
  h2 {
    font-size: max(4.5vw, 25px);
  }
  h3 {
    font-size: max(3vw, 20px);
  }
  a,
  dd,
  dt,
  h4,
  p,
  input {
    font-size: max(2.5vw, 16px);
  }
}
@media (max-width: 500px) {
  h2 {
    font-size: max(4.5vw, 28px);
  }
  h3 {
    font-size: max(3.2vw, 20px);
  }
  a,
  dd,
  dt,
  h4,
  p,
  input {
    font-size: max(2.5vw, 16px);
  }
}
/*-- layoutフォルダの中の_index.scss --*/
header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 10;
  background-color: var(--main-Color);
}
header .Header {
  max-width: 1260px;
  margin: auto;
  padding: 10px 0;
}

@media (max-width: 1260px) {
  header .Header {
    padding: 10px 20px;
  }
}
@media (max-width: 980px) {
  header .Header {
    padding: 10px 0;
    padding-left: 20px;
  }
}
main .Wrap {
  width: 100%;
  background-color: var(--main-Color);
}
main .Title {
  max-width: 1260px;
  width: 100%;
  margin: 80px auto;
  background: linear-gradient(135deg, var(--primary-color) 90%, var(--primary-subcolor) 10%);
}
main .Title__temp {
  color: #fff;
  padding: 40px;
}
main .JumpList {
  max-width: 680px;
  margin: 40px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
main .JumpList a {
  padding-right: 20px;
  color: var(--primary-color);
  border-bottom: 1px solid var(--primary-color);
  position: relative;
  display: inline-block;
  font-size: 15px;
}
main .JumpList a::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3px;
  /* 要素の右からの距離 */
  width: 10px;
  height: 10px;
  border-top: 3px solid #f58220;
  border-right: 3px solid #f58220;
  transform: rotate(135deg);
  /* 角度調整 */
}
main .Catch > *,
main .Catch__Cont > * {
  margin-bottom: 40px;
}
main .Catch,
main .Service,
main .Recruit,
main .Contact,
main .Area,
main .Link,
main .Footer {
  max-width: 1260px;
  margin: 0 auto;
}
main .Service,
main .Example,
main .Recruit,
main .Contact,
main .Area {
  padding: 80px 0;
}
main .bread ol {
  max-width: 1260px;
  margin: -60px auto 40px;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
main .bread ol a {
  font-size: 14px;
}
main .bread ol li:not(:last-of-type)::after {
  content: "›";
  margin: 0 0.6em;
  /* 記号の左右の余白 */
  color: var(--primary-subcolor);
  /* 記号の色 */
}
main .bread ol a:hover {
  color: var(--primary-color);
}

@media (max-width: 1260px) {
  main .Title {
    background: linear-gradient(135deg, var(--primary-color) 86.5%, var(--primary-subcolor) 10%);
    padding: 0 20px;
    margin: 80px 20px;
    width: auto;
  }
  main header,
  main .Footer {
    padding: 0 20px;
  }
  main .bread ol {
    padding: 0 20px;
  }
}
@media (max-width: 980px) {
  main .Title {
    background: linear-gradient(135deg, var(--primary-color) 86%, var(--primary-subcolor) 14%);
  }
}
@media (max-width: 720px) {
  main .Title {
    background: linear-gradient(135deg, var(--primary-color) 87%, var(--primary-subcolor) 13%);
    text-align: center;
  }
  main .Title__temp {
    padding: 20px 0;
  }
  main .JumpList {
    padding: 0 20px;
    flex-wrap: wrap;
  }
}
@media (max-width: 500px) {
  main .Title {
    background: linear-gradient(135deg, var(--primary-color) 84%, var(--primary-subcolor) 16%);
  }
  main .JumpList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    text-align: center;
  }
  main .JumpList .list1 {
    grid-column: 1/2;
    grid-row: 1;
  }
  main .JumpList .list2 {
    grid-column: 2/2;
    grid-row: 1;
  }
  main .JumpList .list3 {
    grid-column: 1/2;
    grid-row: 2;
  }
  main .JumpList .list {
    grid-column: 2/2;
    grid-row: 2;
  }
  main .JumpList a {
    width: 80%;
  }
  main .bread ol {
    margin: -80px auto 20px;
  }
}
.c-btn {
  display: inline-block;
  background-color: var(--primary-color);
  color: #fff;
  padding: 10px 25px;
  border-radius: 50px;
  box-shadow: 0 4px 0 #f7cca2;
}
.c-btn a {
  color: #fff;
}

.c-btn:hover {
  box-shadow: none;
  transition: 0.4s;
  transform: translateY(4px);
}

main .c-jump-btn {
  width: fit-content;
  background: var(--sub-textColor);
  color: #fff;
  padding: 10px 30px;
  border-radius: 30px;
  margin: 50px auto;
}
main .c-jump-btn:hover {
  transform: scale(1.05);
  opacity: 0.8;
}

.Template__Ttl {
  text-align: justify;
}
.Template__Ttl h2 {
  border-bottom: 1px var(--sub-textColor) solid;
}
.Template__Ttl p {
  margin-bottom: 40px;
}

body .current {
  border-bottom: 3px solid var(--primary-color);
}

/*-- projectフォルダの中の_index.scss --*/
main .error {
  max-width: 980px;
  width: 100%;
  margin: 120px auto 40px;
  text-align: center;
}
main .error a {
  padding: 10px 20px;
}
main .error a:hover {
  background-color: var(--primary-color);
  color: #fff;
}
main .error__Txt {
  background-color: var(--primary-color);
  margin: 40px auto 0;
  padding: 40px;
  max-width: 680px;
  box-sizing: border-box;
}
main .error__Txt p,
main .error__Txt li {
  color: #fff;
}
main .error__Txt ul {
  list-style-type: disc;
  text-align: justify;
}
main .error__Txt ul li {
  margin-top: 20px;
}
main .error__Txt ul li a {
  color: #fff;
  padding: 0;
}
main .error__Txt ul li a:hover {
  background-color: #fff;
  font-weight: bold;
  color: var(--primary-color);
}

@media (max-width: 720px) {
  main .error {
    padding: 0 20px;
    text-align: justify;
  }
}
.Area {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: flex-start;
}
.Area__Txt__Ttl {
  margin-bottom: 40px;
}
.Area__Txt__Ttl p:first-child {
  color: var(--primary-color);
}
.Area__Txt__Cont {
  display: flex;
  justify-content: space-between;
  text-align: center;
}
.Area__Txt__Cont img {
  background-size: cover;
  display: none;
}
.Area__Txt__Cont .AreaTxtBox h4 {
  margin-bottom: 20px;
}
.Area__Txt__Cont .AreaTxtBox .Accordion {
  width: 180px;
  margin-bottom: 10px;
  border-radius: 25px;
  background-color: #fff;
}
.Area__Txt__Cont .AreaTxtBox .Accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 10px 25px;
  color: var(--sub-textColor);
  font-weight: 600;
  cursor: pointer;
}
.Area__Txt__Cont .AreaTxtBox .Accordion summary::-webkit-details-marker {
  display: none;
}
.Area__Txt__Cont .AreaTxtBox .Accordion summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid var(--primary-color);
  border-right: 3px solid var(--primary-color);
  content: "";
  transition: transform 0.3s;
}
.Area__Txt__Cont .AreaTxtBox .Accordion__Flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.Area__Txt__Cont .AreaTxtBox .Accordion__Flex p {
  display: block;
  opacity: 0;
  margin: 0;
  padding: 10px;
  text-align: justify;
  color: var(--sub-textColor);
  transition: transform 0.5s, opacity 0.5s;
  transition: all 0.5s ease;
  transform: translateY(-10px);
}
.Area__Txt__Cont .Accordion[open] summary::after {
  transform: rotate(225deg);
}
.Area__Txt__Cont .Accordion[open] p {
  transform: none;
  opacity: 1;
  transition: 0.4s;
}
.Area img {
  background-size: cover;
  max-width: 600px;
}

@media (max-width: 1260px) {
  main .Area {
    padding: 80px 20px;
  }
  main .Area__Img {
    width: 50%;
    margin-top: 80px;
  }
  main .Area__Img img {
    max-width: 600px;
    width: 100%;
    background-size: cover;
    object-fit: cover;
  }
}
@media (max-width: 980px) {
  main .Area__Txt {
    width: 100vw;
  }
  main .Area__Txt__Ttl {
    text-align: justify;
  }
  main .Area__Txt__Cont {
    margin: 0;
    text-align: center;
    flex-direction: column;
  }
  main .Area__Txt__Cont img {
    margin: 20px auto;
    display: inline;
    max-width: none;
    width: 80%;
    object-fit: cover;
  }
  main .Area__Txt__Cont .AreaTxtBox {
    margin: auto;
  }
  main .Area__Txt__Cont .AreaTxtBox .Accordion {
    width: 600px;
  }
  main .Area__Img {
    display: none;
  }
}
@media (max-width: 720px) {
  main .Area__Txt__Cont .AreaTxtBox .Accordion {
    width: 400px;
  }
}
@media (max-width: 500px) {
  main .Area__Txt__Cont .AreaTxtBox .Accordion {
    width: 230px;
  }
}
.Catch__Ttl {
  width: 100%;
  padding: 40px;
  background-color: var(--primary-color);
  text-align: center;
}
.Catch__Ttl h2,
.Catch__Ttl p {
  color: #fff;
}
.Catch__Ttl h2 {
  margin-bottom: 20px;
}
.Catch__Cont .Flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.Catch__Cont .Flex img {
  width: 40%;
}
.Catch__Cont .Flex h3 {
  color: var(--primary-color);
  margin-bottom: 20px;
}
.Catch__Cont .Grid1 {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  align-items: center;
}
.Catch__Cont .Grid1__Item__1 {
  text-align: center;
  grid-column: 2/3;
  grid-row: 1;
}
.Catch__Cont .Grid1__Item__2 {
  grid-column: 1/2;
  grid-row: 1;
}
.Catch__Cont .Grid1__Item__3 {
  grid-column: 3/3;
  grid-row: 1;
}
.Catch__Cont .Grid1__Item__2, .Catch__Cont .Grid1__Item__3 {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0;
  text-align: center;
}
.Catch__Cont .Grid2 {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 0.5fr 0.5fr 100px;
  gap: 40px;
  text-align: center;
}
.Catch__Cont .Grid2__Item__1 {
  grid-column: 2/4;
  grid-row: 1;
}
.Catch__Cont .Grid2__Item__1 h3 {
  color: var(--primary-color);
}
.Catch__Cont .Grid2__Item__2 {
  grid-column: 1/3;
  grid-row: 2;
}
.Catch__Cont .Grid2__Item__3 {
  grid-column: 3/5;
  grid-row: 2;
}
.Catch__Cont .Grid2__Item__1, .Catch__Cont .Grid2__Item__2, .Catch__Cont .Grid2__Item__3 {
  width: 100%;
  height: 100%;
}
.Catch__Cont .Grid2__Item__1 img, .Catch__Cont .Grid2__Item__2 img, .Catch__Cont .Grid2__Item__3 img {
  width: 100%;
}
.Catch__Cont .Grid2 p {
  grid-column: 1/5;
  grid-row: 3;
}

@media (max-width: 1260px) {
  .Catch {
    padding: 0 20px;
  }
  .Catch__Cont .Grid1 {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    align-items: center;
  }
  .Catch__Cont .Grid1__Item__1 {
    text-align: center;
    grid-column: 2/3;
    grid-row: 1;
  }
  .Catch__Cont .Grid1__Item__2 {
    grid-column: 1/2;
    grid-row: 1;
  }
  .Catch__Cont .Grid1__Item__3 {
    grid-column: 3/3;
    grid-row: 1;
  }
  .Catch__Cont .Grid1__Item__2, .Catch__Cont .Grid1__Item__3 {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0;
    text-align: center;
  }
}
@media (max-width: 980px) {
  .Catch {
    padding: 0 20px;
  }
  .Catch__Ttl {
    padding: 40px 20px;
  }
  .Catch__Cont .Grid1 {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    align-items: center;
  }
  .Catch__Cont .Grid1__Item__1 {
    text-align: center;
    grid-column: 2/4;
    grid-row: 1;
  }
  .Catch__Cont .Grid1__Item__2 {
    grid-column: 1/3;
    grid-row: 2;
  }
  .Catch__Cont .Grid1__Item__3 {
    grid-column: 3/5;
    grid-row: 2;
  }
  .Catch__Cont .Grid1__Item__2, .Catch__Cont .Grid1__Item__3 {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0;
    text-align: center;
  }
}
@media (max-width: 720px) {
  .Catch__Ttl {
    width: 100%;
    text-align: justify;
  }
  .Catch__Ttl h2,
  .Catch__Ttl p {
    color: #fff;
  }
  .Catch__Ttl h2 {
    margin-bottom: 20px;
  }
  .Catch__Cont .Flex {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .Catch__Cont .Flex img {
    width: 100%;
  }
  .Catch__Cont .Flex h3,
  .Catch__Cont .Flex p {
    text-align: justify;
    padding: 20px 0 0;
  }
  .Catch__Cont .Grid1 {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .Catch__Cont .Grid1__Item__1 {
    text-align: center;
    grid-column: 2/3;
    grid-row: 1;
  }
  .Catch__Cont .Grid1__Item__2 {
    grid-column: 1/2;
    grid-row: 1;
    margin-bottom: 20px;
  }
  .Catch__Cont .Grid1__Item__3 {
    grid-column: 3/3;
    grid-row: 1;
  }
  .Catch__Cont .Grid1__Item__2, .Catch__Cont .Grid1__Item__3 {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
    text-align: center;
  }
  .Catch__Cont .Grid2 {
    width: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
  }
  .Catch__Cont .Grid2__Item__1 {
    grid-column: 2/4;
    grid-row: 1;
  }
  .Catch__Cont .Grid2__Item__1 h3 {
    color: var(--primary-color);
  }
  .Catch__Cont .Grid2__Item__2 {
    grid-column: 1/3;
    grid-row: 2;
  }
  .Catch__Cont .Grid2__Item__3 {
    grid-column: 3/6;
    grid-row: 2;
  }
  .Catch__Cont .Grid2__Item__1, .Catch__Cont .Grid2__Item__2, .Catch__Cont .Grid2__Item__3 {
    width: 100%;
    height: 100%;
  }
  .Catch__Cont .Grid2__Item__1 img, .Catch__Cont .Grid2__Item__2 img, .Catch__Cont .Grid2__Item__3 img {
    width: 100%;
  }
  .Catch__Cont .Grid2 p {
    text-align: justify;
  }
}
main .Company {
  max-width: 1080px;
  margin: 40px auto;
}
main .Company__message {
  margin-top: 120px;
  position: relative;
  background-color: var(--main-Color);
  padding: 300px 40px 80px;
}
main .Company__message .absolute {
  position: absolute;
  top: -40px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
}
main .Company__message .absolute img {
  width: 400px;
  max-width: 50%;
  padding: 40px 80px;
  margin-right: 20px;
  background-color: #dad5d5;
  border-radius: 20px;
}
main .Company__message .absolute h3 {
  width: 300px;
}
main .Company__message .h3 {
  display: none;
}
main #Flow {
  background-color: #fff;
}
main .googlemap {
  margin: 0 auto;
  max-width: 1040px;
  min-width: 280px;
  padding: 0 20px;
}
main .googlemap h3 {
  border-bottom: 3px solid #cfcfcf;
  position: relative;
  margin-bottom: 20px;
}
main .googlemap h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: 3px solid #f58220;
  bottom: -3px;
  width: 200px;
}
main .googlemap h4 {
  padding-top: 40px;
  color: var(--primary-color);
}
main .googlemap ul {
  padding-bottom: 40px;
}
main .googlemap .wrap {
  position: relative;
  padding-bottom: 56.25%;
  /* 縦横比を 16:9 */
  height: 0;
  overflow: hidden;
}
main .googlemap .wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
main .purpose {
  margin: 80px auto;
  max-width: 1080px;
  padding: 80px;
  background-color: var(--main-Color);
}
main .purpose h3 {
  margin-bottom: 40px;
}
main .purpose ul {
  list-style-type: decimal-leading-zero;
  margin-left: 30px;
}
main .purpose ul li,
main .purpose ul p {
  color: var(--sub-textColor);
}
main .purpose ul li {
  padding: 10px 0;
  font-weight: bold;
}
main .JumpId {
  margin: 0 auto 80px;
  max-width: 1080px;
  /* ヘッダーの高さ分を指定（ジャンプ用） */
  padding-top: 100px;
  margin-top: -100px;
}
main .JumpId h3 {
  border-bottom: 3px solid #cfcfcf;
  position: relative;
}
main .JumpId h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: 3px solid #f58220;
  bottom: -3px;
  width: 200px;
}
main .JumpId .Flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
main .JumpId .Flex p {
  max-width: 500px;
}
main .JumpId .Flex img {
  width: 100%;
  max-width: 500px;
  object-fit: cover;
  margin: 40px 0;
  margin-left: 20px;
}
main .JumpId .Flex__Ttl p {
  color: var(--primary-color);
}
main .JumpId .Flex__Ttl h4 {
  font-size: max(2vw, 20px);
  font-weight: bold;
  margin-bottom: 20px;
}
main .JumpId .Cont {
  background-color: var(--main-Color);
  padding: 40px;
}
main .JumpId .Cont h4 {
  color: var(--primary-color);
  margin-bottom: 20px;
}
main .JumpId .Cont ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 20px;
}
main .JumpId .Cont ul li:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/2;
}
main .JumpId .Cont ul li:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}
main .JumpId .Cont ul li:nth-child(3) {
  grid-column: 3/4;
  grid-row: 1/2;
}
main .JumpId .Cont ul li:nth-child(4) {
  grid-column: 4/5;
  grid-row: 1/2;
}
main .JumpId .Cont ul li:nth-child(5) {
  grid-column: 1/2;
  grid-row: 2/2;
}
main .JumpId .Cont ul li:nth-child(6) {
  grid-column: 2/3;
  grid-row: 2/2;
}
main .JumpId .Cont ul li:nth-child(7) {
  grid-column: 3/5;
  grid-row: 2/2;
}
main .JumpId .Cont .gridAlt {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  gap: 20px;
  text-align: center;
}
main .JumpId .Cont .gridAlt li:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1;
}
main .JumpId .Cont .gridAlt li:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1;
}
main .JumpId .Cont .gridAlt li:nth-child(3) {
  grid-column: 3/4;
  grid-row: 1;
}
main .privacy {
  margin: 80px auto;
  max-width: 1080px;
  padding: 80px;
  background-color: var(--main-Color);
}
main .privacy p {
  padding: 20px 0;
}
main .privacy ul h3 {
  border-left: 3px solid #f58220;
  padding-left: 20px;
}
main .privacy ul li {
  padding: 10px 0;
}
main .privacy ul li ul {
  margin-left: 20px;
  list-style-type: disc;
}
main .privacy ul li ul li ul {
  list-style-type: decimal-leading-zero;
  margin-left: 20px;
}

@media (max-width: 1260px) {
  main .JumpId {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 980px) {
  main .Company__message {
    margin-top: 0px;
    padding: 300px 20px 80px;
  }
  main .Company__message .absolute h3 {
    width: 340px;
  }
  main .purpose,
  main .privacy {
    padding: 80px 20px;
  }
  main .JumpId .Flex {
    padding: 40px 0;
  }
  main .JumpId .Flex img {
    width: 50%;
    max-width: initial;
  }
  main .JumpId .Flex__Ttl p {
    margin: 0;
  }
}
@media (max-width: 800px) {
  main .JumpId .Cont ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 20px;
  }
  main .JumpId .Cont ul li:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  main .JumpId .Cont ul li:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/3;
  }
  main .JumpId .Cont ul li:nth-child(3) {
    grid-column: 3/4;
    grid-row: 1/3;
  }
  main .JumpId .Cont ul li:nth-child(4) {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  main .JumpId .Cont ul li:nth-child(5) {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  main .JumpId .Cont ul li:nth-child(6) {
    grid-column: 3/4;
    grid-row: 2/3;
  }
  main .JumpId .Cont ul li:nth-child(7) {
    grid-column: 1/4;
    grid-row: 3/3;
  }
}
@media (max-width: 720px) {
  main .Company__message {
    padding: 40px 20px 80px;
  }
  main .Company__message .absolute {
    position: static;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
  }
  main .Company__message .absolute img {
    width: auto;
    max-width: 50%;
    padding: 20px;
    margin-bottom: 20px;
  }
  main .Company__message .absolute h3 {
    width: auto;
  }
  main .JumpId .Flex {
    flex-direction: column-reverse;
  }
  main .JumpId .Flex p {
    max-width: 500px;
  }
  main .JumpId .Flex img {
    width: 100%;
    max-width: 500px;
    object-fit: cover;
    margin-left: 0;
  }
  main .JumpId .Cont ul {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    gap: 20px;
  }
  main .JumpId .Cont ul li:nth-child(1) {
    grid-column: 1/2;
    grid-row: 1/4;
  }
  main .JumpId .Cont ul li:nth-child(2) {
    grid-column: 2/3;
    grid-row: 1/4;
  }
  main .JumpId .Cont ul li:nth-child(3) {
    grid-column: 1/2;
    grid-row: 2/4;
  }
  main .JumpId .Cont ul li:nth-child(4) {
    grid-column: 2/3;
    grid-row: 2/4;
  }
  main .JumpId .Cont ul li:nth-child(5) {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  main .JumpId .Cont ul li:nth-child(6) {
    grid-column: 2/3;
    grid-row: 3/4;
  }
  main .JumpId .Cont ul li:nth-child(7) {
    grid-column: 1/3;
    grid-row: 4/4;
  }
}
@media (max-width: 500px) {
  main .Company__message .absolute img {
    max-width: 100%;
  }
  main .Company__message .absolute h3 {
    display: none;
  }
  main .Company__message .h3 {
    display: block;
    padding: 20px 0;
  }
  main .JumpId {
    max-width: 1080px;
    text-align: center;
  }
  main .JumpId h3 {
    text-align: justify;
  }
  main .JumpId .Cont {
    text-align: center;
  }
  main .JumpId .Cont ul,
  main .JumpId .Cont .gridAlt {
    display: block;
  }
  main .JumpId .Cont ul li,
  main .JumpId .Cont .gridAlt li {
    padding: 10px 0;
  }
}
main .Contact {
  text-align: center;
}
main .Contact__Ttl {
  margin-bottom: 40px;
}
main .Contact__Ttl p {
  color: var(--primary-color);
  margin-top: 20px;
}
main .Contact__Ttl p:last-of-type {
  color: var(--sub-textColor);
}
main .Contact__Cont {
  border: 2px var(--primary-color) solid;
  padding: 40px 80px;
}
main .Contact__Cont h2 {
  color: var(--primary-color);
  display: inline;
  border-bottom: 2px solid var(--primary-color);
}
main .Contact__Cont h4 {
  padding: 40px 0;
  text-align: justify;
}
main .Contact__Cont .ContactContBox {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
main .Contact__Cont .ContactContBox__List {
  background-color: var(--main-Color);
  width: 50%;
  padding: 40px;
  margin-bottom: 40px;
}
main .Contact__Cont .ContactContBox__List .Alt-btn,
main .Contact__Cont .ContactContBox__List .c-btn {
  position: relative;
  padding-left: 50px;
  margin-top: 20px;
}
main .Contact__Cont .ContactContBox__List .Alt-btn::before,
main .Contact__Cont .ContactContBox__List .c-btn::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 10px;
  margin-top: auto;
  margin-bottom: auto;
}
main .Contact__Cont .ContactContBox__List .Alt-btn {
  display: inline-block;
  background-color: #fff;
  color: var(--primary-color);
  padding: 8px 25px 8px 50px;
  border-radius: 50px;
  font-size: 20px;
  font-weight: bold;
}
main .Contact__Cont .ContactContBox__List .Alt-btn::before {
  background: url(https://www.tsukamoto-yane.com/wp-content/uploads/2023/10/Call-orange.png) no-repeat;
  background-size: contain;
}
main .Contact__Cont .ContactContBox__List .c-btn {
  box-shadow: none;
}
main .Contact__Cont .ContactContBox__List .c-btn :hover {
  transform: translateY(0px);
}
main .Contact__Cont .ContactContBox__List .c-btn::before {
  background: url(https://www.tsukamoto-yane.com/wp-content/uploads/2023/10/Mail-white.png) no-repeat;
  background-size: contain;
}
main .Contact__Cont .ContactContBox__List .Mail,
main .Contact__Cont .ContactContBox__List .Call {
  align-items: center;
}
main .Contact__Cont .ContactContBox__List .Call::before,
main .Contact__Cont .ContactContBox__List .Mail::before {
  content: "";
  display: inline-block;
  width: 51px;
  height: 51px;
  background-size: cover;
  vertical-align: middle;
}
main .Contact__Cont .ContactContBox__List .Call::before {
  background: url(https://www.tsukamoto-yane.com/wp-content/uploads/2023/10/Call-brown.png) no-repeat;
}
main .Contact__Cont .ContactContBox__List .Mail::before {
  background: url(https://www.tsukamoto-yane.com/wp-content/uploads/2023/10/Mail-brown.png) no-repeat;
}

@media (max-width: 1260px) {
  main .Contact {
    padding: 80px 20px;
  }
  main .Contact__Ttl {
    padding: 0;
    text-align: justify;
  }
}
@media (max-width: 980px) {
  main .Contact__Cont .ContactContBox {
    flex-direction: column;
  }
  main .Contact__Cont .ContactContBox__List {
    background-color: var(--main-Color);
    width: 100%;
    padding: 40px;
    margin-bottom: 0;
  }
  main .Contact__Cont .c-btn {
    margin-top: 20px;
  }
}
@media (max-width: 720px) {
  main .Contact__Cont {
    padding: 40px;
  }
}
@media (max-width: 500px) {
  main .Contact__Cont {
    padding: 20px;
  }
  main .Contact__Cont h2 {
    text-align: justify;
  }
  main .Contact__Cont .ContactContBox__List {
    padding: 20px;
  }
  main .Contact__Cont .ContactContBox__List p:first-of-type {
    text-align: justify;
  }
}
.Example {
  text-align: center;
}
.Example__Ttl {
  margin-bottom: 40px;
}
.Example__Ttl p:first-of-type {
  color: var(--primary-color);
}
.Example__Ttl h2 {
  margin-bottom: 40px;
}
.Example .swiper {
  width: 100%;
  height: auto;
}
.Example .swiper-wrapper {
  transition-timing-function: linear;
}
.Example .swiper-wrapper .swiper-slide {
  width: 350px;
  height: auto;
  margin-right: 20px;
}
.Example .swiper-wrapper .swiper-slide .slide {
  padding: 40px;
  border: 1px solid var(--sub-textColor);
  position: relative;
}
.Example .swiper-wrapper .swiper-slide .slide .img-cover {
  overflow: hidden;
  /*拡大時にはみ出た部分を隠す*/
  width: 100%;
  height: 100%;
}
.Example .swiper-wrapper .swiper-slide .slide .img-cover img {
  width: 100%;
  height: 100%;
  display: block;
  transition-duration: 0.3s;
  /*変化に掛かる時間*/
}
.Example .swiper-wrapper .swiper-slide .slide__content {
  min-height: 120px;
  text-align: justify;
}
.Example .swiper-wrapper .swiper-slide .slide .category {
  position: absolute;
  right: 40px;
  top: 40px;
  width: 150px;
  padding: 10px 20px;
  background-color: var(--sub-textColor);
  color: #fff;
  font-size: 16px;
}
.Example .swiper-wrapper .swiper-slide:hover {
  opacity: 0.8;
}
.Example .swiper-wrapper .swiper-slide:hover img {
  transform: scale(1.05);
  /*画像の拡大率*/
  transition-duration: 0.3s;
  /*変化に掛かる時間*/
}
.Example .c-btn {
  margin-top: 40px;
}
.Example .l-section {
  overflow: hidden;
}
.Example .l-section .l-inner {
  padding: 40px 0;
  position: relative;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 10%;
}
.Example .l-section .l-inner .swiper {
  overflow: visible;
}
.Example .l-section .swiper-slide:not(.swiper-slide-visible) .slide {
  opacity: 0.3;
  pointer-events: none;
}
.Example .swiper-button-prev,
.Example .swiper-button-next {
  display: grid;
  place-content: center;
  width: 10px;
  height: 10px;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.Example .swiper-button-prev::before,
.Example .swiper-button-next::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 30px;
  /* 横幅 */
  height: 30px;
  /* 高さ */
  border-radius: 50%;
  /* 角の丸み */
  background: var(--primary-color);
}
.Example .swiper-button-prev::after,
.Example .swiper-button-next::after {
  /* くの字の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 8px;
  width: 15px;
  height: 15px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
.Example .swiper-button-prev::after {
  margin-left: 5px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.Example .swiper-button-next::after {
  margin-right: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media only screen and (max-width: 500px) {
  .Example .l-section .swiper-button-prev {
    right: calc(100% - 5.2rem);
  }
  .Example .l-section .swiper-button-next {
    left: calc(100% - 5.2rem);
  }
}
@media only screen and (min-width: 1025px) {
  .Example .swiper-button-prev:hover::before,
  .Example .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@media (max-width: 1260px) {
  .Example__Ttl {
    margin: 0 auto;
    max-width: 800px;
    padding: 0 20px 40px;
    text-align: justify;
  }
  .Example__Ttl p:first-of-type {
    color: var(--primary-color);
  }
  .Example__Ttl h2 {
    margin-bottom: 40px;
  }
  .Example .l-section {
    overflow: hidden;
    text-align: center;
  }
  .Example .l-section .l-inner {
    padding: 0 5%;
  }
  .Example .l-section .l-inner .swiper {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 500px) {
  .Example .l-section .l-inner {
    padding: 0;
  }
}
main .ExampleCont {
  margin: 120px auto 80px;
  max-width: 1080px;
}
main .ExampleCont__Ttl {
  margin-bottom: 80px;
  border-bottom: 3px solid #cfcfcf;
  position: relative;
}
main .ExampleCont__Ttl:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: 3px solid var(--primary-color);
  bottom: -3px;
  width: 500px;
}
main .ExampleCont__Ttl__Cont {
  display: flex;
  align-items: center;
}
main .ExampleCont__Ttl__Cont h4 {
  background-color: var(--sub-textColor);
  color: #fff;
  font-size: 16px;
  padding: 0 15px;
}
main .ExampleCont__Ttl__Cont p {
  padding: 0;
}
main .ExampleCont__Cont {
  width: 100%;
  padding: 40px;
  background-color: var(--main-Color);
}
main .ExampleCont__Cont img {
  width: 100%;
  object-fit: cover;
}
main .ExampleCont__Cont > * {
  margin-bottom: 20px;
}
main .ExampleCont__Cont__Link {
  display: flex;
  justify-content: space-between;
  padding: 40px 20px;
  background-color: #fff;
}
main .ExampleCont__Cont__Link a:nth-child(1) {
  padding-left: 40px;
  position: relative;
}
main .ExampleCont__Cont__Link a:nth-child(1)::before {
  /* 矢印の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 15px;
  width: 13px;
  height: 13px;
  border-top: 3px solid var(--sub-textColor);
  border-right: 3px solid var(--sub-textColor);
  transform: rotate(225deg);
}
main .ExampleCont__Cont__Link a:nth-child(2) {
  padding-right: 40px;
  position: relative;
}
main .ExampleCont__Cont__Link a:nth-child(2)::after {
  /* 矢印の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 13px;
  height: 13px;
  border-top: 3px solid var(--sub-textColor);
  border-right: 3px solid var(--sub-textColor);
  transform: rotate(45deg);
}
main .ExampleCont .single {
  padding: 80px 40px;
}
main .ExampleCont .single > * {
  padding-bottom: 40px;
}
main .ExampleCont .single > * .list {
  padding: 40px;
}
main .ExampleCont .single > * .list img {
  width: 100%;
  height: 100%;
  padding-bottom: 20px;
}
main .ExampleCont .single ol, main .ExampleCont .single p {
  padding: 0;
}
main .ExampleCont .single .wp-block-details {
  padding: 40px;
}
main .ExampleCont .single .wp-block-details summary {
  font-size: 18px;
  font-weight: bold;
}
main .ExampleCont .single .wp-block-details p {
  padding: 20px 0;
}
main .ExampleCont .bread ol {
  padding: 0;
}

@media (max-width: 1260px) {
  main .ExampleCont {
    padding: 0 20px;
  }
  main .ExampleCont .single p {
    padding: 0;
  }
  main .ExampleCont .bread ol {
    padding: 0;
  }
}
@media (max-width: 980px) {
  main .ExampleCont__Ttl:after {
    width: 40%;
  }
  main .ExampleCont__Ttl__Cont {
    display: flex;
    align-items: center;
  }
  main .ExampleCont__Ttl__Cont h4 {
    background-color: var(--sub-textColor);
    color: #fff;
    font-size: 16px;
    padding: 0 15px;
  }
  main .ExampleCont__Cont__Link {
    background-color: var(--main-Color);
  }
  main .ExampleCont__Cont__Link span {
    display: none;
  }
}
main .ExampleList {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1080px;
  margin: 80px auto;
}
main .ExampleList .List__Box {
  display: grid;
  grid-template-columns: repeat(2, 470px);
  gap: 0;
}
main .ExampleList .List__Box .swiper-slide2 {
  width: 100%;
  height: 100%;
  padding: 40px 20px 40px 0;
  position: relative;
}
main .ExampleList .List__Box .swiper-slide2 img {
  height: 280px;
  width: 640px;
  object-fit: cover;
}
main .ExampleList .List__Box .swiper-slide2 h2 {
  color: var(--style, #40250D);
  font-size: 20px;
  font-weight: 500;
  text-align: justify;
}
main .ExampleList .List__Box .swiper-slide2 .category {
  position: absolute;
  top: 40px;
  right: 20px;
  width: 150px;
  padding: 10px 20px;
  background-color: var(--sub-textColor);
  color: #fff;
  font-size: 16px;
  text-align: center;
}
main .ExampleList .List__Box .swiper-slide2:hover {
  opacity: 0.8;
}
main .ExampleList .List .pagination ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
main .ExampleList .List .pagination ul li {
  padding: 0 10px;
}
main .ExampleList .List .pagination ul a:hover {
  opacity: 0.7;
}
main .ExampleList .SubMenu {
  max-width: 300px;
}
main .ExampleList .SubMenu h3 {
  width: 100%;
  color: var(--primary-color);
  border-bottom: 3px solid var(--primary-color);
  margin-bottom: 20px;
}
main .ExampleList .SubMenu ul {
  display: block;
}
main .ExampleList .SubMenu ul li {
  padding: 10px 0;
}
main .ExampleList .SubMenu ul li a {
  font-size: 16px;
  text-align: justify;
  border-bottom: 1px solid #aaa;
}
main .ExampleList .SubMenu ul li a:hover {
  color: var(--primary-color);
}

@media (max-width: 1260px) {
  main .ExampleList {
    padding: 0 20px;
  }
  main .ExampleList .List__Box {
    grid-template-columns: repeat(2, 410px);
  }
  main .ExampleList .List__Box .swiper-slide2 {
    height: auto;
  }
  main .ExampleList .List__Box .swiper-slide2 a {
    background-color: var(--sub-textColor);
    color: #fff;
    font-size: 16px;
    padding: 0 15px;
  }
  main .ExampleList .List__Box .swiper-slide2:hover {
    opacity: 0.8;
  }
}
@media (max-width: 980px) {
  main .ExampleList {
    flex-direction: column-reverse;
  }
  main .ExampleList .List {
    margin: 0 auto;
  }
  main .ExampleList .List__Box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  main .ExampleList .List__Box .swiper-slide2 {
    width: 50%;
    height: auto;
    margin-right: 0;
  }
  main .ExampleList .List__Box .swiper-slide2:hover {
    opacity: 0.8;
  }
  main .ExampleList .SubMenu {
    max-width: initial;
    padding: 0;
  }
  main .ExampleList .SubMenu h3 {
    width: 200px;
    text-align: justify;
  }
  main .ExampleList .SubMenu ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  main .ExampleList .SubMenu ul li {
    padding: 10px 20px;
    padding-left: 0;
    width: 140px;
  }
}
@media (max-width: 720px) {
  main .ExampleList .List__Box {
    flex-direction: column;
  }
  main .ExampleList .List__Box .swiper-slide2 {
    width: 100%;
    padding: 20px 0;
  }
  main .ExampleList .List__Box .swiper-slide2 .category {
    top: 20px;
    right: 0;
  }
  main .ExampleList .List__Box .swiper-slide2:hover {
    opacity: 0.8;
  }
  main .ExampleList .SubMenu h3 {
    width: 200px;
    text-align: justify;
    margin-bottom: 0;
  }
}
@media (max-width: 500px) {
  main .ExampleList .SubMenu h3 {
    margin-bottom: 0;
  }
}
footer {
  background-color: var(--sub-textColor);
  padding-top: 80px;
}
footer h2,
footer h3,
footer p,
footer a {
  color: #fff;
}
footer .Footer__Wrap {
  margin-top: 40px;
  display: flex;
}
footer .Footer__Wrap__Ttl {
  margin-right: 40px;
  display: flex;
  align-items: center;
}
footer .Footer__Wrap__Ttl img {
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
footer .Footer__Wrap__Ttl .Ttl-1,
footer .Footer__Wrap__Ttl .Ttl-2 {
  font-weight: 700;
  line-height: 1.2;
}
footer .Footer__Wrap__Ttl .Ttl-1 {
  font-size: 18px;
}
footer .Footer__Wrap__Ttl .Ttl-2 {
  font-size: 25px;
}
footer .Footer__Wrap__Cont .FooterTxt {
  display: flex;
  margin-bottom: 20px;
  align-items: center;
  gap: 20px;
}
footer .Footer__Wrap__Cont .FooterTxt .Flex {
  display: flex;
  align-items: first baseline;
  gap: 10px;
}
footer .Footer__Wrap__Cont .FooterTxt .Flex .c-btn {
  font-size: 18px;
  width: 160px;
}
footer .Footer .FooterNav {
  margin-left: 215px;
  display: flex;
  justify-content: space-between;
  width: 600px;
  position: relative;
  text-align: center;
  transition: 0.5s;
  align-items: baseline;
}
footer .Footer .FooterNav li {
  transition: 0.3s;
}
footer .Footer .FooterNav :hover {
  color: var(--primary-color);
  cursor: pointer;
}
footer .Footer .FooterNav .Accordion {
  width: 90px;
  margin-bottom: 10px;
  border-radius: 0;
  background-color: var(--Main-Color);
}
footer .Footer .FooterNav .Accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding-left: 12px;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}
footer .Footer .FooterNav .Accordion summary::-webkit-details-marker {
  display: none;
}
footer .Footer .FooterNav .Accordion summary::before {
  content: "";
  width: 7px;
  height: 7px;
  position: absolute;
  margin: auto;
  top: 0px;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  background: var(--primary-color);
}
footer .Footer .FooterNav .Accordion p {
  display: block;
  opacity: 0;
  margin: 0;
  padding: 5px 0;
  text-align: center;
  color: #fff;
  transition: transform 0.5s, opacity 0.5s;
  transition: all 0.5s ease;
  transform: translateY(-10px);
}
footer .Footer .FooterNav .Accordion[open] p {
  transform: none;
  opacity: 1;
  transition: 0.4s;
  z-index: 1;
}
footer .Footer .Copy {
  padding: 160px 0 20px;
}
footer .Footer .Copy p, footer .Footer .Copy a {
  font-size: 14px;
  text-align: justify;
}

@media (max-width: 980px) {
  footer .Footer__Wrap {
    margin-bottom: 20px;
  }
  footer .Footer__Wrap__Cont .FooterTxt {
    display: grid;
    grid-template-columns: 1fr 160px;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
  }
  footer .Footer__Wrap__Cont .FooterTxt p {
    grid-column: 1/3;
    grid-row: 1;
  }
  footer .Footer__Wrap__Cont .FooterTxt .Flex {
    grid-column: 1/2;
    grid-row: 2;
    display: flex;
    align-items: first baseline;
    gap: 10px;
  }
  footer .Footer__Wrap__Cont .FooterTxt a {
    grid-column: 2/3;
    grid-row: 2;
    width: 160px;
  }
  footer .Footer .FooterNav {
    margin-left: 0;
  }
}
@media (max-width: 720px) {
  footer .Footer p {
    text-align: justify;
  }
  footer .Footer__Wrap {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  footer .Footer__Wrap__Ttl {
    margin: 20px 0;
  }
  footer .Footer__Wrap__Ttl p {
    text-align: justify;
  }
  footer .Footer__Wrap__Cont .FooterTxt {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-bottom: 20px;
    gap: 20px;
  }
  footer .Footer .FooterNav {
    width: 100%;
    display: inline-block;
    position: relative;
    text-align: center;
    transition: 0.5s;
    align-items: center;
  }
  footer .Footer .FooterNav li {
    transition: 0.3s;
    margin-bottom: 20px;
  }
  footer .Footer .FooterNav li .Accordion {
    text-align: center;
    margin: auto;
  }
  footer .Footer .Copy {
    padding-top: 40px;
  }
}
header .Header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .Header__Logo {
  display: flex;
  align-items: center;
}
header .Header__Logo__Ttl {
  display: flex;
  align-items: center;
}
header .Header__Logo__Ttl img {
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
header .Header__Logo__Ttl .Ttl-1,
header .Header__Logo__Ttl .Ttl-2 {
  font-weight: 700;
  line-height: 1.2;
}
header .Header__Logo__Ttl .Ttl-1 {
  font-size: 18px;
}
header .Header__Logo__Ttl .Ttl-2 {
  font-size: 25px;
}
header .Header__Logo__Txt {
  display: flex;
  justify-content: space-between;
  max-width: 150px;
  flex-wrap: wrap;
}
header .Header__Logo__Txt li {
  font-size: 14px;
}
header .Header__Logo__Txt li::before {
  content: "";
  margin-left: 5px;
  width: 5px;
  height: 5px;
  display: inline-block;
  background-color: #555;
  border-radius: 50%;
  position: relative;
  top: -3px;
  margin-right: 5px;
}

@media (max-width: 500px) {
  header .Header__Logo__Txt {
    display: none;
  }
}
.Link {
  text-align: center;
}
.Link__Ttl {
  margin-bottom: 40px;
}
.Link__Ttl p {
  color: var(--primary-color);
}
.Link__Cont {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 20px 40px;
}
.Link__Cont img {
  max-width: 200px;
}
.Link__Cont:last-of-type {
  margin-top: 40px;
}

@media (max-width: 1260px) {
  .Link {
    padding: 80px 20px;
  }
  .Link__Ttl {
    text-align: justify;
  }
}
@media (max-width: 500px) {
  .Link__Cont {
    display: flex;
    flex-direction: column;
    text-align: center;
  }
}
.MailForm {
  max-width: 1080px;
  margin: 80px auto;
}
.MailForm .Form {
  margin: 80px auto;
  box-sizing: border-box;
}
.MailForm .Form__Item {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 20px 20px;
}
.MailForm .Form__Item__Label {
  padding: 18px 20px 18px 0;
  width: 100%;
  max-width: 325px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 1.2em;
}
.MailForm .Form__Item__Label__Required {
  border-radius: 6px;
  margin-right: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: var(--primary-color);
  color: #fff;
  font-size: 1em;
}
.MailForm .Form__Item__Label .none {
  background-color: #fff;
}
.MailForm .Form__Item__Input {
  background: #eaedf2;
  border: 1px solid #ddd;
  padding: 20px;
  flex: 1;
  width: 100%;
  font-size: 1.2em;
  overflow-wrap: break-word;
}
.MailForm .Form__Item__Input::placeholder {
  color: #bbb;
}
.MailForm .Form__Item .isMsg {
  margin-bottom: auto;
}
.MailForm .Form__Item .select {
  width: 280px;
}
.MailForm .Form__Item .select:hover {
  cursor: pointer;
  opacity: 0.8;
}
.MailForm .Form__Item__Textarea {
  background: #eaedf2;
  border: 1px solid #ddd;
  padding: 20px;
  height: 216px;
  flex: 1;
  width: 100%;
  font-size: 1.2em;
  overflow-wrap: break-word;
}
.MailForm .Form__Item__Textarea::placeholder {
  color: #bbb;
}
.MailForm .Form__Btn {
  width: 300px;
  margin: auto;
  padding: 20px;
  border-radius: 10px;
  display: block;
  letter-spacing: 0.05em;
  background: var(--primary-color);
  color: #fff;
  font-weight: bold;
  font-size: 1.3em;
  text-align: center;
}
.MailForm .Form__Btn:hover {
  cursor: pointer;
  opacity: 0.8;
}

@media (max-width: 980px) {
  .MailForm .Form__Item__Label {
    max-width: 280px;
    font-size: 1.8vw;
  }
  .MailForm .Form__Item__Label__Required {
    font-size: 0.8em;
  }
  .MailForm .Form__Item__Input {
    font-size: 1.8vw;
  }
  .MailForm .Form__Item .isMsg {
    margin-top: 8px;
    margin-bottom: auto;
  }
  .MailForm .Form__Item__Textarea {
    font-size: 1.8vw;
  }
}
@media (max-width: 720px) {
  .MailForm .Form__Item {
    flex-direction: column;
    text-align: justify;
    margin: 20px 0;
    width: 100%;
  }
  .MailForm .Form__Item__Label {
    text-align: justify;
    margin: 0 auto 0 0;
    font-size: max(2.5vw, 18px);
  }
  .MailForm .Form__Item__Label small {
    font-size: max(2vw, 16px);
  }
  .MailForm .Form__Item__Label__Required {
    font-size: 0.8em;
  }
  .MailForm .Form__Item__Input {
    font-size: max(1.8vw, 16px);
  }
  .MailForm .Form__Item .select, .MailForm .Form__Item .wpcf7-file {
    width: calc(100vw - 40px);
  }
  .MailForm .Form__Item .isMsg {
    margin-top: 8px;
    margin-bottom: auto;
  }
  .MailForm .Form__Item__Textarea {
    font-size: max(1.8vw, 16px);
  }
  .MailForm .Form__Item:last-of-type {
    height: 300px;
  }
}
@media (max-width: 500px) {
  .MailForm .Form__Btn {
    width: 200px;
  }
}
header .Header .Flex {
  display: flex;
  align-items: center;
  gap: 20px;
}
header .Header .Flex .Header__Nav {
  display: flex;
  justify-content: space-between;
  width: 420px;
  margin: 0 0 0 auto;
  text-align: center;
  transition: 0.5s;
  align-items: center;
}
header .Header .Flex .Header__Nav li {
  transition: 0.3s;
}
header .Header .Flex .Header__Nav li a {
  font-size: 16px;
}
header .Header .Flex .Header__Nav :hover {
  color: var(--primary-color);
  cursor: pointer;
}
header .Header .Flex .Header__Nav .ChildMenu {
  position: relative;
}
header .Header .Flex .Header__Nav .ChildMenu__List {
  position: absolute;
  width: 240px;
  transform: translate(-80px, 0);
  visibility: hidden;
  margin: auto;
  opacity: 0;
}
header .Header .Flex .Header__Nav .ChildMenu__List li {
  padding: 10px 30px;
  text-align: center;
}
header .Header .Flex .Header__Nav .ChildMenu > a {
  font-size: 16px;
}
header .Header .Flex .Toggle,
header .Header .Flex .Fade {
  display: none;
}

@media (max-width: 980px) {
  header .Header .Flex .Header__Nav,
  header .Header .Flex .c-btn {
    display: none;
  }
  header .Header .Flex .Toggle,
  header .Header .Flex .Fade {
    display: block;
    color: var(--sub-textColor);
  }
  header .Header .Flex .Toggle.show,
  header .Header .Flex .Fade.show {
    /* クリックで表示されるメニュー：クリックされる前 */
    visibility: visible;
    right: 0;
    background-color: rgba(245, 130, 32, 0.5);
  }
  header .Header .Flex .Toggle {
    display: block;
    position: relative;
    margin: 0 0 0 auto;
    width: 1.5em;
    height: 1.2em;
    margin-right: 20px;
    z-index: 20;
    background-color: transparent;
    /* クリックされた後のハンバーガーのマーク */
  }
  header .Header .Flex .Toggle i {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #333;
    position: absolute;
    transition: transform 0.2s, opacity 0.2s;
  }
  header .Header .Flex .Toggle i:nth-child(1) {
    top: 0;
  }
  header .Header .Flex .Toggle i:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
  }
  header .Header .Flex .Toggle i:nth-child(3) {
    bottom: 0;
  }
  header .Header .Flex .Toggle.show {
    background-color: transparent;
  }
  header .Header .Flex .Toggle.show i:nth-child(1) {
    transform: translateY(5px) rotate(-45deg);
  }
  header .Header .Flex .Toggle.show i:nth-child(2) {
    opacity: 0;
  }
  header .Header .Flex .Toggle.show i:nth-child(3) {
    transform: translateY(-12px) rotate(45deg);
  }
  header .Header .Flex .Fade {
    /* クリックで表示されるメニュー：クリックされる前 */
    position: fixed;
    display: block;
    align-items: center;
    top: 0;
    right: -100%;
    width: 100%;
    bottom: 0;
    opacity: 10;
    visibility: hidden;
    transition: all 0.5s;
    background-color: var(--primary-color);
    z-index: 11;
  }
  header .Header .Flex .Fade__Content {
    width: 450px;
    height: 100vh;
    background-color: var(--main-Color);
    margin: 0 0 0 auto;
    padding-left: 20px;
  }
  header .Header .Flex .Fade__Content .Header__Logo__Ttl {
    padding: 20px 0 20px 20px;
  }
  header .Header .Flex .Fade__Content__ul {
    padding-top: 20px;
  }
  header .Header .Flex .Fade__Content__ul li {
    padding: 10px 20px;
    text-align: justify;
    border-bottom: var(--primary-color) 1px solid;
  }
  header .Header .Flex .Fade__Content__ul li a {
    font-weight: bold;
  }
  header .Header .Flex .Fade__Content__ul li .Accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0;
    cursor: pointer;
  }
  header .Header .Flex .Fade__Content__ul li .Accordion summary::-webkit-details-marker {
    display: none;
  }
  header .Header .Flex .Fade__Content__ul li .Accordion summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 10px;
    height: 10px;
    margin-left: 10px;
    border-bottom: 3px solid var(--primary-color);
    border-right: 3px solid var(--primary-color);
    content: "";
    transition: transform 0.3s;
  }
  header .Header .Flex .Fade__Content__ul li .Accordion p {
    display: block;
    opacity: 0;
    margin: 0;
    padding: 5px 0;
    text-align: center;
    transition: transform 0.5s, opacity 0.5s;
    transition: all 0.5s ease;
    transform: translateY(-10px);
  }
  header .Header .Flex .Fade__Content__ul li .Accordion[open] summary::after {
    transform: rotate(225deg);
  }
  header .Header .Flex .Fade__Content__ul li .Accordion[open] p {
    transform: none;
    opacity: 1;
    transition: 0.4s;
    z-index: 1;
  }
  header .Header .Flex .Fade__Content__ul :hover {
    color: var(--primary-color);
  }
  header .Header .Flex .Fade__Content .Alt-btn {
    display: inline-block;
    margin-top: 20px;
    background-color: #fff;
    color: var(--primary-color);
    padding: 8px 35px;
    padding-left: 50px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 20px;
    position: relative;
  }
  header .Header .Flex .Fade__Content .Alt-btn::before {
    content: "";
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    background: url(https://www.tsukamoto-yane.com/wp-content/uploads/2023/10/Call-orange.png);
    background-size: contain;
    top: 0;
    bottom: 0;
    left: 10px;
    margin-top: auto;
    margin-bottom: auto;
  }
}
@media (max-width: 500px) {
  header .Header .Flex .Fade__Content {
    width: 90vw;
  }
}
@media (min-width: 721px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
html {
  scroll-behavior: smooth;
}
html .pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 10px;
bottom:90px;
	background: #fff;
  border: solid 2px #999;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
html .pagetop__arrow {
  height: 10px;
  width: 10px;
  border-top: 3px solid #999;
  border-right: 3px solid #999;
  transform: translateY(20%) rotate(-45deg);
}

main .Recruit-company {
  max-width: 1080px;
  margin: 80px auto;
}
main .Recruit-company__Ttl {
  margin-bottom: 40px;
}
main .Recruit-company__Ttl p {
  color: var(--primary-color);
}
main .Recruit-company__Cont .Position {
  position: relative;
  text-align: right;
}
main .Recruit-company__Cont .Position img {
  width: 700px;
  background-size: cover;
}
main .Recruit-company__Cont .Position__Txt {
  position: absolute;
  text-align: justify;
  z-index: 2;
  left: 0;
  bottom: -100px;
  background-color: rgba(255, 255, 255, 0.8);
  max-width: 600px;
  padding: 40px 60px 40px 0;
}
main .Recruit-company__Cont .Position__Txt h4 {
  color: var(--primary-color);
}
main .Recruit-company__Cont .Position__Txt h3 {
  margin-bottom: 20px;
}
main .Recruit-company__Cont .Position:not(:last-child) {
  margin-bottom: 120px;
}
main .Recruit-company__Cont .Flex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
main .Recruit-company__Cont .Flex__Cont p:first-child {
  color: var(--primary-color);
}
main .Recruit-company__Cont .Flex__Cont h3 {
  margin-bottom: 20px;
}
main .Recruit-company__Cont .Flex__Cont p:last-of-type {
  margin-bottom: 20px;
}
main .Recruit-company__Cont .Flex img {
  margin-right: 20px;
}
main .Recruit-company__Cont .Flex .none {
  display: none;
}
main .Recruit-company__Cont .Welfare__Ttl {
  margin-bottom: 20px;
}
main .Recruit-company__Cont .Welfare__Ttl p {
  color: var(--primary-color);
}
main .Recruit-company__Cont .Welfare__Cont {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  background-color: var(--main-Color);
  grid-template-areas: "grid1 grid2 grid3" "grid4 grid5 grid6";
  text-align: center;
  box-sizing: border-box;
}
main .Recruit-company__Cont .Welfare__Cont .grid {
  padding: 40px;
  border-right: 1px dotted #40250d;
}
main .Recruit-company__Cont .Welfare__Cont .grid h4 {
  margin-bottom: 20px;
  min-height: 88px;
}
main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(1), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(2), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(3) {
  border-bottom: 1px solid #40250d;
}
main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(3), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(6) {
  border-right: none;
}
main .Recruit-company__Cont .LinkRecruit {
  display: flex;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap {
  position: relative;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap__Absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap__Absolute h3 {
  width: 180px;
  text-align: center;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap__Img {
  width: 100%;
  height: 100%;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap__Img img {
  height: 100%;
  object-fit: cover;
  background-color: #fff;
  opacity: 0.6;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap:hover {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap:hover img {
  filter: blur(3px);
}
main .Recruit-company__Cont .LinkRecruit :not(:last-child) {
  margin-right: 20px;
}
main .Recruit-company__Cont .LinkRecruit .current .Wrap {
  background-color: rgba(255, 103, 1, 0.8);
}
main .Recruit-company__Cont .LinkRecruit .current .Wrap__Absolute h3 {
  color: #fff;
}
main .Recruit-company__Cont .Staff {
  display: flex;
}
main .Recruit-company__Cont .Staff__Box {
  max-width: 450px;
}
main .Recruit-company__Cont .Staff__Box > p {
  color: var(--primary-color);
  min-height: 68px;
}
main .Recruit-company__Cont .Staff__Box__Cont {
  display: flex;
  align-items: center;
  gap: 20px;
}
main .Recruit-company__Cont .Staff__Box__Cont p {
  color: var(--sub-textColor);
}
main .Recruit-company__Cont .Staff__Box:hover {
  opacity: 0.7;
}
main .Recruit-company__Cont > :not(:last-child) {
  margin-bottom: 80px;
}
main .Person img {
  width: 100%;
  padding: 20px 0;
}
main .Person__Cont p:first-child {
  color: var(--primary-color);
  margin: 20px 0;
}
main .Person__Cont p:last-child {
  margin-bottom: 40px;
}

@media (max-width: 1260px) {
  main .Recruit-company {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 980px) {
  main .Recruit-company .Flex {
    flex-direction: column;
  }
  main .Recruit-company .Flex__Cont .c-btn {
    display: none;
  }
  main .Recruit-company .Flex img {
    margin-right: 0;
    width: 80%;
    margin: 0 auto;
  }
  main .Recruit-company .Flex .none {
    display: inline;
    width: 176px;
    margin: 20px auto 0;
  }
  main .Recruit-company .Welfare__Cont {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-areas: "grid1 grid2" "grid3 grid4" "grid5 grid6";
  }
  main .Recruit-company .Welfare__Cont .grid:nth-child(1), main .Recruit-company .Welfare__Cont .grid:nth-child(2), main .Recruit-company .Welfare__Cont .grid:nth-child(3), main .Recruit-company .Welfare__Cont .grid:nth-child(4) {
    border-bottom: 1px solid #40250d;
  }
  main .Recruit-company .Welfare__Cont .grid:nth-child(2), main .Recruit-company .Welfare__Cont .grid:nth-child(4), main .Recruit-company .Welfare__Cont .grid:nth-child(6) {
    border-right: none;
  }
  main .Recruit-company .Welfare__Cont .grid:nth-child(3) {
    border-right: 1px dotted #40250d;
  }
  main .Recruit-company .LinkRecruit .RecContBox__List .Wrap__Absolute h3 {
    font-size: max(2.5vw, 28px);
  }
  main .Recruit-company .LinkRecruit .RecContBox__List .Wrap:hover {
    transform: scale(1.1);
    transition-duration: 0.3s;
  }
}
@media (max-width: 720px) {
  main .Recruit-company__Ttl {
    text-align: center;
  }
  main .Recruit-company__Cont .Position__Txt {
    position: static;
    text-align: center;
    max-width: 100%;
    padding: 20px 0 0;
  }
  main .Recruit-company__Cont .Flex__Cont {
    margin-left: 20px;
    text-align: center;
  }
  main .Recruit-company__Cont .Welfare__Ttl {
    text-align: center;
  }
  main .Recruit-company__Cont .Welfare__Cont {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-areas: "grid1" "grid2" "grid3" "grid4" "grid5" "grid6";
  }
  main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(1), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(2), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(3), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(4), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(5), main .Recruit-company__Cont .Welfare__Cont .grid:nth-child(6) {
    border: none;
    border-bottom: 1px dotted #40250d;
  }
  main .Recruit-company__Cont .LinkRecruit {
    display: block;
    overflow: hidden;
  }
  main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap {
    position: relative;
  }
  main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap__Absolute {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
  main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap__Img {
    width: 100%;
    height: 100%;
  }
  main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap__Img img {
    height: 150px;
    width: 100%;
  }
  main .Recruit-company__Cont .LinkRecruit .RecContBox__List .Wrap:hover {
    transform: scale(1.1);
    transition-duration: 0.3s;
  }
  main .Recruit-company__Cont .LinkRecruit :not(:last-child) {
    margin-right: 0;
    margin-bottom: 20px;
  }
  main .Recruit-company__Cont .Staff {
    grid-template-rows: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr;
  }
  main .Recruit-company__Cont .Staff__Box {
    width: 100%;
  }
  main .Recruit-company__Cont .Staff__Box > p {
    min-height: initial;
  }
  main .Recruit-company__Cont .Staff__Box img {
    width: 100%;
  }
}
.Recruit {
  text-align: center;
}
.Recruit__Ttl {
  margin-bottom: 40px;
}
.Recruit__Ttl p {
  color: var(--primary-color);
}
.Recruit__Cont .RecContBox {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
  gap: 20px;
}
.Recruit__Cont .RecContBox__List {
  width: 100%;
  height: 280px;
  overflow: hidden;
  display: block;
}
.Recruit__Cont .RecContBox__List .Wrap {
  position: relative;
}
.Recruit__Cont .RecContBox__List .Wrap__Absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.Recruit__Cont .RecContBox__List .Wrap__Absolute p {
  color: var(--primary-color);
}
.Recruit__Cont .RecContBox__List .Wrap__Img {
  width: 100%;
  height: 100%;
}
.Recruit__Cont .RecContBox__List .Wrap__Img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: #fff;
  opacity: 0.6;
}
.Recruit__Cont .RecContBox__List .Wrap:hover {
  transform: scale(1.1);
  transition-duration: 0.3s;
}
.Recruit__Cont .RecContBox__List .Wrap:hover img {
  filter: blur(3px);
}
.Recruit__Cont .tab {
  display: none;
}

@media (max-width: 1260px) {
  .Recruit {
    padding: 80px 20px;
  }
  .Recruit__Ttl {
    padding: 0 20px;
    text-align: justify;
  }
  .Recruit__Cont .RecContBox__List {
    height: auto;
  }
}
@media (max-width: 720px) {
  .Recruit__Cont .RecContBox {
    display: none;
  }
  .Recruit__Cont .RecContBox__List {
    width: 100%;
  }
  .Recruit__Cont .RecContBox__List .Wrap {
    overflow: hidden;
  }
  .Recruit__Cont .tab {
    display: block;
    margin-bottom: 20px;
    overflow: hidden;
  }
}
.Service {
  display: flex;
  justify-content: space-between;
}
.Service__Ttl {
  max-width: 500px;
  margin-right: 40px;
}
.Service__Ttl p:first-of-type {
  color: var(--primary-color);
}
.Service__Ttl p:last-of-type {
  margin-bottom: 80px;
}
.Service__Cont :not(:last-child) {
  margin-bottom: 20px;
}
.Service__Cont .SerContBox {
  display: flex;
  justify-content: space-between;
  padding: 40px;
  background: #fff;
  border-radius: 20px;
}
.Service__Cont .SerContBox__Txt {
  width: 40%;
}
.Service__Cont .SerContBox__Txt h3 {
  border-bottom: 1px solid var(--sub-textColor);
  position: relative;
  padding-left: 40px;
}
.Service__Cont .SerContBox__Txt h3::before {
  /* 背景の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 23px;
  /* 横幅 */
  height: 23px;
  /* 高さ */
  border-radius: 50%;
  /* 角の丸み */
  background: var(--primary-color);
}
.Service__Cont .SerContBox__Txt h3::after {
  /* くの字の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 8px;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
.Service__Cont .SerContBox .img-cover {
  position: static;
  width: 350px;
  height: 150px;
  overflow: hidden;
  /*拡大時にはみ出た部分を隠す*/
}
.Service__Cont .SerContBox .img-cover img {
  width: 100%;
  height: 100%;
  display: block;
  transition-duration: 0.3s;
  /*変化に掛かる時間*/
  object-fit: cover;
}
.Service__Cont > :hover {
  background-color: var(--primary-color);
  transition: 0.4s;
}
.Service__Cont > :hover .SerContBox__Txt h3,
.Service__Cont > :hover .SerContBox__Txt p {
  color: #fff;
}
.Service__Cont > :hover .SerContBox__Txt h3 {
  border-bottom: 1px solid #fff;
}
.Service__Cont > :hover .SerContBox__Txt ::before {
  background: #fff;
}
.Service__Cont > :hover .SerContBox__Txt ::after {
  border-top: 3px solid var(--primary-color);
  border-right: 3px solid var(--primary-color);
}
.Service__Cont > :hover .img-cover img {
  transform: scale(1.05);
  /*画像の拡大率*/
  transition-duration: 0.3s;
  /*変化に掛かる時間*/
}
.Service__Cont .sp {
  display: none;
}

@media (max-width: 1260px) {
  .Service {
    padding: 80px 20px !important;
    display: flex;
    flex-direction: column;
    text-align: justify;
  }
  .Service__Ttl {
    margin: auto;
    max-width: 800px;
  }
  .Service__Ttl .c-btn {
    display: none;
  }
  .Service__Cont {
    margin: auto;
    text-align: center;
  }
  .Service__Cont .SerContBox {
    width: 800px;
  }
  .Service__Cont .SerContBox__Txt {
    width: 300px;
    text-align: justify;
  }
  .Service__Cont .sp {
    display: inline-block;
    width: auto;
  }
}
@media (max-width: 980px) {
  .Service__Cont {
    margin: 0 auto;
  }
  .Service__Cont :not(:last-child) {
    margin-bottom: 20px;
  }
  .Service__Cont .SerContBox {
    width: 100%;
    padding: 40px;
    text-align: justify;
  }
  .Service__Cont .SerContBox__Txt {
    width: 100%;
    padding-right: 20px;
  }
  .Service__Cont .SerContBox .img-cover {
    margin: 0 auto;
    width: 100%;
  }
}
@media (max-width: 720px) {
  .Service__Cont .SerContBox {
    display: block;
    padding: 40px 20px;
  }
  .Service__Cont .SerContBox__Txt {
    margin-bottom: 20px;
    padding: 0;
  }
}
@media (max-width: 500px) {
  .Service__Cont .SerContBox {
    display: block;
    padding: 40px 20px;
  }
  .Service__Cont .SerContBox__Txt {
    margin-bottom: 20px;
    padding: 0;
  }
}
main .ServicePage {
  max-width: 1080px;
  margin: auto;
}
main .ServicePage__Ttl p {
  color: var(--primary-color);
}
main .ServicePage__Cont .opacity {
  text-align: center;
}
main .ServicePage__Cont .ContFlex {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
main .ServicePage__Cont .ContFlex__Item {
  text-align: center;
}
main .ServicePage__Cont .ContFlex__Item img {
  width: 170px;
}
main .ServicePage__Cont .tab-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 20px 0;
}
main .ServicePage__Cont .tab-wrap:after {
  content: "";
  width: 100%;
  height: 3px;
  background: var(--primary-color);
  display: block;
  order: -1;
}
main .ServicePage__Cont .tab-label {
  background: #fff;
  font-size: 24px;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px 25px;
  max-width: 270px;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
main .ServicePage__Cont .tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
}
main .ServicePage__Cont .tab-content img {
  display: block;
  margin: 0 auto;
}
main .ServicePage__Cont .tab-content__List {
  box-sizing: border-box;
}
main .ServicePage__Cont .tab-content__List h3 {
  color: var(--primary-color);
}
main .ServicePage__Cont .tab-content__List li {
  list-style-type: disc;
  list-style-position: inside;
  padding-top: 10px;
}
main .ServicePage__Cont .tab-content__Ttl {
  display: flex;
  align-items: baseline;
}
main .ServicePage__Cont .tab-content__Ttl h3,
main .ServicePage__Cont .tab-content__Ttl p {
  color: var(--primary-color);
}
main .ServicePage__Cont .tab-content__Ttl p {
  font-weight: bold;
}
main .ServicePage__Cont .tab-content ul {
  margin-bottom: 20px;
}
main .ServicePage__Cont .tab-content ul .li {
  border-bottom: 1px solid var(--sub-textColor);
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
main .ServicePage__Cont .tab-content ul .liFlex {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(1) {
  min-width: 240px;
  font-weight: bold;
}
main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(2) {
  min-width: 60px;
}
main .ServicePage__Cont .tab-content ul .liFlex p:last-child {
  min-width: 280px;
}
main .ServicePage__Cont .tab-content .point {
  color: #ff3300;
}
main .ServicePage__Cont .tab-switch:checked + .tab-label {
  /* アクティブなタブ */
  background: var(--primary-color);
  color: #fff;
}
main .ServicePage__Cont .tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: 0.5s opacity;
  border-right: 3px solid var(--primary-color);
  border-left: 3px solid var(--primary-color);
  border-bottom: 3px solid var(--primary-color);
}
main .ServicePage__Cont .tab-switch {
  /* ラジオボタン非表示 */
  display: none;
}
main .SubTxt {
  background-color: var(--main-Color);
  box-sizing: border-box;
  margin: 40px auto;
  padding: 40px;
  text-align: center;
  max-width: 1080px;
}
main .SubTxt h3 {
  color: var(--primary-color);
  margin-bottom: 20px;
}
main .Flow {
  margin: 0 auto;
  padding: 80px 0;
  background-color: var(--main-Color);
}
main .Flow__Ttl, main .Flow__Cont {
  max-width: 1080px;
  margin: 0 auto;
}
main .Flow__Ttl p {
  color: var(--primary-color);
}
main .Flow__Cont {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 20px;
}
main .Flow__Cont__Box h4 {
  background-color: var(--primary-color);
  color: #fff;
  margin-bottom: 20px;
  padding: 0 40px;
}
main .Flow__Cont img {
  padding-left: 20px;
}
main .Flow .Even {
  flex-direction: row-reverse;
}
main .Flow .Even img {
  padding-right: 20px;
}

@media (max-width: 1260px) {
  main .ServicePage,
  main .SubTxt,
  main .Flow {
    padding-right: 20px;
    padding-left: 20px;
  }
  main .ServicePage__Cont .tab-label {
    font-size: max(2vw, 20px);
  }
  main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(1) {
    min-width: 284px;
  }
  main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(2) {
    min-width: 60px;
  }
  main .ServicePage__Cont .tab-content ul .liFlex p:last-child {
    min-width: 280px;
  }
  main .SubTxt {
    width: 100%;
  }
  main .SubTxt__Cont {
    padding: 0 20px;
  }
}
@media (max-width: 980px) {
  main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(1) {
    min-width: 260px;
  }
  main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(2) {
    min-width: 60px;
  }
  main .ServicePage__Cont .tab-content ul .liFlex p:last-child {
    min-width: 230px;
  }
  main .SubTxt {
    width: 100%;
  }
  main .SubTxt__Cont {
    padding: 0 20px;
  }
}
@media (max-width: 720px) {
  main .ServicePage__Ttl {
    margin: 0 auto;
  }
  main .ServicePage__Cont .tab-label {
    padding: 10px 20px;
    font-size: max(2.8vw, 18px);
  }
  main .ServicePage__Cont .tab-content ul .liFlex {
    flex-direction: column;
  }
  main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(1),
  main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(2),
  main .ServicePage__Cont .tab-content ul .liFlex p:last-child {
    min-width: auto;
  }
  main .ServicePage__Cont .tab-content ul .liFlex p {
    padding-top: 10px;
  }
  main .ServicePage__Cont .tab-content ul .liFlex p:nth-child(1) {
    border-bottom: 2px solid var(--primary-color);
    width: fit-content;
    padding: 0 20px 0 0;
  }
  main .Flow__Cont__Box {
    margin-bottom: 10px;
    max-width: 450px;
  }
  main .Flow__Cont__Box h4 {
    margin-bottom: 10px;
    padding: 0 20px;
  }
  main .Flow__Cont,
  main .Flow .Even {
    flex-direction: column;
  }
  main .Flow__Cont img,
  main .Flow .Even img {
    padding: 0;
    padding-bottom: 20px;
  }
}
@media (max-width: 500px) {
  main .ServicePage__Cont .tab-content__Ttl {
    display: flex;
    flex-direction: column;
  }
  main .ServicePage__Cont .tab-content .liFlex {
    flex-direction: column;
  }
  main .ServicePage__Cont .tab-content .liFlex p {
    padding-bottom: 10px;
  }
  main .SubTxt {
    text-align: justify;
  }
  main .SubTxt h3 {
    margin-bottom: 0;
  }
}
.p-gridTable {
  display: grid;
  grid-template-columns: repeat(2, auto);
  text-align: justify;
  border-collapse: collapse;
}
.p-gridTable thead,
.p-gridTable tbody,
.p-gridTable tfoot,
.p-gridTable tr {
  display: contents;
}
.p-gridTable th,
.p-gridTable td {
  display: block;
  padding: 10px 20px;
  line-height: 1.8;
}

.p-gridTable.is-styleBorder {
  row-gap: 0;
  --border-color: #ddd;
  margin: 40px auto;
}
.p-gridTable.is-styleBorder th {
  background-color: var(--main-Color);
  border-left: 1px solid var(--border-color);
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
.p-gridTable.is-styleBorder td {
  background-color: #ffffff;
  border-right: 1px solid var(--border-color);
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.entry {
  width: 100%;
  text-align: center;
}
.entry__Ttl {
  width: auto;
  text-align: justify;
}
.entry__Ttl p {
  color: var(--primary-color);
}
.entry a {
  margin: 0px auto 80px;
}

@media (max-width: 720px) {
  .p-gridTable {
    grid-template-columns: repeat(1, auto);
  }
  .p-gridTable.is-styleBorder th {
    border-right: 1px solid var(--border-color);
    border-bottom: none;
  }
  .p-gridTable.is-styleBorder td {
    border-left: 1px solid var(--border-color);
    border-top: none;
  }
}
.MainTop {
  margin: 72px auto 40px;
  overflow: hidden;
}
.MainTop .AltTxt {
  max-width: 1260px;
  margin: auto;
}
.MainTop .Mask {
  position: relative;
  max-width: 1260px;
  box-sizing: border-box;
  margin: 0 auto;
  text-align: right;
}
.MainTop .Mask__img {
  transform: translate(120px, 0);
}
.MainTop .Mask__img img {
  min-width: 600px;
  height: 90vh;
  max-height: 750px;
  right: 0;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
  object-fit: cover;
  /* Chrome, Safari用 */
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 60%;
  -webkit-mask-size: 50%;
  mask-repeat: no-repeat;
  mask-position: 50% 60%;
  mask-size: 50%;
}
.MainTop .Mask .Top {
  position: absolute;
  text-align: justify;
  display: block;
  bottom: 0;
  left: 0;
}
.MainTop .Mask .Top__Cont__Ttl {
  margin-bottom: 100px;
}
.MainTop .Mask .Top__Cont__Ttl h1,
.MainTop .Mask .Top__Cont__Ttl h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  text-shadow: -2px 3px 3px rgba(255, 255, 255, 0.4);
}
.MainTop .Mask .Top__Cont__Ttl h3 {
  font-size: 50px;
  color: var(--sub-titleColor);
  line-height: 1.5;
}
.MainTop .Mask .Top__Cont__Ttl h1 {
  font-size: 65px;
  color: var(--primary-color);
}
.MainTop .Mask .Top__Cont__Txt {
  background-color: var(--main-Color);
  padding: 60px 80px 60px 0;
  width: 500px;
}
.MainTop .Mask .Top__Cont__Txt h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  margin-bottom: 20px;
}
.MainTop .Mask .Top__Cont__Txt p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
}

@media (max-width: 1260px) {
  .MainTop {
    margin: 72px auto 40px;
    overflow: hidden;
  }
  .MainTop .AltTxt {
    padding: 0 20px;
  }
  .MainTop .Mask__img {
    transform: translate(100px, 0);
  }
  .MainTop .Mask__img img {
    min-height: 650px;
    clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
  }
  .MainTop .Mask .Top {
    margin-left: 20px;
  }
  .MainTop .Mask .Top__Cont__Ttl {
    margin-bottom: 40px;
  }
  .MainTop .Mask .Top__Cont__Ttl h3 {
    font-size: max(3.8vw, 30px);
  }
  .MainTop .Mask .Top__Cont__Ttl h1 {
    font-size: max(5vw, 45px);
  }
  .MainTop .Mask .Top__Cont__Txt {
    width: 100%;
    max-width: 500px;
  }
  .MainTop .Mask .Top__Cont__Txt h2 {
    font-size: max(3.8vw, 30px);
  }
  .MainTop .Mask .Top__Cont__Txt p {
    font-size: max(1.8vw, 18px);
  }
}
@media (max-width: 980px) {
  .MainTop {
    margin: 70px auto 40px;
    overflow: hidden;
  }
  .MainTop .Mask__img img {
    min-width: 600px;
    min-height: 550px;
    max-height: 700px;
  }
  .MainTop .Mask .Top__Cont__Ttl h1 {
    font-size: max(5vw, 40px);
  }
  .MainTop .Mask .Top__Cont__Txt {
    padding: 40px 40px 40px 0;
    width: 350px;
  }
  .MainTop .Mask .Top__Cont__Txt p {
    font-size: max(1.8vw, 16px);
  }
}
@media (max-width: 720px) {
  .MainTop {
    margin: 70px auto 40px;
    overflow: hidden;
  }
  .MainTop .Mask__img {
    transform: translate(0, 0);
  }
  .MainTop .Mask__img img {
    min-height: 550px;
    max-height: 600px;
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 20% 100%, 20% 70%, 0 70%);
  }
  .MainTop .Mask .Top {
    position: static;
    margin: 0;
  }
  .MainTop .Mask .Top__Cont__Ttl {
    margin-bottom: 0;
    position: absolute;
    top: 20px;
    left: 20px;
  }
  .MainTop .Mask .Top__Cont__Ttl h3 {
    font-size: max(5vw, 30px);
  }
  .MainTop .Mask .Top__Cont__Ttl h1 {
    font-size: max(6vw, 40px);
  }
  .MainTop .Mask .Top__Cont__Txt {
    margin-top: 0;
    padding: 40px 20px;
    width: 100%;
  }
  .MainTop .Mask .Top__Cont__Txt h2 {
    font-size: max(5vw, 35px);
  }
  .MainTop .Mask .Top__Cont__Txt p {
    font-size: max(3vw, 16px);
  }
}
@media (max-width: 500px) {
  .MainTop {
    margin: 70px auto 40px;
    overflow: hidden;
  }
  .MainTop .Mask__img {
    transform: translate(0, 0);
  }
  .MainTop .Mask__img img {
    min-width: 300px;
    height: 60vh;
    min-height: 300px;
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 20% 100%, 20% 70%, 0 70%);
  }
  .MainTop .Mask .Top__Cont__Ttl h3 {
    font-size: max(5vw, 20px);
  }
  .MainTop .Mask .Top__Cont__Ttl h1 {
    font-size: max(6vw, 30px);
  }
  .MainTop .Mask .Top__Cont__Txt h2 {
    font-size: max(4.5vw, 30px);
  }
  .MainTop .Mask .Top__Cont__Txt p {
    font-size: max(3vw, 16px);
  }
}/*# sourceMappingURL=style.css.map */